@charset "UTF-8";
/**
 * Foundation for Sites
 * Version 6.7.5
 * https://get.foundation
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 40em) {
  .reveal.large, .reveal.small, .reveal.tiny, .reveal {
    right: auto;
    left: auto;
    margin: 0 auto;
  }
}
/*! 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, .header-xxlarge {
  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=40em&large=64em&xlarge=75em&xxlarge=90em";
}

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

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

body {
  margin: 0;
  padding: 0;
  background: #fafafa;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: hsl(217.5, 6.9565217391%, 14%);
}

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: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid hsl(217.5, 6.9565217391%, 84%);
  border-radius: 0;
  background-color: #fefefe;
  -webkit-box-shadow: inset 0 1px 2px rgba(33, 35, 38, 0.1);
          box-shadow: inset 0 1px 2px rgba(33, 35, 38, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: hsl(217.5, 6.9565217391%, 14%);
  -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 hsl(217.5, 6.9565217391%, 54%);
  background-color: #fefefe;
  -webkit-box-shadow: 0 0 5px hsl(217.5, 6.9565217391%, 69%);
          box-shadow: 0 0 5px hsl(217.5, 6.9565217391%, 69%);
  -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: hsl(217.5, 6.9565217391%, 93%);
  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: hsl(217.5, 6.9565217391%, 69%);
}

::-moz-placeholder {
  color: hsl(217.5, 6.9565217391%, 69%);
}

:-ms-input-placeholder {
  color: hsl(217.5, 6.9565217391%, 69%);
}

::-ms-input-placeholder {
  color: hsl(217.5, 6.9565217391%, 69%);
}

::placeholder {
  color: hsl(217.5, 6.9565217391%, 69%);
}

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

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

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

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

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

.help-text {
  margin-top: -0.5rem;
  font-size: 0.75rem;
  font-style: italic;
  color: inherit;
}

.input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -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 hsl(217.5, 6.9565217391%, 84%);
  background: hsl(217.5, 6.9565217391%, 93%);
  color: hsl(217.5, 6.9565217391%, 14%);
  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: 1rem;
}

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

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

.fieldset {
  margin: 1.125rem 0;
  padding: 1rem 1.25rem;
  border: 1px solid hsl(217.5, 6.9565217391%, 84%);
}
.fieldset legend {
  margin: 0;
  margin-left: -0.1875rem;
  padding: 0 0.1875rem;
}

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid hsl(217.5, 6.9565217391%, 84%);
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: hsl(217.5, 6.9565217391%, 14%);
  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%2893, 98, 106%29"></polygon></svg>');
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  -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 hsl(217.5, 6.9565217391%, 54%);
  background-color: #fefefe;
  -webkit-box-shadow: 0 0 5px hsl(217.5, 6.9565217391%, 69%);
          box-shadow: 0 0 5px hsl(217.5, 6.9565217391%, 69%);
  -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: hsl(217.5, 6.9565217391%, 93%);
  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: #f42828;
  background-color: #fde9e9;
}
.is-invalid-input:not(:focus)::-webkit-input-placeholder {
  color: #f42828;
}
.is-invalid-input:not(:focus)::-moz-placeholder {
  color: #f42828;
}
.is-invalid-input:not(:focus):-ms-input-placeholder {
  color: #f42828;
}
.is-invalid-input:not(:focus)::-ms-input-placeholder {
  color: #f42828;
}
.is-invalid-input:not(:focus)::placeholder {
  color: #f42828;
}

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

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

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
.header-xxlarge,
h2,
.header-xlarge,
h3,
.header-large,
h4,
.header-medium,
h5,
.header-small,
h6,
.header-tiny,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

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

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

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

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

h1, .header-xxlarge, .h1,
h2,
.header-xlarge, .h2,
h3,
.header-large, .h3,
h4,
.header-medium, .h4,
h5,
.header-small, .h5,
h6,
.header-tiny, .h6 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-style: normal;
  font-weight: bold;
  color: inherit;
  text-rendering: optimizeLegibility;
}
h1 small, .header-xxlarge small, .h1 small,
h2 small,
.header-xlarge small, .h2 small,
h3 small,
.header-large small, .h3 small,
h4 small,
.header-medium small, .h4 small,
h5 small,
.header-small small, .h5 small,
h6 small,
.header-tiny small, .h6 small {
  line-height: 0;
  color: inherit;
}

h1, .header-xxlarge, .h1 {
  font-size: 2.125rem;
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: 1.25rem;
}

h2, .header-xlarge, .h2 {
  font-size: 1.5625rem;
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: 1.25rem;
}

h3, .header-large, .h3 {
  font-size: 1.25rem;
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: 1.25rem;
}

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

h5, .header-small, .h5 {
  font-size: 0.875rem;
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: 1.25rem;
}

h6, .header-tiny, .h6 {
  font-size: 0.75rem;
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  h1, .header-xxlarge, .h1 {
    font-size: 2.375rem;
  }
  h2, .header-xlarge, .h2 {
    font-size: 2.125rem;
  }
  h3, .header-large, .h3 {
    font-size: 1.5625rem;
  }
  h4, .header-medium, .h4 {
    font-size: 1.25rem;
  }
  h5, .header-small, .h5 {
    font-size: 1rem;
  }
  h6, .header-tiny, .h6 {
    font-size: 0.75rem;
  }
}
a {
  line-height: inherit;
  color: #ae561f;
  text-decoration: none;
  cursor: pointer;
}
a:hover, a:focus {
  color: #8b4519;
}
a img {
  border: 0;
}

hr {
  clear: both;
  max-width: auto;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid hsl(217.5, 6.9565217391%, 84%);
  border-left: 0;
}

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

li {
  font-size: inherit;
}

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

ol {
  margin-left: 1.25rem;
}

ul ul, 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: bold;
}

blockquote {
  margin: 0 0 1rem;
  padding: 0.5rem 1rem 0.5rem 1rem;
  border-left: 0.375rem solid rgba(33, 35, 38, 0.25);
}
blockquote, blockquote p {
  line-height: 1.6;
  color: inherit;
}

abbr, abbr[title] {
  border-bottom: 1px solid rgba(33, 35, 38, 0.25);
  cursor: help;
  text-decoration: none;
}

figure {
  margin: 0;
}

kbd {
  margin: 0;
  padding: 0.1875rem 0.375rem;
  background-color: hsl(217.5, 6.9565217391%, 93%);
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: hsl(217.5, 6.9565217391%, 24%);
}

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

.lead {
  font-size: 1.5625rem;
  line-height: 1.4;
}

.stat {
  font-size: 2.375rem;
  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: inherit;
  font-size: 1em;
}
.cite-block:before, cite:before {
  content: "— ";
}

.code-inline, code {
  border: 1px solid hsl(217.5, 6.9565217391%, 84%);
  background-color: hsl(217.5, 6.9565217391%, 93%);
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: hsl(217.5, 6.9565217391%, 24%);
  display: inline;
  max-width: 100%;
  word-wrap: break-word;
  padding: 0.125rem 0.3125rem 0.0625rem;
}

.code-block {
  border: 1px solid hsl(217.5, 6.9565217391%, 84%);
  background-color: hsl(217.5, 6.9565217391%, 93%);
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: hsl(217.5, 6.9565217391%, 24%);
  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: 40em) {
  .medium-text-left {
    text-align: left;
  }
  .medium-text-right {
    text-align: right;
  }
  .medium-text-center {
    text-align: center;
  }
  .medium-text-justify {
    text-align: justify;
  }
}
@media screen and (min-width: 64em) {
  .large-text-left {
    text-align: left;
  }
  .large-text-right {
    text-align: right;
  }
  .large-text-center {
    text-align: center;
  }
  .large-text-justify {
    text-align: justify;
  }
}
@media screen and (min-width: 75em) {
  .xlarge-text-left {
    text-align: left;
  }
  .xlarge-text-right {
    text-align: right;
  }
  .xlarge-text-center {
    text-align: center;
  }
  .xlarge-text-justify {
    text-align: justify;
  }
}
@media screen and (min-width: 90em) {
  .xxlarge-text-left {
    text-align: left;
  }
  .xxlarge-text-right {
    text-align: right;
  }
  .xxlarge-text-center {
    text-align: center;
  }
  .xxlarge-text-justify {
    text-align: justify;
  }
}
.show-for-print {
  display: none !important;
}

@media print {
  * {
    print-color-adjust: exact;
    -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 hsl(217.5, 6.9565217391%, 39%);
    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,
  .header-xlarge,
  h3,
  .header-large {
    orphans: 3;
    widows: 3;
  }
  h2, .header-xlarge,
  h3,
  .header-large {
    page-break-after: avoid;
  }
  .print-break-inside {
    page-break-inside: auto;
  }
}
.grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 40em) {
  .grid-container {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}
@media screen and (min-width: 64em) {
  .grid-container {
    padding-right: 1.25rem;
    padding-left: 1.25rem;
  }
}
.grid-container.fluid {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 40em) {
  .grid-container.fluid {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}
@media screen and (min-width: 64em) {
  .grid-container.fluid {
    padding-right: 1.25rem;
    padding-left: 1.25rem;
  }
}
.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: 40em) {
  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}
@media 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;
  }
}
@media screen and (min-width: 75em) {
  .grid-x > .xlarge-shrink, .grid-x > .xlarge-full, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}
@media screen and (min-width: 90em) {
  .grid-x > .xxlarge-shrink, .grid-x > .xxlarge-full, .grid-x > .xxlarge-1, .grid-x > .xxlarge-2, .grid-x > .xxlarge-3, .grid-x > .xxlarge-4, .grid-x > .xxlarge-5, .grid-x > .xxlarge-6, .grid-x > .xxlarge-7, .grid-x > .xxlarge-8, .grid-x > .xxlarge-9, .grid-x > .xxlarge-10, .grid-x > .xxlarge-11, .grid-x > .xxlarge-12 {
    -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: 40em) {
  .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 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%;
  }
}
@media screen and (min-width: 75em) {
  .grid-x > .xlarge-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: auto;
  }
  .grid-x > .xlarge-12, .grid-x > .xlarge-11, .grid-x > .xlarge-10, .grid-x > .xlarge-9, .grid-x > .xlarge-8, .grid-x > .xlarge-7, .grid-x > .xlarge-6, .grid-x > .xlarge-5, .grid-x > .xlarge-4, .grid-x > .xlarge-3, .grid-x > .xlarge-2, .grid-x > .xlarge-1, .grid-x > .xlarge-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .grid-x > .xlarge-shrink {
    width: auto;
  }
  .grid-x > .xlarge-1 {
    width: 8.3333333333%;
  }
  .grid-x > .xlarge-2 {
    width: 16.6666666667%;
  }
  .grid-x > .xlarge-3 {
    width: 25%;
  }
  .grid-x > .xlarge-4 {
    width: 33.3333333333%;
  }
  .grid-x > .xlarge-5 {
    width: 41.6666666667%;
  }
  .grid-x > .xlarge-6 {
    width: 50%;
  }
  .grid-x > .xlarge-7 {
    width: 58.3333333333%;
  }
  .grid-x > .xlarge-8 {
    width: 66.6666666667%;
  }
  .grid-x > .xlarge-9 {
    width: 75%;
  }
  .grid-x > .xlarge-10 {
    width: 83.3333333333%;
  }
  .grid-x > .xlarge-11 {
    width: 91.6666666667%;
  }
  .grid-x > .xlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 90em) {
  .grid-x > .xxlarge-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: auto;
  }
  .grid-x > .xxlarge-12, .grid-x > .xxlarge-11, .grid-x > .xxlarge-10, .grid-x > .xxlarge-9, .grid-x > .xxlarge-8, .grid-x > .xxlarge-7, .grid-x > .xxlarge-6, .grid-x > .xxlarge-5, .grid-x > .xxlarge-4, .grid-x > .xxlarge-3, .grid-x > .xxlarge-2, .grid-x > .xxlarge-1, .grid-x > .xxlarge-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .grid-x > .xxlarge-shrink {
    width: auto;
  }
  .grid-x > .xxlarge-1 {
    width: 8.3333333333%;
  }
  .grid-x > .xxlarge-2 {
    width: 16.6666666667%;
  }
  .grid-x > .xxlarge-3 {
    width: 25%;
  }
  .grid-x > .xxlarge-4 {
    width: 33.3333333333%;
  }
  .grid-x > .xxlarge-5 {
    width: 41.6666666667%;
  }
  .grid-x > .xxlarge-6 {
    width: 50%;
  }
  .grid-x > .xxlarge-7 {
    width: 58.3333333333%;
  }
  .grid-x > .xxlarge-8 {
    width: 66.6666666667%;
  }
  .grid-x > .xxlarge-9 {
    width: 75%;
  }
  .grid-x > .xxlarge-10 {
    width: 83.3333333333%;
  }
  .grid-x > .xxlarge-11 {
    width: 91.6666666667%;
  }
  .grid-x > .xxlarge-12 {
    width: 100%;
  }
}
.grid-margin-x:not(.grid-x) > .cell {
  width: auto;
}

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

.grid-margin-x {
  margin-left: -0.625rem;
  margin-right: -0.625rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-x {
    margin-left: -0.9375rem;
    margin-right: -0.9375rem;
  }
}
@media screen and (min-width: 64em) {
  .grid-margin-x {
    margin-left: -1.25rem;
    margin-right: -1.25rem;
  }
}
.grid-margin-x > .cell {
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-x > .cell {
    width: calc(100% - 1.875rem);
    margin-left: 0.9375rem;
    margin-right: 0.9375rem;
  }
}
@media screen and (min-width: 64em) {
  .grid-margin-x > .cell {
    width: calc(100% - 2.5rem);
    margin-left: 1.25rem;
    margin-right: 1.25rem;
  }
}
.grid-margin-x > .auto {
  width: auto;
}
.grid-margin-x > .shrink {
  width: auto;
}
.grid-margin-x > .small-1 {
  width: calc(8.3333333333% - 1.25rem);
}
.grid-margin-x > .small-2 {
  width: calc(16.6666666667% - 1.25rem);
}
.grid-margin-x > .small-3 {
  width: calc(25% - 1.25rem);
}
.grid-margin-x > .small-4 {
  width: calc(33.3333333333% - 1.25rem);
}
.grid-margin-x > .small-5 {
  width: calc(41.6666666667% - 1.25rem);
}
.grid-margin-x > .small-6 {
  width: calc(50% - 1.25rem);
}
.grid-margin-x > .small-7 {
  width: calc(58.3333333333% - 1.25rem);
}
.grid-margin-x > .small-8 {
  width: calc(66.6666666667% - 1.25rem);
}
.grid-margin-x > .small-9 {
  width: calc(75% - 1.25rem);
}
.grid-margin-x > .small-10 {
  width: calc(83.3333333333% - 1.25rem);
}
.grid-margin-x > .small-11 {
  width: calc(91.6666666667% - 1.25rem);
}
.grid-margin-x > .small-12 {
  width: calc(100% - 1.25rem);
}
@media print, screen and (min-width: 40em) {
  .grid-margin-x > .auto {
    width: auto;
  }
  .grid-margin-x > .shrink {
    width: auto;
  }
  .grid-margin-x > .small-1 {
    width: calc(8.3333333333% - 1.875rem);
  }
  .grid-margin-x > .small-2 {
    width: calc(16.6666666667% - 1.875rem);
  }
  .grid-margin-x > .small-3 {
    width: calc(25% - 1.875rem);
  }
  .grid-margin-x > .small-4 {
    width: calc(33.3333333333% - 1.875rem);
  }
  .grid-margin-x > .small-5 {
    width: calc(41.6666666667% - 1.875rem);
  }
  .grid-margin-x > .small-6 {
    width: calc(50% - 1.875rem);
  }
  .grid-margin-x > .small-7 {
    width: calc(58.3333333333% - 1.875rem);
  }
  .grid-margin-x > .small-8 {
    width: calc(66.6666666667% - 1.875rem);
  }
  .grid-margin-x > .small-9 {
    width: calc(75% - 1.875rem);
  }
  .grid-margin-x > .small-10 {
    width: calc(83.3333333333% - 1.875rem);
  }
  .grid-margin-x > .small-11 {
    width: calc(91.6666666667% - 1.875rem);
  }
  .grid-margin-x > .small-12 {
    width: calc(100% - 1.875rem);
  }
  .grid-margin-x > .medium-auto {
    width: auto;
  }
  .grid-margin-x > .medium-shrink {
    width: auto;
  }
  .grid-margin-x > .medium-1 {
    width: calc(8.3333333333% - 1.875rem);
  }
  .grid-margin-x > .medium-2 {
    width: calc(16.6666666667% - 1.875rem);
  }
  .grid-margin-x > .medium-3 {
    width: calc(25% - 1.875rem);
  }
  .grid-margin-x > .medium-4 {
    width: calc(33.3333333333% - 1.875rem);
  }
  .grid-margin-x > .medium-5 {
    width: calc(41.6666666667% - 1.875rem);
  }
  .grid-margin-x > .medium-6 {
    width: calc(50% - 1.875rem);
  }
  .grid-margin-x > .medium-7 {
    width: calc(58.3333333333% - 1.875rem);
  }
  .grid-margin-x > .medium-8 {
    width: calc(66.6666666667% - 1.875rem);
  }
  .grid-margin-x > .medium-9 {
    width: calc(75% - 1.875rem);
  }
  .grid-margin-x > .medium-10 {
    width: calc(83.3333333333% - 1.875rem);
  }
  .grid-margin-x > .medium-11 {
    width: calc(91.6666666667% - 1.875rem);
  }
  .grid-margin-x > .medium-12 {
    width: calc(100% - 1.875rem);
  }
}
@media screen and (min-width: 64em) {
  .grid-margin-x > .auto {
    width: auto;
  }
  .grid-margin-x > .shrink {
    width: auto;
  }
  .grid-margin-x > .small-1 {
    width: calc(8.3333333333% - 2.5rem);
  }
  .grid-margin-x > .small-2 {
    width: calc(16.6666666667% - 2.5rem);
  }
  .grid-margin-x > .small-3 {
    width: calc(25% - 2.5rem);
  }
  .grid-margin-x > .small-4 {
    width: calc(33.3333333333% - 2.5rem);
  }
  .grid-margin-x > .small-5 {
    width: calc(41.6666666667% - 2.5rem);
  }
  .grid-margin-x > .small-6 {
    width: calc(50% - 2.5rem);
  }
  .grid-margin-x > .small-7 {
    width: calc(58.3333333333% - 2.5rem);
  }
  .grid-margin-x > .small-8 {
    width: calc(66.6666666667% - 2.5rem);
  }
  .grid-margin-x > .small-9 {
    width: calc(75% - 2.5rem);
  }
  .grid-margin-x > .small-10 {
    width: calc(83.3333333333% - 2.5rem);
  }
  .grid-margin-x > .small-11 {
    width: calc(91.6666666667% - 2.5rem);
  }
  .grid-margin-x > .small-12 {
    width: calc(100% - 2.5rem);
  }
  .grid-margin-x > .medium-auto {
    width: auto;
  }
  .grid-margin-x > .medium-shrink {
    width: auto;
  }
  .grid-margin-x > .medium-1 {
    width: calc(8.3333333333% - 2.5rem);
  }
  .grid-margin-x > .medium-2 {
    width: calc(16.6666666667% - 2.5rem);
  }
  .grid-margin-x > .medium-3 {
    width: calc(25% - 2.5rem);
  }
  .grid-margin-x > .medium-4 {
    width: calc(33.3333333333% - 2.5rem);
  }
  .grid-margin-x > .medium-5 {
    width: calc(41.6666666667% - 2.5rem);
  }
  .grid-margin-x > .medium-6 {
    width: calc(50% - 2.5rem);
  }
  .grid-margin-x > .medium-7 {
    width: calc(58.3333333333% - 2.5rem);
  }
  .grid-margin-x > .medium-8 {
    width: calc(66.6666666667% - 2.5rem);
  }
  .grid-margin-x > .medium-9 {
    width: calc(75% - 2.5rem);
  }
  .grid-margin-x > .medium-10 {
    width: calc(83.3333333333% - 2.5rem);
  }
  .grid-margin-x > .medium-11 {
    width: calc(91.6666666667% - 2.5rem);
  }
  .grid-margin-x > .medium-12 {
    width: calc(100% - 2.5rem);
  }
  .grid-margin-x > .large-auto {
    width: auto;
  }
  .grid-margin-x > .large-shrink {
    width: auto;
  }
  .grid-margin-x > .large-1 {
    width: calc(8.3333333333% - 2.5rem);
  }
  .grid-margin-x > .large-2 {
    width: calc(16.6666666667% - 2.5rem);
  }
  .grid-margin-x > .large-3 {
    width: calc(25% - 2.5rem);
  }
  .grid-margin-x > .large-4 {
    width: calc(33.3333333333% - 2.5rem);
  }
  .grid-margin-x > .large-5 {
    width: calc(41.6666666667% - 2.5rem);
  }
  .grid-margin-x > .large-6 {
    width: calc(50% - 2.5rem);
  }
  .grid-margin-x > .large-7 {
    width: calc(58.3333333333% - 2.5rem);
  }
  .grid-margin-x > .large-8 {
    width: calc(66.6666666667% - 2.5rem);
  }
  .grid-margin-x > .large-9 {
    width: calc(75% - 2.5rem);
  }
  .grid-margin-x > .large-10 {
    width: calc(83.3333333333% - 2.5rem);
  }
  .grid-margin-x > .large-11 {
    width: calc(91.6666666667% - 2.5rem);
  }
  .grid-margin-x > .large-12 {
    width: calc(100% - 2.5rem);
  }
}
@media screen and (min-width: 75em) {
  .grid-margin-x > .xlarge-auto {
    width: auto;
  }
  .grid-margin-x > .xlarge-shrink {
    width: auto;
  }
  .grid-margin-x > .xlarge-1 {
    width: calc(8.3333333333% - 2.5rem);
  }
  .grid-margin-x > .xlarge-2 {
    width: calc(16.6666666667% - 2.5rem);
  }
  .grid-margin-x > .xlarge-3 {
    width: calc(25% - 2.5rem);
  }
  .grid-margin-x > .xlarge-4 {
    width: calc(33.3333333333% - 2.5rem);
  }
  .grid-margin-x > .xlarge-5 {
    width: calc(41.6666666667% - 2.5rem);
  }
  .grid-margin-x > .xlarge-6 {
    width: calc(50% - 2.5rem);
  }
  .grid-margin-x > .xlarge-7 {
    width: calc(58.3333333333% - 2.5rem);
  }
  .grid-margin-x > .xlarge-8 {
    width: calc(66.6666666667% - 2.5rem);
  }
  .grid-margin-x > .xlarge-9 {
    width: calc(75% - 2.5rem);
  }
  .grid-margin-x > .xlarge-10 {
    width: calc(83.3333333333% - 2.5rem);
  }
  .grid-margin-x > .xlarge-11 {
    width: calc(91.6666666667% - 2.5rem);
  }
  .grid-margin-x > .xlarge-12 {
    width: calc(100% - 2.5rem);
  }
}
@media screen and (min-width: 90em) {
  .grid-margin-x > .xxlarge-auto {
    width: auto;
  }
  .grid-margin-x > .xxlarge-shrink {
    width: auto;
  }
  .grid-margin-x > .xxlarge-1 {
    width: calc(8.3333333333% - 2.5rem);
  }
  .grid-margin-x > .xxlarge-2 {
    width: calc(16.6666666667% - 2.5rem);
  }
  .grid-margin-x > .xxlarge-3 {
    width: calc(25% - 2.5rem);
  }
  .grid-margin-x > .xxlarge-4 {
    width: calc(33.3333333333% - 2.5rem);
  }
  .grid-margin-x > .xxlarge-5 {
    width: calc(41.6666666667% - 2.5rem);
  }
  .grid-margin-x > .xxlarge-6 {
    width: calc(50% - 2.5rem);
  }
  .grid-margin-x > .xxlarge-7 {
    width: calc(58.3333333333% - 2.5rem);
  }
  .grid-margin-x > .xxlarge-8 {
    width: calc(66.6666666667% - 2.5rem);
  }
  .grid-margin-x > .xxlarge-9 {
    width: calc(75% - 2.5rem);
  }
  .grid-margin-x > .xxlarge-10 {
    width: calc(83.3333333333% - 2.5rem);
  }
  .grid-margin-x > .xxlarge-11 {
    width: calc(91.6666666667% - 2.5rem);
  }
  .grid-margin-x > .xxlarge-12 {
    width: calc(100% - 2.5rem);
  }
}

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

.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: 40em) {
  .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 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%;
  }
}
@media screen and (min-width: 75em) {
  .xlarge-up-1 > .cell {
    width: 100%;
  }
  .xlarge-up-2 > .cell {
    width: 50%;
  }
  .xlarge-up-3 > .cell {
    width: 33.3333333333%;
  }
  .xlarge-up-4 > .cell {
    width: 25%;
  }
  .xlarge-up-5 > .cell {
    width: 20%;
  }
  .xlarge-up-6 > .cell {
    width: 16.6666666667%;
  }
  .xlarge-up-7 > .cell {
    width: 14.2857142857%;
  }
  .xlarge-up-8 > .cell {
    width: 12.5%;
  }
}
@media screen and (min-width: 90em) {
  .xxlarge-up-1 > .cell {
    width: 100%;
  }
  .xxlarge-up-2 > .cell {
    width: 50%;
  }
  .xxlarge-up-3 > .cell {
    width: 33.3333333333%;
  }
  .xxlarge-up-4 > .cell {
    width: 25%;
  }
  .xxlarge-up-5 > .cell {
    width: 20%;
  }
  .xxlarge-up-6 > .cell {
    width: 16.6666666667%;
  }
  .xxlarge-up-7 > .cell {
    width: 14.2857142857%;
  }
  .xxlarge-up-8 > .cell {
    width: 12.5%;
  }
}
.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 1.25rem);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y {
    margin-top: -0.9375rem;
    margin-bottom: -0.9375rem;
  }
}
@media screen and (min-width: 64em) {
  .grid-margin-y {
    margin-top: -1.25rem;
    margin-bottom: -1.25rem;
  }
}
.grid-margin-y > .cell {
  height: calc(100% - 1.25rem);
  margin-top: 0.625rem;
  margin-bottom: 0.625rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y > .cell {
    height: calc(100% - 1.875rem);
    margin-top: 0.9375rem;
    margin-bottom: 0.9375rem;
  }
}
@media screen and (min-width: 64em) {
  .grid-margin-y > .cell {
    height: calc(100% - 2.5rem);
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }
}
.grid-margin-y > .auto {
  height: auto;
}
.grid-margin-y > .shrink {
  height: auto;
}
.grid-margin-y > .small-1 {
  height: calc(8.3333333333% - 1.25rem);
}
.grid-margin-y > .small-2 {
  height: calc(16.6666666667% - 1.25rem);
}
.grid-margin-y > .small-3 {
  height: calc(25% - 1.25rem);
}
.grid-margin-y > .small-4 {
  height: calc(33.3333333333% - 1.25rem);
}
.grid-margin-y > .small-5 {
  height: calc(41.6666666667% - 1.25rem);
}
.grid-margin-y > .small-6 {
  height: calc(50% - 1.25rem);
}
.grid-margin-y > .small-7 {
  height: calc(58.3333333333% - 1.25rem);
}
.grid-margin-y > .small-8 {
  height: calc(66.6666666667% - 1.25rem);
}
.grid-margin-y > .small-9 {
  height: calc(75% - 1.25rem);
}
.grid-margin-y > .small-10 {
  height: calc(83.3333333333% - 1.25rem);
}
.grid-margin-y > .small-11 {
  height: calc(91.6666666667% - 1.25rem);
}
.grid-margin-y > .small-12 {
  height: calc(100% - 1.25rem);
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y > .auto {
    height: auto;
  }
  .grid-margin-y > .shrink {
    height: auto;
  }
  .grid-margin-y > .small-1 {
    height: calc(8.3333333333% - 1.875rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 1.875rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.875rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 1.875rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 1.875rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.875rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 1.875rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 1.875rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.875rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 1.875rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 1.875rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.875rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 1.875rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 1.875rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 1.875rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 1.875rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 1.875rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 1.875rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 1.875rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 1.875rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 1.875rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 1.875rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 1.875rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 1.875rem);
  }
}
@media screen and (min-width: 64em) {
  .grid-margin-y > .auto {
    height: auto;
  }
  .grid-margin-y > .shrink {
    height: auto;
  }
  .grid-margin-y > .small-1 {
    height: calc(8.3333333333% - 2.5rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 2.5rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 2.5rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 2.5rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 2.5rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 2.5rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 2.5rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 2.5rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 2.5rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 2.5rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 2.5rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 2.5rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 2.5rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 2.5rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 2.5rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 2.5rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 2.5rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 2.5rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 2.5rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 2.5rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 2.5rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 2.5rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 2.5rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 2.5rem);
  }
  .grid-margin-y > .large-auto {
    height: auto;
  }
  .grid-margin-y > .large-shrink {
    height: auto;
  }
  .grid-margin-y > .large-1 {
    height: calc(8.3333333333% - 2.5rem);
  }
  .grid-margin-y > .large-2 {
    height: calc(16.6666666667% - 2.5rem);
  }
  .grid-margin-y > .large-3 {
    height: calc(25% - 2.5rem);
  }
  .grid-margin-y > .large-4 {
    height: calc(33.3333333333% - 2.5rem);
  }
  .grid-margin-y > .large-5 {
    height: calc(41.6666666667% - 2.5rem);
  }
  .grid-margin-y > .large-6 {
    height: calc(50% - 2.5rem);
  }
  .grid-margin-y > .large-7 {
    height: calc(58.3333333333% - 2.5rem);
  }
  .grid-margin-y > .large-8 {
    height: calc(66.6666666667% - 2.5rem);
  }
  .grid-margin-y > .large-9 {
    height: calc(75% - 2.5rem);
  }
  .grid-margin-y > .large-10 {
    height: calc(83.3333333333% - 2.5rem);
  }
  .grid-margin-y > .large-11 {
    height: calc(91.6666666667% - 2.5rem);
  }
  .grid-margin-y > .large-12 {
    height: calc(100% - 2.5rem);
  }
}
@media screen and (min-width: 75em) {
  .grid-margin-y > .xlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xlarge-1 {
    height: calc(8.3333333333% - 2.5rem);
  }
  .grid-margin-y > .xlarge-2 {
    height: calc(16.6666666667% - 2.5rem);
  }
  .grid-margin-y > .xlarge-3 {
    height: calc(25% - 2.5rem);
  }
  .grid-margin-y > .xlarge-4 {
    height: calc(33.3333333333% - 2.5rem);
  }
  .grid-margin-y > .xlarge-5 {
    height: calc(41.6666666667% - 2.5rem);
  }
  .grid-margin-y > .xlarge-6 {
    height: calc(50% - 2.5rem);
  }
  .grid-margin-y > .xlarge-7 {
    height: calc(58.3333333333% - 2.5rem);
  }
  .grid-margin-y > .xlarge-8 {
    height: calc(66.6666666667% - 2.5rem);
  }
  .grid-margin-y > .xlarge-9 {
    height: calc(75% - 2.5rem);
  }
  .grid-margin-y > .xlarge-10 {
    height: calc(83.3333333333% - 2.5rem);
  }
  .grid-margin-y > .xlarge-11 {
    height: calc(91.6666666667% - 2.5rem);
  }
  .grid-margin-y > .xlarge-12 {
    height: calc(100% - 2.5rem);
  }
}
@media screen and (min-width: 90em) {
  .grid-margin-y > .xxlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xxlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xxlarge-1 {
    height: calc(8.3333333333% - 2.5rem);
  }
  .grid-margin-y > .xxlarge-2 {
    height: calc(16.6666666667% - 2.5rem);
  }
  .grid-margin-y > .xxlarge-3 {
    height: calc(25% - 2.5rem);
  }
  .grid-margin-y > .xxlarge-4 {
    height: calc(33.3333333333% - 2.5rem);
  }
  .grid-margin-y > .xxlarge-5 {
    height: calc(41.6666666667% - 2.5rem);
  }
  .grid-margin-y > .xxlarge-6 {
    height: calc(50% - 2.5rem);
  }
  .grid-margin-y > .xxlarge-7 {
    height: calc(58.3333333333% - 2.5rem);
  }
  .grid-margin-y > .xxlarge-8 {
    height: calc(66.6666666667% - 2.5rem);
  }
  .grid-margin-y > .xxlarge-9 {
    height: calc(75% - 2.5rem);
  }
  .grid-margin-y > .xxlarge-10 {
    height: calc(83.3333333333% - 2.5rem);
  }
  .grid-margin-y > .xxlarge-11 {
    height: calc(91.6666666667% - 2.5rem);
  }
  .grid-margin-y > .xxlarge-12 {
    height: calc(100% - 2.5rem);
  }
}

.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: 40em) {
  .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 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;
  }
}
@media screen and (min-width: 75em) {
  .xlarge-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 .xlarge-grid-frame {
    width: 100%;
  }
  .xlarge-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
  .xlarge-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%;
  }
  .xlarge-cell-block-container > .grid-x {
    max-height: 100%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .xlarge-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
}
@media screen and (min-width: 90em) {
  .xxlarge-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 .xxlarge-grid-frame {
    width: 100%;
  }
  .xxlarge-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
  .xxlarge-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%;
  }
  .xxlarge-cell-block-container > .grid-x {
    max-height: 100%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .xxlarge-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: 40em) {
  .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 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;
  }
}
@media screen and (min-width: 75em) {
  .grid-y.xlarge-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 screen and (min-width: 90em) {
  .grid-y.xxlarge-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: 40em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%;
  }
}
@media screen and (min-width: 64em) {
  .cell .grid-y.large-grid-frame {
    height: 100%;
  }
}
@media screen and (min-width: 75em) {
  .cell .grid-y.xlarge-grid-frame {
    height: 100%;
  }
}
@media screen and (min-width: 90em) {
  .cell .grid-y.xxlarge-grid-frame {
    height: 100%;
  }
}

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y {
    margin-top: -0.9375rem;
    margin-bottom: -0.9375rem;
  }
}
@media screen and (min-width: 64em) {
  .grid-margin-y {
    margin-top: -1.25rem;
    margin-bottom: -1.25rem;
  }
}
.grid-margin-y > .cell {
  height: calc(100% - 1.25rem);
  margin-top: 0.625rem;
  margin-bottom: 0.625rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y > .cell {
    height: calc(100% - 1.875rem);
    margin-top: 0.9375rem;
    margin-bottom: 0.9375rem;
  }
}
@media screen and (min-width: 64em) {
  .grid-margin-y > .cell {
    height: calc(100% - 2.5rem);
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }
}
.grid-margin-y > .auto {
  height: auto;
}
.grid-margin-y > .shrink {
  height: auto;
}
.grid-margin-y > .small-1 {
  height: calc(8.3333333333% - 1.25rem);
}
.grid-margin-y > .small-2 {
  height: calc(16.6666666667% - 1.25rem);
}
.grid-margin-y > .small-3 {
  height: calc(25% - 1.25rem);
}
.grid-margin-y > .small-4 {
  height: calc(33.3333333333% - 1.25rem);
}
.grid-margin-y > .small-5 {
  height: calc(41.6666666667% - 1.25rem);
}
.grid-margin-y > .small-6 {
  height: calc(50% - 1.25rem);
}
.grid-margin-y > .small-7 {
  height: calc(58.3333333333% - 1.25rem);
}
.grid-margin-y > .small-8 {
  height: calc(66.6666666667% - 1.25rem);
}
.grid-margin-y > .small-9 {
  height: calc(75% - 1.25rem);
}
.grid-margin-y > .small-10 {
  height: calc(83.3333333333% - 1.25rem);
}
.grid-margin-y > .small-11 {
  height: calc(91.6666666667% - 1.25rem);
}
.grid-margin-y > .small-12 {
  height: calc(100% - 1.25rem);
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y > .auto {
    height: auto;
  }
  .grid-margin-y > .shrink {
    height: auto;
  }
  .grid-margin-y > .small-1 {
    height: calc(8.3333333333% - 1.875rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 1.875rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.875rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 1.875rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 1.875rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.875rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 1.875rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 1.875rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.875rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 1.875rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 1.875rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.875rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 1.875rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 1.875rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 1.875rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 1.875rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 1.875rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 1.875rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 1.875rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 1.875rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 1.875rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 1.875rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 1.875rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 1.875rem);
  }
}
@media screen and (min-width: 64em) {
  .grid-margin-y > .auto {
    height: auto;
  }
  .grid-margin-y > .shrink {
    height: auto;
  }
  .grid-margin-y > .small-1 {
    height: calc(8.3333333333% - 2.5rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 2.5rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 2.5rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 2.5rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 2.5rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 2.5rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 2.5rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 2.5rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 2.5rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 2.5rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 2.5rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 2.5rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 2.5rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 2.5rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 2.5rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 2.5rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 2.5rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 2.5rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 2.5rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 2.5rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 2.5rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 2.5rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 2.5rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 2.5rem);
  }
  .grid-margin-y > .large-auto {
    height: auto;
  }
  .grid-margin-y > .large-shrink {
    height: auto;
  }
  .grid-margin-y > .large-1 {
    height: calc(8.3333333333% - 2.5rem);
  }
  .grid-margin-y > .large-2 {
    height: calc(16.6666666667% - 2.5rem);
  }
  .grid-margin-y > .large-3 {
    height: calc(25% - 2.5rem);
  }
  .grid-margin-y > .large-4 {
    height: calc(33.3333333333% - 2.5rem);
  }
  .grid-margin-y > .large-5 {
    height: calc(41.6666666667% - 2.5rem);
  }
  .grid-margin-y > .large-6 {
    height: calc(50% - 2.5rem);
  }
  .grid-margin-y > .large-7 {
    height: calc(58.3333333333% - 2.5rem);
  }
  .grid-margin-y > .large-8 {
    height: calc(66.6666666667% - 2.5rem);
  }
  .grid-margin-y > .large-9 {
    height: calc(75% - 2.5rem);
  }
  .grid-margin-y > .large-10 {
    height: calc(83.3333333333% - 2.5rem);
  }
  .grid-margin-y > .large-11 {
    height: calc(91.6666666667% - 2.5rem);
  }
  .grid-margin-y > .large-12 {
    height: calc(100% - 2.5rem);
  }
}
@media screen and (min-width: 75em) {
  .grid-margin-y > .xlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xlarge-1 {
    height: calc(8.3333333333% - 2.5rem);
  }
  .grid-margin-y > .xlarge-2 {
    height: calc(16.6666666667% - 2.5rem);
  }
  .grid-margin-y > .xlarge-3 {
    height: calc(25% - 2.5rem);
  }
  .grid-margin-y > .xlarge-4 {
    height: calc(33.3333333333% - 2.5rem);
  }
  .grid-margin-y > .xlarge-5 {
    height: calc(41.6666666667% - 2.5rem);
  }
  .grid-margin-y > .xlarge-6 {
    height: calc(50% - 2.5rem);
  }
  .grid-margin-y > .xlarge-7 {
    height: calc(58.3333333333% - 2.5rem);
  }
  .grid-margin-y > .xlarge-8 {
    height: calc(66.6666666667% - 2.5rem);
  }
  .grid-margin-y > .xlarge-9 {
    height: calc(75% - 2.5rem);
  }
  .grid-margin-y > .xlarge-10 {
    height: calc(83.3333333333% - 2.5rem);
  }
  .grid-margin-y > .xlarge-11 {
    height: calc(91.6666666667% - 2.5rem);
  }
  .grid-margin-y > .xlarge-12 {
    height: calc(100% - 2.5rem);
  }
}
@media screen and (min-width: 90em) {
  .grid-margin-y > .xxlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xxlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xxlarge-1 {
    height: calc(8.3333333333% - 2.5rem);
  }
  .grid-margin-y > .xxlarge-2 {
    height: calc(16.6666666667% - 2.5rem);
  }
  .grid-margin-y > .xxlarge-3 {
    height: calc(25% - 2.5rem);
  }
  .grid-margin-y > .xxlarge-4 {
    height: calc(33.3333333333% - 2.5rem);
  }
  .grid-margin-y > .xxlarge-5 {
    height: calc(41.6666666667% - 2.5rem);
  }
  .grid-margin-y > .xxlarge-6 {
    height: calc(50% - 2.5rem);
  }
  .grid-margin-y > .xxlarge-7 {
    height: calc(58.3333333333% - 2.5rem);
  }
  .grid-margin-y > .xxlarge-8 {
    height: calc(66.6666666667% - 2.5rem);
  }
  .grid-margin-y > .xxlarge-9 {
    height: calc(75% - 2.5rem);
  }
  .grid-margin-y > .xxlarge-10 {
    height: calc(83.3333333333% - 2.5rem);
  }
  .grid-margin-y > .xxlarge-11 {
    height: calc(91.6666666667% - 2.5rem);
  }
  .grid-margin-y > .xxlarge-12 {
    height: calc(100% - 2.5rem);
  }
}

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

@media print, screen and (min-width: 40em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1.875rem);
  }
}
@media screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 2.5rem);
  }
}
@media screen and (min-width: 75em) {
  .grid-margin-y.xlarge-grid-frame {
    height: calc(100vh + 2.5rem);
  }
}
@media screen and (min-width: 90em) {
  .grid-margin-y.xxlarge-grid-frame {
    height: calc(100vh + 2.5rem);
  }
}
.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  border: 1px solid transparent;
  border-radius: 0;
  -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;
  -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: #ae561f;
  color: #fefefe;
}
.button:hover, .button:focus {
  background-color: #90471a;
  color: #fefefe;
}
.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: #ae561f;
  color: #fefefe;
}
.button.primary:hover, .button.primary:focus {
  background-color: #a2501d;
  color: #fefefe;
}
.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: hsl(217.5, 6.9565217391%, 93%);
  color: #90471a;
}
.button.secondary:hover, .button.secondary:focus {
  background-color: #dadcdf;
  color: #90471a;
}
.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: #4b7100;
  color: #fefefe;
}
.button.success:hover, .button.success:focus {
  background-color: #466900;
  color: #fefefe;
}
.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: #ffeec1;
  color: #90471a;
}
.button.warning:hover, .button.warning:focus {
  background-color: #ffe5a2;
  color: #90471a;
}
.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: #f42828;
  color: #fefefe;
}
.button.alert:hover, .button.alert:focus {
  background-color: #f31515;
  color: #fefefe;
}
.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 #ae561f;
  color: #ae561f;
}
.button.hollow:hover, .button.hollow:focus {
  border-color: #572b10;
  color: #572b10;
}
.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 #ae561f;
  color: #ae561f;
}
.button.hollow.primary:hover, .button.hollow.primary:focus {
  border-color: #572b10;
  color: #572b10;
}
.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 hsl(217.5, 6.9565217391%, 93%);
  color: hsl(217.5, 6.9565217391%, 93%);
}
.button.hollow.secondary:hover, .button.hollow.secondary:focus {
  border-color: #6e757f;
  color: #6e757f;
}
.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 #4b7100;
  color: #4b7100;
}
.button.hollow.success:hover, .button.hollow.success:focus {
  border-color: #263900;
  color: #263900;
}
.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 #ffeec1;
  color: #ffeec1;
}
.button.hollow.warning:hover, .button.hollow.warning:focus {
  border-color: #e0a300;
  color: #e0a300;
}
.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 #f42828;
  color: #f42828;
}
.button.hollow.alert:hover, .button.hollow.alert:focus {
  border-color: #870707;
  color: #870707;
}
.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: #ae561f;
}
.button.clear:hover, .button.clear:focus {
  color: #572b10;
}
.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: #ae561f;
}
.button.clear.primary:hover, .button.clear.primary:focus {
  color: #572b10;
}
.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: hsl(217.5, 6.9565217391%, 93%);
}
.button.clear.secondary:hover, .button.clear.secondary:focus {
  color: #6e757f;
}
.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: #4b7100;
}
.button.clear.success:hover, .button.clear.success:focus {
  color: #263900;
}
.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: #ffeec1;
}
.button.clear.warning:hover, .button.clear.warning:focus {
  color: #e0a300;
}
.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: #f42828;
}
.button.clear.alert:hover, .button.clear.alert:focus {
  color: #870707;
}
.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: #fefefe transparent transparent;
  position: relative;
  top: 0.4em;
  display: inline-block;
  float: right;
  margin-left: 1em;
}
.button.dropdown.hollow::after, .button.dropdown.clear::after {
  border-top-color: #ae561f;
}
.button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {
  border-top-color: #ae561f;
}
.button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {
  border-top-color: hsl(217.5, 6.9565217391%, 93%);
}
.button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {
  border-top-color: #4b7100;
}
.button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {
  border-top-color: #ffeec1;
}
.button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {
  border-top-color: #f42828;
}
.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: #ae561f;
  color: #fefefe;
}
.button-group.primary .button:hover, .button-group.primary .button:focus {
  background-color: #a2501d;
  color: #fefefe;
}
.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: hsl(217.5, 6.9565217391%, 93%);
  color: #90471a;
}
.button-group.secondary .button:hover, .button-group.secondary .button:focus {
  background-color: #dadcdf;
  color: #90471a;
}
.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: #4b7100;
  color: #fefefe;
}
.button-group.success .button:hover, .button-group.success .button:focus {
  background-color: #466900;
  color: #fefefe;
}
.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: #ffeec1;
  color: #90471a;
}
.button-group.warning .button:hover, .button-group.warning .button:focus {
  background-color: #ffe5a2;
  color: #90471a;
}
.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: #f42828;
  color: #fefefe;
}
.button-group.alert .button:hover, .button-group.alert .button:focus {
  background-color: #f31515;
  color: #fefefe;
}
.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 #ae561f;
  color: #ae561f;
}
.button-group.hollow .button:hover, .button-group.hollow .button:focus {
  border-color: #572b10;
  color: #572b10;
}
.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 #ae561f;
  color: #ae561f;
}
.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: #572b10;
  color: #572b10;
}
.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 hsl(217.5, 6.9565217391%, 93%);
  color: hsl(217.5, 6.9565217391%, 93%);
}
.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: #6e757f;
  color: #6e757f;
}
.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 #4b7100;
  color: #4b7100;
}
.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: #263900;
  color: #263900;
}
.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 #ffeec1;
  color: #ffeec1;
}
.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: #e0a300;
  color: #e0a300;
}
.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 #f42828;
  color: #f42828;
}
.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: #870707;
  color: #870707;
}
.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: #ae561f;
}
.button-group.clear .button:hover, .button-group.clear .button:focus {
  color: #572b10;
}
.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: #ae561f;
}
.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: #572b10;
}
.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: hsl(217.5, 6.9565217391%, 93%);
}
.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: #6e757f;
}
.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: #4b7100;
}
.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: #263900;
}
.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: #ffeec1;
}
.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: #e0a300;
}
.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: #f42828;
}
.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: #870707;
}
.button-group.no-gaps .button {
  margin-right: -0.0625rem;
}
.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: 40em) {
  .button-group.stacked-for-small .button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-bottom: 0;
  }
}
@media 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: 39.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: hsl(217.5, 6.9565217391%, 39%);
  cursor: pointer;
}
[data-whatinput=mouse] .close-button {
  outline: 0;
}
.close-button:hover, .close-button:focus {
  color: hsl(217.5, 6.9565217391%, 14%);
}
.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: hsl(217.5, 6.9565217391%, 93%);
  color: hsl(217.5, 6.9565217391%, 14%);
}
.label.secondary {
  background: hsl(217.5, 6.9565217391%, 93%);
  color: hsl(217.5, 6.9565217391%, 14%);
}
.label.success {
  background: #4b7100;
  color: #fefefe;
}
.label.warning {
  background: #ffeec1;
  color: hsl(217.5, 6.9565217391%, 14%);
}
.label.alert {
  background: #f42828;
  color: #fefefe;
}

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0;
  background-color: hsl(217.5, 6.9565217391%, 54%);
}
.progress.primary .progress-meter {
  background-color: #ae561f;
}
.progress.secondary .progress-meter {
  background-color: hsl(217.5, 6.9565217391%, 93%);
}
.progress.success .progress-meter {
  background-color: #4b7100;
}
.progress.warning .progress-meter {
  background-color: #ffeec1;
}
.progress.alert .progress-meter {
  background-color: #f42828;
}

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #ae561f;
}

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

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: hsl(217.5, 6.9565217391%, 69%);
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none;
}

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: hsl(217.5, 6.9565217391%, 54%);
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.slider-fill.is-dragging {
  -webkit-transition: all 0s linear;
  transition: all 0s linear;
}

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

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

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

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

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

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0;
  background: hsl(217.5, 6.9565217391%, 69%);
  -webkit-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer;
}
input + .switch-paddle {
  margin: 0;
}
.switch-paddle::after {
  position: absolute;
  top: 0.125rem;
  left: 0.125rem;
  display: block;
  width: 1.75rem;
  height: 1.75rem;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  border-radius: 0;
  background: #fefefe;
  -webkit-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
  content: "";
}
input:checked ~ .switch-paddle {
  background: #ae561f;
}
input:checked ~ .switch-paddle::after {
  left: 2.125rem;
}
input:disabled ~ .switch-paddle {
  cursor: not-allowed;
  opacity: 0.5;
}
[data-whatinput=mouse] input:focus ~ .switch-paddle {
  outline: 0;
}

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

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

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

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

.switch.small {
  height: 1.75rem;
}
.switch.small .switch-paddle {
  width: 3.5rem;
  height: 1.75rem;
  font-size: 0.75rem;
}
.switch.small .switch-paddle::after {
  top: 0.125rem;
  left: 0.125rem;
  width: 1.5rem;
  height: 1.5rem;
}
.switch.small input:checked ~ .switch-paddle::after {
  left: 1.875rem;
}

.switch.large {
  height: 2.5rem;
}
.switch.large .switch-paddle {
  width: 5rem;
  height: 2.5rem;
  font-size: 1rem;
}
.switch.large .switch-paddle::after {
  top: 0.125rem;
  left: 0.125rem;
  width: 2.25rem;
  height: 2.25rem;
}
.switch.large input:checked ~ .switch-paddle::after {
  left: 2.625rem;
}

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0;
}
thead,
tbody,
tfoot {
  border: 1px solid hsl(217.5, 6.9565217391%, 84%);
  background-color: #fefefe;
}

caption {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: bold;
}

thead {
  background: #f8f8f8;
  color: hsl(217.5, 6.9565217391%, 14%);
}

tfoot {
  background: #f1f1f1;
  color: hsl(217.5, 6.9565217391%, 14%);
}

thead tr,
tfoot tr {
  background: transparent;
}
thead th,
thead td,
tfoot th,
tfoot td {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: bold;
  text-align: left;
}

tbody th,
tbody td {
  padding: 0.5rem 0.625rem 0.625rem;
}

tbody tr:nth-child(even) {
  border-bottom: 0;
  background-color: #f1f1f1;
}

table.unstriped tbody {
  background-color: #fefefe;
}
table.unstriped tbody tr {
  border-bottom: 1px solid hsl(217.5, 6.9565217391%, 84%);
  background-color: #fefefe;
}

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

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

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

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

.badge {
  display: inline-block;
  min-width: 1.0625rem;
  padding: 0.0625rem;
  border-radius: 50%;
  font-size: 0.625rem;
  text-align: center;
  background: #ffeec1;
  color: hsl(217.5, 6.9565217391%, 14%);
}
.badge.primary {
  background: #ae561f;
  color: #fefefe;
}
.badge.secondary {
  background: hsl(217.5, 6.9565217391%, 93%);
  color: hsl(217.5, 6.9565217391%, 14%);
}
.badge.success {
  background: #4b7100;
  color: #fefefe;
}
.badge.warning {
  background: #ffeec1;
  color: hsl(217.5, 6.9565217391%, 14%);
}
.badge.alert {
  background: #f42828;
  color: #fefefe;
}

.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.6875rem;
  color: hsl(217.5, 6.9565217391%, 14%);
  cursor: default;
  text-transform: uppercase;
}
.breadcrumbs li:not(:last-child)::after {
  position: relative;
  margin: 0 0.75rem;
  opacity: 1;
  content: "/";
  color: hsl(217.5, 6.9565217391%, 54%);
}
.breadcrumbs a {
  color: #ae561f;
}
.breadcrumbs a:hover {
  text-decoration: underline;
}
.breadcrumbs .disabled {
  color: hsl(217.5, 6.9565217391%, 54%);
  cursor: not-allowed;
}

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(33, 35, 38, 0.25);
  border-radius: 0;
  background-color: white;
  color: hsl(217.5, 6.9565217391%, 14%);
}
.callout > :first-child {
  margin-top: 0;
}
.callout > :last-child {
  margin-bottom: 0;
}
.callout.primary {
  background-color: #f8e4d8;
  color: hsl(217.5, 6.9565217391%, 14%);
}
.callout.secondary {
  background-color: #fcfcfd;
  color: hsl(217.5, 6.9565217391%, 14%);
}
.callout.success {
  background-color: #ebffc3;
  color: hsl(217.5, 6.9565217391%, 14%);
}
.callout.warning {
  background-color: #fffcf6;
  color: hsl(217.5, 6.9565217391%, 14%);
}
.callout.alert {
  background-color: #fddfdf;
  color: hsl(217.5, 6.9565217391%, 14%);
}
.callout.small {
  padding-top: 0.5rem;
  padding-right: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.5rem;
}
.callout.large {
  padding-top: 3rem;
  padding-right: 3rem;
  padding-bottom: 3rem;
  padding-left: 3rem;
}

.card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 1rem;
  border: 1px solid hsl(217.5, 6.9565217391%, 69%);
  border-radius: 0;
  background: #fefefe;
  -webkit-box-shadow: none;
          box-shadow: none;
  overflow: hidden;
  color: hsl(217.5, 6.9565217391%, 14%);
}
.card > :last-child {
  margin-bottom: 0;
}

.card-divider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  padding: 0.5rem;
  background: hsl(217.5, 6.9565217391%, 69%);
}
.card-divider > :last-child {
  margin-bottom: 0;
}

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

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

.dropdown-pane {
  position: absolute;
  z-index: 10;
  display: none;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  border: 1px solid hsl(217.5, 6.9565217391%, 54%);
  border-radius: 0;
  background-color: #fafafa;
  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.0625rem;
  border-radius: 0;
  font-size: 0.875rem;
  display: none;
}
.pagination li:last-child, .pagination li:first-child {
  display: inline-block;
}
@media print, screen and (min-width: 40em) {
  .pagination li {
    display: inline-block;
  }
}
.pagination a,
.pagination button {
  display: block;
  padding: 0.1875rem 0.625rem;
  border-radius: 0;
  color: #ae561f;
}
.pagination a:hover,
.pagination button:hover {
  background: hsl(217.5, 6.9565217391%, 93%);
}
.pagination .current {
  padding: 0.1875rem 0.625rem;
  background: #ffeec1;
  color: hsl(217.5, 6.9565217391%, 24%);
  cursor: default;
}
.pagination .disabled {
  padding: 0.1875rem 0.625rem;
  color: hsl(217.5, 6.9565217391%, 69%);
  cursor: not-allowed;
}
.pagination .disabled:hover {
  background: transparent;
}
.pagination .ellipsis::after {
  padding: 0.1875rem 0.625rem;
  content: "…";
  color: hsl(217.5, 6.9565217391%, 54%);
}

.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 hsl(217.5, 6.9565217391%, 39%);
  font-weight: bold;
  cursor: help;
}

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 0;
  background-color: hsl(217.5, 6.9565217391%, 14%);
  font-size: 75%;
  color: #fefefe;
}
.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 hsl(217.5, 6.9565217391%, 14%);
  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: hsl(217.5, 6.9565217391%, 14%) 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 hsl(217.5, 6.9565217391%, 14%);
  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 hsl(217.5, 6.9565217391%, 14%) 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: #fefefe;
  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 hsl(217.5, 6.9565217391%, 69%);
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #ae561f;
}
:last-child:not(.is-active) > .accordion-title {
  border-bottom: 1px solid hsl(217.5, 6.9565217391%, 69%);
  border-radius: 0 0 0 0;
}
.accordion-title:hover, .accordion-title:focus {
  background-color: hsl(217.5, 6.9565217391%, 69%);
}
.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 hsl(217.5, 6.9565217391%, 69%);
  border-bottom: 0;
  background-color: #fefefe;
  color: hsl(217.5, 6.9565217391%, 14%);
}
:last-child > .accordion-content:last-child {
  border-bottom: 1px solid hsl(217.5, 6.9565217391%, 69%);
}

.media-object {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
.media-object img {
  max-width: none;
}
@media print, screen and (max-width: 39.99875em) {
  .media-object.stack-for-small {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.media-object-section {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
}
.media-object-section:first-child {
  padding-right: 1rem;
}
.media-object-section:last-child:not(:nth-child(2)) {
  padding-left: 1rem;
}
.media-object-section > :last-child {
  margin-bottom: 0;
}
@media print, screen and (max-width: 39.99875em) {
  .stack-for-small .media-object-section {
    padding: 0;
    padding-bottom: 1rem;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    max-width: 100%;
  }
  .stack-for-small .media-object-section img {
    width: 100%;
  }
}
.media-object-section.main-section {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}

.orbit {
  position: relative;
}

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

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

.orbit-figure {
  margin: 0;
}

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

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

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

.orbit-previous {
  left: 0;
}

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

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center;
}
[data-whatinput=mouse] .orbit-bullets {
  outline: 0;
}
.orbit-bullets button {
  width: 1.2rem;
  height: 1.2rem;
  margin: 0.1rem;
  border-radius: 50%;
  background-color: hsl(217.5, 6.9565217391%, 54%);
}
.orbit-bullets button:hover {
  background-color: hsl(217.5, 6.9565217391%, 39%);
}
.orbit-bullets button.is-active {
  background-color: hsl(217.5, 6.9565217391%, 39%);
}

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

.tabs {
  margin: 0;
  border: 1px solid hsl(217.5, 6.9565217391%, 84%);
  background: transparent;
  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: #ae561f;
}
.tabs.primary > li > a {
  color: #fefefe;
}
.tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
  background: #a5521d;
}

.tabs-title {
  float: left;
}
.tabs-title > a {
  display: block;
  padding: 0.75rem 1.25rem;
  font-size: 0.75rem;
  line-height: 1;
  color: #ae561f;
}
[data-whatinput=mouse] .tabs-title > a {
  outline: 0;
}
.tabs-title > a:hover {
  background: #fefefe;
  color: #964a1b;
}
.tabs-title > a:focus, .tabs-title > a[aria-selected=true] {
  background: transparent;
  color: #ae561f;
}

.tabs-content {
  border: 1px solid hsl(217.5, 6.9565217391%, 84%);
  border-top: 0;
  background: transparent;
  color: inherit;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.tabs-content.vertical {
  border: 1px solid hsl(217.5, 6.9565217391%, 84%);
  border-left: 0;
}

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

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

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

.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: 40em) {
  .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 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;
  }
}
@media screen and (min-width: 75em) {
  .menu.xlarge-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu.xlarge-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .menu.xlarge-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .menu.xlarge-simple li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}
@media screen and (min-width: 90em) {
  .menu.xxlarge-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu.xxlarge-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .menu.xxlarge-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .menu.xxlarge-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: #fefefe;
  color: hsl(217.5, 6.9565217391%, 14%);
}
.menu .active > a {
  background: #fefefe;
  color: hsl(217.5, 6.9565217391%, 14%);
}
.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;
}

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

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer;
}
.menu-icon.dark::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  background: hsl(217.5, 6.9565217391%, 14%);
  -webkit-box-shadow: 0 7px 0 hsl(217.5, 6.9565217391%, 14%), 0 14px 0 hsl(217.5, 6.9565217391%, 14%);
          box-shadow: 0 7px 0 hsl(217.5, 6.9565217391%, 14%), 0 14px 0 hsl(217.5, 6.9565217391%, 14%);
  content: "";
}
.menu-icon.dark:hover::after {
  background: hsl(217.5, 6.9565217391%, 39%);
  -webkit-box-shadow: 0 7px 0 hsl(217.5, 6.9565217391%, 39%), 0 14px 0 hsl(217.5, 6.9565217391%, 39%);
          box-shadow: 0 7px 0 hsl(217.5, 6.9565217391%, 39%), 0 14px 0 hsl(217.5, 6.9565217391%, 39%);
}

.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: #ae561f 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: #ae561f 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: #fefefe;
}
.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #fefefe;
  -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 #ae561f;
  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 #ae561f;
  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 #ae561f 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 #ae561f 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: #ae561f transparent transparent;
  right: 5px;
  left: auto;
  margin-top: -3px;
}
[data-whatinput=mouse] .dropdown.menu a {
  outline: 0;
}
.dropdown.menu > li > a {
  background: #fefefe;
  padding: 0.7rem 1rem;
}
.dropdown.menu > li.is-active > a {
  background: transparent;
  color: #ae561f;
}
.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 #ae561f 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 #ae561f;
}
@media print, screen and (min-width: 40em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: "";
    border-bottom-width: 0;
    border-color: #ae561f 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 #ae561f 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 #ae561f;
  }
}
@media 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: #ae561f 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 #ae561f 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 #ae561f;
  }
}
@media screen and (min-width: 75em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.xlarge-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: #ae561f transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.xlarge-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.xlarge-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 #ae561f transparent transparent;
    right: auto;
    left: 5px;
  }
  .dropdown.menu.xlarge-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 #ae561f;
  }
}
@media screen and (min-width: 90em) {
  .dropdown.menu.xxlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.xxlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.xxlarge-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: #ae561f transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.xxlarge-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.xxlarge-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }
  .dropdown.menu.xxlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.xxlarge-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.xxlarge-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 #ae561f transparent transparent;
    right: auto;
    left: 5px;
  }
  .dropdown.menu.xxlarge-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 #ae561f;
  }
}
.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 hsl(217.5, 6.9565217391%, 54%);
  background: #fefefe;
}
.dropdown .is-dropdown-submenu a {
  padding: 0.7rem 1rem;
}
.is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
  right: 14px;
}
.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-left-width: 0;
  border-color: transparent #ae561f 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 #ae561f;
}
.is-dropdown-submenu .is-dropdown-submenu {
  margin-top: -1px;
}
.is-dropdown-submenu > li {
  width: 100%;
}
.is-dropdown-submenu.js-dropdown-active {
  display: block;
}

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

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

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

.off-canvas {
  position: fixed;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: hsl(217.5, 6.9565217391%, 69%);
}
[data-whatinput=mouse] .off-canvas {
  outline: 0;
}
.off-canvas.is-transition-push {
  z-index: 12;
}
.off-canvas.is-closed {
  visibility: hidden;
}
.off-canvas.is-transition-overlap {
  z-index: 13;
}
.off-canvas.is-transition-overlap.is-open {
  -webkit-box-shadow: 0 0 10px rgba(33, 35, 38, 0.7);
          box-shadow: 0 0 10px rgba(33, 35, 38, 0.7);
}
.off-canvas.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: hsl(217.5, 6.9565217391%, 69%);
}
[data-whatinput=mouse] .off-canvas-absolute {
  outline: 0;
}
.off-canvas-absolute.is-transition-push {
  z-index: 12;
}
.off-canvas-absolute.is-closed {
  visibility: hidden;
}
.off-canvas-absolute.is-transition-overlap {
  z-index: 13;
}
.off-canvas-absolute.is-transition-overlap.is-open {
  -webkit-box-shadow: 0 0 10px rgba(33, 35, 38, 0.7);
          box-shadow: 0 0 10px rgba(33, 35, 38, 0.7);
}
.off-canvas-absolute.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  width: 250px;
  -webkit-transform: translateX(-250px);
          transform: translateX(-250px);
}
.off-canvas-content .off-canvas.position-left {
  -webkit-transform: translateX(-250px);
          transform: translateX(-250px);
}
.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.off-canvas-content.is-open-left.has-transition-push {
  -webkit-transform: translateX(250px);
          transform: translateX(250px);
}

.position-left.is-transition-push {
  -webkit-box-shadow: inset -13px 0 20px -13px rgba(33, 35, 38, 0.25);
          box-shadow: inset -13px 0 20px -13px rgba(33, 35, 38, 0.25);
}

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  width: 250px;
  -webkit-transform: translateX(250px);
          transform: translateX(250px);
}
.off-canvas-content .off-canvas.position-right {
  -webkit-transform: translateX(250px);
          transform: translateX(250px);
}
.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.off-canvas-content.is-open-right.has-transition-push {
  -webkit-transform: translateX(-250px);
          transform: translateX(-250px);
}

.position-right.is-transition-push {
  -webkit-box-shadow: inset 13px 0 20px -13px rgba(33, 35, 38, 0.25);
          box-shadow: inset 13px 0 20px -13px rgba(33, 35, 38, 0.25);
}

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  height: 250px;
  -webkit-transform: translateY(-250px);
          transform: translateY(-250px);
}
.off-canvas-content .off-canvas.position-top {
  -webkit-transform: translateY(-250px);
          transform: translateY(-250px);
}
.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.off-canvas-content.is-open-top.has-transition-push {
  -webkit-transform: translateY(250px);
          transform: translateY(250px);
}

.position-top.is-transition-push {
  -webkit-box-shadow: inset 0 -13px 20px -13px rgba(33, 35, 38, 0.25);
          box-shadow: inset 0 -13px 20px -13px rgba(33, 35, 38, 0.25);
}

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  height: 250px;
  -webkit-transform: translateY(250px);
          transform: translateY(250px);
}
.off-canvas-content .off-canvas.position-bottom {
  -webkit-transform: translateY(250px);
          transform: translateY(250px);
}
.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.off-canvas-content.is-open-bottom.has-transition-push {
  -webkit-transform: translateY(-250px);
          transform: translateY(-250px);
}

.position-bottom.is-transition-push {
  -webkit-box-shadow: inset 0 13px 20px -13px rgba(33, 35, 38, 0.25);
          box-shadow: inset 0 13px 20px -13px rgba(33, 35, 38, 0.25);
}

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

@media print, screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-left.reveal-for-medium .close-button {
    display: none;
  }
  .off-canvas-content .position-left.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-left {
    margin-left: 250px;
  }
  .position-left.reveal-for-medium ~ .off-canvas-content {
    margin-left: 250px;
  }
  .position-right.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-right.reveal-for-medium .close-button {
    display: none;
  }
  .off-canvas-content .position-right.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-right {
    margin-right: 250px;
  }
  .position-right.reveal-for-medium ~ .off-canvas-content {
    margin-right: 250px;
  }
  .position-top.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-top.reveal-for-medium .close-button {
    display: none;
  }
  .off-canvas-content .position-top.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-top {
    margin-top: 250px;
  }
  .position-top.reveal-for-medium ~ .off-canvas-content {
    margin-top: 250px;
  }
  .position-bottom.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-bottom.reveal-for-medium .close-button {
    display: none;
  }
  .off-canvas-content .position-bottom.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 250px;
  }
  .position-bottom.reveal-for-medium ~ .off-canvas-content {
    margin-bottom: 250px;
  }
}
@media screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-left.reveal-for-large .close-button {
    display: none;
  }
  .off-canvas-content .position-left.reveal-for-large {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-left {
    margin-left: 250px;
  }
  .position-left.reveal-for-large ~ .off-canvas-content {
    margin-left: 250px;
  }
  .position-right.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-right.reveal-for-large .close-button {
    display: none;
  }
  .off-canvas-content .position-right.reveal-for-large {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-right {
    margin-right: 250px;
  }
  .position-right.reveal-for-large ~ .off-canvas-content {
    margin-right: 250px;
  }
  .position-top.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-top.reveal-for-large .close-button {
    display: none;
  }
  .off-canvas-content .position-top.reveal-for-large {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-top {
    margin-top: 250px;
  }
  .position-top.reveal-for-large ~ .off-canvas-content {
    margin-top: 250px;
  }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-bottom.reveal-for-large .close-button {
    display: none;
  }
  .off-canvas-content .position-bottom.reveal-for-large {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 250px;
  }
  .position-bottom.reveal-for-large ~ .off-canvas-content {
    margin-bottom: 250px;
  }
}
@media screen and (min-width: 75em) {
  .position-left.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-left.reveal-for-xlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-left.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-left {
    margin-left: 250px;
  }
  .position-left.reveal-for-xlarge ~ .off-canvas-content {
    margin-left: 250px;
  }
  .position-right.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-right.reveal-for-xlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-right.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-right {
    margin-right: 250px;
  }
  .position-right.reveal-for-xlarge ~ .off-canvas-content {
    margin-right: 250px;
  }
  .position-top.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-top.reveal-for-xlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-top.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-top {
    margin-top: 250px;
  }
  .position-top.reveal-for-xlarge ~ .off-canvas-content {
    margin-top: 250px;
  }
  .position-bottom.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-bottom.reveal-for-xlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-bottom.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 250px;
  }
  .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
    margin-bottom: 250px;
  }
}
@media screen and (min-width: 90em) {
  .position-left.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-left.reveal-for-xxlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-left.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-left {
    margin-left: 250px;
  }
  .position-left.reveal-for-xxlarge ~ .off-canvas-content {
    margin-left: 250px;
  }
  .position-right.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-right.reveal-for-xxlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-right.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-right {
    margin-right: 250px;
  }
  .position-right.reveal-for-xxlarge ~ .off-canvas-content {
    margin-right: 250px;
  }
  .position-top.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-top.reveal-for-xxlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-top.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-top {
    margin-top: 250px;
  }
  .position-top.reveal-for-xxlarge ~ .off-canvas-content {
    margin-top: 250px;
  }
  .position-bottom.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-bottom.reveal-for-xxlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-bottom.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 250px;
  }
  .position-bottom.reveal-for-xxlarge ~ .off-canvas-content {
    margin-bottom: 250px;
  }
}
@media print, screen and (min-width: 40em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none;
  }
  .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas.in-canvas-for-medium .close-button {
    display: none;
  }
}
@media screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none;
  }
  .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas.in-canvas-for-large .close-button {
    display: none;
  }
}
@media screen and (min-width: 75em) {
  .off-canvas.in-canvas-for-xlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none;
  }
  .off-canvas.in-canvas-for-xlarge.position-left, .off-canvas.in-canvas-for-xlarge.position-right, .off-canvas.in-canvas-for-xlarge.position-top, .off-canvas.in-canvas-for-xlarge.position-bottom {
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas.in-canvas-for-xlarge .close-button {
    display: none;
  }
}
@media screen and (min-width: 90em) {
  .off-canvas.in-canvas-for-xxlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none;
  }
  .off-canvas.in-canvas-for-xxlarge.position-left, .off-canvas.in-canvas-for-xxlarge.position-right, .off-canvas.in-canvas-for-xxlarge.position-top, .off-canvas.in-canvas-for-xxlarge.position-bottom {
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas.in-canvas-for-xxlarge .close-button {
    display: none;
  }
}
html.is-reveal-open {
  position: fixed;
  width: 100%;
  overflow-y: hidden;
}
html.is-reveal-open.zf-has-scroll {
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
html.is-reveal-open body {
  overflow-y: hidden;
}

.reveal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1005;
  display: none;
  background-color: rgba(33, 35, 38, 0.45);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

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

.sticky-container {
  position: relative;
}

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

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

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

.title-bar {
  padding: 0.5rem;
  background: hsl(217.5, 6.9565217391%, 14%);
  color: #fefefe;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.title-bar .menu-icon {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

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

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

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

.top-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.top-bar,
.top-bar ul {
  background-color: hsl(217.5, 6.9565217391%, 69%);
}
.top-bar input {
  max-width: 200px;
  margin-right: 1rem;
}
.top-bar .input-group-field {
  width: 100%;
  margin-right: 0;
}
.top-bar input.button {
  width: auto;
}
.top-bar .top-bar-left,
.top-bar .top-bar-right {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%;
}
@media print, screen and (min-width: 40em) {
  .top-bar {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .top-bar .top-bar-left {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    margin-right: auto;
  }
  .top-bar .top-bar-right {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    margin-left: auto;
  }
}
@media print, screen and (max-width: 63.99875em) {
  .top-bar.stacked-for-medium {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .top-bar.stacked-for-medium .top-bar-left,
  .top-bar.stacked-for-medium .top-bar-right {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
}
@media print, screen and (max-width: 74.99875em) {
  .top-bar.stacked-for-large {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .top-bar.stacked-for-large .top-bar-left,
  .top-bar.stacked-for-large .top-bar-right {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
}
@media print, screen and (max-width: 89.99875em) {
  .top-bar.stacked-for-xlarge {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .top-bar.stacked-for-xlarge .top-bar-left,
  .top-bar.stacked-for-xlarge .top-bar-right {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
}
.top-bar.stacked-for-xxlarge {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.top-bar.stacked-for-xxlarge .top-bar-left,
.top-bar.stacked-for-xxlarge .top-bar-right {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%;
}

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

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

.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: 40em) {
  .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 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;
  }
}
@media screen and (min-width: 75em) {
  .xlarge-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .xlarge-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .xlarge-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .xlarge-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .xlarge-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .xlarge-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
}
@media screen and (min-width: 90em) {
  .xxlarge-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .xxlarge-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .xxlarge-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .xxlarge-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .xxlarge-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .xxlarge-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: 40em) {
  .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 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;
  }
}
@media screen and (min-width: 75em) {
  .xlarge-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .xlarge-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .xlarge-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .xlarge-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .xlarge-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .xlarge-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .xlarge-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .xlarge-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media screen and (min-width: 90em) {
  .xxlarge-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .xxlarge-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .xxlarge-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .xxlarge-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .xxlarge-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .xxlarge-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .xxlarge-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .xxlarge-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: 39.99875em) {
  .hide-for-small-only {
    display: none !important;
  }
}

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

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

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

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

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

@media 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 screen and (min-width: 64em) and (max-width: 74.99875em) {
  .hide-for-large-only {
    display: none !important;
  }
}

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

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

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

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

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

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

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

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

@media screen and (max-width: 89.99875em) {
  .show-for-xxlarge-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;
}

.relative {
  position: relative;
}

.static {
  position: static;
}

.display-block {
  display: block;
}

.display-inline {
  display: inline;
}

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

.no-margin {
  margin: 0 !important;
}

.tiny-margin {
  margin: 0.25rem !important;
}

.small-margin {
  margin: 0.5rem !important;
}

.medium-margin {
  margin: 1rem !important;
}

.large-margin {
  margin: 2rem !important;
}

.xlarge-margin {
  margin: 3rem !important;
}

.tiny-margin-y {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.small-margin-y {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.medium-margin-y {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.large-margin-y {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.xlarge-margin-y {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.tiny-margin-x {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important;
}

.small-margin-x {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important;
}

.medium-margin-x {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}

.large-margin-x {
  margin-right: 2rem !important;
  margin-left: 2rem !important;
}

.xlarge-margin-x {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}

.auto-margin {
  margin-right: auto !important;
  margin-left: auto !important;
}

.auto-margin-right {
  margin-right: auto !important;
}

.auto-margin-left {
  margin-left: auto !important;
}

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

.tiny-margin-top {
  margin-top: 0.25rem !important;
}

.small-margin-top {
  margin-top: 0.5rem !important;
}

.medium-margin-top {
  margin-top: 1rem !important;
}

.large-margin-top {
  margin-top: 2rem !important;
}

.xlarge-margin-top {
  margin-top: 3rem !important;
}

.no-margin-right {
  margin-right: 0 !important;
}

.tiny-margin-right {
  margin-right: 0.25rem !important;
}

.small-margin-right {
  margin-right: 0.5rem !important;
}

.medium-margin-right {
  margin-right: 1rem !important;
}

.large-margin-right {
  margin-right: 2rem !important;
}

.xlarge-margin-right {
  margin-right: 3rem !important;
}

.no-margin-bottom {
  margin-bottom: 0 !important;
}

.tiny-margin-bottom {
  margin-bottom: 0.25rem !important;
}

.small-margin-bottom {
  margin-bottom: 0.5rem !important;
}

.medium-margin-bottom {
  margin-bottom: 1rem !important;
}

.large-margin-bottom {
  margin-bottom: 2rem !important;
}

.xlarge-margin-bottom {
  margin-bottom: 3rem !important;
}

.no-margin-left {
  margin-left: 0 !important;
}

.tiny-margin-left {
  margin-left: 0.25rem !important;
}

.small-margin-left {
  margin-left: 0.5rem !important;
}

.medium-margin-left {
  margin-left: 1rem !important;
}

.large-margin-left {
  margin-left: 2rem !important;
}

.xlarge-margin-left {
  margin-left: 3rem !important;
}

.no-padding {
  padding: 0 !important;
}

.tiny-padding {
  padding: 0.25rem !important;
}

.small-padding {
  padding: 0.5rem !important;
}

.medium-padding {
  padding: 1rem !important;
}

.large-padding {
  padding: 2rem !important;
}

.xlarge-padding {
  padding: 3rem !important;
}

.tiny-padding-y {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.small-padding-y {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.medium-padding-y {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.large-padding-y {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.xlarge-padding-y {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.tiny-padding-x {
  padding-right: 0.25rem !important;
  padding-left: 0.25rem !important;
}

.small-padding-x {
  padding-right: 0.5rem !important;
  padding-left: 0.5rem !important;
}

.medium-padding-x {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}

.large-padding-x {
  padding-right: 2rem !important;
  padding-left: 2rem !important;
}

.xlarge-padding-x {
  padding-right: 3rem !important;
  padding-left: 3rem !important;
}

.no-padding-top {
  padding-top: 0 !important;
}

.tiny-padding-top {
  padding-top: 0.25rem !important;
}

.small-padding-top {
  padding-top: 0.5rem !important;
}

.medium-padding-top {
  padding-top: 1rem !important;
}

.large-padding-top {
  padding-top: 2rem !important;
}

.xlarge-padding-top {
  padding-top: 3rem !important;
}

.no-padding-right {
  padding-right: 0 !important;
}

.tiny-padding-right {
  padding-right: 0.25rem !important;
}

.small-padding-right {
  padding-right: 0.5rem !important;
}

.medium-padding-right {
  padding-right: 1rem !important;
}

.large-padding-right {
  padding-right: 2rem !important;
}

.xlarge-padding-right {
  padding-right: 3rem !important;
}

.no-padding-bottom {
  padding-bottom: 0 !important;
}

.tiny-padding-bottom {
  padding-bottom: 0.25rem !important;
}

.small-padding-bottom {
  padding-bottom: 0.5rem !important;
}

.medium-padding-bottom {
  padding-bottom: 1rem !important;
}

.large-padding-bottom {
  padding-bottom: 2rem !important;
}

.xlarge-padding-bottom {
  padding-bottom: 3rem !important;
}

.no-padding-left {
  padding-left: 0 !important;
}

.tiny-padding-left {
  padding-left: 0.25rem !important;
}

.small-padding-left {
  padding-left: 0.5rem !important;
}

.medium-padding-left {
  padding-left: 1rem !important;
}

.large-padding-left {
  padding-left: 2rem !important;
}

.xlarge-padding-left {
  padding-left: 3rem !important;
}

.bg-aqua-white {
  background-color: #cff8f8;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-aqua-light {
  background-color: #86eeee;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-aqua {
  background-color: #0ddcdc;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-aqua-dim {
  background-color: #009e9e;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-aqua-dark {
  background-color: #006d6f;
  color: #fefefe;
}

.bg-aqua-muted {
  background-color: #5e9494;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-teal-white {
  background-color: #cef8ea;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-teal-light {
  background-color: #85edcb;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-teal {
  background-color: #0bdb96;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-teal-dim {
  background-color: #009665;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-teal-dark {
  background-color: #006c49;
  color: #fefefe;
}

.bg-teal-muted {
  background-color: #5c9481;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-green-white {
  background-color: #cffacf;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-green-light {
  background-color: #86f386;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-green {
  background-color: #0de70d;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-green-dim {
  background-color: #00ae00;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-green-dark {
  background-color: #007300;
  color: #fefefe;
}

.bg-green-muted {
  background-color: #5b965b;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-chartreuse-white {
  background-color: #ecfacf;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-chartreuse-light {
  background-color: #cff288;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-chartreuse {
  background-color: #9fe510;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-chartreuse-dim {
  background-color: #7eb806;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-chartreuse-dark {
  background-color: #4b7100;
  color: #fefefe;
}

.bg-chartreuse-muted {
  background-color: #889865;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-yellow-white {
  background-color: #fbfbd0;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-yellow-light {
  background-color: #f6f689;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-yellow {
  background-color: #eded12;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-yellow-dim {
  background-color: #b3b406;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-yellow-dark {
  background-color: #7a7a00;
  color: #fefefe;
}

.bg-yellow-muted {
  background-color: #9d9d6d;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-gold-white {
  background-color: #fbf2d0;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-gold-light {
  background-color: #f6de89;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-gold {
  background-color: #edbd12;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-gold-dim {
  background-color: #af8a04;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-gold-dark {
  background-color: #745b00;
  color: #fefefe;
}

.bg-gold-muted {
  background-color: #9a8f65;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-orange-white {
  background-color: #f9e3cf;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-orange-light {
  background-color: #f1ba87;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-orange {
  background-color: #e2750f;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-orange-dim {
  background-color: #ba5c04;
  color: #fefefe;
}

.bg-orange-dark {
  background-color: #713700;
  color: #fefefe;
}

.bg-orange-muted {
  background-color: #95775b;
  color: #fefefe;
}

.bg-red-white {
  background-color: #fdd4d4;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-red-light {
  background-color: #fa9494;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-red {
  background-color: #f42828;
  color: #fefefe;
}

.bg-red-dim {
  background-color: #bc2929;
  color: #fefefe;
}

.bg-red-dark {
  background-color: #7a1111;
  color: #fefefe;
}

.bg-red-muted {
  background-color: #926060;
  color: #fefefe;
}

.bg-fuchsia-white {
  background-color: #fbd0ea;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-fuchsia-light {
  background-color: #f689ca;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-fuchsia {
  background-color: #ed1294;
  color: #fefefe;
}

.bg-fuchsia-dim {
  background-color: #bc177a;
  color: #fefefe;
}

.bg-fuchsia-dark {
  background-color: #7a044c;
  color: #fefefe;
}

.bg-fuchsia-muted {
  background-color: #915a7b;
  color: #fefefe;
}

.bg-purple-white {
  background-color: #edd4fd;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-purple-light {
  background-color: #d394fa;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-purple {
  background-color: #9912ed;
  color: #fefefe;
}

.bg-purple-dim {
  background-color: #7a25b1;
  color: #fefefe;
}

.bg-purple-dark {
  background-color: #52117d;
  color: #fefefe;
}

.bg-purple-muted {
  background-color: #7f6092;
  color: #fefefe;
}

.bg-indigo-white {
  background-color: #dbdbfd;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-indigo-light {
  background-color: #a6a6fb;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-indigo {
  background-color: #4d4df6;
  color: #fefefe;
}

.bg-indigo-dim {
  background-color: #3b3baa;
  color: #fefefe;
}

.bg-indigo-dark {
  background-color: #24247d;
  color: #fefefe;
}

.bg-indigo-muted {
  background-color: #696991;
  color: #fefefe;
}

.bg-blue-white {
  background-color: #d0ebfb;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-blue-light {
  background-color: #89cef6;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-blue {
  background-color: #129ded;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-blue-dim {
  background-color: #0672b1;
  color: #fefefe;
}

.bg-blue-dark {
  background-color: #014e7d;
  color: #fefefe;
}

.bg-blue-muted {
  background-color: #5b8196;
  color: #fefefe;
}

.bg-black {
  background-color: hsl(217.5, 6.9565217391%, 14%);
  color: #fefefe;
}

.bg-charcoal {
  background-color: hsl(217.5, 6.9565217391%, 24%);
  color: #fefefe;
}

.bg-dark-gray {
  background-color: hsl(217.5, 6.9565217391%, 39%);
  color: #fefefe;
}

.bg-gray {
  background-color: hsl(217.5, 6.9565217391%, 54%);
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-light-gray {
  background-color: hsl(217.5, 6.9565217391%, 69%);
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-silver {
  background-color: hsl(217.5, 6.9565217391%, 84%);
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-white-smoke {
  background-color: hsl(217.5, 6.9565217391%, 93%);
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-off-white {
  background-color: #fafafa;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-white {
  background-color: #fefefe;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-dcp-orange {
  background-color: #d96b27;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-a11y-orange {
  background-color: #ae561f;
  color: #fefefe;
}

.bg-dcp-yellow {
  background-color: #ffc861;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-a11y-yellow {
  background-color: #ffeec1;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-lu-peach {
  background-color: #f6de89;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-lu-yellow {
  background-color: #eded12;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-lu-magenta {
  background-color: #9912ed;
  color: #fefefe;
}

.bg-lu-red {
  background-color: #f42828;
  color: #fefefe;
}

.bg-lu-orange {
  background-color: #e2750f;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-lu-pink {
  background-color: #f689ca;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-lu-green {
  background-color: #0de70d;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-lu-blue {
  background-color: #129ded;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-lu-lavendar {
  background-color: #d394fa;
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-lu-silver {
  background-color: hsl(217.5, 6.9565217391%, 84%);
  color: hsl(217.5, 6.9565217391%, 14%);
}

.bg-lu-gray {
  background-color: hsl(217.5, 6.9565217391%, 39%);
  color: #fefefe;
}

.aqua-white, .text-aqua-white {
  color: #cff8f8;
}

.aqua-light, .text-aqua-light {
  color: #86eeee;
}

.aqua, .text-aqua {
  color: #0ddcdc;
}

.aqua-dim, .text-aqua-dim {
  color: #009e9e;
}

.aqua-dark, .text-aqua-dark {
  color: #006d6f;
}

.aqua-muted, .text-aqua-muted {
  color: #5e9494;
}

.teal-white, .text-teal-white {
  color: #cef8ea;
}

.teal-light, .text-teal-light {
  color: #85edcb;
}

.teal, .text-teal {
  color: #0bdb96;
}

.teal-dim, .text-teal-dim {
  color: #009665;
}

.teal-dark, .text-teal-dark {
  color: #006c49;
}

.teal-muted, .text-teal-muted {
  color: #5c9481;
}

.green-white, .text-green-white {
  color: #cffacf;
}

.green-light, .text-green-light {
  color: #86f386;
}

.green, .text-green {
  color: #0de70d;
}

.green-dim, .text-green-dim {
  color: #00ae00;
}

.green-dark, .text-green-dark {
  color: #007300;
}

.green-muted, .text-green-muted {
  color: #5b965b;
}

.chartreuse-white, .text-chartreuse-white {
  color: #ecfacf;
}

.chartreuse-light, .text-chartreuse-light {
  color: #cff288;
}

.chartreuse, .text-chartreuse {
  color: #9fe510;
}

.chartreuse-dim, .text-chartreuse-dim {
  color: #7eb806;
}

.chartreuse-dark, .text-chartreuse-dark {
  color: #4b7100;
}

.chartreuse-muted, .text-chartreuse-muted {
  color: #889865;
}

.yellow-white, .text-yellow-white {
  color: #fbfbd0;
}

.yellow-light, .text-yellow-light {
  color: #f6f689;
}

.yellow, .text-yellow {
  color: #eded12;
}

.yellow-dim, .text-yellow-dim {
  color: #b3b406;
}

.yellow-dark, .text-yellow-dark {
  color: #7a7a00;
}

.yellow-muted, .text-yellow-muted {
  color: #9d9d6d;
}

.gold-white, .text-gold-white {
  color: #fbf2d0;
}

.gold-light, .text-gold-light {
  color: #f6de89;
}

.gold, .text-gold {
  color: #edbd12;
}

.gold-dim, .text-gold-dim {
  color: #af8a04;
}

.gold-dark, .text-gold-dark {
  color: #745b00;
}

.gold-muted, .text-gold-muted {
  color: #9a8f65;
}

.orange-white, .text-orange-white {
  color: #f9e3cf;
}

.orange-light, .text-orange-light {
  color: #f1ba87;
}

.orange, .text-orange {
  color: #e2750f;
}

.orange-dim, .text-orange-dim {
  color: #ba5c04;
}

.orange-dark, .text-orange-dark {
  color: #713700;
}

.orange-muted, .text-orange-muted {
  color: #95775b;
}

.red-white, .text-red-white {
  color: #fdd4d4;
}

.red-light, .text-red-light {
  color: #fa9494;
}

.red, .text-red {
  color: #f42828;
}

.red-dim, .text-red-dim {
  color: #bc2929;
}

.red-dark, .text-red-dark {
  color: #7a1111;
}

.red-muted, .text-red-muted {
  color: #926060;
}

.fuchsia-white, .text-fuchsia-white {
  color: #fbd0ea;
}

.fuchsia-light, .text-fuchsia-light {
  color: #f689ca;
}

.fuchsia, .text-fuchsia {
  color: #ed1294;
}

.fuchsia-dim, .text-fuchsia-dim {
  color: #bc177a;
}

.fuchsia-dark, .text-fuchsia-dark {
  color: #7a044c;
}

.fuchsia-muted, .text-fuchsia-muted {
  color: #915a7b;
}

.purple-white, .text-purple-white {
  color: #edd4fd;
}

.purple-light, .text-purple-light {
  color: #d394fa;
}

.purple, .text-purple {
  color: #9912ed;
}

.purple-dim, .text-purple-dim {
  color: #7a25b1;
}

.purple-dark, .text-purple-dark {
  color: #52117d;
}

.purple-muted, .text-purple-muted {
  color: #7f6092;
}

.indigo-white, .text-indigo-white {
  color: #dbdbfd;
}

.indigo-light, .text-indigo-light {
  color: #a6a6fb;
}

.indigo, .text-indigo {
  color: #4d4df6;
}

.indigo-dim, .text-indigo-dim {
  color: #3b3baa;
}

.indigo-dark, .text-indigo-dark {
  color: #24247d;
}

.indigo-muted, .text-indigo-muted {
  color: #696991;
}

.blue-white, .text-blue-white {
  color: #d0ebfb;
}

.blue-light, .text-blue-light {
  color: #89cef6;
}

.blue, .text-blue {
  color: #129ded;
}

.blue-dim, .text-blue-dim {
  color: #0672b1;
}

.blue-dark, .text-blue-dark {
  color: #014e7d;
}

.blue-muted, .text-blue-muted {
  color: #5b8196;
}

.black, .text-black {
  color: hsl(217.5, 6.9565217391%, 14%);
}

.charcoal, .text-charcoal {
  color: hsl(217.5, 6.9565217391%, 24%);
}

.dark-gray, .text-dark-gray {
  color: hsl(217.5, 6.9565217391%, 39%);
}

.gray, .text-gray {
  color: hsl(217.5, 6.9565217391%, 54%);
}

.light-gray, .text-light-gray {
  color: hsl(217.5, 6.9565217391%, 69%);
}

.silver, .text-silver {
  color: hsl(217.5, 6.9565217391%, 84%);
}

.white-smoke, .text-white-smoke {
  color: hsl(217.5, 6.9565217391%, 93%);
}

.off-white, .text-off-white {
  color: #fafafa;
}

.white, .text-white {
  color: #fefefe;
}

.dcp-orange, .text-dcp-orange {
  color: #d96b27;
}

.a11y-orange, .text-a11y-orange {
  color: #ae561f;
}

.dcp-yellow, .text-dcp-yellow {
  color: #ffc861;
}

.a11y-yellow, .text-a11y-yellow {
  color: #ffeec1;
}

.lu-peach, .text-lu-peach {
  color: #f6de89;
}

.lu-yellow, .text-lu-yellow {
  color: #eded12;
}

.lu-magenta, .text-lu-magenta {
  color: #9912ed;
}

.lu-red, .text-lu-red {
  color: #f42828;
}

.lu-orange, .text-lu-orange {
  color: #e2750f;
}

.lu-pink, .text-lu-pink {
  color: #f689ca;
}

.lu-green, .text-lu-green {
  color: #0de70d;
}

.lu-blue, .text-lu-blue {
  color: #129ded;
}

.lu-lavendar, .text-lu-lavendar {
  color: #d394fa;
}

.lu-silver, .text-lu-silver {
  color: hsl(217.5, 6.9565217391%, 84%);
}

.lu-gray, .text-lu-gray {
  color: hsl(217.5, 6.9565217391%, 39%);
}

.layer-groups-container {
  border-bottom: 1px solid hsl(217.5, 6.9565217391%, 84%);
}
.layer-groups-container:hover {
  background-color: rgba(107, 113, 123, 0.06);
}
.layer-groups-container:not(.open) .layer-groups-container-content {
  display: none;
}
.layer-groups-container .fa-info-circle {
  color: #014e7d;
}
.layer-groups-container .fa-exclamation-triangle {
  color: #e2750f;
}

.layer-groups-container-title {
  font-weight: bold;
  padding: 0.375rem;
  padding-right: 1em;
  position: relative;
}
.layer-groups-container-title:hover {
  background-color: rgba(107, 113, 123, 0.06);
  cursor: pointer;
}
.layer-groups-container-title::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.4em;
  content: "";
  border-top-width: 0;
  border-color: transparent transparent #ae561f;
  position: absolute;
  top: 50%;
  margin-top: -0.2em;
  right: 0.375rem;
}
.layer-groups-container-title.closed::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.layer-group-toggle {
  border-top: 1px solid #fefefe;
  font-size: 0.75rem;
}

.layer-group-toggle-header:hover {
  background-color: rgba(107, 113, 123, 0.06);
}
.layer-group-toggle-header .cell:first-child:hover {
  cursor: pointer;
}
.layer-group-toggle-header .layer-group-toggle-label {
  padding: 0.375rem;
  display: block;
  padding-left: 1.875rem;
}
.layer-group-toggle-header .switch {
  margin: 0.375rem 0.25rem 0 0.375rem;
}
.layer-group-toggle-header .switch.tiny .switch-paddle {
  width: 1.25rem;
}
.layer-group-toggle-header .switch.tiny .switch-paddle::after {
  width: 0.5rem;
}
.layer-group-toggle-header .switch.tiny input:checked ~ .switch-paddle::after {
  left: 0.625rem;
}
.layer-group-toggle-header .layer-group-toggle-icons {
  padding: 0.375rem;
}

.legend-items {
  padding: 0 0 0.375rem;
}

.legend-item {
  font-size: 0.75rem;
  padding: 0 0.375rem;
}

.legend-icon {
  width: 2.5em;
  height: 1.5em;
  display: inline-block;
  vertical-align: top;
  margin: 0 0.125rem 0 0;
  position: relative;
  text-align: center;
}

.legend-icon-layer {
  display: inline-block;
}
.legend-icon-layer.line + .legend-icon-layer.line, .legend-icon-layer.rectangle + .legend-icon-layer.rectangle {
  position: absolute;
  top: 0;
  left: 0;
}

svg.legend-icon-layer {
  height: 1.5em;
  width: 2.5em;
}

.polygon-stacked {
  position: relative;
}
.polygon-stacked .fa + .fa {
  position: absolute;
  top: -0.2em;
  left: 0.2em;
}

.polygon-fill-dash {
  opacity: 0.5;
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  position: relative;
}
.polygon-fill-dash .fill, .polygon-fill-dash .dash {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.polygon-fill-dash .fill {
  opacity: 0.3;
}
.polygon-fill-dash .dash {
  border-width: 2px;
  border-style: dotted;
}

.labs-beta-notice {
  display: block;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  height: 1.3125rem;
  line-height: 21px;
  text-align: center;
  background-color: #D96B27;
  -webkit-box-shadow: inset 0 -4px 0 rgba(0, 0, 0, 0.1);
          box-shadow: inset 0 -4px 0 rgba(0, 0, 0, 0.1);
}
.labs-beta-notice:hover, .labs-beta-notice:focus {
  color: #fff;
  background-color: #b95b21;
  text-decoration: none;
}

.site-header {
  background-color: #fefefe;
  -webkit-box-shadow: 0 4px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 0 rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 2;
}
.site-header .branding {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.site-header .dcp-logo {
  height: 1.5rem;
  float: left;
  margin-right: 1rem;
}
@media print, screen and (min-width: 40em) {
  .site-header .dcp-logo {
    height: 2.25rem;
  }
}
.site-header .site-title {
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.5;
}
@media print, screen and (min-width: 40em) {
  .site-header .site-title {
    font-size: 1.8rem;
  }
}
.site-header .site-subtitle {
  font-size: 0.5em;
  font-weight: normal;
  color: hsl(217.5, 6.9565217391%, 39%);
}
@media screen and (min-width: 64em) {
  .site-header .site-subtitle {
    font-size: 0.7em;
    letter-spacing: -0.02em;
  }
}
.site-header a:hover .site-subtitle {
  color: #ae561f;
}
.site-header .menu a, .site-header .menu button {
  color: hsl(217.5, 6.9565217391%, 39%);
  line-height: 1.5;
  padding: 1.6875rem 1.25rem;
  font-size: 0.875rem;
  font-weight: bold;
}
.site-header .menu a:hover, .site-header .menu button:hover {
  background-color: rgba(0, 0, 0, 0.04);
  color: hsl(217.5, 6.9565217391%, 14%);
}
.site-header .menu.dropdown > li > a, .site-header .menu.dropdown > li > button {
  padding-top: 1.6875rem;
  padding-bottom: 1.6875rem;
}
.site-header .menu .is-dropdown-submenu {
  -webkit-box-shadow: 0 2px 0 2px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 0 2px rgba(0, 0, 0, 0.1);
}
.site-header .menu .is-dropdown-submenu li:not(:first-child) {
  border-top: 1px solid #9da2aa;
}
.site-header .menu .is-dropdown-submenu a, .site-header .menu .is-dropdown-submenu button {
  padding: 0.625rem 1rem;
  font-size: 0.75rem;
}
.site-header .responsive-nav-toggler {
  color: hsl(217.5, 6.9565217391%, 39%);
  background-color: hsl(217.5, 6.9565217391%, 93%);
  font-size: 0.875rem;
  font-weight: bold;
  line-height: 1.5rem;
  cursor: pointer;
  margin: 0.5rem 0;
  padding: 0.625rem 1rem;
}
@media print, screen and (min-width: 40em) {
  .site-header .responsive-nav-toggler {
    margin: 1rem 0;
  }
}
.site-header nav.responsive .menu.medium-horizontal {
  margin-bottom: 0.625rem;
}
@media print, screen and (min-width: 40em) {
  .site-header nav.responsive .menu.medium-horizontal {
    margin-bottom: 0;
  }
}
.site-header nav.responsive .menu.large-horizontal {
  margin-bottom: 0.625rem;
}
@media screen and (min-width: 64em) {
  .site-header nav.responsive .menu.large-horizontal {
    margin-bottom: 0;
  }
}

h6,
.header-tiny {
  text-transform: uppercase;
  font-weight: normal;
  margin-bottom: 0.5em;
}

button {
  cursor: pointer;
}

.font-default {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
}

.font-mono {
  font-family: Consolas, "Liberation Mono", Courier, monospace;
}

.nowrap,
.no-wrap {
  white-space: nowrap;
}

.text-xxlarge {
  font-size: 2.125rem;
}

.text-xlarge {
  font-size: 1.5625rem;
}

.text-large {
  font-size: 1.25rem;
}

.text-medium {
  font-size: 1rem;
}

.text-small {
  font-size: 0.8125rem;
}

.text-tiny {
  font-size: 0.625rem;
}

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

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

blockquote cite {
  opacity: 0.75;
}

dd + dt {
  margin-top: 0.3rem;
}

fieldset > legend {
  font-size: inherit;
}

.search-form {
  position: relative;
  margin-bottom: 1rem;
}
.search-form .search-input {
  margin-bottom: 0;
}
.search-form .search-icon {
  position: absolute;
  top: 50%;
  right: 0.5em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

input.no-controls {
  -webkit-appearance: none;
  -moz-appearance: textfield;
  /* nix Webkit 'X' */
}
input.no-controls::-ms-clear {
  display: none;
  width: 0;
  height: 0;
}
input.no-controls::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}
input.no-controls::-webkit-search-decoration, input.no-controls::-webkit-search-cancel-button, input.no-controls::-webkit-search-results-button, input.no-controls::-webkit-search-results-decoration {
  display: none;
}
input.no-controls::-webkit-inner-spin-button, input.no-controls::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input.no-controls::-webkit-calendar-picker-indicator {
  display: none;
}

.menu {
  font-weight: bold;
}
.menu .is-active {
  background-color: rgba(0, 0, 0, 0.04);
  -webkit-box-shadow: inset 0 -0.25rem 0 0 #ffc861;
          box-shadow: inset 0 -0.25rem 0 0 #ffc861;
}
.menu .is-active a, .menu .is-active button {
  background-color: transparent;
}

.tabs {
  font-weight: bold;
  border: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.tabs::after {
  content: "";
  display: block;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-shadow: inset 0 -1px 0 0 hsl(217.5, 6.9565217391%, 84%);
          box-shadow: inset 0 -1px 0 0 hsl(217.5, 6.9565217391%, 84%);
}
.tabs a {
  border-top: 1px solid transparent;
}
.tabs li {
  float: none;
}
.tabs li:not(.is-active) a {
  -webkit-box-shadow: inset 0 -1px 0 0 hsl(217.5, 6.9565217391%, 84%);
          box-shadow: inset 0 -1px 0 0 hsl(217.5, 6.9565217391%, 84%);
}
.tabs li.is-active a {
  color: hsl(217.5, 6.9565217391%, 24%);
  border-top-color: hsl(217.5, 6.9565217391%, 84%);
  -webkit-box-shadow: inset 1px 0 0 0 hsl(217.5, 6.9565217391%, 84%), inset -1px 0 0 0 hsl(217.5, 6.9565217391%, 84%);
          box-shadow: inset 1px 0 0 0 hsl(217.5, 6.9565217391%, 84%), inset -1px 0 0 0 hsl(217.5, 6.9565217391%, 84%);
}

.tabs-content {
  border: 0;
}

.sticky .active {
  color: hsl(217.5, 6.9565217391%, 14%);
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm55Yy1wbGFubmluZy5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdmVuZG9yL25vcm1hbGl6ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJfbnljLXBsYW5uaW5nLXZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19mcmFtZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N3aXRjaC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19iYWRnZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2tleWZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc2xpZGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19mYWRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc3Bpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fYW5pbWF0aW9uLnNjc3MiLCJtb2R1bGVzL19ueWMtcGxhbm5pbmctbS1ib3gtbW9kZWwuc2NzcyIsIm1vZHVsZXMvX255Yy1wbGFubmluZy1tLWNvbG9yLnNjc3MiLCJtb2R1bGVzL19ueWMtcGxhbm5pbmctbS1sYXllci1ncm91cHMtbWVudS5zY3NzIiwibW9kdWxlcy9fbnljLXBsYW5uaW5nLW0tc2l0ZS1oZWFkZXIuc2NzcyIsIm1vZHVsZXMvX255Yy1wbGFubmluZy1tLXR5cG9ncmFwaHkuc2NzcyIsIm55Yy1wbGFubmluZy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7RUFBQTtBQ21MUTtFQ3RJTjtJQUNFLFdBQUE7SUFDQSxVQUFBO0lBQ0EsY0FBQTtFSHBDRjtBQUNGO0FJVkUsMkVBQUE7QUFRQTtFQUNFLGlCQUFBO0VBQ0EsOEJBQUE7QUpLSjs7QUlHRTtFQUNFLFNBQUE7QUpBSjs7QUlNRTtFQUNFLGNBQUE7RUFDQSxnQkFBQTtBSkhKOztBSVlFO0VBQ0UsK0JBQUE7VUFBQSx1QkFBQTtFQUNBLFNBQUE7RUFDQSxpQkFBQTtBSlRKOztBSWVFO0VBQ0UsaUNBQUE7RUFDQSxjQUFBO0FKWko7O0FJb0JFO0VBQ0UsNkJBQUE7QUpqQko7O0FJ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SiwyRUY4Y2U7RUU5Y2YsbUVGOGNlO0VFOWNmLDJERjhjZTtFRTljZixvRkY4Y2U7RUV6YmYsd0JBQUE7S0FBQSxxQkFBQTtVQUFBLGdCQUFBO0FSeUxKO0FRMU1FOztFQUNFLGFBQUE7RUFDQSxnREZtY2lCO0VFbGNqQix5QkZaSTtFRWFKLDBERm9jaUI7VUVwY2pCLGtERm9jaUI7RUVqY2YsMkVGbWNhO0VFbmNiLG1FRm1jYTtFRW5jYiwyREZtY2E7RUVuY2Isb0ZGbWNhO0FOeFBuQjs7QVE3TEU7RUFDRSxlQUFBO0FSZ01KO0FROUxJO0VBQ0UsWUFBQTtBUmdNTjs7QVF6TEk7OztFQUVFLGdERjdDUTtFRThDUixtQkZzYWtCO0FOek94Qjs7QVF4TEU7O0VBRUUsd0JBQUE7S0FBQSxxQkFBQTtVQUFBLGdCQUFBO0VBQ0EsZ0JGOERZO0FONkhoQjs7QVF2TEU7RUFDRSw4QkFBQTtVQUFBLHNCQUFBO0FSMExKOztBUXpLRTtFQUNFLHFDRi9FUztBTjJQYjs7QVE3S0U7RUFDRSxxQ0YvRVM7QU4yUGI7O0FRN0tFO0VBQ0UscUNGL0VTO0FOMlBiOztBUTdLRTtFQUNFLHFDRi9FUztBTjJQYjs7QVE3S0U7RUFDRSxxQ0YvRVM7QU4yUGI7O0FTblZFOzs7RUFHRSxnQkFBQTtBVHNWSjs7QVNsVkU7O0VBRUUscUJBQUE7RUFDQSx3QkFBQTtFQUVBLG1CQUFBO0VBQ0Esa0JIb2dCVztFR25nQlgsZ0JBQUE7QVRvVko7QVNsVkk7O0VBQ0UsZUFBQTtBVHFWTjs7QVNoVkU7O0VBRUUsb0JBQUE7QVRtVko7O0FTL1VFO0VBQ0UsV0FBQTtBVGtWSjs7QVU3VUU7RUFsQkEsY0FBQTtFQUNBLFNBQUE7RUFFQSxrQkp1Z0JxQjtFSXRnQnJCLG1CSndMcUI7RUl2THJCLGdCSnVnQnVCO0VJdGdCdkIsY0ptZ0JpQjtBTmpLbkI7QVVuVkk7RUFURixnQkFBQTtFQUNBLGdCSjJKa0I7RUkxSmxCLG9CQUFBO0FWK1ZGOztBV2pYRTtFQUdFLG1CQUZhO0VBR2Isa0JMbWdCaUI7RUtsZ0JqQixrQkxtZ0JrQjtFS2xnQmxCLGNMZ2dCYTtBTjlJakI7O0FZblhFO0VBQ0Usb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSxXQUFBO0VBQ0EsbUJONmZXO0VNMWZULDBCQUFBO01BQUEsdUJBQUE7VUFBQSxvQkFBQTtBWm9YTjtBWWhYTTtFQUNFLHNCQUFBO0Faa1hSO0FZN1dNO0VBQ0Usc0JBQUE7QVorV1I7O0FZMVdFOzs7O0VBQ0UsU0FBQTtFQUNBLG1CQUFBO0FaZ1hKOztBWXhXRTtFQUVFLGVBQUE7RUFDQSxnRE5tZWtCO0VNbGVsQiwwQ05xQ1U7RU1uQ1YscUNONkJJO0VNNUJKLGtCQUFBO0VBQ0EsbUJBQUE7RUFHRSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLG1CQUFBO01BQUEsa0JBQUE7VUFBQSxjQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLG1CQUFBO0FadVdOO0FZL1ZNO0VBQ0UsZUFBQTtBWmlXUjtBWTlWTTtFQUNFLGNBQUE7QVpnV1I7O0FZM1ZFO0VBRUUsZ0JBQUE7RUFHRSxtQkFBQTtNQUFBLGlCQUFBO1VBQUEsYUFBQTtFQUNBLFlBQUE7QVoyVk47O0FZdlZFO0VBRUUsY0FBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFHRSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLG1CQUFBO01BQUEsa0JBQUE7VUFBQSxjQUFBO0FadVZOO0FZaFZJOzs7O0VBT0ksNEJBQUE7TUFBQSxtQkFBQTtFQUNBLFlBQUE7RUFLRixjQUFBO0VBQ0EsaUJBQUE7RUFDQSxlTjJhWTtBTmhHbEI7O0FhdGFFO0VBQ0UsU0FBQTtFQUNBLFVBQUE7RUFDQSxTQUFBO0FieWFKOztBYXRhRTtFQUNFLGVBQUE7RUFDQSxxQkFBQTtBYnlhSjs7QWF0YUU7RUF4QkEsa0JQK2ZnQjtFTzlmaEIscUJQNmZpQjtFTzVmakIsZ0RQMmZnQjtBTnpEbEI7QWFoY0U7RUFFRSxTQUFBO0VBQ0EsdUJBQUE7RUFDQSxvQlB3ZmE7QU52RGpCOztBYzVZRTtFQS9EQSxpQkFGUztFQUdULGdCQUFBO0VBQ0EsZVIyaEJjO0VRemhCZCx3QkFBQTtLQUFBLHFCQUFBO1VBQUEsZ0JBQUE7RUFDQSxnRFJzaEJhO0VRcmhCYixnQlIwTGM7RVF6TGQseUJSdUVNO0VRckVOLG9CUjJnQmtCO0VRMWdCbEIsZVIyZ0JnQjtFUTFnQmhCLG1CUm1McUI7RVFsTHJCLGdCUjhKa0I7RVE3SmxCLHFDUnlETTtFQ3lETixzT0FBQTtFTzlHRSw4QkFBQTtFQUNBLHVDQUFBO0VBQ0EsNEJBQUE7RUFDQSx3QkFBQTtFQUVBLHFCQUFBO0VBSUEsMkVSdWdCZTtFUXZnQmYsbUVSdWdCZTtFUXZnQmYsMkRSdWdCZTtFUXZnQmYsb0ZSdWdCZTtBTmhFbkI7QU9oV0U7RU9sRUE7SVBxRUksdVdBQUE7RVBpV0o7QUFDRjtBY3hjRTtFQUNFLGFBQUE7RUFDQSxnRFI0ZmlCO0VRM2ZqQix5QlI2Q0k7RVE1Q0osMERSNmZpQjtVUTdmakIsa0RSNmZpQjtFUTFmZiwyRVI0ZmE7RVE1ZmIsbUVSNGZhO0VRNWZiLDJEUjRmYTtFUTVmYixvRlI0ZmE7QU5wRG5CO0FjbmNFO0VBQ0UsZ0RSaUNVO0VRaENWLG1CUm9mb0I7QU4vQ3hCO0FjamNFO0VBQ0UsYUFBQTtBZG1jSjtBY2hjRTtFQUNFLFlBQUE7RUFDQSxzQkFBQTtBZGtjSjtBY2hjRTtFQUNFLGNBQUE7RUFDQSxpQkFBQTtBZGtjSjs7QWV2ZUU7RUFDRSxxQlRzU3VCO0VTclN2Qix5QkFBQTtBZjBlSjtBZXhlSTtFQUNFLGNUa1NxQjtBTndNM0I7QWUzZUk7RUFDRSxjVGtTcUI7QU53TTNCO0FlM2VJO0VBQ0UsY1RrU3FCO0FOd00zQjtBZTNlSTtFQUNFLGNUa1NxQjtBTndNM0I7QWUzZUk7RUFDRSxjVGtTcUI7QU53TTNCOztBZWhkSTtFQUNFLGNUd1FxQjtBTjJNM0I7O0FlOWNFO0VBekJBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLG1CVGdlYTtFUzlkYixrQlQwUnNCO0VTelJ0QixpQlR5Sm1CO0VTeEpuQixjVHVSa0I7QU5tTnBCO0FlcGRJO0VBQ0UsY0FBQTtBZnNkTjs7QWdCeFVFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFNBQUE7RUFDQSxVQUFBO0FoQmlWSjs7QWdCN1VFO0VBQ0UsbUJWaUNzQjtFVS9CdEIsa0JBQUE7RUFDQSxnQlY2Qm1CO0VVNUJuQixrQ1Y4QnVCO0FOaVQzQjs7QWdCM1VFOztFQUVFLGtCQUFBO0VBQ0Esb0JBQUE7QWhCOFVKOztBZ0IxVUU7O0VBRUUsaUJWdkRpQjtFVXdEakIsb0JBQUE7QWhCNlVKOztBZ0J6VUU7RUFDRSxjVk9jO0VVTmQsb0JBQUE7QWhCNFVKOztBZ0J4VUU7Ozs7Ozs7Ozs7O0VBTUUsOEpWOUVlO0VVK0VmLGtCVjdCZ0I7RVU4QmhCLGlCVjFFaUI7RVUyRWpCLGNWN0JXO0VVOEJYLGtDVlRvQjtBTnlWeEI7QWdCOVVJOzs7Ozs7Ozs7OztFQUNFLGNBQUE7RUFDQSxjVlhvQjtBTnFXMUI7O0FnQmpWUTtFQUlJLG1CQURpQjtFQWFqQixnQkFBQTtFQVFBLGFBQUE7RUFPQSxzQkFBQTtBaEJ5VFo7O0FnQnhWUTtFQUlJLG9CQURpQjtFQWFqQixnQkFBQTtFQVFBLGFBQUE7RUFPQSxzQkFBQTtBaEJnVVo7O0FnQi9WUTtFQUlJLGtCQURpQjtFQWFqQixnQkFBQTtFQVFBLGFBQUE7RUFPQSxzQkFBQTtBaEJ1VVo7O0FnQnRXUTtFQUlJLGVBRGlCO0VBYWpCLGdCQUFBO0VBUUEsYUFBQTtFQU9BLHNCQUFBO0FoQjhVWjs7QWdCN1dRO0VBSUksbUJBRGlCO0VBYWpCLGdCQUFBO0VBUUEsYUFBQTtFQU9BLHNCQUFBO0FoQnFWWjs7QWdCcFhRO0VBSUksa0JBRGlCO0VBYWpCLGdCQUFBO0VBUUEsYUFBQTtFQU9BLHNCQUFBO0FoQjRWWjs7QUV2ZlE7RWM0SEE7SUFJSSxtQkFEaUI7RWhCNlgzQjtFZ0JoWU07SUFJSSxtQkFEaUI7RWhCZ1kzQjtFZ0JuWU07SUFJSSxvQkFEaUI7RWhCbVkzQjtFZ0J0WU07SUFJSSxrQkFEaUI7RWhCc1kzQjtFZ0J6WU07SUFJSSxlQURpQjtFaEJ5WTNCO0VnQjVZTTtJQUlJLGtCQURpQjtFaEI0WTNCO0FBQ0Y7QWdCeldFO0VBQ0Usb0JBQUE7RUFDQSxjQy9OZ0I7RURnT2hCLHFCVmxEcUI7RVVvRHJCLGVBQUE7QWhCMFdKO0FnQnhXSTtFQUVFLGNWekRlO0FOa2FyQjtBZ0JuV0k7RUFDRSxTQUFBO0FoQnFXTjs7QWdCaFdFO0VBQ0UsV0FBQTtFQUVBLGVWckVPO0VVc0VQLFNBQUE7RUFDQSxvQlZyRVE7RVV1RVIsYUFBQTtFQUNBLGVBQUE7RUFDQSx1RFYxRVE7RVUyRVIsY0FBQTtBaEJpV0o7O0FnQjdWRTs7O0VBR0UsbUJWL0ZzQjtFVWdHdEIsNEJWOUVrQjtFVStFbEIsZ0JWbEdtQjtBTmtjdkI7O0FnQjVWRTtFQUNFLGtCQUFBO0FoQitWSjs7QWdCM1ZFO0VBQ0Usb0JWeEZlO0VVeUZmLHFCVjNGYztBTnlibEI7O0FnQjFWRTtFQUNFLG9CVjlGZTtBTjJibkI7O0FnQnhWSTtFQUNFLG9CVm5Hb0I7RVVvR3BCLGdCQUFBO0FoQjJWTjs7QWdCdFZFO0VBQ0UsbUJWekdxQjtBTmtjekI7QWdCdlZJO0VBQ0UscUJWMUd3QjtFVTJHeEIsaUJWek1lO0FOa2lCckI7O0FnQnBWRTtFQUNFLGdCQUFBO0VBQ0EsZ0NWaEhpQjtFVWlIakIsa0RWaEhnQjtBTnVjcEI7QWdCclZJO0VBQ0UsZ0JWOUlpQjtFVStJakIsY1Z0SGE7QU42Y25COztBZ0J6VUU7RUFDRSwrQ1YxSGE7RVUySGIsWUFBQTtFQUNBLHFCQUFBO0FoQjRVSjs7QWdCeFVFO0VBQ0UsU0FBQTtBaEIyVUo7O0FnQmhVRTtFQUNFLFNBQUE7RUFDQSwyQlZoSmdCO0VVa0poQixnRFY3V1U7RVUrV1YsNERWL01vQjtFVWdOcEIscUNWclhPO0FOc3JCWDs7QWtCL29CRTtFQUNFLGtCWm9NbUI7RVluTW5CLHFCWm9Nc0I7RVlsTXRCLG1CWjRFbUI7RVkzRW5CLGdCWjZMbUI7RVk1TG5CLGNaNkxjO0FOb2RsQjs7QWtCN29CRTtFQUNFLG9CWnFMYTtFWXBMYixnQlpxTGM7QU4yZGxCOztBa0I1b0JFO0VBQ0UsbUJac0xhO0VZckxiLGNBQUE7QWxCK29CSjtBa0I3b0JJO0VBQ0UsaUJBQUE7QWxCK29CTjs7QWtCem9CSTtFQUNFLGNBQUE7RUFDQSxnQkFBQTtBbEI0b0JOOztBa0J4b0JFO0VBakZBLGNBQUE7RUFDQSxjWm1PVztFWWxPWCxjWmlPZTtBTjRmakI7QWtCM3RCRTtFQUNFLGFaZ09rQjtBTjZmdEI7O0FrQnpvQkU7RUE3RUEsZ0Raa01ZO0VZak1aLGdEWkNZO0VZQ1osNERaK0pzQjtFWTlKdEIsbUJaZ0hxQjtFWS9HckIscUNaUlM7RVljVCxlQUFBO0VBQ0EsZUFBQTtFQUNBLHFCQUFBO0VBRUEscUNab0xhO0FOK2hCZjs7QWtCNW9CRTtFQXRGQSxnRFprTVk7RVlqTVosZ0RaQ1k7RVlDWiw0RForSnNCO0VZOUp0QixtQlpnSHFCO0VZL0dyQixxQ1pSUztFWXdCVCxjQUFBO0VBQ0EsY0FBQTtFQUNBLGdCQUFBO0VBRUEsYUE1Q21CO0VBNkNuQixxQkF6Q3lCO0FsQjh2QjNCOztBbUJsMEJVO0VBQ0UsZ0JBUlU7QW5CNjBCdEI7O0FtQnQwQlU7RUFDRSxpQkFSVTtBbkJpMUJ0Qjs7QW1CMTBCVTtFQUNFLGtCQVJVO0FuQnExQnRCOztBbUI5MEJVO0VBQ0UsbUJBUlU7QW5CeTFCdEI7O0FFN3FCUTtFaUIxS0U7SUFDRSxnQkFIVTtFbkI4MUJwQjtFbUI1MUJRO0lBQ0UsaUJBSFU7RW5CaTJCcEI7RW1CLzFCUTtJQUNFLGtCQUhVO0VuQm8yQnBCO0VtQmwyQlE7SUFDRSxtQkFIVTtFbkJ1MkJwQjtBQUNGO0FFdnJCUTtFaUIvS0U7SUFDRSxnQkFIVTtFbkI0MkJwQjtFbUIxMkJRO0lBQ0UsaUJBSFU7RW5CKzJCcEI7RW1CNzJCUTtJQUNFLGtCQUhVO0VuQmszQnBCO0VtQmgzQlE7SUFDRSxtQkFIVTtFbkJxM0JwQjtBQUNGO0FFcnNCUTtFaUIvS0U7SUFDRSxnQkFIVTtFbkIwM0JwQjtFbUJ4M0JRO0lBQ0UsaUJBSFU7RW5CNjNCcEI7RW1CMzNCUTtJQUNFLGtCQUhVO0VuQmc0QnBCO0VtQjkzQlE7SUFDRSxtQkFIVTtFbkJtNEJwQjtBQUNGO0FFbnRCUTtFaUIvS0U7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QkFBQTtNQUFBLGtCQUFBO1VBQUEsY0FBQTtBeEI2OEJGOztBcUJwL0JNO0VHa0ZGLG9CQVRNO0F4Qis2QlY7O0FxQngvQk07RUdrRkYscUJBVE07QXhCbTdCVjs7QXFCNS9CTTtFR2tGRixVQVRNO0F4QnU3QlY7O0FxQmhnQ007RUdrRkYscUJBVE07QXhCMjdCVjs7QXFCcGdDTTtFR2tGRixxQkFUTTtBeEIrN0JWOztBcUJ4Z0NNO0VHa0ZGLFVBVE07QXhCbThCVjs7QXFCNWdDTTtFR2tGRixxQkFUTTtBeEJ1OEJWOztBcUJoaENNO0VHa0ZGLHFCQVRNO0F4QjI4QlY7O0FxQnBoQ007RUdrRkYsVUFUTTtBeEIrOEJWOztBcUJ4aENNO0VHa0ZGLHFCQVRNO0F4Qm05QlY7O0FxQjVoQ007RUdrRkYscUJBVE07QXhCdTlCVjs7QXFCaGlDTTtFR2tGRixXQVRNO0F4QjI5QlY7O0FFNThCUTtFbUI1R0Y7SUcyREosbUJBQUE7UUFBQSxpQkFBQTtZQUFBLFdBQUE7SUEyQ0UsV0FUTTtFeEJpK0JSO0VxQnpqQ0U7SUdzREYsbUJBQUE7UUFBQSxrQkFBQTtZQUFBLGNBQUE7RXhCc2dDQTtFcUJ0akNJO0lHMkZGLFdBVE07RXhCdStCUjtFcUJoakNJO0lHa0ZGLG9CQVRNO0V4QjArQlI7RXFCbmpDSTtJR2tGRixxQkFUTTtFeEI2K0JSO0VxQnRqQ0k7SUdrRkYsVUFUTTtFeEJnL0JSO0VxQnpqQ0k7SUdrRkYscUJBVE07RXhCbS9CUjtFcUI1akNJO0lHa0ZGLHFCQVRNO0V4QnMvQlI7RXFCL2pDSTtJR2tGRixVQVRNO0V4QnkvQlI7RXFCbGtDSTtJR2tGRixxQkFUTTtFeEI0L0JSO0VxQnJrQ0k7SUdrRkYscUJBVE07RXhCKy9CUjtFcUJ4a0NJO0lHa0ZGLFVBVE07RXhCa2dDUjtFcUIza0NJO0lHa0ZGLHFCQVRNO0V4QnFnQ1I7RXFCOWtDSTtJR2tGRixxQkFUTTtFeEJ3Z0NSO0VxQmpsQ0k7SUdrRkYsV0FUTTtFeEIyZ0NSO0FBQ0Y7QUV4L0JRO0VtQmpIRjtJRzJESixtQkFBQTtRQUFBLGlCQUFBO1lBQUEsV0FBQTtJQTJDRSxXQVRNO0V4QmloQ1I7RXFCem1DRTtJR3NERixtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtFeEJzakNBO0VxQnRtQ0k7SUcyRkYsV0FUTTtFeEJ1aENSO0VxQmhtQ0k7SUdrRkYsb0JBVE07RXhCMGhDUjtFcUJubUNJO0lHa0ZGLHFCQVRNO0V4QjZoQ1I7RXFCdG1DSTtJR2tGRixVQVRNO0V4QmdpQ1I7RXFCem1DSTtJR2tGRixxQkFUTTtFeEJtaUNSO0VxQjVtQ0k7SUdrRkYscUJBVE07RXhCc2lDUjtFcUIvbUNJO0lHa0ZGLFVBVE07RXhCeWlDUjtFcUJsbkNJO0lHa0ZGLHFCQVRNO0V4QjRpQ1I7RXFCcm5DSTtJR2tGRixxQkFUTTtFeEIraUNSO0VxQnhuQ0k7SUdrRkYsVUFUTTtFeEJrakNSO0VxQjNuQ0k7SUdrRkYscUJBVE07RXhCcWpDUjtFcUI5bkNJO0lHa0ZGLHFCQVRNO0V4QndqQ1I7RXFCam9DSTtJR2tGRixXQVRNO0V4QjJqQ1I7QUFDRjtBRXhpQ1E7RW1CakhGO0lHMkRKLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxXQUFBO0lBMkNFLFdBVE07RXhCaWtDUjtFcUJ6cENFO0lHc0RGLG1CQUFBO1FBQUEsa0JBQUE7WUFBQSxjQUFBO0V4QnNtQ0E7RXFCdHBDSTtJRzJGRixXQVRNO0V4QnVrQ1I7RXFCaHBDSTtJR2tGRixvQkFUTTtFeEIwa0NSO0VxQm5wQ0k7SUdrRkYscUJBVE07RXhCNmtDUjtFcUJ0cENJO0lHa0ZGLFVBVE07RXhCZ2xDUjtFcUJ6cENJO0lHa0ZGLHFCQVRNO0V4Qm1sQ1I7RXFCNXBDSTtJR2tGRixxQkFUTTtFeEJzbENSO0VxQi9wQ0k7SUdrRkYsVUFUTTtFeEJ5bENSO0VxQmxxQ0k7SUdrRkYscUJBVE07RXhCNGxDUjtFcUJycUNJO0lHa0ZGLHFCQVRNO0V4QitsQ1I7RXFCeHFDSTtJR2tGRixVQVRNO0V4QmttQ1I7RXFCM3FDSTtJR2tGRixxQkFUTTtFeEJxbUNSO0VxQjlxQ0k7SUdrRkYscUJBVE07RXhCd21DUjtFcUJqckNJO0lHa0ZGLFdBVE07RXhCMm1DUjtBQUNGO0FFeGxDUTtFbUJqSEY7SUcyREosbUJBQUE7UUFBQSxpQkFBQTtZQUFBLFdBQUE7SUEyQ0UsV0FUTTtFeEJpbkNSO0VxQnpzQ0U7SUdzREYsbUJBQUE7UUFBQSxrQkFBQTtZQUFBLGNBQUE7RXhCc3BDQTtFcUJ0c0NJO0lHMkZGLFdBVE07RXhCdW5DUjtFcUJoc0NJO0lHa0ZGLG9CQVRNO0V4QjBuQ1I7RXFCbnNDSTtJR2tGRixxQkFUTTtFeEI2bkNSO0VxQnRzQ0k7SUdrRkYsVUFUTTtFeEJnb0NSO0VxQnpzQ0k7SUdrRkYscUJBVE07RXhCbW9DUjtFcUI1c0NJO0lHa0ZGLHFCQVRNO0V4QnNvQ1I7RXFCL3NDSTtJR2tGRixVQVRNO0V4QnlvQ1I7RXFCbHRDSTtJR2tGRixxQkFUTTtFeEI0b0NSO0VxQnJ0Q0k7SUdrRkYscUJBVE07RXhCK29DUjtFcUJ4dENJO0lHa0ZGLFVBVE07RXhCa3BDUjtFcUIzdENJO0lHa0ZGLHFCQVRNO0V4QnFwQ1I7RXFCOXRDSTtJR2tGRixxQkFUTTtFeEJ3cENSO0VxQmp1Q0k7SUdrRkYsV0FUTTtFeEIycENSO0FBQ0Y7QXFCN3RDRTtFQUNFLFdBQUE7QXJCK3RDSjs7QXFCM3RDRTtFQUNFLFlBQUE7QXJCOHRDSjs7QXFCaHNDRTtFQ3ZHTSxzQkFBQTtFQUFBLHVCQUFBO0F0QjR5Q1I7QUV6cENRO0VtQjVDTjtJQ3ZHTSx1QkFBQTtJQUFBLHdCQUFBO0V0Qml6Q047QUFDRjtBRTFwQ1E7RW1CakROO0lDdkdNLHFCQUFBO0lBQUEsc0JBQUE7RXRCdXpDTjtBQUNGO0FxQjdzQ0k7RUdrQ0EsMkJBVE07RUYzSEoscUJBQUE7RUFBQSxzQkFBQTtBdEJvekNOO0FFMXFDUTtFbUJqQ0E7SUcyQkosNEJBVE07SUYzSEosc0JBQUE7SUFBQSx1QkFBQTtFdEIwekNKO0FBQ0Y7QUU1cUNRO0VtQnRDQTtJRzJCSiwwQkFUTTtJRjNISixvQkFBQTtJQUFBLHFCQUFBO0V0QmkwQ0o7QUFDRjtBcUI1dkNFO0VHOERFLFdBVE07QXhCMHNDVjtBcUIzdkNFO0VHMERFLFdBVE07QXhCNnNDVjtBcUJ0dkNJO0VHa0RBLG9DQVRNO0F4Qmd0Q1Y7QXFCenZDSTtFR2tEQSxxQ0FUTTtBeEJtdENWO0FxQjV2Q0k7RUdrREEsMEJBVE07QXhCc3RDVjtBcUIvdkNJO0VHa0RBLHFDQVRNO0F4Qnl0Q1Y7QXFCbHdDSTtFR2tEQSxxQ0FUTTtBeEI0dENWO0FxQnJ3Q0k7RUdrREEsMEJBVE07QXhCK3RDVjtBcUJ4d0NJO0VHa0RBLHFDQVRNO0F4Qmt1Q1Y7QXFCM3dDSTtFR2tEQSxxQ0FUTTtBeEJxdUNWO0FxQjl3Q0k7RUdrREEsMEJBVE07QXhCd3VDVjtBcUJqeENJO0VHa0RBLHFDQVRNO0F4QjJ1Q1Y7QXFCcHhDSTtFR2tEQSxxQ0FUTTtBeEI4dUNWO0FxQnZ4Q0k7RUdrREEsMkJBVE07QXhCaXZDVjtBRWx1Q1E7RW1CcEVOO0lHOERFLFdBVE07RXhCcXZDUjtFcUJ0eUNBO0lHMERFLFdBVE07RXhCd3ZDUjtFcUJqeUNFO0lHa0RBLHFDQVRNO0V4QjJ2Q1I7RXFCcHlDRTtJR2tEQSxzQ0FUTTtFeEI4dkNSO0VxQnZ5Q0U7SUdrREEsMkJBVE07RXhCaXdDUjtFcUIxeUNFO0lHa0RBLHNDQVRNO0V4Qm93Q1I7RXFCN3lDRTtJR2tEQSxzQ0FUTTtFeEJ1d0NSO0VxQmh6Q0U7SUdrREEsMkJBVE07RXhCMHdDUjtFcUJuekNFO0lHa0RBLHNDQVRNO0V4QjZ3Q1I7RXFCdHpDRTtJR2tEQSxzQ0FUTTtFeEJneENSO0VxQnp6Q0U7SUdrREEsMkJBVE07RXhCbXhDUjtFcUI1ekNFO0lHa0RBLHNDQVRNO0V4QnN4Q1I7RXFCL3pDRTtJR2tEQSxzQ0FUTTtFeEJ5eENSO0VxQmwwQ0U7SUdrREEsNEJBVE07RXhCNHhDUjtFcUJqMUNBO0lHOERFLFdBVE07RXhCK3hDUjtFcUJoMUNBO0lHMERFLFdBVE07RXhCa3lDUjtFcUIzMENFO0lHa0RBLHFDQVRNO0V4QnF5Q1I7RXFCOTBDRTtJR2tEQSxzQ0FUTTtFeEJ3eUNSO0VxQmoxQ0U7SUdrREEsMkJBVE07RXhCMnlDUjtFcUJwMUNFO0lHa0RBLHNDQVRNO0V4Qjh5Q1I7RXFCdjFDRTtJR2tEQSxzQ0FUTTtFeEJpekNSO0VxQjExQ0U7SUdrREEsMkJBVE07RXhCb3pDUjtFcUI3MUNFO0lHa0RBLHNDQVRNO0V4QnV6Q1I7RXFCaDJDRTtJR2tEQSxzQ0FUTTtFeEIwekNSO0VxQm4yQ0U7SUdrREEsMkJBVE07RXhCNnpDUjtFcUJ0MkNFO0lHa0RBLHNDQVRNO0V4QmcwQ1I7RXFCejJDRTtJR2tEQSxzQ0FUTTtFeEJtMENSO0VxQjUyQ0U7SUdrREEsNEJBVE07RXhCczBDUjtBQUNGO0FFbnpDUTtFbUJ6RU47SUc4REUsV0FUTTtFeEIyMENSO0VxQjUzQ0E7SUcwREUsV0FUTTtFeEI4MENSO0VxQnYzQ0U7SUdrREEsbUNBVE07RXhCaTFDUjtFcUIxM0NFO0lHa0RBLG9DQVRNO0V4Qm8xQ1I7RXFCNzNDRTtJR2tEQSx5QkFUTTtFeEJ1MUNSO0VxQmg0Q0U7SUdrREEsb0NBVE07RXhCMDFDUjtFcUJuNENFO0lHa0RBLG9DQVRNO0V4QjYxQ1I7RXFCdDRDRTtJR2tEQSx5QkFUTTtFeEJnMkNSO0VxQno0Q0U7SUdrREEsb0NBVE07RXhCbTJDUjtFcUI1NENFO0lHa0RBLG9DQVRNO0V4QnMyQ1I7RXFCLzRDRTtJR2tEQSx5QkFUTTtFeEJ5MkNSO0VxQmw1Q0U7SUdrREEsb0NBVE07RXhCNDJDUjtFcUJyNUNFO0lHa0RBLG9DQVRNO0V4QisyQ1I7RXFCeDVDRTtJR2tEQSwwQkFUTTtFeEJrM0NSO0VxQnY2Q0E7SUc4REUsV0FUTTtFeEJxM0NSO0VxQnQ2Q0E7SUcwREUsV0FUTTtFeEJ3M0NSO0VxQmo2Q0U7SUdrREEsbUNBVE07RXhCMjNDUjtFcUJwNkNFO0lHa0RBLG9DQVRNO0V4QjgzQ1I7RXFCdjZDRTtJR2tEQSx5QkFUTTtFeEJpNENSO0VxQjE2Q0U7SUdrREEsb0NBVE07RXhCbzRDUjtFcUI3NkNFO0lHa0RBLG9DQVRNO0V4QnU0Q1I7RXFCaDdDRTtJR2tEQSx5QkFUTTtFeEIwNENSO0VxQm43Q0U7SUdrREEsb0NBVE07RXhCNjRDUjtFcUJ0N0NFO0lHa0RBLG9DQVRNO0V4Qmc1Q1I7RXFCejdDRTtJR2tEQSx5QkFUTTtFeEJtNUNSO0VxQjU3Q0U7SUdrREEsb0NBVE07RXhCczVDUjtFcUIvN0NFO0lHa0RBLG9DQVRNO0V4Qnk1Q1I7RXFCbDhDRTtJR2tEQSwwQkFUTTtFeEI0NUNSO0VxQmo5Q0E7SUc4REUsV0FUTTtFeEIrNUNSO0VxQmg5Q0E7SUcwREUsV0FUTTtFeEJrNkNSO0VxQjM4Q0U7SUdrREEsbUNBVE07RXhCcTZDUjtFcUI5OENFO0lHa0RBLG9DQVRNO0V4Qnc2Q1I7RXFCajlDRTtJR2tEQSx5QkFUTTtFeEIyNkNSO0VxQnA5Q0U7SUdrREEsb0NBVE07RXhCODZDUjtFcUJ2OUNFO0lHa0RBLG9DQVRNO0V4Qmk3Q1I7RXFCMTlDRTtJR2tEQSx5QkFUTTtFeEJvN0NSO0VxQjc5Q0U7SUdrREEsb0NBVE07RXhCdTdDUjtFcUJoK0NFO0lHa0RBLG9DQVRNO0V4QjA3Q1I7RXFCbitDRTtJR2tEQSx5QkFUTTtFeEI2N0NSO0VxQnQrQ0U7SUdrREEsb0NBVE07RXhCZzhDUjtFcUJ6K0NFO0lHa0RBLG9DQVRNO0V4Qm04Q1I7RXFCNStDRTtJR2tEQSwwQkFUTTtFeEJzOENSO0FBQ0Y7QUVuN0NRO0VtQnpFTjtJRzhERSxXQVRNO0V4QjI4Q1I7RXFCNS9DQTtJRzBERSxXQVRNO0V4Qjg4Q1I7RXFCdi9DRTtJR2tEQSxtQ0FUTTtFeEJpOUNSO0VxQjEvQ0U7SUdrREEsb0NBVE07RXhCbzlDUjtFcUI3L0NFO0lHa0RBLHlCQVRNO0V4QnU5Q1I7RXFCaGdERTtJR2tEQSxvQ0FUTTtFeEIwOUNSO0VxQm5nREU7SUdrREEsb0NBVE07RXhCNjlDUjtFcUJ0Z0RFO0lHa0RBLHlCQVRNO0V4QmcrQ1I7RXFCemdERTtJR2tEQSxvQ0FUTTtFeEJtK0NSO0VxQjVnREU7SUdrREEsb0NBVE07RXhCcytDUjtFcUIvZ0RFO0lHa0RBLHlCQVRNO0V4QnkrQ1I7RXFCbGhERTtJR2tEQSxvQ0FUTTtFeEI0K0NSO0VxQnJoREU7SUdrREEsb0NBVE07RXhCKytDUjtFcUJ4aERFO0lHa0RBLDBCQVRNO0V4QmsvQ1I7QUFDRjtBRS85Q1E7RW1CekVOO0lHOERFLFdBVE07RXhCdS9DUjtFcUJ4aURBO0lHMERFLFdBVE07RXhCMC9DUjtFcUJuaURFO0lHa0RBLG1DQVRNO0V4QjYvQ1I7RXFCdGlERTtJR2tEQSxvQ0FUTTtFeEJnZ0RSO0VxQnppREU7SUdrREEseUJBVE07RXhCbWdEUjtFcUI1aURFO0lHa0RBLG9DQVRNO0V4QnNnRFI7RXFCL2lERTtJR2tEQSxvQ0FUTTtFeEJ5Z0RSO0VxQmxqREU7SUdrREEseUJBVE07RXhCNGdEUjtFcUJyakRFO0lHa0RBLG9DQVRNO0V4QitnRFI7RXFCeGpERTtJR2tEQSxvQ0FUTTtFeEJraERSO0VxQjNqREU7SUdrREEseUJBVE07RXhCcWhEUjtFcUI5akRFO0lHa0RBLG9DQVRNO0V4QndoRFI7RXFCamtERTtJR2tEQSxvQ0FUTTtFeEIyaERSO0VxQnBrREU7SUdrREEsMEJBVE07RXhCOGhEUjtBQUNGOztBcUJyaERJO0VDOUlJLHVCQUFBO0VBQUEsc0JBQUE7QXRCd3FEUjtBRXJoRFE7RW1CTEo7SUM5SUksd0JBQUE7SUFBQSx1QkFBQTtFdEI2cUROO0FBQ0Y7QUV0aERRO0VtQlZKO0lDOUlJLHNCQUFBO0lBQUEscUJBQUE7RXRCbXJETjtBQUNGO0FxQmhpREk7RUNwSkksdUJBQUE7RUFBQSxzQkFBQTtBdEJ3ckRSO0FFcmlEUTtFbUJDSjtJQ3BKSSx3QkFBQTtJQUFBLHVCQUFBO0V0QjZyRE47QUFDRjtBRXRpRFE7RW1CSko7SUNwSkksc0JBQUE7SUFBQSxxQkFBQTtFdEJtc0ROO0FBQ0Y7QXFCM2lESTtFQ3pKSSx1QkFBQTtFQUFBLHNCQUFBO0F0QndzRFI7QUVyakRRO0VtQk1KO0lDekpJLHdCQUFBO0lBQUEsdUJBQUE7RXRCNnNETjtBQUNGO0FFdGpEUTtFbUJDSjtJQ3pKSSxzQkFBQTtJQUFBLHFCQUFBO0V0Qm10RE47QUFDRjs7QXlCcHRERTtFRDZJRSxXQVRNO0F4Qm9sRFY7O0F5Qnh0REU7RUQ2SUUsVUFUTTtBeEJ3bERWOztBeUI1dERFO0VENklFLHFCQVRNO0F4QjRsRFY7O0F5Qmh1REU7RUQ2SUUsVUFUTTtBeEJnbURWOztBeUJwdURFO0VENklFLFVBVE07QXhCb21EVjs7QXlCeHVERTtFRDZJRSxxQkFUTTtBeEJ3bURWOztBeUI1dURFO0VENklFLHFCQVRNO0F4QjRtRFY7O0F5Qmh2REU7RUQ2SUUsWUFUTTtBeEJnbkRWOztBRWptRFE7RXVCbkpOO0lENklFLFdBVE07RXhCcW5EUjtFeUJ6dkRBO0lENklFLFVBVE07RXhCd25EUjtFeUI1dkRBO0lENklFLHFCQVRNO0V4QjJuRFI7RXlCL3ZEQTtJRDZJRSxVQVRNO0V4QjhuRFI7RXlCbHdEQTtJRDZJRSxVQVRNO0V4QmlvRFI7RXlCcndEQTtJRDZJRSxxQkFUTTtFeEJvb0RSO0V5Qnh3REE7SUQ2SUUscUJBVE07RXhCdW9EUjtFeUIzd0RBO0lENklFLFlBVE07RXhCMG9EUjtBQUNGO0FFdm5EUTtFdUJ4Sk47SUQ2SUUsV0FUTTtFeEIrb0RSO0V5Qm54REE7SUQ2SUUsVUFUTTtFeEJrcERSO0V5QnR4REE7SUQ2SUUscUJBVE07RXhCcXBEUjtFeUJ6eERBO0lENklFLFVBVE07RXhCd3BEUjtFeUI1eERBO0lENklFLFVBVE07RXhCMnBEUjtFeUIveERBO0lENklFLHFCQVRNO0V4QjhwRFI7RXlCbHlEQTtJRDZJRSxxQkFUTTtFeEJpcURSO0V5QnJ5REE7SUQ2SUUsWUFUTTtFeEJvcURSO0FBQ0Y7QUVqcERRO0V1QnhKTjtJRDZJRSxXQVRNO0V4QnlxRFI7RXlCN3lEQTtJRDZJRSxVQVRNO0V4QjRxRFI7RXlCaHpEQTtJRDZJRSxxQkFUTTtFeEIrcURSO0V5Qm56REE7SUQ2SUUsVUFUTTtFeEJrckRSO0V5QnR6REE7SUQ2SUUsVUFUTTtFeEJxckRSO0V5Qnp6REE7SUQ2SUUscUJBVE07RXhCd3JEUjtFeUI1ekRBO0lENklFLHFCQVRNO0V4QjJyRFI7RXlCL3pEQTtJRDZJRSxZQVRNO0V4QjhyRFI7QUFDRjtBRTNxRFE7RXVCeEpOO0lENklFLFdBVE07RXhCbXNEUjtFeUJ2MERBO0lENklFLFVBVE07RXhCc3NEUjtFeUIxMERBO0lENklFLHFCQVRNO0V4QnlzRFI7RXlCNzBEQTtJRDZJRSxVQVRNO0V4QjRzRFI7RXlCaDFEQTtJRDZJRSxVQVRNO0V4QitzRFI7RXlCbjFEQTtJRDZJRSxxQkFUTTtFeEJrdERSO0V5QnQxREE7SUQ2SUUscUJBVE07RXhCcXREUjtFeUJ6MURBO0lENklFLFlBVE07RXhCd3REUjtBQUNGO0F5QjcxREU7RUQ2SUUsMkJBVE07QXhCNHREVjs7QXlCaDJERTtFRDZJRSwwQkFUTTtBeEJndURWOztBeUJwMkRFO0VENklFLHFDQVRNO0F4Qm91RFY7O0F5QngyREU7RUQ2SUUsMEJBVE07QXhCd3VEVjs7QXlCNTJERTtFRDZJRSwwQkFUTTtBeEI0dURWOztBeUJoM0RFO0VENklFLHFDQVRNO0F4Qmd2RFY7O0F5QnAzREU7RUQ2SUUscUNBVE07QXhCb3ZEVjs7QXlCeDNERTtFRDZJRSw0QkFUTTtBeEJ3dkRWOztBRXp1RFE7RXVCbkpOO0lENklFLDRCQVRNO0V4QjZ2RFI7RXlCajREQTtJRDZJRSwyQkFUTTtFeEJnd0RSO0V5QnA0REE7SUQ2SUUsc0NBVE07RXhCbXdEUjtFeUJ2NERBO0lENklFLDJCQVRNO0V4QnN3RFI7RXlCMTREQTtJRDZJRSwyQkFUTTtFeEJ5d0RSO0V5Qjc0REE7SUQ2SUUsc0NBVE07RXhCNHdEUjtFeUJoNURBO0lENklFLHNDQVRNO0V4Qit3RFI7RXlCbjVEQTtJRDZJRSw2QkFUTTtFeEJreERSO0V5QnQ1REE7SUQ2SUUsNEJBVE07RXhCcXhEUjtFeUJ6NURBO0lENklFLDJCQVRNO0V4Qnd4RFI7RXlCNTVEQTtJRDZJRSxzQ0FUTTtFeEIyeERSO0V5Qi81REE7SUQ2SUUsMkJBVE07RXhCOHhEUjtFeUJsNkRBO0lENklFLDJCQVRNO0V4Qml5RFI7RXlCcjZEQTtJRDZJRSxzQ0FUTTtFeEJveURSO0V5Qng2REE7SUQ2SUUsc0NBVE07RXhCdXlEUjtFeUIzNkRBO0lENklFLDZCQVRNO0V4QjB5RFI7QUFDRjtBRXZ4RFE7RXVCeEpOO0lENklFLDBCQVRNO0V4Qit5RFI7RXlCbjdEQTtJRDZJRSwwQkFUTTtFeEJrekRSO0V5QnQ3REE7SUQ2SUUseUJBVE07RXhCcXpEUjtFeUJ6N0RBO0lENklFLHlCQVRNO0V4Qnd6RFI7RXlCNTdEQTtJRDZJRSxvQ0FUTTtFeEIyekRSO0V5Qi83REE7SUQ2SUUsb0NBVE07RXhCOHpEUjtFeUJsOERBO0lENklFLHlCQVRNO0V4QmkwRFI7RXlCcjhEQTtJRDZJRSx5QkFUTTtFeEJvMERSO0V5Qng4REE7SUQ2SUUseUJBVE07RXhCdTBEUjtFeUIzOERBO0lENklFLHlCQVRNO0V4QjAwRFI7RXlCOThEQTtJRDZJRSxvQ0FUTTtFeEI2MERSO0V5Qmo5REE7SUQ2SUUsb0NBVE07RXhCZzFEUjtFeUJwOURBO0lENklFLG9DQVRNO0V4Qm0xRFI7RXlCdjlEQTtJRDZJRSxvQ0FUTTtFeEJzMURSO0V5QjE5REE7SUQ2SUUsMkJBVE07RXhCeTFEUjtFeUI3OURBO0lENklFLDJCQVRNO0V4QjQxRFI7RXlCaCtEQTtJRDZJRSwwQkFUTTtFeEIrMURSO0V5Qm4rREE7SUQ2SUUseUJBVE07RXhCazJEUjtFeUJ0K0RBO0lENklFLG9DQVRNO0V4QnEyRFI7RXlCeitEQTtJRDZJRSx5QkFUTTtFeEJ3MkRSO0V5QjUrREE7SUQ2SUUseUJBVE07RXhCMjJEUjtFeUIvK0RBO0lENklFLG9DQVRNO0V4QjgyRFI7RXlCbC9EQTtJRDZJRSxvQ0FUTTtFeEJpM0RSO0V5QnIvREE7SUQ2SUUsMkJBVE07RXhCbzNEUjtBQUNGO0FFajJEUTtFdUJ4Sk47SUQ2SUUsMEJBVE07RXhCeTNEUjtFeUI3L0RBO0lENklFLHlCQVRNO0V4QjQzRFI7RXlCaGdFQTtJRDZJRSxvQ0FUTTtFeEIrM0RSO0V5Qm5nRUE7SUQ2SUUseUJBVE07RXhCazREUjtFeUJ0Z0VBO0lENklFLHlCQVRNO0V4QnE0RFI7RXlCemdFQTtJRDZJRSxvQ0FUTTtFeEJ3NERSO0V5QjVnRUE7SUQ2SUUsb0NBVE07RXhCMjREUjtFeUIvZ0VBO0lENklFLDJCQVRNO0V4Qjg0RFI7QUFDRjtBRTMzRFE7RXVCeEpOO0lENklFLDBCQVRNO0V4Qm01RFI7RXlCdmhFQTtJRDZJRSx5QkFUTTtFeEJzNURSO0V5QjFoRUE7SUQ2SUUsb0NBVE07RXhCeTVEUjtFeUI3aEVBO0lENklFLHlCQVRNO0V4QjQ1RFI7RXlCaGlFQTtJRDZJRSx5QkFUTTtFeEIrNURSO0V5Qm5pRUE7SUQ2SUUsb0NBVE07RXhCazZEUjtFeUJ0aUVBO0lENklFLG9DQVRNO0V4QnE2RFI7RXlCemlFQTtJRDZJRSwyQkFUTTtFeEJ3NkRSO0FBQ0Y7QXFCdDJETTtFSzlNRSxlQUFBO0VBQUEsY0FBQTtBMUJ3akVSO0EwQnJqRU07RUFFSSxlQUFBO0VBQUEsY0FBQTtBMUJ1akVWO0EwQmppRVk7RUZ5SFIsb0JBVE07QXhCbzdEVjtBMEJwaUVZO0VGeUhSLHFCQVRNO0F4QnU3RFY7QTBCdmlFWTtFRnlIUixVQVRNO0F4QjA3RFY7QTBCMWlFWTtFRnlIUixxQkFUTTtBeEI2N0RWO0EwQjdpRVk7RUZ5SFIscUJBVE07QXhCZzhEVjtBMEJoakVZO0VGeUhSLFVBVE07QXhCbThEVjtBMEJuakVZO0VGeUhSLHFCQVRNO0F4QnM4RFY7QTBCdGpFWTtFRnlIUixxQkFUTTtBeEJ5OERWO0EwQnpqRVk7RUZ5SFIsVUFUTTtBeEI0OERWO0EwQjVqRVk7RUZ5SFIscUJBVE07QXhCKzhEVjtBMEIvakVZO0VGeUhSLHFCQVRNO0F4Qms5RFY7QTBCbGtFWTtFRnlIUixXQVRNO0F4QnE5RFY7QUV0OERRO0V3Qi9ISTtJRnlIUixvQkFUTTtFeEJ5OURSO0UwQnprRVU7SUZ5SFIscUJBVE07RXhCNDlEUjtFMEI1a0VVO0lGeUhSLFVBVE07RXhCKzlEUjtFMEIva0VVO0lGeUhSLHFCQVRNO0V4QmsrRFI7RTBCbGxFVTtJRnlIUixxQkFUTTtFeEJxK0RSO0UwQnJsRVU7SUZ5SFIsVUFUTTtFeEJ3K0RSO0UwQnhsRVU7SUZ5SFIscUJBVE07RXhCMitEUjtFMEIzbEVVO0lGeUhSLHFCQVRNO0V4QjgrRFI7RTBCOWxFVTtJRnlIUixVQVRNO0V4QmkvRFI7RTBCam1FVTtJRnlIUixxQkFUTTtFeEJvL0RSO0UwQnBtRVU7SUZ5SFIscUJBVE07RXhCdS9EUjtFMEJ2bUVVO0lGeUhSLFdBVE07RXhCMC9EUjtBQUNGO0FFditEUTtFd0JwSUk7SUZ5SFIsb0JBVE07RXhCKy9EUjtFMEIvbUVVO0lGeUhSLHFCQVRNO0V4QmtnRVI7RTBCbG5FVTtJRnlIUixVQVRNO0V4QnFnRVI7RTBCcm5FVTtJRnlIUixxQkFUTTtFeEJ3Z0VSO0UwQnhuRVU7SUZ5SFIscUJBVE07RXhCMmdFUjtFMEIzbkVVO0lGeUhSLFVBVE07RXhCOGdFUjtFMEI5bkVVO0lGeUhSLHFCQVRNO0V4QmloRVI7RTBCam9FVTtJRnlIUixxQkFUTTtFeEJvaEVSO0UwQnBvRVU7SUZ5SFIsVUFUTTtFeEJ1aEVSO0UwQnZvRVU7SUZ5SFIscUJBVE07RXhCMGhFUjtFMEIxb0VVO0lGeUhSLHFCQVRNO0V4QjZoRVI7RTBCN29FVTtJRnlIUixXQVRNO0V4QmdpRVI7QUFDRjtBRTdnRVE7RXdCcElJO0lGeUhSLG9CQVRNO0V4QnFpRVI7RTBCcnBFVTtJRnlIUixxQkFUTTtFeEJ3aUVSO0UwQnhwRVU7SUZ5SFIsVUFUTTtFeEIyaUVSO0UwQjNwRVU7SUZ5SFIscUJBVE07RXhCOGlFUjtFMEI5cEVVO0lGeUhSLHFCQVRNO0V4QmlqRVI7RTBCanFFVTtJRnlIUixVQVRNO0V4Qm9qRVI7RTBCcHFFVTtJRnlIUixxQkFUTTtFeEJ1akVSO0UwQnZxRVU7SUZ5SFIscUJBVE07RXhCMGpFUjtFMEIxcUVVO0lGeUhSLFVBVE07RXhCNmpFUjtFMEI3cUVVO0lGeUhSLHFCQVRNO0V4QmdrRVI7RTBCaHJFVTtJRnlIUixxQkFUTTtFeEJta0VSO0UwQm5yRVU7SUZ5SFIsV0FUTTtFeEJza0VSO0FBQ0Y7QUVuakVRO0V3QnBJSTtJRnlIUixvQkFUTTtFeEIya0VSO0UwQjNyRVU7SUZ5SFIscUJBVE07RXhCOGtFUjtFMEI5ckVVO0lGeUhSLFVBVE07RXhCaWxFUjtFMEJqc0VVO0lGeUhSLHFCQVRNO0V4Qm9sRVI7RTBCcHNFVTtJRnlIUixxQkFUTTtFeEJ1bEVSO0UwQnZzRVU7SUZ5SFIsVUFUTTtFeEIwbEVSO0UwQjFzRVU7SUZ5SFIscUJBVE07RXhCNmxFUjtFMEI3c0VVO0lGeUhSLHFCQVRNO0V4QmdtRVI7RTBCaHRFVTtJRnlIUixVQVRNO0V4Qm1tRVI7RTBCbnRFVTtJRnlIUixxQkFUTTtFeEJzbUVSO0UwQnR0RVU7SUZ5SFIscUJBVE07RXhCeW1FUjtFMEJ6dEVVO0lGeUhSLFdBVE07RXhCNG1FUjtBQUNGOztBcUJwaUVNO0VLN0tFLGVBQUE7RUFBQSxjQUFBO0ExQnN0RVI7QTBCbnRFTTtFQUVJLGdCQUFBO0VBQUEsZUFBQTtBMUJxdEVWOztBRXZtRVE7RW1Cb0RGO0lLOU1FLGVBQUE7SUFBQSxjQUFBO0UxQnV3RU47RTBCcHdFSTtJQUVJLGVBQUE7SUFBQSxjQUFBO0UxQnN3RVI7QUFDRjtBRWxuRVE7RXdCeElJO0lGa0lSLG9CQVRNO0V4QnFvRVI7RTBCOXZFVTtJRmtJUixxQkFUTTtFeEJ3b0VSO0UwQmp3RVU7SUZrSVIsVUFUTTtFeEIyb0VSO0UwQnB3RVU7SUZrSVIscUJBVE07RXhCOG9FUjtFMEJ2d0VVO0lGa0lSLHFCQVRNO0V4QmlwRVI7RTBCMXdFVTtJRmtJUixVQVRNO0V4Qm9wRVI7RTBCN3dFVTtJRmtJUixxQkFUTTtFeEJ1cEVSO0UwQmh4RVU7SUZrSVIscUJBVE07RXhCMHBFUjtFMEJueEVVO0lGa0lSLFVBVE07RXhCNnBFUjtFMEJ0eEVVO0lGa0lSLHFCQVRNO0V4QmdxRVI7RTBCenhFVTtJRmtJUixxQkFUTTtFeEJtcUVSO0UwQjV4RVU7SUZrSVIsV0FUTTtFeEJzcUVSO0FBQ0Y7QUV4cEVRO0V3Qi9ISTtJRnlIUixvQkFUTTtFeEIycUVSO0UwQjN4RVU7SUZ5SFIscUJBVE07RXhCOHFFUjtFMEI5eEVVO0lGeUhSLFVBVE07RXhCaXJFUjtFMEJqeUVVO0lGeUhSLHFCQVRNO0V4Qm9yRVI7RTBCcHlFVTtJRnlIUixxQkFUTTtFeEJ1ckVSO0UwQnZ5RVU7SUZ5SFIsVUFUTTtFeEIwckVSO0UwQjF5RVU7SUZ5SFIscUJBVE07RXhCNnJFUjtFMEI3eUVVO0lGeUhSLHFCQVRNO0V4QmdzRVI7RTBCaHpFVTtJRnlIUixVQVRNO0V4Qm1zRVI7RTBCbnpFVTtJRnlIUixxQkFUTTtFeEJzc0VSO0UwQnR6RVU7SUZ5SFIscUJBVE07RXhCeXNFUjtFMEJ6ekVVO0lGeUhSLFdBVE07RXhCNHNFUjtBQUNGO0FFenJFUTtFd0JwSUk7SUZ5SFIsb0JBVE07RXhCaXRFUjtFMEJqMEVVO0lGeUhSLHFCQVRNO0V4Qm90RVI7RTBCcDBFVTtJRnlIUixVQVRNO0V4QnV0RVI7RTBCdjBFVTtJRnlIUixxQkFUTTtFeEIwdEVSO0UwQjEwRVU7SUZ5SFIscUJBVE07RXhCNnRFUjtFMEI3MEVVO0lGeUhSLFVBVE07RXhCZ3VFUjtFMEJoMUVVO0lGeUhSLHFCQVRNO0V4Qm11RVI7RTBCbjFFVTtJRnlIUixxQkFUTTtFeEJzdUVSO0UwQnQxRVU7SUZ5SFIsVUFUTTtFeEJ5dUVSO0UwQnoxRVU7SUZ5SFIscUJBVE07RXhCNHVFUjtFMEI1MUVVO0lGeUhSLHFCQVRNO0V4Qit1RVI7RTBCLzFFVTtJRnlIUixXQVRNO0V4Qmt2RVI7QUFDRjtBRS90RVE7RXdCcElJO0lGeUhSLG9CQVRNO0V4QnV2RVI7RTBCdjJFVTtJRnlIUixxQkFUTTtFeEIwdkVSO0UwQjEyRVU7SUZ5SFIsVUFUTTtFeEI2dkVSO0UwQjcyRVU7SUZ5SFIscUJBVE07RXhCZ3dFUjtFMEJoM0VVO0lGeUhSLHFCQVRNO0V4Qm13RVI7RTBCbjNFVTtJRnlIUixVQVRNO0V4QnN3RVI7RTBCdDNFVTtJRnlIUixxQkFUTTtFeEJ5d0VSO0UwQnozRVU7SUZ5SFIscUJBVE07RXhCNHdFUjtFMEI1M0VVO0lGeUhSLFVBVE07RXhCK3dFUjtFMEIvM0VVO0lGeUhSLHFCQVRNO0V4Qmt4RVI7RTBCbDRFVTtJRnlIUixxQkFUTTtFeEJxeEVSO0UwQnI0RVU7SUZ5SFIsV0FUTTtFeEJ3eEVSO0FBQ0Y7QUVyd0VRO0V3QnBJSTtJRnlIUixvQkFUTTtFeEI2eEVSO0UwQjc0RVU7SUZ5SFIscUJBVE07RXhCZ3lFUjtFMEJoNUVVO0lGeUhSLFVBVE07RXhCbXlFUjtFMEJuNUVVO0lGeUhSLHFCQVRNO0V4QnN5RVI7RTBCdDVFVTtJRnlIUixxQkFUTTtFeEJ5eUVSO0UwQno1RVU7SUZ5SFIsVUFUTTtFeEI0eUVSO0UwQjU1RVU7SUZ5SFIscUJBVE07RXhCK3lFUjtFMEIvNUVVO0lGeUhSLHFCQVRNO0V4Qmt6RVI7RTBCbDZFVTtJRnlIUixVQVRNO0V4QnF6RVI7RTBCcjZFVTtJRnlIUixxQkFUTTtFeEJ3ekVSO0UwQng2RVU7SUZ5SFIscUJBVE07RXhCMnpFUjtFMEIzNkVVO0lGeUhSLFdBVE07RXhCOHpFUjtBQUNGOztBRWh6RVE7RW1CMERGO0lLN0tFLGVBQUE7SUFBQSxjQUFBO0UxQnk2RU47RTBCdDZFSTtJQUVJLGdCQUFBO0lBQUEsZUFBQTtFMUJ3NkVSO0FBQ0Y7O0FFdHpFUTtFbUIrQ0Y7SUs5TUUsZUFBQTtJQUFBLGNBQUE7RTFCMjlFTjtFMEJ4OUVJO0lBRUksZUFBQTtJQUFBLGNBQUE7RTFCMDlFUjtBQUNGO0FFajBFUTtFd0I3SUk7SUZrSVIsb0JBVE07RXhCeTFFUjtFMEJsOUVVO0lGa0lSLHFCQVRNO0V4QjQxRVI7RTBCcjlFVTtJRmtJUixVQVRNO0V4QisxRVI7RTBCeDlFVTtJRmtJUixxQkFUTTtFeEJrMkVSO0UwQjM5RVU7SUZrSVIscUJBVE07RXhCcTJFUjtFMEI5OUVVO0lGa0lSLFVBVE07RXhCdzJFUjtFMEJqK0VVO0lGa0lSLHFCQVRNO0V4QjIyRVI7RTBCcCtFVTtJRmtJUixxQkFUTTtFeEI4MkVSO0UwQnYrRVU7SUZrSVIsVUFUTTtFeEJpM0VSO0UwQjErRVU7SUZrSVIscUJBVE07RXhCbzNFUjtFMEI3K0VVO0lGa0lSLHFCQVRNO0V4QnUzRVI7RTBCaC9FVTtJRmtJUixXQVRNO0V4QjAzRVI7QUFDRjtBRXYyRVE7RXdCN0lJO0lGa0lSLG9CQVRNO0V4QiszRVI7RTBCeC9FVTtJRmtJUixxQkFUTTtFeEJrNEVSO0UwQjMvRVU7SUZrSVIsVUFUTTtFeEJxNEVSO0UwQjkvRVU7SUZrSVIscUJBVE07RXhCdzRFUjtFMEJqZ0ZVO0lGa0lSLHFCQVRNO0V4QjI0RVI7RTBCcGdGVTtJRmtJUixVQVRNO0V4Qjg0RVI7RTBCdmdGVTtJRmtJUixxQkFUTTtFeEJpNUVSO0UwQjFnRlU7SUZrSVIscUJBVE07RXhCbzVFUjtFMEI3Z0ZVO0lGa0lSLFVBVE07RXhCdTVFUjtFMEJoaEZVO0lGa0lSLHFCQVRNO0V4QjA1RVI7RTBCbmhGVTtJRmtJUixxQkFUTTtFeEI2NUVSO0UwQnRoRlU7SUZrSVIsV0FUTTtFeEJnNkVSO0FBQ0Y7QUU3NEVRO0V3QnBJSTtJRnlIUixvQkFUTTtFeEJxNkVSO0UwQnJoRlU7SUZ5SFIscUJBVE07RXhCdzZFUjtFMEJ4aEZVO0lGeUhSLFVBVE07RXhCMjZFUjtFMEIzaEZVO0lGeUhSLHFCQVRNO0V4Qjg2RVI7RTBCOWhGVTtJRnlIUixxQkFUTTtFeEJpN0VSO0UwQmppRlU7SUZ5SFIsVUFUTTtFeEJvN0VSO0UwQnBpRlU7SUZ5SFIscUJBVE07RXhCdTdFUjtFMEJ2aUZVO0lGeUhSLHFCQVRNO0V4QjA3RVI7RTBCMWlGVTtJRnlIUixVQVRNO0V4QjY3RVI7RTBCN2lGVTtJRnlIUixxQkFUTTtFeEJnOEVSO0UwQmhqRlU7SUZ5SFIscUJBVE07RXhCbThFUjtFMEJuakZVO0lGeUhSLFdBVE07RXhCczhFUjtBQUNGO0FFbjdFUTtFd0JwSUk7SUZ5SFIsb0JBVE07RXhCMjhFUjtFMEIzakZVO0lGeUhSLHFCQVRNO0V4Qjg4RVI7RTBCOWpGVTtJRnlIUixVQVRNO0V4Qmk5RVI7RTBCamtGVTtJRnlIUixxQkFUTTtFeEJvOUVSO0UwQnBrRlU7SUZ5SFIscUJBVE07RXhCdTlFUjtFMEJ2a0ZVO0lGeUhSLFVBVE07RXhCMDlFUjtFMEIxa0ZVO0lGeUhSLHFCQVRNO0V4QjY5RVI7RTBCN2tGVTtJRnlIUixxQkFUTTtFeEJnK0VSO0UwQmhsRlU7SUZ5SFIsVUFUTTtFeEJtK0VSO0UwQm5sRlU7SUZ5SFIscUJBVE07RXhCcytFUjtFMEJ0bEZVO0lGeUhSLHFCQVRNO0V4QnkrRVI7RTBCemxGVTtJRnlIUixXQVRNO0V4QjQrRVI7QUFDRjtBRXo5RVE7RXdCcElJO0lGeUhSLG9CQVRNO0V4QmkvRVI7RTBCam1GVTtJRnlIUixxQkFUTTtFeEJvL0VSO0UwQnBtRlU7SUZ5SFIsVUFUTTtFeEJ1L0VSO0UwQnZtRlU7SUZ5SFIscUJBVE07RXhCMC9FUjtFMEIxbUZVO0lGeUhSLHFCQVRNO0V4QjYvRVI7RTBCN21GVTtJRnlIUixVQVRNO0V4QmdnRlI7RTBCaG5GVTtJRnlIUixxQkFUTTtFeEJtZ0ZSO0UwQm5uRlU7SUZ5SFIscUJBVE07RXhCc2dGUjtFMEJ0bkZVO0lGeUhSLFVBVE07RXhCeWdGUjtFMEJ6bkZVO0lGeUhSLHFCQVRNO0V4QjRnRlI7RTBCNW5GVTtJRnlIUixxQkFUTTtFeEIrZ0ZSO0UwQi9uRlU7SUZ5SFIsV0FUTTtFeEJraEZSO0FBQ0Y7O0FFLy9FUTtFbUJxREY7SUs3S0UsZUFBQTtJQUFBLGNBQUE7RTFCNm5GTjtFMEIxbkZJO0lBRUksZ0JBQUE7SUFBQSxlQUFBO0UxQjRuRlI7QUFDRjs7QUUxZ0ZRO0VtQitDRjtJSzlNRSxlQUFBO0lBQUEsY0FBQTtFMUIrcUZOO0UwQjVxRkk7SUFFSSxlQUFBO0lBQUEsY0FBQTtFMUI4cUZSO0FBQ0Y7QUVyaEZRO0V3QjdJSTtJRmtJUixvQkFUTTtFeEI2aUZSO0UwQnRxRlU7SUZrSVIscUJBVE07RXhCZ2pGUjtFMEJ6cUZVO0lGa0lSLFVBVE07RXhCbWpGUjtFMEI1cUZVO0lGa0lSLHFCQVRNO0V4QnNqRlI7RTBCL3FGVTtJRmtJUixxQkFUTTtFeEJ5akZSO0UwQmxyRlU7SUZrSVIsVUFUTTtFeEI0akZSO0UwQnJyRlU7SUZrSVIscUJBVE07RXhCK2pGUjtFMEJ4ckZVO0lGa0lSLHFCQVRNO0V4QmtrRlI7RTBCM3JGVTtJRmtJUixVQVRNO0V4QnFrRlI7RTBCOXJGVTtJRmtJUixxQkFUTTtFeEJ3a0ZSO0UwQmpzRlU7SUZrSVIscUJBVE07RXhCMmtGUjtFMEJwc0ZVO0lGa0lSLFdBVE07RXhCOGtGUjtBQUNGO0FFM2pGUTtFd0I3SUk7SUZrSVIsb0JBVE07RXhCbWxGUjtFMEI1c0ZVO0lGa0lSLHFCQVRNO0V4QnNsRlI7RTBCL3NGVTtJRmtJUixVQVRNO0V4QnlsRlI7RTBCbHRGVTtJRmtJUixxQkFUTTtFeEI0bEZSO0UwQnJ0RlU7SUZrSVIscUJBVE07RXhCK2xGUjtFMEJ4dEZVO0lGa0lSLFVBVE07RXhCa21GUjtFMEIzdEZVO0lGa0lSLHFCQVRNO0V4QnFtRlI7RTBCOXRGVTtJRmtJUixxQkFUTTtFeEJ3bUZSO0UwQmp1RlU7SUZrSVIsVUFUTTtFeEIybUZSO0UwQnB1RlU7SUZrSVIscUJBVE07RXhCOG1GUjtFMEJ2dUZVO0lGa0lSLHFCQVRNO0V4QmluRlI7RTBCMXVGVTtJRmtJUixXQVRNO0V4Qm9uRlI7QUFDRjtBRWptRlE7RXdCN0lJO0lGa0lSLG9CQVRNO0V4QnluRlI7RTBCbHZGVTtJRmtJUixxQkFUTTtFeEI0bkZSO0UwQnJ2RlU7SUZrSVIsVUFUTTtFeEIrbkZSO0UwQnh2RlU7SUZrSVIscUJBVE07RXhCa29GUjtFMEIzdkZVO0lGa0lSLHFCQVRNO0V4QnFvRlI7RTBCOXZGVTtJRmtJUixVQVRNO0V4QndvRlI7RTBCandGVTtJRmtJUixxQkFUTTtFeEIyb0ZSO0UwQnB3RlU7SUZrSVIscUJBVE07RXhCOG9GUjtFMEJ2d0ZVO0lGa0lSLFVBVE07RXhCaXBGUjtFMEIxd0ZVO0lGa0lSLHFCQVRNO0V4Qm9wRlI7RTBCN3dGVTtJRmtJUixxQkFUTTtFeEJ1cEZSO0UwQmh4RlU7SUZrSVIsV0FUTTtFeEIwcEZSO0FBQ0Y7QUV2b0ZRO0V3QnBJSTtJRnlIUixvQkFUTTtFeEIrcEZSO0UwQi93RlU7SUZ5SFIscUJBVE07RXhCa3FGUjtFMEJseEZVO0lGeUhSLFVBVE07RXhCcXFGUjtFMEJyeEZVO0lGeUhSLHFCQVRNO0V4QndxRlI7RTBCeHhGVTtJRnlIUixxQkFUTTtFeEIycUZSO0UwQjN4RlU7SUZ5SFIsVUFUTTtFeEI4cUZSO0UwQjl4RlU7SUZ5SFIscUJBVE07RXhCaXJGUjtFMEJqeUZVO0lGeUhSLHFCQVRNO0V4Qm9yRlI7RTBCcHlGVTtJRnlIUixVQVRNO0V4QnVyRlI7RTBCdnlGVTtJRnlIUixxQkFUTTtFeEIwckZSO0UwQjF5RlU7SUZ5SFIscUJBVE07RXhCNnJGUjtFMEI3eUZVO0lGeUhSLFdBVE07RXhCZ3NGUjtBQUNGO0FFN3FGUTtFd0JwSUk7SUZ5SFIsb0JBVE07RXhCcXNGUjtFMEJyekZVO0lGeUhSLHFCQVRNO0V4QndzRlI7RTBCeHpGVTtJRnlIUixVQVRNO0V4QjJzRlI7RTBCM3pGVTtJRnlIUixxQkFUTTtFeEI4c0ZSO0UwQjl6RlU7SUZ5SFIscUJBVE07RXhCaXRGUjtFMEJqMEZVO0lGeUhSLFVBVE07RXhCb3RGUjtFMEJwMEZVO0lGeUhSLHFCQVRNO0V4QnV0RlI7RTBCdjBGVTtJRnlIUixxQkFUTTtFeEIwdEZSO0UwQjEwRlU7SUZ5SFIsVUFUTTtFeEI2dEZSO0UwQjcwRlU7SUZ5SFIscUJBVE07RXhCZ3VGUjtFMEJoMUZVO0lGeUhSLHFCQVRNO0V4Qm11RlI7RTBCbjFGVTtJRnlIUixXQVRNO0V4QnN1RlI7QUFDRjs7QUVudEZRO0VtQnFERjtJSzdLRSxlQUFBO0lBQUEsY0FBQTtFMUJpMUZOO0UwQjkwRkk7SUFFSSxnQkFBQTtJQUFBLGVBQUE7RTFCZzFGUjtBQUNGOztBRTl0RlE7RW1CK0NGO0lLOU1FLGVBQUE7SUFBQSxjQUFBO0UxQm00Rk47RTBCaDRGSTtJQUVJLGVBQUE7SUFBQSxjQUFBO0UxQms0RlI7QUFDRjtBRXp1RlE7RXdCN0lJO0lGa0lSLG9CQVRNO0V4Qml3RlI7RTBCMTNGVTtJRmtJUixxQkFUTTtFeEJvd0ZSO0UwQjczRlU7SUZrSVIsVUFUTTtFeEJ1d0ZSO0UwQmg0RlU7SUZrSVIscUJBVE07RXhCMHdGUjtFMEJuNEZVO0lGa0lSLHFCQVRNO0V4QjZ3RlI7RTBCdDRGVTtJRmtJUixVQVRNO0V4Qmd4RlI7RTBCejRGVTtJRmtJUixxQkFUTTtFeEJteEZSO0UwQjU0RlU7SUZrSVIscUJBVE07RXhCc3hGUjtFMEIvNEZVO0lGa0lSLFVBVE07RXhCeXhGUjtFMEJsNUZVO0lGa0lSLHFCQVRNO0V4QjR4RlI7RTBCcjVGVTtJRmtJUixxQkFUTTtFeEIreEZSO0UwQng1RlU7SUZrSVIsV0FUTTtFeEJreUZSO0FBQ0Y7QUUvd0ZRO0V3QjdJSTtJRmtJUixvQkFUTTtFeEJ1eUZSO0UwQmg2RlU7SUZrSVIscUJBVE07RXhCMHlGUjtFMEJuNkZVO0lGa0lSLFVBVE07RXhCNnlGUjtFMEJ0NkZVO0lGa0lSLHFCQVRNO0V4Qmd6RlI7RTBCejZGVTtJRmtJUixxQkFUTTtFeEJtekZSO0UwQjU2RlU7SUZrSVIsVUFUTTtFeEJzekZSO0UwQi82RlU7SUZrSVIscUJBVE07RXhCeXpGUjtFMEJsN0ZVO0lGa0lSLHFCQVRNO0V4QjR6RlI7RTBCcjdGVTtJRmtJUixVQVRNO0V4Qit6RlI7RTBCeDdGVTtJRmtJUixxQkFUTTtFeEJrMEZSO0UwQjM3RlU7SUZrSVIscUJBVE07RXhCcTBGUjtFMEI5N0ZVO0lGa0lSLFdBVE07RXhCdzBGUjtBQUNGO0FFcnpGUTtFd0I3SUk7SUZrSVIsb0JBVE07RXhCNjBGUjtFMEJ0OEZVO0lGa0lSLHFCQVRNO0V4QmcxRlI7RTBCejhGVTtJRmtJUixVQVRNO0V4Qm0xRlI7RTBCNThGVTtJRmtJUixxQkFUTTtFeEJzMUZSO0UwQi84RlU7SUZrSVIscUJBVE07RXhCeTFGUjtFMEJsOUZVO0lGa0lSLFVBVE07RXhCNDFGUjtFMEJyOUZVO0lGa0lSLHFCQVRNO0V4QisxRlI7RTBCeDlGVTtJRmtJUixxQkFUTTtFeEJrMkZSO0UwQjM5RlU7SUZrSVIsVUFUTTtFeEJxMkZSO0UwQjk5RlU7SUZrSVIscUJBVE07RXhCdzJGUjtFMEJqK0ZVO0lGa0lSLHFCQVRNO0V4QjIyRlI7RTBCcCtGVTtJRmtJUixXQVRNO0V4QjgyRlI7QUFDRjtBRTMxRlE7RXdCN0lJO0lGa0lSLG9CQVRNO0V4Qm0zRlI7RTBCNStGVTtJRmtJUixxQkFUTTtFeEJzM0ZSO0UwQi8rRlU7SUZrSVIsVUFUTTtFeEJ5M0ZSO0UwQmwvRlU7SUZrSVIscUJBVE07RXhCNDNGUjtFMEJyL0ZVO0lGa0lSLHFCQVRNO0V4QiszRlI7RTBCeC9GVTtJRmtJUixVQVRNO0V4Qms0RlI7RTBCMy9GVTtJRmtJUixxQkFUTTtFeEJxNEZSO0UwQjkvRlU7SUZrSVIscUJBVE07RXhCdzRGUjtFMEJqZ0dVO0lGa0lSLFVBVE07RXhCMjRGUjtFMEJwZ0dVO0lGa0lSLHFCQVRNO0V4Qjg0RlI7RTBCdmdHVTtJRmtJUixxQkFUTTtFeEJpNUZSO0UwQjFnR1U7SUZrSVIsV0FUTTtFeEJvNUZSO0FBQ0Y7QUVqNEZRO0V3QnBJSTtJRnlIUixvQkFUTTtFeEJ5NUZSO0UwQnpnR1U7SUZ5SFIscUJBVE07RXhCNDVGUjtFMEI1Z0dVO0lGeUhSLFVBVE07RXhCKzVGUjtFMEIvZ0dVO0lGeUhSLHFCQVRNO0V4Qms2RlI7RTBCbGhHVTtJRnlIUixxQkFUTTtFeEJxNkZSO0UwQnJoR1U7SUZ5SFIsVUFUTTtFeEJ3NkZSO0UwQnhoR1U7SUZ5SFIscUJBVE07RXhCMjZGUjtFMEIzaEdVO0lGeUhSLHFCQVRNO0V4Qjg2RlI7RTBCOWhHVTtJRnlIUixVQVRNO0V4Qmk3RlI7RTBCamlHVTtJRnlIUixxQkFUTTtFeEJvN0ZSO0UwQnBpR1U7SUZ5SFIscUJBVE07RXhCdTdGUjtFMEJ2aUdVO0lGeUhSLFdBVE07RXhCMDdGUjtBQUNGOztBRXY2RlE7RW1CcURGO0lLN0tFLGVBQUE7SUFBQSxjQUFBO0UxQnFpR047RTBCbGlHSTtJQUVJLGdCQUFBO0lBQUEsZUFBQTtFMUJvaUdSO0FBQ0Y7O0FxQi8yRk07RU1uTUYsZUFBQTtBM0JzakdKOztBcUIvMkZNO0VNdk1GLG1DQUFBO0EzQjBqR0o7O0FxQnYzRk07RU1uTUYsMEJBQUE7QTNCOGpHSjs7QXFCdjNGTTtFTXZNRiw4Q0FBQTtBM0Jra0dKOztBcUIvM0ZNO0VNbk1GLDJCQUFBO0EzQnNrR0o7O0FxQi8zRk07RU12TUYsK0NBQUE7QTNCMGtHSjs7QXFCdjRGTTtFTW5NRixnQkFBQTtBM0I4a0dKOztBcUJ2NEZNO0VNdk1GLG9DQUFBO0EzQmtsR0o7O0FxQi80Rk07RU1uTUYsMkJBQUE7QTNCc2xHSjs7QXFCLzRGTTtFTXZNRiwrQ0FBQTtBM0IwbEdKOztBcUJ2NUZNO0VNbk1GLDJCQUFBO0EzQjhsR0o7O0FxQnY1Rk07RU12TUYsK0NBQUE7QTNCa21HSjs7QXFCLzVGTTtFTW5NRixnQkFBQTtBM0JzbUdKOztBcUIvNUZNO0VNdk1GLG9DQUFBO0EzQjBtR0o7O0FxQnY2Rk07RU1uTUYsMkJBQUE7QTNCOG1HSjs7QXFCdjZGTTtFTXZNRiwrQ0FBQTtBM0JrbkdKOztBcUIvNkZNO0VNbk1GLDJCQUFBO0EzQnNuR0o7O0FxQi82Rk07RU12TUYsK0NBQUE7QTNCMG5HSjs7QXFCdjdGTTtFTW5NRixnQkFBQTtBM0I4bkdKOztBcUJ2N0ZNO0VNdk1GLG9DQUFBO0EzQmtvR0o7O0FxQi83Rk07RU1uTUYsMkJBQUE7QTNCc29HSjs7QXFCLzdGTTtFTXZNRiwrQ0FBQTtBM0Iwb0dKOztBcUJ2OEZNO0VNbk1GLDJCQUFBO0EzQjhvR0o7O0FxQnY4Rk07RU12TUYsK0NBQUE7QTNCa3BHSjs7QUV2aEdRO0VtQndFRjtJTW5NRixlQUFBO0UzQnVwR0Y7RXFCaDlGSTtJTXZNRixvQ0FBQTtFM0IwcEdGO0VxQnY5Rkk7SU1uTUYsMEJBQUE7RTNCNnBHRjtFcUJ0OUZJO0lNdk1GLCtDQUFBO0UzQmdxR0Y7RXFCNzlGSTtJTW5NRiwyQkFBQTtFM0JtcUdGO0VxQjU5Rkk7SU12TUYsZ0RBQUE7RTNCc3FHRjtFcUJuK0ZJO0lNbk1GLGdCQUFBO0UzQnlxR0Y7RXFCbCtGSTtJTXZNRixxQ0FBQTtFM0I0cUdGO0VxQnorRkk7SU1uTUYsMkJBQUE7RTNCK3FHRjtFcUJ4K0ZJO0lNdk1GLGdEQUFBO0UzQmtyR0Y7RXFCLytGSTtJTW5NRiwyQkFBQTtFM0JxckdGO0VxQjkrRkk7SU12TUYsZ0RBQUE7RTNCd3JHRjtFcUJyL0ZJO0lNbk1GLGdCQUFBO0UzQjJyR0Y7RXFCcC9GSTtJTXZNRixxQ0FBQTtFM0I4ckdGO0VxQjMvRkk7SU1uTUYsMkJBQUE7RTNCaXNHRjtFcUIxL0ZJO0lNdk1GLGdEQUFBO0UzQm9zR0Y7RXFCamdHSTtJTW5NRiwyQkFBQTtFM0J1c0dGO0VxQmhnR0k7SU12TUYsZ0RBQUE7RTNCMHNHRjtFcUJ2Z0dJO0lNbk1GLGdCQUFBO0UzQjZzR0Y7RXFCdGdHSTtJTXZNRixxQ0FBQTtFM0JndEdGO0VxQjdnR0k7SU1uTUYsMkJBQUE7RTNCbXRHRjtFcUI1Z0dJO0lNdk1GLGdEQUFBO0UzQnN0R0Y7RXFCbmhHSTtJTW5NRiwyQkFBQTtFM0J5dEdGO0VxQmxoR0k7SU12TUYsZ0RBQUE7RTNCNHRHRjtBQUNGO0FFN2xHUTtFbUJtRUY7SU1uTUYsZUFBQTtFM0JpdUdGO0VxQjFoR0k7SU12TUYsa0NBQUE7RTNCb3VHRjtFcUJqaUdJO0lNbk1GLDBCQUFBO0UzQnV1R0Y7RXFCaGlHSTtJTXZNRiw2Q0FBQTtFM0IwdUdGO0VxQnZpR0k7SU1uTUYsMkJBQUE7RTNCNnVHRjtFcUJ0aUdJO0lNdk1GLDhDQUFBO0UzQmd2R0Y7RXFCN2lHSTtJTW5NRixnQkFBQTtFM0JtdkdGO0VxQjVpR0k7SU12TUYsbUNBQUE7RTNCc3ZHRjtFcUJuakdJO0lNbk1GLDJCQUFBO0UzQnl2R0Y7RXFCbGpHSTtJTXZNRiw4Q0FBQTtFM0I0dkdGO0VxQnpqR0k7SU1uTUYsMkJBQUE7RTNCK3ZHRjtFcUJ4akdJO0lNdk1GLDhDQUFBO0UzQmt3R0Y7RXFCL2pHSTtJTW5NRixnQkFBQTtFM0Jxd0dGO0VxQjlqR0k7SU12TUYsbUNBQUE7RTNCd3dHRjtFcUJya0dJO0lNbk1GLDJCQUFBO0UzQjJ3R0Y7RXFCcGtHSTtJTXZNRiw4Q0FBQTtFM0I4d0dGO0VxQjNrR0k7SU1uTUYsMkJBQUE7RTNCaXhHRjtFcUIxa0dJO0lNdk1GLDhDQUFBO0UzQm94R0Y7RXFCamxHSTtJTW5NRixnQkFBQTtFM0J1eEdGO0VxQmhsR0k7SU12TUYsbUNBQUE7RTNCMHhHRjtFcUJ2bEdJO0lNbk1GLDJCQUFBO0UzQjZ4R0Y7RXFCdGxHSTtJTXZNRiw4Q0FBQTtFM0JneUdGO0VxQjdsR0k7SU1uTUYsMkJBQUE7RTNCbXlHRjtFcUI1bEdJO0lNdk1GLDhDQUFBO0UzQnN5R0Y7QUFDRjtBRXZxR1E7RW1CbUVGO0lNbk1GLGVBQUE7RTNCMnlHRjtFcUJwbUdJO0lNdk1GLGtDQUFBO0UzQjh5R0Y7RXFCM21HSTtJTW5NRiwwQkFBQTtFM0JpekdGO0VxQjFtR0k7SU12TUYsNkNBQUE7RTNCb3pHRjtFcUJqbkdJO0lNbk1GLDJCQUFBO0UzQnV6R0Y7RXFCaG5HSTtJTXZNRiw4Q0FBQTtFM0IwekdGO0VxQnZuR0k7SU1uTUYsZ0JBQUE7RTNCNnpHRjtFcUJ0bkdJO0lNdk1GLG1DQUFBO0UzQmcwR0Y7RXFCN25HSTtJTW5NRiwyQkFBQTtFM0JtMEdGO0VxQjVuR0k7SU12TUYsOENBQUE7RTNCczBHRjtFcUJub0dJO0lNbk1GLDJCQUFBO0UzQnkwR0Y7RXFCbG9HSTtJTXZNRiw4Q0FBQTtFM0I0MEdGO0VxQnpvR0k7SU1uTUYsZ0JBQUE7RTNCKzBHRjtFcUJ4b0dJO0lNdk1GLG1DQUFBO0UzQmsxR0Y7RXFCL29HSTtJTW5NRiwyQkFBQTtFM0JxMUdGO0VxQjlvR0k7SU12TUYsOENBQUE7RTNCdzFHRjtFcUJycEdJO0lNbk1GLDJCQUFBO0UzQjIxR0Y7RXFCcHBHSTtJTXZNRiw4Q0FBQTtFM0I4MUdGO0VxQjNwR0k7SU1uTUYsZ0JBQUE7RTNCaTJHRjtFcUIxcEdJO0lNdk1GLG1DQUFBO0UzQm8yR0Y7RXFCanFHSTtJTW5NRiwyQkFBQTtFM0J1MkdGO0VxQmhxR0k7SU12TUYsOENBQUE7RTNCMDJHRjtFcUJ2cUdJO0lNbk1GLDJCQUFBO0UzQjYyR0Y7RXFCdHFHSTtJTXZNRiw4Q0FBQTtFM0JnM0dGO0FBQ0Y7QUVqdkdRO0VtQm1FRjtJTW5NRixlQUFBO0UzQnEzR0Y7RXFCOXFHSTtJTXZNRixrQ0FBQTtFM0J3M0dGO0VxQnJyR0k7SU1uTUYsMEJBQUE7RTNCMjNHRjtFcUJwckdJO0lNdk1GLDZDQUFBO0UzQjgzR0Y7RXFCM3JHSTtJTW5NRiwyQkFBQTtFM0JpNEdGO0VxQjFyR0k7SU12TUYsOENBQUE7RTNCbzRHRjtFcUJqc0dJO0lNbk1GLGdCQUFBO0UzQnU0R0Y7RXFCaHNHSTtJTXZNRixtQ0FBQTtFM0IwNEdGO0VxQnZzR0k7SU1uTUYsMkJBQUE7RTNCNjRHRjtFcUJ0c0dJO0lNdk1GLDhDQUFBO0UzQmc1R0Y7RXFCN3NHSTtJTW5NRiwyQkFBQTtFM0JtNUdGO0VxQjVzR0k7SU12TUYsOENBQUE7RTNCczVHRjtFcUJudEdJO0lNbk1GLGdCQUFBO0UzQnk1R0Y7RXFCbHRHSTtJTXZNRixtQ0FBQTtFM0I0NUdGO0VxQnp0R0k7SU1uTUYsMkJBQUE7RTNCKzVHRjtFcUJ4dEdJO0lNdk1GLDhDQUFBO0UzQms2R0Y7RXFCL3RHSTtJTW5NRiwyQkFBQTtFM0JxNkdGO0VxQjl0R0k7SU12TUYsOENBQUE7RTNCdzZHRjtFcUJydUdJO0lNbk1GLGdCQUFBO0UzQjI2R0Y7RXFCcHVHSTtJTXZNRixtQ0FBQTtFM0I4NkdGO0VxQjN1R0k7SU1uTUYsMkJBQUE7RTNCaTdHRjtFcUIxdUdJO0lNdk1GLDhDQUFBO0UzQm83R0Y7RXFCanZHSTtJTW5NRiwyQkFBQTtFM0J1N0dGO0VxQmh2R0k7SU12TUYsOENBQUE7RTNCMDdHRjtBQUNGO0FxQmx1R0U7RUUvT0Esb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSw0QkFBQTtFQUFBLDZCQUFBO01BQUEsNEJBQUE7VUFBQSx3QkFBQTtBdkJvOUdGO0FxQmx1R0k7RUdySUYsWUFBQTtFQUNBLGdCQUFBO0F4QjAyR0Y7QXFCbHVHSTtFRzVHQSxZQVRNO0F4QjAxR1Y7QXFCanVHSTtFR2hIQSxZQVRNO0F4QjYxR1Y7QXFCdHRHTTtFQUNFLDZCQUFBO01BQUEsZ0JBQUE7QXJCd3RHUjtBRWoxR1E7RW1Cd0hGO0lBQ0UsNkJBQUE7UUFBQSxnQkFBQTtFckI0dEdOO0FBQ0Y7QUVqMUdRO0VtQm1IRjtJQUNFLDZCQUFBO1FBQUEsZ0JBQUE7RXJCaXVHTjtBQUNGO0FFdDFHUTtFbUJtSEY7SUFDRSw2QkFBQTtRQUFBLGdCQUFBO0VyQnN1R047QUFDRjtBRTMxR1E7RW1CbUhGO0lBQ0UsNkJBQUE7UUFBQSxnQkFBQTtFckIydUdOO0FBQ0Y7QXFCaHVHTTtFR3RMSixtQkFBQTtNQUFBLGtCQUFBO1VBQUEsY0FBQTtBeEJ5NUdGO0FxQnB0R1E7RUcxSkoscUJBVE07QXhCMDNHVjtBcUJ2dEdRO0VHMUpKLHNCQVRNO0F4QjYzR1Y7QXFCMXRHUTtFRzFKSixXQVRNO0F4Qmc0R1Y7QXFCN3RHUTtFRzFKSixzQkFUTTtBeEJtNEdWO0FxQmh1R1E7RUcxSkosc0JBVE07QXhCczRHVjtBcUJudUdRO0VHMUpKLFdBVE07QXhCeTRHVjtBcUJ0dUdRO0VHMUpKLHNCQVRNO0F4QjQ0R1Y7QXFCenVHUTtFRzFKSixzQkFUTTtBeEIrNEdWO0FxQjV1R1E7RUcxSkosV0FUTTtBeEJrNUdWO0FxQi91R1E7RUcxSkosc0JBVE07QXhCcTVHVjtBcUJsdkdRO0VHMUpKLHNCQVRNO0F4Qnc1R1Y7QXFCcnZHUTtFRzFKSixZQVRNO0F4QjI1R1Y7QUU1NEdRO0VtQmdJQTtJR2pMTixtQkFBQTtRQUFBLGlCQUFBO1lBQUEsV0FBQTtJQTJDRSxZQVRNO0V4Qmc2R1I7RXFCNXdHSTtJR3RMSixtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtFeEJxOEdBO0VxQnp3R007SUdqSkosWUFUTTtFeEJzNkdSO0VxQm53R007SUcxSkoscUJBVE07RXhCeTZHUjtFcUJ0d0dNO0lHMUpKLHNCQVRNO0V4QjQ2R1I7RXFCendHTTtJRzFKSixXQVRNO0V4Qis2R1I7RXFCNXdHTTtJRzFKSixzQkFUTTtFeEJrN0dSO0VxQi93R007SUcxSkosc0JBVE07RXhCcTdHUjtFcUJseEdNO0lHMUpKLFdBVE07RXhCdzdHUjtFcUJyeEdNO0lHMUpKLHNCQVRNO0V4QjI3R1I7RXFCeHhHTTtJRzFKSixzQkFUTTtFeEI4N0dSO0VxQjN4R007SUcxSkosV0FUTTtFeEJpOEdSO0VxQjl4R007SUcxSkosc0JBVE07RXhCbzhHUjtFcUJqeUdNO0lHMUpKLHNCQVRNO0V4QnU4R1I7RXFCcHlHTTtJRzFKSixZQVRNO0V4QjA4R1I7QUFDRjtBRXY3R1E7RW1CMkhBO0lHakxOLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxXQUFBO0lBMkNFLFlBVE07RXhCZzlHUjtFcUI1ekdJO0lHdExKLG1CQUFBO1FBQUEsa0JBQUE7WUFBQSxjQUFBO0V4QnEvR0E7RXFCenpHTTtJR2pKSixZQVRNO0V4QnM5R1I7RXFCbnpHTTtJRzFKSixxQkFUTTtFeEJ5OUdSO0VxQnR6R007SUcxSkosc0JBVE07RXhCNDlHUjtFcUJ6ekdNO0lHMUpKLFdBVE07RXhCKzlHUjtFcUI1ekdNO0lHMUpKLHNCQVRNO0V4QmsrR1I7RXFCL3pHTTtJRzFKSixzQkFUTTtFeEJxK0dSO0VxQmwwR007SUcxSkosV0FUTTtFeEJ3K0dSO0VxQnIwR007SUcxSkosc0JBVE07RXhCMitHUjtFcUJ4MEdNO0lHMUpKLHNCQVRNO0V4QjgrR1I7RXFCMzBHTTtJRzFKSixXQVRNO0V4QmkvR1I7RXFCOTBHTTtJRzFKSixzQkFUTTtFeEJvL0dSO0VxQmoxR007SUcxSkosc0JBVE07RXhCdS9HUjtFcUJwMUdNO0lHMUpKLFlBVE07RXhCMC9HUjtBQUNGO0FFditHUTtFbUIySEE7SUdqTE4sbUJBQUE7UUFBQSxpQkFBQTtZQUFBLFdBQUE7SUEyQ0UsWUFUTTtFeEJnZ0hSO0VxQjUyR0k7SUd0TEosbUJBQUE7UUFBQSxrQkFBQTtZQUFBLGNBQUE7RXhCcWlIQTtFcUJ6MkdNO0lHakpKLFlBVE07RXhCc2dIUjtFcUJuMkdNO0lHMUpKLHFCQVRNO0V4QnlnSFI7RXFCdDJHTTtJRzFKSixzQkFUTTtFeEI0Z0hSO0VxQnoyR007SUcxSkosV0FUTTtFeEIrZ0hSO0VxQjUyR007SUcxSkosc0JBVE07RXhCa2hIUjtFcUIvMkdNO0lHMUpKLHNCQVRNO0V4QnFoSFI7RXFCbDNHTTtJRzFKSixXQVRNO0V4QndoSFI7RXFCcjNHTTtJRzFKSixzQkFUTTtFeEIyaEhSO0VxQngzR007SUcxSkosc0JBVE07RXhCOGhIUjtFcUIzM0dNO0lHMUpKLFdBVE07RXhCaWlIUjtFcUI5M0dNO0lHMUpKLHNCQVRNO0V4Qm9pSFI7RXFCajRHTTtJRzFKSixzQkFUTTtFeEJ1aUhSO0VxQnA0R007SUcxSkosWUFUTTtFeEIwaUhSO0FBQ0Y7QUV2aEhRO0VtQjJIQTtJR2pMTixtQkFBQTtRQUFBLGlCQUFBO1lBQUEsV0FBQTtJQTJDRSxZQVRNO0V4QmdqSFI7RXFCNTVHSTtJR3RMSixtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtFeEJxbEhBO0VxQno1R007SUdqSkosWUFUTTtFeEJzakhSO0VxQm41R007SUcxSkoscUJBVE07RXhCeWpIUjtFcUJ0NUdNO0lHMUpKLHNCQVRNO0V4QjRqSFI7RXFCejVHTTtJRzFKSixXQVRNO0V4QitqSFI7RXFCNTVHTTtJRzFKSixzQkFUTTtFeEJra0hSO0VxQi81R007SUcxSkosc0JBVE07RXhCcWtIUjtFcUJsNkdNO0lHMUpKLFdBVE07RXhCd2tIUjtFcUJyNkdNO0lHMUpKLHNCQVRNO0V4QjJrSFI7RXFCeDZHTTtJRzFKSixzQkFUTTtFeEI4a0hSO0VxQjM2R007SUcxSkosV0FUTTtFeEJpbEhSO0VxQjk2R007SUcxSkosc0JBVE07RXhCb2xIUjtFcUJqN0dNO0lHMUpKLHNCQVRNO0V4QnVsSFI7RXFCcDdHTTtJRzFKSixZQVRNO0V4QjBsSFI7QUFDRjs7QXFCNTZHTTtFQ25URSxxQkFBQTtFQUFBLHdCQUFBO0F0Qm91SFI7QUVqbEhRO0VtQmdLRjtJQ25URSxzQkFBQTtJQUFBLHlCQUFBO0V0Qnl1SE47QUFDRjtBRWxsSFE7RW1CMkpGO0lDblRFLG9CQUFBO0lBQUEsdUJBQUE7RXRCK3VITjtBQUNGO0FxQng3R007RUN4VEUscUJBQUE7RUFBQSx3QkFBQTtBdEJvdkhSO0FFam1IUTtFbUJxS0Y7SUN4VEUsc0JBQUE7SUFBQSx5QkFBQTtFdEJ5dkhOO0FBQ0Y7QUVsbUhRO0VtQmdLRjtJQ3hURSxvQkFBQTtJQUFBLHVCQUFBO0V0Qit2SE47QUFDRjs7QXFCenBIRTtFQ3ZHTSxxQkFBQTtFQUFBLHdCQUFBO0F0QnF3SFI7QUVsbkhRO0VtQjVDTjtJQ3ZHTSxzQkFBQTtJQUFBLHlCQUFBO0V0QjB3SE47QUFDRjtBRW5uSFE7RW1CakROO0lDdkdNLG9CQUFBO0lBQUEsdUJBQUE7RXRCZ3hITjtBQUNGO0FxQnRxSEk7RUdrQ0EsNEJBVE07RUYzSEosb0JBQUE7RUFBQSx1QkFBQTtBdEI2d0hOO0FFbm9IUTtFbUJqQ0E7SUcyQkosNkJBVE07SUYzSEoscUJBQUE7SUFBQSx3QkFBQTtFdEJteEhKO0FBQ0Y7QUVyb0hRO0VtQnRDQTtJRzJCSiwyQkFUTTtJRjNISixtQkFBQTtJQUFBLHNCQUFBO0V0QjB4SEo7QUFDRjtBcUJydEhFO0VHOERFLFlBVE07QXhCbXFIVjtBcUJwdEhFO0VHMERFLFlBVE07QXhCc3FIVjtBcUIvc0hJO0VHa0RBLHFDQVRNO0F4QnlxSFY7QXFCbHRISTtFR2tEQSxzQ0FUTTtBeEI0cUhWO0FxQnJ0SEk7RUdrREEsMkJBVE07QXhCK3FIVjtBcUJ4dEhJO0VHa0RBLHNDQVRNO0F4QmtySFY7QXFCM3RISTtFR2tEQSxzQ0FUTTtBeEJxckhWO0FxQjl0SEk7RUdrREEsMkJBVE07QXhCd3JIVjtBcUJqdUhJO0VHa0RBLHNDQVRNO0F4QjJySFY7QXFCcHVISTtFR2tEQSxzQ0FUTTtBeEI4ckhWO0FxQnZ1SEk7RUdrREEsMkJBVE07QXhCaXNIVjtBcUIxdUhJO0VHa0RBLHNDQVRNO0F4Qm9zSFY7QXFCN3VISTtFR2tEQSxzQ0FUTTtBeEJ1c0hWO0FxQmh2SEk7RUdrREEsNEJBVE07QXhCMHNIVjtBRTNySFE7RW1CcEVOO0lHOERFLFlBVE07RXhCOHNIUjtFcUIvdkhBO0lHMERFLFlBVE07RXhCaXRIUjtFcUIxdkhFO0lHa0RBLHNDQVRNO0V4Qm90SFI7RXFCN3ZIRTtJR2tEQSx1Q0FUTTtFeEJ1dEhSO0VxQmh3SEU7SUdrREEsNEJBVE07RXhCMHRIUjtFcUJud0hFO0lHa0RBLHVDQVRNO0V4QjZ0SFI7RXFCdHdIRTtJR2tEQSx1Q0FUTTtFeEJndUhSO0VxQnp3SEU7SUdrREEsNEJBVE07RXhCbXVIUjtFcUI1d0hFO0lHa0RBLHVDQVRNO0V4QnN1SFI7RXFCL3dIRTtJR2tEQSx1Q0FUTTtFeEJ5dUhSO0VxQmx4SEU7SUdrREEsNEJBVE07RXhCNHVIUjtFcUJyeEhFO0lHa0RBLHVDQVRNO0V4Qit1SFI7RXFCeHhIRTtJR2tEQSx1Q0FUTTtFeEJrdkhSO0VxQjN4SEU7SUdrREEsNkJBVE07RXhCcXZIUjtFcUIxeUhBO0lHOERFLFlBVE07RXhCd3ZIUjtFcUJ6eUhBO0lHMERFLFlBVE07RXhCMnZIUjtFcUJweUhFO0lHa0RBLHNDQVRNO0V4Qjh2SFI7RXFCdnlIRTtJR2tEQSx1Q0FUTTtFeEJpd0hSO0VxQjF5SEU7SUdrREEsNEJBVE07RXhCb3dIUjtFcUI3eUhFO0lHa0RBLHVDQVRNO0V4QnV3SFI7RXFCaHpIRTtJR2tEQSx1Q0FUTTtFeEIwd0hSO0VxQm56SEU7SUdrREEsNEJBVE07RXhCNndIUjtFcUJ0ekhFO0lHa0RBLHVDQVRNO0V4Qmd4SFI7RXFCenpIRTtJR2tEQSx1Q0FUTTtFeEJteEhSO0VxQjV6SEU7SUdrREEsNEJBVE07RXhCc3hIUjtFcUIvekhFO0lHa0RBLHVDQVRNO0V4Qnl4SFI7RXFCbDBIRTtJR2tEQSx1Q0FUTTtFeEI0eEhSO0VxQnIwSEU7SUdrREEsNkJBVE07RXhCK3hIUjtBQUNGO0FFNXdIUTtFbUJ6RU47SUc4REUsWUFUTTtFeEJveUhSO0VxQnIxSEE7SUcwREUsWUFUTTtFeEJ1eUhSO0VxQmgxSEU7SUdrREEsb0NBVE07RXhCMHlIUjtFcUJuMUhFO0lHa0RBLHFDQVRNO0V4QjZ5SFI7RXFCdDFIRTtJR2tEQSwwQkFUTTtFeEJnekhSO0VxQnoxSEU7SUdrREEscUNBVE07RXhCbXpIUjtFcUI1MUhFO0lHa0RBLHFDQVRNO0V4QnN6SFI7RXFCLzFIRTtJR2tEQSwwQkFUTTtFeEJ5ekhSO0VxQmwySEU7SUdrREEscUNBVE07RXhCNHpIUjtFcUJyMkhFO0lHa0RBLHFDQVRNO0V4Qit6SFI7RXFCeDJIRTtJR2tEQSwwQkFUTTtFeEJrMEhSO0VxQjMySEU7SUdrREEscUNBVE07RXhCcTBIUjtFcUI5MkhFO0lHa0RBLHFDQVRNO0V4QncwSFI7RXFCajNIRTtJR2tEQSwyQkFUTTtFeEIyMEhSO0VxQmg0SEE7SUc4REUsWUFUTTtFeEI4MEhSO0VxQi8zSEE7SUcwREUsWUFUTTtFeEJpMUhSO0VxQjEzSEU7SUdrREEsb0NBVE07RXhCbzFIUjtFcUI3M0hFO0lHa0RBLHFDQVRNO0V4QnUxSFI7RXFCaDRIRTtJR2tEQSwwQkFUTTtFeEIwMUhSO0VxQm40SEU7SUdrREEscUNBVE07RXhCNjFIUjtFcUJ0NEhFO0lHa0RBLHFDQVRNO0V4QmcySFI7RXFCejRIRTtJR2tEQSwwQkFUTTtFeEJtMkhSO0VxQjU0SEU7SUdrREEscUNBVE07RXhCczJIUjtFcUIvNEhFO0lHa0RBLHFDQVRNO0V4QnkySFI7RXFCbDVIRTtJR2tEQSwwQkFUTTtFeEI0MkhSO0VxQnI1SEU7SUdrREEscUNBVE07RXhCKzJIUjtFcUJ4NUhFO0lHa0RBLHFDQVRNO0V4QmszSFI7RXFCMzVIRTtJR2tEQSwyQkFUTTtFeEJxM0hSO0VxQjE2SEE7SUc4REUsWUFUTTtFeEJ3M0hSO0VxQno2SEE7SUcwREUsWUFUTTtFeEIyM0hSO0VxQnA2SEU7SUdrREEsb0NBVE07RXhCODNIUjtFcUJ2NkhFO0lHa0RBLHFDQVRNO0V4Qmk0SFI7RXFCMTZIRTtJR2tEQSwwQkFUTTtFeEJvNEhSO0VxQjc2SEU7SUdrREEscUNBVE07RXhCdTRIUjtFcUJoN0hFO0lHa0RBLHFDQVRNO0V4QjA0SFI7RXFCbjdIRTtJR2tEQSwwQkFUTTtFeEI2NEhSO0VxQnQ3SEU7SUdrREEscUNBVE07RXhCZzVIUjtFcUJ6N0hFO0lHa0RBLHFDQVRNO0V4Qm01SFI7RXFCNTdIRTtJR2tEQSwwQkFUTTtFeEJzNUhSO0VxQi83SEU7SUdrREEscUNBVE07RXhCeTVIUjtFcUJsOEhFO0lHa0RBLHFDQVRNO0V4QjQ1SFI7RXFCcjhIRTtJR2tEQSwyQkFUTTtFeEIrNUhSO0FBQ0Y7QUU1NEhRO0VtQnpFTjtJRzhERSxZQVRNO0V4Qm82SFI7RXFCcjlIQTtJRzBERSxZQVRNO0V4QnU2SFI7RXFCaDlIRTtJR2tEQSxvQ0FUTTtFeEIwNkhSO0VxQm45SEU7SUdrREEscUNBVE07RXhCNjZIUjtFcUJ0OUhFO0lHa0RBLDBCQVRNO0V4Qmc3SFI7RXFCejlIRTtJR2tEQSxxQ0FUTTtFeEJtN0hSO0VxQjU5SEU7SUdrREEscUNBVE07RXhCczdIUjtFcUIvOUhFO0lHa0RBLDBCQVRNO0V4Qnk3SFI7RXFCbCtIRTtJR2tEQSxxQ0FUTTtFeEI0N0hSO0VxQnIrSEU7SUdrREEscUNBVE07RXhCKzdIUjtFcUJ4K0hFO0lHa0RBLDBCQVRNO0V4Qms4SFI7RXFCMytIRTtJR2tEQSxxQ0FUTTtFeEJxOEhSO0VxQjkrSEU7SUdrREEscUNBVE07RXhCdzhIUjtFcUJqL0hFO0lHa0RBLDJCQVRNO0V4QjI4SFI7QUFDRjtBRXg3SFE7RW1CekVOO0lHOERFLFlBVE07RXhCZzlIUjtFcUJqZ0lBO0lHMERFLFlBVE07RXhCbTlIUjtFcUI1L0hFO0lHa0RBLG9DQVRNO0V4QnM5SFI7RXFCLy9IRTtJR2tEQSxxQ0FUTTtFeEJ5OUhSO0VxQmxnSUU7SUdrREEsMEJBVE07RXhCNDlIUjtFcUJyZ0lFO0lHa0RBLHFDQVRNO0V4Qis5SFI7RXFCeGdJRTtJR2tEQSxxQ0FUTTtFeEJrK0hSO0VxQjNnSUU7SUdrREEsMEJBVE07RXhCcStIUjtFcUI5Z0lFO0lHa0RBLHFDQVRNO0V4QncrSFI7RXFCamhJRTtJR2tEQSxxQ0FUTTtFeEIyK0hSO0VxQnBoSUU7SUdrREEsMEJBVE07RXhCOCtIUjtFcUJ2aElFO0lHa0RBLHFDQVRNO0V4QmkvSFI7RXFCMWhJRTtJR2tEQSxxQ0FUTTtFeEJvL0hSO0VxQjdoSUU7SUdrREEsMkJBVE07RXhCdS9IUjtBQUNGOztBcUJ0ekhFO0VPcFZFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxxQkFBQTtNQUFBLGlCQUFBO0VBQ0EsMEJBQUE7TUFBQSx1QkFBQTtVQUFBLG9CQUFBO0VBbUNJLFlBQUE7QTVCNG1JUjs7QXFCMXpIRTtFQUNFLFdBQUE7QXJCNnpISjs7QXFCMXpIRTtFT25TRSxnQkFBQTtFQUNBLGVBQUE7RUFHRixpQ0FBQTtFQUNBLDRDQUFBO0E1QitsSUY7O0FxQjd6SEU7RU8zU0UsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBTUYsaUNBQUE7RUFDQSw0Q0FBQTtBNUJ1bUlGOztBcUJoMEhF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O0VtQjVDTjtJQ3ZHTSxzQkFBQTtJQUFBLHlCQUFBO0V0QjQzSU47QUFDRjtBRXJ1SVE7RW1CakROO0lDdkdNLG9CQUFBO0lBQUEsdUJBQUE7RXRCazRJTjtBQUNGO0FxQnh4SUk7RUdrQ0EsNEJBVE07RUYzSEosb0JBQUE7RUFBQSx1QkFBQTtBdEIrM0lOO0FFcnZJUTtFbUJqQ0E7SUcyQkosNkJBVE07SUYzSEoscUJBQUE7SUFBQSx3QkFBQTtFdEJxNElKO0FBQ0Y7QUV2dklRO0VtQnRDQTtJRzJCSiwyQkFUTTtJRjNISixtQkFBQTtJQUFBLHNCQUFBO0V0QjQ0SUo7QUFDRjtBcUJ2MElFO0VHOERFLFlBVE07QXhCcXhJVjtBcUJ0MElFO0VHMERFLFlBVE07QXhCd3hJVjtBcUJqMElJO0VHa0RBLHFDQVRNO0F4QjJ4SVY7QXFCcDBJSTtFR2tEQSxzQ0FUTTtBeEI4eElWO0FxQnYwSUk7RUdrREEsMkJBVE07QXhCaXlJVjtBcUIxMElJO0VHa0RBLHNDQVRNO0F4Qm95SVY7QXFCNzBJSTtFR2tEQSxzQ0FUTTtBeEJ1eUlWO0FxQmgxSUk7RUdrREEsMkJBVE07QXhCMHlJVjtBcUJuMUlJO0VHa0RBLHNDQVRNO0F4QjZ5SVY7QXFCdDFJSTtFR2tEQSxzQ0FUTTtBeEJneklWO0FxQnoxSUk7RUdrREEsMkJBVE07QXhCbXpJVjtBcUI1MUlJO0VHa0RBLHNDQVRNO0F4QnN6SVY7QXFCLzFJSTtFR2tEQSxzQ0FUTTtBeEJ5eklWO0FxQmwySUk7RUdrREEsNEJBVE07QXhCNHpJVjtBRTd5SVE7RW1CcEVOO0lHOERFLFlBVE07RXhCZzBJUjtFcUJqM0lBO0lHMERFLFlBVE07RXhCbTBJUjtFcUI1MklFO0lHa0RBLHNDQVRNO0V4QnMwSVI7RXFCLzJJRTtJR2tEQSx1Q0FUTTtFeEJ5MElSO0VxQmwzSUU7SUdrREEsNEJBVE07RXhCNDBJUjtFcUJyM0lFO0lHa0RBLHVDQVRNO0V4QiswSVI7RXFCeDNJRTtJR2tEQSx1Q0FUTTtFeEJrMUlSO0VxQjMzSUU7SUdrREEsNEJBVE07RXhCcTFJUjtFcUI5M0lFO0lHa0RBLHVDQVRNO0V4QncxSVI7RXFCajRJRTtJR2tEQSx1Q0FUTTtFeEIyMUlSO0VxQnA0SUU7SUdrREEsNEJBVE07RXhCODFJUjtFcUJ2NElFO0lHa0RBLHVDQVRNO0V4QmkySVI7RXFCMTRJRTtJR2tEQSx1Q0FUTTtFeEJvMklSO0VxQjc0SUU7SUdrREEsNkJBVE07RXhCdTJJUjtFcUI1NUlBO0lHOERFLFlBVE07RXhCMDJJUjtFcUIzNUlBO0lHMERFLFlBVE07RXhCNjJJUjtFcUJ0NUlFO0lHa0RBLHNDQVRNO0V4QmczSVI7RXFCejVJRTtJR2tEQSx1Q0FUTTtFeEJtM0lSO0VxQjU1SUU7SUdrREEsNEJBVE07RXhCczNJUjtFcUIvNUlFO0lHa0RBLHVDQVRNO0V4QnkzSVI7RXFCbDZJRTtJR2tEQSx1Q0FUTTtFeEI0M0lSO0VxQnI2SUU7SUdrREEsNEJBVE07RXhCKzNJUjtFcUJ4NklFO0lHa0RBLHVDQVRNO0V4Qms0SVI7RXFCMzZJRTtJR2tEQSx1Q0FUTTtFeEJxNElSO0VxQjk2SUU7SUdrREEsNEJBVE07RXhCdzRJUjtFcUJqN0lFO0lHa0RBLHVDQVRNO0V4QjI0SVI7RXFCcDdJRTtJR2tEQSx1Q0FUTTtFeEI4NElSO0VxQnY3SUU7SUdrREEsNkJBVE07RXhCaTVJUjtBQUNGO0FFOTNJUTtFbUJ6RU47SUc4REUsWUFUTTtFeEJzNUlSO0VxQnY4SUE7SUcwREUsWUFUTTtFeEJ5NUlSO0VxQmw4SUU7SUdrREEsb0NBVE07RXhCNDVJUjtFcUJyOElFO0lHa0RBLHFDQVRNO0V4Qis1SVI7RXFCeDhJRTtJR2tEQSwwQkFUTTtFeEJrNklSO0VxQjM4SUU7SUdrREEscUNBVE07RXhCcTZJUjtFcUI5OElFO0lHa0RBLHFDQVRNO0V4Qnc2SVI7RXFCajlJRTtJR2tEQSwwQkFUTTtFeEIyNklSO0VxQnA5SUU7SUdrREEscUNBVE07RXhCODZJUjtFcUJ2OUlFO0lHa0RBLHFDQVRNO0V4Qmk3SVI7RXFCMTlJRTtJR2tEQSwwQkFUTTtFeEJvN0lSO0VxQjc5SUU7SUdrREEscUNBVE07RXhCdTdJUjtFcUJoK0lFO0lHa0RBLHFDQVRNO0V4QjA3SVI7RXFCbitJRTtJR2tEQSwyQkFUTTtFeEI2N0lSO0VxQmwvSUE7SUc4REUsWUFUTTtFeEJnOElSO0VxQmovSUE7SUcwREUsWUFUTTtFeEJtOElSO0VxQjUrSUU7SUdrREEsb0NBVE07RXhCczhJUjtFcUIvK0lFO0lHa0RBLHFDQVRNO0V4Qnk4SVI7RXFCbC9JRTtJR2tEQSwwQkFUTTtFeEI0OElSO0VxQnIvSUU7SUdrREEscUNBVE07RXhCKzhJUjtFcUJ4L0lFO0lHa0RBLHFDQVRNO0V4Qms5SVI7RXFCMy9JRTtJR2tEQSwwQkFUTTtFeEJxOUlSO0VxQjkvSUU7SUdrREEscUNBVE07RXhCdzlJUjtFcUJqZ0pFO0lHa0RBLHFDQVRNO0V4QjI5SVI7RXFCcGdKRTtJR2tEQSwwQkFUTTtFeEI4OUlSO0VxQnZnSkU7SUdrREEscUNBVE07RXhCaStJUjtFcUIxZ0pFO0lHa0RBLHFDQVRNO0V4Qm8rSVI7RXFCN2dKRTtJR2tEQSwyQkFUTTtFeEJ1K0lSO0VxQjVoSkE7SUc4REUsWUFUTTtFeEIwK0lSO0VxQjNoSkE7SUcwREUsWUFUTTtFeEI2K0lSO0VxQnRoSkU7SUdrREEsb0NBVE07RXhCZy9JUjtFcUJ6aEpFO0lHa0RBLHFDQVRNO0V4Qm0vSVI7RXFCNWhKRTtJR2tEQSwwQkFUTTtFeEJzL0lSO0VxQi9oSkU7SUdrREEscUNBVE07RXhCeS9JUjtFcUJsaUpFO0lHa0RBLHFDQVRNO0V4QjQvSVI7RXFCcmlKRTtJR2tEQSwwQkFUTTtFeEIrL0lSO0VxQnhpSkU7SUdrREEscUNBVE07RXhCa2dKUjtFcUIzaUpFO0lHa0RBLHFDQVRNO0V4QnFnSlI7RXFCOWlKRTtJR2tEQSwwQkFUTTtFeEJ3Z0pSO0VxQmpqSkU7SUdrREEscUNBVE07RXhCMmdKUjtFcUJwakpFO0lHa0RBLHFDQVRNO0V4QjhnSlI7RXFCdmpKRTtJR2tEQSwyQkFUTTtFeEJpaEpSO0FBQ0Y7QUU5L0lRO0VtQnpFTjtJRzhERSxZQVRNO0V4QnNoSlI7RXFCdmtKQTtJRzBERSxZQVRNO0V4QnloSlI7RXFCbGtKRTtJR2tEQSxvQ0FUTTtFeEI0aEpSO0VxQnJrSkU7SUdrREEscUNBVE07RXhCK2hKUjtFcUJ4a0pFO0lHa0RBLDBCQVRNO0V4QmtpSlI7RXFCM2tKRTtJR2tEQSxxQ0FUTTtFeEJxaUpSO0VxQjlrSkU7SUdrREEscUNBVE07RXhCd2lKUjtFcUJqbEpFO0lHa0RBLDBCQVRNO0V4QjJpSlI7RXFCcGxKRTtJR2tEQSxxQ0FUTTtFeEI4aUpSO0VxQnZsSkU7SUdrREEscUNBVE07RXhCaWpKUjtFcUIxbEpFO0lHa0RBLDBCQVRNO0V4Qm9qSlI7RXFCN2xKRTtJR2tEQSxxQ0FUTTtFeEJ1akpSO0VxQmhtSkU7SUdrREEscUNBVE07RXhCMGpKUjtFcUJubUpFO0lHa0RBLDJCQVRNO0V4QjZqSlI7QUFDRjtBRTFpSlE7RW1CekVOO0lHOERFLFlBVE07RXhCa2tKUjtFcUJubkpBO0lHMERFLFlBVE07RXhCcWtKUjtFcUI5bUpFO0lHa0RBLG9DQVRNO0V4QndrSlI7RXFCam5KRTtJR2tEQSxxQ0FUTTtFeEIya0pSO0VxQnBuSkU7SUdrREEsMEJBVE07RXhCOGtKUjtFcUJ2bkpFO0lHa0RBLHFDQVRNO0V4QmlsSlI7RXFCMW5KRTtJR2tEQSxxQ0FUTTtFeEJvbEpSO0VxQjduSkU7SUdrREEsMEJBVE07RXhCdWxKUjtFcUJob0pFO0lHa0RBLHFDQVRNO0V4QjBsSlI7RXFCbm9KRTtJR2tEQSxxQ0FUTTtFeEI2bEpSO0VxQnRvSkU7SUdrREEsMEJBVE07RXhCZ21KUjtFcUJ6b0pFO0lHa0RBLHFDQVRNO0V4Qm1tSlI7RXFCNW9KRTtJR2tEQSxxQ0FUTTtFeEJzbUpSO0VxQi9vSkU7SUdrREEsMkJBVE07RXhCeW1KUjtBQUNGOztBcUIvMUlJO0VPdFlJLDZCQUFBO0E1Qnl1SlI7QUUvbEpRO0VtQjRQSjtJT3RZSSw4QkFBQTtFNUI2dUpOO0FBQ0Y7QUUvbEpRO0VtQnVQSjtJT3RZSSw0QkFBQTtFNUJrdkpOO0FBQ0Y7QUVwbUpRO0VtQnVQSjtJT3RZSSw0QkFBQTtFNUJ1dkpOO0FBQ0Y7QUV6bUpRO0VtQnVQSjtJT3RZSSw0QkFBQTtFNUI0dkpOO0FBQ0Y7O0FFbm5KUTtFbUJnUUY7SU8xWUUsOEJBQUE7RTVCa3dKTjtBQUNGO0FFcG5KUTtFbUIyUEY7SU8xWUUsNEJBQUE7RTVCdXdKTjtBQUNGO0FFem5KUTtFbUIyUEY7SU8xWUUsNEJBQUE7RTVCNHdKTjtBQUNGO0FFOW5KUTtFbUIyUEY7SU8xWUUsNEJBQUE7RTVCaXhKTjtBQUNGO0E2Qi8rSUU7RUExT0EscUJBQUE7RUFDQSxzQkFBQTtFQUNBLGtCdkJrVGM7RXVCeFNaLG1CdkJ1U2E7RXVCcFNmLDZCQTlEYztFQStEZCxnQnZCcUdjO0V1QnBHZCx5RXZCcVRrQjtFdUJyVGxCLGlFdkJxVGtCO0V1QnBUbEIsb0J2QmdTbUI7RXVCL1JuQixpQkFBQTtFQUVBLHdCQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtBN0JndEpGO0FPam9KRTtFQUNFLFVBQUE7QVBtb0pKO0E2QjUvSU07RUFDRSxpQkFGbUI7QTdCZ2dKM0I7QTZCLy9JTTtFQUNFLGtCQUZtQjtBN0JtZ0ozQjtBNkJsZ0pNO0VBQ0Usa0JBRm1CO0E3QnNnSjNCO0E2QmhnSkk7RUFyTkEsY0FBQTtFQUNBLFdBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtBN0J3dEpKO0E2QnZwSkU7RUFJRSx5QlpoRmdCO0VZaUZoQixjdkJyR0k7QU4ydkpSO0E2Qm5wSkU7RUFDRSx5QnZCMk1zQjtFdUIxTXRCLGN2QjFHSTtBTit2SlI7QTZCL3BKRTtFQUlFLHlCdkJQaUI7RXVCUWpCLGNBYlE7QTdCMnFKWjtBNkIzcEpFO0VBQ0UseUJBYm1CO0VBY25CLGNBbEJRO0E3QitxSlo7QTZCdnFKRTtFQUlFLGdEdkJQaUI7RXVCUWpCLGNBYlE7QTdCbXJKWjtBNkJucUpFO0VBQ0UseUJBYm1CO0VBY25CLGNBbEJRO0E3QnVySlo7QTZCL3FKRTtFQUlFLHlCdkJQaUI7RXVCUWpCLGNBYlE7QTdCMnJKWjtBNkIzcUpFO0VBQ0UseUJBYm1CO0VBY25CLGNBbEJRO0E3QitySlo7QTZCdnJKRTtFQUlFLHlCdkJQaUI7RXVCUWpC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QSxrQkFBQTtZQUFBLGNBQUE7SUFLRixnQkFBQTtFOUI2aEtGO0FBQ0Y7QUU3aUtRO0U0QjBHSjtJQUVJLGNBQUE7RTlCcThKTjtFOEJuOEpNO0lBQ0UsY0FBQTtJQUNBLGVBQUE7RTlCcThKUjtBQUNGO0FFdGpLUTtFNEJxSEo7SUFFSSxjQUFBO0U5Qm04Sk47RThCajhKTTtJQUNFLGNBQUE7SUFDQSxlQUFBO0U5Qm04SlI7QUFDRjs7QStCdm9LRTtFQVpBLGtCQUFBO0VBQ0EsV0FsRm9CO0VBbUZwQixxQ3pCRlU7RXlCR1YsZUFBQTtBL0J1cEtGO0FPaGpLRTtFQUNFLFVBQUE7QVBraktKO0ErQnhwS0U7RUFFRSxxQ3pCVEk7QU5rcUtSO0ErQjNvS1E7RUFqQ04sY0FBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtFQUNBLGNBQUE7QS9CK3FLRjs7QStCanBLUTtFQWpDTixXQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUE7RUFDQSxjQUFBO0EvQnNyS0Y7O0FnQzF0S0U7RUFaQSxxQkFBQTtFQUNBLDBCMUJnaUJjO0UwQjloQmQsZ0IxQjhLYztFMEI1S2QsaUIxQjJoQmdCO0UwQjFoQmhCLGNBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7RUFPRSwwQzFCOENVO0UwQjdDVixxQzFCdUNJO0FOMnJLUjtBZ0MvdEtNO0VBQ0UsMEMxQnlnQlE7RTBCeGdCUixxQ0FBQTtBaENpdUtSO0FnQ251S007RUFDRSxtQjFCeWdCUTtFMEJ4Z0JSLGNBQUE7QWhDcXVLUjtBZ0N2dUtNO0VBQ0UsbUIxQnlnQlE7RTBCeGdCUixxQ0FBQTtBaEN5dUtSO0FnQzN1S007RUFDRSxtQjFCeWdCUTtFMEJ4Z0JSLGNBQUE7QWhDNnVLUjs7QWlDL3ZLRTtFQW5DQSxZM0IrcEJnQjtFMkI5cEJoQixtQjNCMk1jO0UyQjFNZCxnQjNCK01jO0UyQjlNZCxnRDNCdUZLO0FOK3NLUDtBaUNqd0tRO0VBQ0UseUIzQm1KVztBTmduS3JCO0FpQ3B3S1E7RUFDRSxnRDNCbUpXO0FObW5LckI7QWlDdndLUTtFQUNFLHlCM0JtSlc7QU5zbktyQjtBaUMx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QnVCO0U2QjN2QnZCLFdBQUE7QW5DNDBLSjtBbUN4MEtFO0VBQ0UsbUJsQmRnQjtBakJ3MUtwQjtBbUN4MEtJO0VBQ0UsY0E1Q21CO0FuQ3MzS3pCO0FtQ3IwS0U7RUFDRSxtQkFsRnFCO0VBbUZyQixZQXZGc0I7QW5DODVLMUI7QU8vd0tFO0VBQ0UsVUFBQTtBUGl4S0o7O0FtQ252S0U7RUE3RUEsa0JBQUE7RUFDQSxRQUFBO0VBQ0EsbUNBQUE7VUFBQSwyQkFBQTtBbkNvMEtGOztBbUNwdktFO0VBM0VBLFFBQUE7RUFDQSxhQUFBO0FuQ20wS0Y7QW1DajBLRTtFQUNFLGNBQUE7QW5DbTBLSjs7QW1DdHZLRTtFQXZFQSxVQUFBO0FuQ2kwS0Y7QW1DL3pLRTtFQUNFLGFBQUE7QW5DaTBLSjs7QW1DdnZLRTtFQXZEQSxnQjdCbXJCbUI7QU4rbkpyQjtBbUNoektFO0VBQ0UsY0FSYTtFQVNiLGdCN0IrcUJpQjtFNkI5cUJqQixtQkFtRHFCO0FuQyt2S3pCO0FtQy95S0U7RUFDRSxhN0JnckJtQjtFNkIvcUJuQixjN0IrcUJtQjtFNkI5cUJuQixlQWZhO0VBZ0JiLGdCQWZjO0FuQ2cwS2xCO0FtQzl5S0U7RUFDRSxVQWxCcUI7QW5DazBLekI7O0FtQ3J3S0U7RUEzREEsZTdCb3JCb0I7QU5ncEp0QjtBbUNsMEtFO0VBQ0UsYUFSYTtFQVNiLGU3QmdyQmtCO0U2Qi9xQmxCLGtCQXVEcUI7QW5DNndLekI7QW1DajBLRTtFQUNFLGE3QmdyQm1CO0U2Qi9xQm5CLGM3QitxQm1CO0U2QjlxQm5CLGFBZmE7RUFnQmIsY0FmYztBbkNrMUtsQjtBbUNoMEtFO0VBQ0UsY0FsQnFCO0FuQ28xS3pCOztBbUNueEtFO0VBL0RBLGM3QnFyQm9CO0FOaXFKdEI7QW1DcDFLRTtFQUNFLFdBUmE7RUFTYixjN0JpckJrQjtFNkJockJsQixlQTJEcUI7QW5DMnhLekI7QW1DbjFLRTtFQUNFLGE3QmdyQm1CO0U2Qi9xQm5CLGM3QitxQm1CO0U2QjlxQm5CLGNBZmE7RUFnQmIsZUFmYztBbkNvMktsQjtBbUNsMUtFO0VBQ0UsY0FsQnFCO0FuQ3MyS3pCOztBb0N0dktFO0VBOUdBLHlCQUFBO0VBQ0EsV0FBQTtFQUNBLG1COUJjYztFOEJiZCxnQjlCa0JjO0FOczFLaEI7QW9DaDhLRTs7O0VBR0UsZ0Q5Qm94Qlc7RThCbnhCWCx5QjlCWkk7QU44OEtSOztBb0M5N0tFO0VBQ0UsaUM5Qit3Qlk7RThCOXdCWixpQjlCK0ZpQjtBTmsyS3JCOztBb0M3N0tFO0VBQ0UsbUI5Qmd4Qm9CO0U4Qi93QnBCLHFDOUJoQ0k7QU5nK0tSOztBb0M1N0tFO0VBQ0UsbUI5QjR3Qm9CO0U4QjN3QnBCLHFDOUJ0Q0k7QU5xK0tSOztBb0N4N0tJOztFQUNFLHVCQUFBO0FwQzQ3S047QW9DeDdLSTs7OztFQUVFLGlDOUJvdkJVO0U4Qm52QlYsaUI5Qm9FZTtFOEJuRWYsZ0JBQUE7QXBDNDdLTjs7QW9DdDdLSTs7RUFFRSxpQzlCMHVCVTtBTitzSmhCOztBb0M5L0tNO0VBQ0UsZ0JBQUE7RUFDQSx5QjlCa3pCbUI7QU4rc0ozQjs7QW9DbjdLTTtFQUVFLHlCOUJuRUE7QU53L0tSO0FvQ3YvS0U7RUFDRSx1RDlCNnhCVztFOEI1eEJYLHlCOUJISTtBTjQvS1I7O0FFOTZLUTtFa0N3R0o7SUFDRSxhQUFBO0VwQzAwS0o7RW9DdDBLQTtJQUNFLGFBQUE7RXBDdzBLRjtFb0NyMEtBOzs7SUFHRSxjQUFBO0VwQ3UwS0Y7RW9DcDBLQTtJQUNFLGFBQUE7RXBDczBLRjtBQUNGOztBb0N4ektFO0VBdkdBLGNBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7QXBDbTZLRjs7QW9DNTVLSTtFQUNFLHlCOUJnckJpQjtBTit1SnZCO0FvQ3o1S0k7RUFDRSx5QjlCMnFCaUI7QU5ndkp2QjtBb0NyNUtJO0VBQ0UseUI5QjRwQlk7QU4ydkpsQjtBb0NoNUtNO0VBQ0UseUI5QnFwQmlCO0FONnZKekI7O0FvQ24wS0U7RUFDRSxnQkFBQTtBcENzMEtKOztBcUN4bExFO0VBWEEscUJBQUE7RUFDQSxvQi9Cd1ZlO0UrQnZWZixrQi9Cc1ZjO0UrQnBWZCxrQkFBQTtFQUVBLG1CL0JvVmdC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LHlCbkMrQ1U7RW1DN0NWLGVuQzRibUI7QU44ektyQjtBeUN0dkxFO0VBQ0UsY0FBQTtBekN3dkxKO0F5Q3J2TEU7RUFDRSxjQUFBO0VBQ0EsbUJBQUE7QXpDdXZMSjs7QXlDNXVMTTtFQUNFLFluQ3lhUztBTnMwS2pCOztBeUNodkxNO0VBQ0UsWW5DeWFTO0FOMDBLakI7O0F5Q3B2TE07RUFDRSxZbkN5YVM7QU44MEtqQjs7QTBDM3BMRTtFQW5GQSxjQUFBO0VBQ0EsbUJwQzJIYztBTnVuTGhCO0FPaHFMRTtFQUVFLGNBQUE7RUFDQSxZQUFBO0VBR0UsMEJBQUE7TUFBQSxhQUFBO0VBQ0EsNEJBQUE7TUFBQSxpQkFBQTtVQUFBLFFBQUE7QVArcExOO0FPM3BMRTtFQUNFLFdBQUE7QVA2cExKO0EwQ3h2TEU7RUFDRSx1QnBDNGpCc0I7RW9DM2pCdEIsZ0JwQzJIWTtFb0MxSFosbUJwQ3NqQm1CO0VvQ2hqQmpCLGFBQUE7QTFDcXZMTjtBMENudkxNO0VBRUUscUJBQUE7QTFDb3ZMUjtBRXhxTFE7RXdDekZOO0lBdUJNLHFCQUFBO0UxQzh1TE47QUFDRjtBMEN6dUxFOztFQUVFLGNBQUE7RUFDQSwyQnBDNGhCc0I7RW9DM2hCdEIsZ0JwQzRGWTtFb0MzRlosY3pCSGdCO0FqQjh1THBCO0EwQ3p1TEk7O0VBQ0UsMENwQzVCUTtBTnd3TGQ7QTBDL3JMSTtFQWxDRiwyQnBDNGdCd0I7RW9DM2dCeEIsbUJwQ2hDWTtFb0NpQ1oscUNwQzlDUztFb0MrQ1QsZUFBQTtBMUNvdUxGO0EwQ2pzTEk7RUEzQkYsMkJwQ2lnQndCO0VvQ2hnQnhCLHFDcENyRFc7RW9Dc0RYLG1CQUFBO0ExQyt0TEY7QTBDN3RMRTtFQUNFLHVCQUFBO0ExQyt0TEo7QTBDcnNMSTtFQWpCRiwyQnBDbWZ3QjtFb0NsZnhCLFlBQUE7RUFDQSxxQ3BDckVLO0FOOHhMUDs7QTBDcHNMSTs7RUFFRSxxQkFBQTtFQUNBLG9CQUFBO0VBQ0EsWUF6SHNCO0ExQ2cwTDVCOztBMENwc0xJOztFQUVFLHFCQUFBO0VBQ0EsbUJBQUE7RUFDQSxZQTVIa0I7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a0IxQ2kwQmlCO0UwQ2gwQmpCLGNBQUE7RUFDQSxjL0IyQmdCO0FqQmdvTXBCO0FPaGpNRTtFQUNFLFVBQUE7QVBrak1KO0FnRDVwTUk7RUFDRSxtQjFDSUU7RTBDSEYsY0FBQTtBaEQ4cE1OO0FnRDNwTUk7RUFFRSx1QjFDb3pCa0I7RTBDbnpCbEIsYy9CaUJjO0FqQjJvTXBCOztBZ0Qva01FO0VBbEVBLGdEQUFBO0VBQ0EsYUFBQTtFQUNBLHVCMUM0eUJ1QjtFMEMzeUJ2QixjMUM2eUJrQjtFMEM1eUJsQixpQ0FBQTtFQUFBLHlCQUFBO0FoRHFwTUY7O0FnRG5sTUU7RUEzREEsZ0RBQUE7RUFDQSxjQUFBO0FoRGtwTUY7O0FnRHBsTUU7RUF2REEsYUFBQTtFQUNBLGlCMUM2eEJvQjtBTmszS3RCO0FnRDdvTUU7RUFDRSxjQUFBO0FoRCtvTUo7O0FpRDl0TUU7RUF6QkEscUJBQUE7RUFDQSxlQUFBO0VBQ0EsbUIzQzhLYztFMkM1S2QseUIzQ200QmlCO0UyQ2w0QmpCLGdCM0NnTGM7RTJDL0tkLG1EM0NtNEJpQjtVMkNuNEJqQiwyQzNDbTRCaUI7RTJDajRCakIsY0FBQTtBakR5dk1GOztBaURwdU1FO0VBakJBLHFEM0MrM0JxQjtFMkMvM0JyQiw2QzNDKzNCcUI7RTJDLzNCckIscUMzQyszQnFCO0UyQy8zQnJCLHdFM0MrM0JxQjtBTjAzS3ZCO0FpRHZ2TUU7RUFFRSxzRDNDMDNCcUI7VTJDMTNCckIsOEMzQzAzQnFCO0FOODNLekI7QWlEcnZNRTtFQUNFLHdCQUFBO1VBQUEsZ0JBQUE7QWpEdXZNSjs7QWtEMTZMRTtFQTFVQSxVQUFBO0VBQ0EsU0FBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFHRSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLG1CQUFBO01BQUEsZUFBQTtBbERzdk1KO0FPN21NRTtFQUNFLFVBQUE7QVArbU1KO0FrRGx2TUU7O0VBRUUsY0FBQTtFQUNBLHFCQUFBO0VBQ0EsY0FBQTtFQUNBLG9CNUM0SWtCO0FOd21NdEI7QWtEaHZNRTs7OztFQUlFLGdCQUFBO0Fs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RDkrUE07RUNoQ0osNEJEK0JlO01DL0JmLGlCRCtCZTtVQy9CZixRRCtCZTtBNURtL1BqQjs7QTREbC9QTTtFQ2hDSiw0QkQrQmU7TUMvQmYsaUJEK0JlO1VDL0JmLFFEK0JlO0E1RHUvUGpCOztBNER0L1BNO0VDaENKLDRCRCtCZTtNQy9CZixpQkQrQmU7VUMvQmYsUUQrQmU7QTVEMi9QakI7O0E0RDEvUE07RUNoQ0osNEJEK0JlO01DL0JmLGlCRCtCZTtVQy9CZixRRCtCZTtBNUQrL1BqQjs7QTREOS9QTTtFQ2hDSiw0QkQrQmU7TUMvQmYsaUJEK0JlO1VDL0JmLFFEK0JlO0E1RG1nUWpCOztBRTc3UFE7RTBEckVGO0lDaENKLDRCRCtCZTtRQy9CZixpQkQrQmU7WUMvQmYsUUQrQmU7RTVEd2dRZjtFNER2Z1FJO0lDaENKLDRCRCtCZTtRQy9CZixpQkQrQmU7WUMvQmYsUUQrQmU7RTVEMmdRZjtFNEQxZ1FJO0lDaENKLDRCRCtCZTtRQy9CZixpQkQrQmU7WUMvQmYsUUQrQmU7RTVEOGdRZjtFNEQ3Z1FJO0lDaENKLDRCRCtCZTtRQy9CZixpQkQrQmU7WUMvQmYsUUQrQmU7RTVEaWhRZjtFNERoaFFJO0lDaENKLDRCRCtCZTtRQy9CZixpQkQrQmU7WUMvQmYsUUQrQmU7RTVEb2hRZjtFNERuaFFJO0lDaENKLDRCRCtCZTtRQy9CZixpQkQrQmU7WUMvQmYsUUQrQmU7RTVEdWhRZjtBQUNGO0FFNzhQUTtFMEQxRUY7SUNoQ0osNEJEK0JlO1FDL0JmLGlCRCtCZTtZQy9CZixRRCtCZTtFNUQ0aFFmO0U0RDNoUUk7SUNoQ0osNEJEK0JlO1FDL0JmLGlCRCtCZTtZQy9CZixRRCtCZTtFNUQraFFmO0U0RDloUUk7SUNoQ0osNEJEK0JlO1FDL0JmLGlCRCtCZTtZQy9CZixRRCtCZTtFNURraVFmO0U0RGppUUk7SUNoQ0osNEJEK0JlO1FDL0JmLGlCRCtCZTtZQy9CZixRRCtCZTtFNURxaVFmO0U0RHBpUUk7SUNoQ0osNEJEK0JlO1FDL0JmLGlCRCtCZTtZQy9CZixRRCtCZTtFNUR3aVFmO0U0RHZpUUk7SUNoQ0osNEJEK0JlO1FDL0JmLGlCRCtCZTtZQy9CZixRRCtCZTtFNUQyaVFmO0FBQ0Y7QUVqK1BRO0UwRDFFRjtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0U1RGdqUWY7RTREL2lRSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0U1RG1qUWY7RTREbGpRSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0U1RHNqUWY7RTREcmpRSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0U1RHlqUWY7RTREeGpRSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0U1RDRqUWY7RTREM2pRSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0U1RCtqUWY7QUFDRjtBRXIvUFE7RTBEMUVGO0lDaENKLDRCRCtCZTtRQy9CZixpQkQrQmU7WUMvQmYsUUQrQmU7RTVEb2tRZjtFNERua1FJO0lDaENKLDRCRCtCZTtRQy9CZixpQkQrQmU7WUMvQmYsUUQrQmU7RTVEdWtRZjtFNER0a1FJO0lDaENKLDRCRCtCZTtRQy9CZixpQkQrQmU7WUMvQmYsUUQrQmU7RTVEMGtRZjtFNER6a1FJO0lDaENKLDRCRCtCZTtRQy9CZixpQkQrQmU7WUMvQmYsUUQrQmU7RTVENmtRZjtFNEQ1a1FJO0lDaENKLDRCRCtCZTtRQy9CZixpQkQrQmU7WUMvQmYsUUQrQmU7RTVEZ2xRZjtFNEQva1FJO0lDaENKLDRCRCtCZTtRQy9CZixpQkQrQmU7WUMvQmYsUUQrQmU7RTVEbWxRZjtBQUNGO0E0RGhyUUU7RUNZQSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtBN0R1cVFGOztBNEQvcVFFO0VBQ0UsbUJBQUE7TUFBQSxrQkFBQTtVQUFBLGNBQUE7QTVEa3JRSjs7QTREL3FRRTtFQUNFLG1CQUFBO01BQUEsa0JBQUE7VUFBQSxjQUFBO0E1RGtyUUo7O0E0RC9xUUU7RUFDRSxtQkFBQTtNQUFBLGtCQUFBO1VBQUEsY0FBQTtBNURrclFKOztBNEQ5cVFJO0VDc0RGLDhCQXBFbUI7RUFvRW5CLDZCQXBFbUI7TUFvRW5CLHVCQXBFbUI7VUFvRW5CLG1CQXBFbUI7QTdEZ3NRckI7O0E0RGxyUUk7RUNzREYsOEJBcEVtQjtFQW9FbkIsOEJBcEVtQjtNQW9FbkIsK0JBcEVtQjtVQW9FbkIsMkJBcEVtQjtBN0Rvc1FyQjs7QTREdHJRSTtFQ3NERiw0QkFwRW1CO0VBb0VuQiw2QkFwRW1CO01Bb0VuQiwwQkFwRW1CO1VBb0VuQixzQkFwRW1CO0E3RHdzUXJCOztBNEQxclFJO0VDc0RGLDRCQXBFbUI7RUFvRW5CLDhCQXBFbUI7TUFvRW5CLGtDQXBFbUI7VUFvRW5CLDhCQXBFbUI7QTdENHNRckI7O0FFN2lRUTtFMER2SUU7SUNmUixvQkFBQTtJQUFBLG9CQUFBO0lBQUEsYUFBQTtFN0R3c1FBO0U0RHJyUVE7SUFDRSxtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtFNUR1clFWO0U0RHByUVE7SUFDRSxtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtFNURzclFWO0U0RG5yUVE7SUFDRSxtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtFNURxclFWO0U0RGpyUVU7SUMyQlYsOEJBcEVtQjtJQW9FbkIsNkJBcEVtQjtRQW9FbkIsdUJBcEVtQjtZQW9FbkIsbUJBcEVtQjtFN0Q2dFFuQjtFNERwclFVO0lDMkJWLDhCQXBFbUI7SUFvRW5CLDhCQXBFbUI7UUFvRW5CLCtCQXBFbUI7WUFvRW5CLDJCQXBFbUI7RTdEZ3VRbkI7RTREdnJRVTtJQzJCViw0QkFwRW1CO0lBb0VuQiw2QkFwRW1CO1FBb0VuQiwwQkFwRW1CO1lBb0VuQixzQkFwRW1CO0U3RG11UW5CO0U0RDFyUVU7SUMyQlYsNEJBcEVtQjtJQW9FbkIsOEJBcEVtQjtRQW9FbkIsa0NBcEVtQjtZQW9FbkIsOEJBcEVtQjtFN0RzdVFuQjtBQUNGO0FFbmtRUTtFMEQ1SUU7SUNmUixvQkFBQTtJQUFBLG9CQUFBO0lBQUEsYUFBQTtFN0RrdVFBO0U0RC9zUVE7SUFDRSxtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtFNURpdFFWO0U0RDlzUVE7SUFDRSxtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtFNURndFFWO0U0RDdzUVE7SUFDRSxtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtFNUQrc1FWO0U0RDNzUVU7SUMyQlYsOEJBcEVtQjtJQW9FbkIsNkJBcEVtQjtRQW9FbkIsdUJBcEVtQjtZQW9FbkIsbUJBcEVtQjtFN0R1dlFuQjtFNEQ5c1FVO0lDMkJWLDhCQXBFbUI7SUFvRW5CLDhCQXBFbUI7UUFvRW5CLCtCQXBFbUI7WUFvRW5CLDJCQXBFbUI7RTdEMHZRbkI7RTREanRRVTtJQzJCViw0QkFwRW1CO0lBb0VuQiw2QkFwRW1CO1FBb0VuQiwwQkFwRW1CO1lBb0VuQixzQkFwRW1CO0U3RDZ2UW5CO0U0RHB0UVU7SUMyQlYsNEJBcEVtQjtJQW9FbkIsOEJBcEVtQjtRQW9FbkIsa0NBcEVtQjtZQW9FbkIsOEJBcEVtQjtFN0Rnd1FuQjtBQUNGO0FFN2xRUTtFMEQ1SUU7SUNmUixvQkFBQTtJQUFBLG9CQUFBO0lBQUEsYUFBQTtFN0Q0dlFBO0U0RHp1UVE7SUFDRSxtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtFNUQydVFWO0U0RHh1UVE7SUFDRSxtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtFNUQwdVFWO0U0RHZ1UVE7SUFDRSxtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtFNUR5dVFWO0U0RHJ1UVU7SUMyQlYsOEJBcEVtQjtJQW9FbkIsNkJBcEVtQjtRQW9FbkIsdUJBcEVtQjtZQW9FbkIsbUJBcEVtQjtFN0RpeFFuQjtFNER4dVFVO0lDMkJWLDhCQXBFbUI7SUFvRW5CLDhCQXBFbUI7UUFvRW5CLCtCQXBFbUI7WUFvRW5CLDJCQXBFbUI7RTdEb3hRbkI7RTREM3VRVTtJQzJCViw0QkFwRW1CO0lBb0VuQiw2QkFwRW1CO1FBb0VuQiwwQkFwRW1CO1lBb0VuQixzQkFwRW1CO0U3RHV4UW5CO0U0RDl1UVU7SUMyQlYsNEJBcEVtQjtJQW9FbkIsOEJBcEVtQjtRQW9FbkIsa0NBcEVtQjtZQW9FbkIsOEJBcEVtQjtFN0QweFFuQjtBQUNGO0FFdm5RUTtFMEQ1SUU7SUNmUixvQkFBQTtJQUFBLG9CQUFBO0lBQUEsYUFBQTtFN0RzeFFBO0U0RG53UVE7SUFDRSxtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtFNURxd1FWO0U0RGx3UVE7SUFDRSxtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtFNURvd1FWO0U0RGp3UVE7SUFDRSxtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtFNURtd1FWO0U0RC92UVU7SUMyQlYsOEJBcEVtQjtJQW9FbkIsNkJBcEVtQjtRQW9FbkIsdUJBcEVtQjtZQW9FbkIsbUJBcEVtQjtFN0QyeVFuQjtFNERsd1FVO0lDMkJWLDhCQXBFbUI7SUFvRW5CLDhCQXBFbUI7UUFvRW5CLCtCQXBFbUI7WUFvRW5CLDJCQXBFbUI7RTdEOHlRbkI7RTREcndRVTtJQzJCViw0QkFwRW1CO0lBb0VuQiw2QkFwRW1CO1FBb0VuQiwwQkFwRW1CO1lBb0VuQixzQkFwRW1CO0U3RGl6UW5CO0U0RHh3UVU7SUMyQlYsNEJBcEVtQjtJQW9FbkIsOEJBcEVtQjtRQW9FbkIsa0NBcEVtQjtZQW9FbkIsOEJBcEVtQjtFN0RvelFuQjtBQUNGO0E4RHp3UUU7RUFDRSx3QkFBQTtBOUQyd1FKOztBOER4d1FFO0VBQ0Usa0JBQUE7QTlEMndRSjs7QThEendRRTtFQUNFLG1CQUFBO0E5RDR3UUo7O0FFanFRUTtFNEQ1Rko7SUE3QkEsd0JBQUE7RTlEK3hRRjtBQUNGOztBOERuelFJO0VBb0RBO0lBbkRFLHdCQUFBO0U5RHV6UUo7QUFDRjs7QUU3cVFRO0U0RHJHRjtJQTVCRix3QkFBQTtFOURtelFGO0FBQ0Y7O0FFOXFRUTtFNER0R0Y7SUFwRUYsd0JBQUE7RTlENjFRRjtBQUNGOztBRXpyUVE7RTRENUZKO0lBN0JBLHdCQUFBO0U5RHV6UUY7QUFDRjs7QThEMzBRSTtFQW9EQTtJQW5ERSx3QkFBQTtFOUQrMFFKO0FBQ0Y7O0FFaHNRUTtFNEQxR0Y7SUE1QkYsd0JBQUE7RTlEMjBRRjtBQUNGOztBRXRzUVE7RTREdEdGO0lBcEVGLHdCQUFBO0U5RHEzUUY7QUFDRjs7QUU1c1FRO0U0RGpHSjtJQTdCQSx3QkFBQTtFOUQrMFFGO0FBQ0Y7O0E4RG4yUUk7RUFvREE7SUFuREUsd0JBQUE7RTlEdTJRSjtBQUNGOztBRXh0UVE7RTREMUdGO0lBNUJGLHdCQUFBO0U5RG0yUUY7QUFDRjs7QUU5dFFRO0U0RHRHRjtJQXBFRix3QkFBQTtFOUQ2NFFGO0FBQ0Y7O0FFcHVRUTtFNERqR0o7SUE3QkEsd0JBQUE7RTlEdTJRRjtBQUNGOztBOEQzM1FJO0VBb0RBO0lBbkRFLHdCQUFBO0U5RCszUUo7QUFDRjs7QUVodlFRO0U0RDFHRjtJQTVCRix3QkFBQTtFOUQyM1FGO0FBQ0Y7O0FFdHZRUTtFNER0R0Y7SUFwRUYsd0JBQUE7RTlEcTZRRjtBQUNGOztBRTV2UVE7RTREakdKO0lBN0JBLHdCQUFBO0U5RCszUUY7QUFDRjs7QThEMTVRSTtFQTJEQTtJQTFERSx3QkFBQTtFOUQ4NVFKO0FBQ0Y7O0E4RDkxUUU7O0V2RHNIQSw2QkFBQTtFQUNBLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxxQkFBQTtFQUNBLDJCQUFBO0VBQ0EsaUNBQUE7RUFDQSw4QkFBQTtFQUNBLG9CQUFBO0FQNnVRRjs7QThEbjJRSTtFdkRnSUYsMkJBQUE7RUFDQSxzQkFBQTtFQUNBLHVCQUFBO0VBQ0EsNEJBQUE7RUFDQSxxQkFBQTtFQUNBLDhCQUFBO0FQdXVRRjs7QThEcjJRRTs7RUFFRSx5QkFBQTtBOUR3MlFKO0FFbHlRUTtFNER4RU47O0lBS0kseUJBQUE7RTlEMDJRSjtBQUNGO0FFeHlRUTtFNER4RU47O0lBU0ksd0JBQUE7RTlENDJRSjtBQUNGOztBOER6MlFFOztFQUVFLHdCQUFBO0E5RDQyUUo7QUVuelFRO0U0RDNETjs7SUFLSSx3QkFBQTtFOUQ4MlFKO0FBQ0Y7QUV6elFRO0U0RDNETjs7SUFTSSx5QkFBQTtFOURnM1FKO0FBQ0Y7O0E4RDUyUUU7RUFDRSxhQUFBO0E5RCsyUUo7O0E4RDcyUUU7RUFDRSxjQUFBO0E5RGczUUo7O0E4RDkyUUU7RUFDRTtJQUNFLHlCQUFBO0U5RGkzUUo7RThELzJRRTtJQUNFLHdCQUFBO0U5RGkzUUo7QUFDRjtBOEQ3MlFFO0VBQ0UsYUFBQTtBOUQrMlFKOztBOEQ3MlFFO0VBQ0U7SUFDRSx5QkFBQTtFOURnM1FKO0U4RDkyUUU7SUFDRSx3QkFBQTtFOURnM1FKO0FBQ0Y7QThENTJRRTtFQUNFLGFBQUE7QTlEODJRSjs7QThENTJRRTtFQUNFLGNBQUE7QTlEKzJRSjs7QThENzJRRTtFQUNFLGFBQUE7QTlEZzNRSjs7QStEMWdSSTtFQ2xCRixrQ0FBQTtVQUFBLDBCQUFBO0VBQ0EsMENBQUE7VUFBQSxrQ0FBQTtFQ2lERSxvQ0FGVTtVQUVWLDRCQUZVO0VDdEJSLHVEQUFBO0VBQUEsK0NBQUE7RUFBQSx1Q0FBQTtFQUFBLDBEQUFBO0VBR0YsbUNBQUE7VUFBQSwyQkFBQTtBbEV1Z1JKOztBK0R0Z1JJO0VFb0JBLGdDQUZVO1VBRVYsd0JBRlU7QWpFdy9RZDs7QStEdGhSSTtFQ2xCRixrQ0FBQTtVQUFBLDBCQUFBO0VBQ0EsMENBQUE7VUFBQSxrQ0FBQTtFQ2lERSxvQ0FGVTtVQUVWLDRCQUZVO0VDdEJSLHVEQUFBO0VBQUEsK0NBQUE7RUFBQSx1Q0FBQTtFQUFBLDBEQUFBO0VBR0YsbUNBQUE7VUFBQSwyQkFBQTtBbEVtaFJKOztBK0RsaFJJO0VFb0JBLGdDQUZVO1VBRVYsd0JBRlU7QWpFb2dSZDs7QStEbGlSSTtFQ2xCRixrQ0FBQTtVQUFBLDBCQUFBO0VBQ0EsMENBQUE7VUFBQSxrQ0FBQTtFQ2lERSxtQ0FGVTtVQUVWLDJCQUZVO0VDdEJSLHVEQUFBO0VBQUEsK0NBQUE7RUFBQSx1Q0FBQTtFQUFBLDBEQUFBO0VBR0YsbUNBQUE7VUFBQSwyQkFBQTtBbEUraFJKOztBK0Q5aFJJO0VFb0JBLGdDQUZVO1VBRVYsd0JBRlU7QWpFZ2hSZDs7QStEOWlSSTtFQ2xCRixrQ0FBQTtVQUFBLDBCQUFBO0VBQ0EsMENBQUE7VUFBQSxrQ0FBQTtFQ2lERSxtQ0FGVTtVQUVWLDJCQUZVO0VDdEJSLHVEQUFBO0VBQUEsK0NBQUE7RUFBQSx1Q0FBQTtFQUFBLDBEQUFBO0VBR0YsbUNBQUE7VUFBQSwyQkFBQTtBbEUyaVJKOztBK0QxaVJJO0VFb0JBLGdDQUZVO1VBRVYsd0JBRlU7QWpFNGhSZDs7QStEMWpSSTtFQ2xCRixrQ0FBQTtVQUFBLDBCQUFBO0VBQ0EsMENBQUE7VUFBQSxrQ0FBQTtFQ2lERSxnQ0FGVTtVQUVWLHdCQUZVO0VDdEJSLHVEQUFBO0VBQUEsK0NBQUE7RUFBQSx1Q0FBQTtFQUFBLDBEQUFBO0VBR0YsbUNBQUE7VUFBQSwyQkFBQTtBbEV1alJKOztBK0R0alJJO0VFb0JBLG1DQUZVO1VBRVYsMkJBRlU7QWpFd2lSZDs7QStEdGtSSTtFQ2xCRixrQ0FBQTtVQUFBLDBCQUFBO0VBQ0EsMENBQUE7VUFBQSxrQ0FBQTtFQ2lERSxnQ0FGVTtVQUVWLHdCQUZVO0VDdEJSLHVEQUFBO0VBQUEsK0NBQUE7RUFBQSx1Q0FBQTtFQUFBLDBEQUFBO0VBR0YsbUNBQUE7VUFBQSwyQkFBQTtBbEVta1JKOztBK0Rsa1JJO0VFb0JBLG1DQUZVO1VBRVYsMkJBRlU7QWpFb2pSZDs7QStEbGxSSTtFQ2xCRixrQ0FBQTtVQUFBLDBCQUFBO0VBQ0EsMENBQUE7VUFBQSxrQ0FBQTtFQ2lERSxnQ0FGVTtVQUVWLHdCQUZVO0VDdEJSLHVEQUFBO0VBQUEsK0NBQUE7RUFBQSx1Q0FBQTtFQUFBLDBEQUFBO0VBR0YsbUNBQUE7VUFBQSwyQkFBQTtBbEUra1JKOztBK0Q5a1JJO0VFb0JBLG9DQUZVO1VBRVYsNEJBRlU7QWpFZ2tSZDs7QStEOWxSSTtFQ2xCRixrQ0FBQTtVQUFBLDBCQUFBO0VBQ0EsMENBQUE7VUFBQSxrQ0FBQTtFQ2lERSxnQ0FGVTtVQUVWLHdCQUZVO0VDdEJSLHVEQUFBO0VBQUEsK0NBQUE7RUFBQSx1Q0FBQTtFQUFBLDBEQUFBO0VBR0YsbUNBQUE7VUFBQSwyQkFBQTtBbEUybFJKOztBK0QxbFJJO0VFb0JBLG9DQUZVO1VBRVYsNEJBRlU7QWpFNGtSZDs7QStEMW1SSTtFQ2xCRixrQ0FBQTtVQUFBLDBCQUFBO0VBQ0EsMENBQUE7VUFBQSxrQ0FBQTtFQ2lERSxVQUxxQjtFRXpCckIsb0NBQUE7RUFBQSw0QkFBQTtBbkUrbVJKOztBK0RybVJJO0VFb0JBLFVBTHFCO0FqRTBsUnpCOztBK0RyblJJO0VDbEJGLGtDQUFBO1VBQUEsMEJBQUE7RUFDQSwwQ0FBQTtVQUFBLGtDQUFBO0VDaURFLFVBTHFCO0VFekJyQixvQ0FBQTtFQUFBLDRCQUFBO0FuRTBuUko7O0ErRGhuUkk7RUVvQkEsVUFMcUI7QWpFcW1SekI7O0ErRGhvUkk7RUNsQkYsa0NBQUE7VUFBQSwwQkFBQTtFQUNBLDBDQUFBO1VBQUEsa0NBQUE7RUNpREUsc0RBTHFCO1VBS3JCLDhDQUxxQjtFQUtyQiw2QkFGVTtVQUVWLHFCQUZVO0VHdEJSLHVEQUFBO0VBQUEsK0NBQUE7RUFBQSx1Q0FBQTtFQUFBLDBEQUFBO0VBQ0EsVUFBQTtBcEVnb1JOOztBK0Q3blJJO0VFb0JBLG1EQUxxQjtVQUtyQiwyQ0FMcUI7RUdSbkIsVUFBQTtBcEUyblJOOztBK0Q5b1JJO0VDbEJGLGtDQUFBO1VBQUEsMEJBQUE7RUFDQSwwQ0FBQTtVQUFBLGtDQUFBO0VDaURFLHNEQUxxQjtVQUtyQiw4Q0FMcUI7RUFLckIsK0JBRlU7VUFFVix1QkFGVTtFR3RCUix1REFBQTtFQUFBLCtDQUFBO0VBQUEsdUNBQUE7RUFBQSwwREFBQTtFQUNBLFVBQUE7QXBFOG9STjs7QStEM29SSTtFRW9CQSxtREFMcUI7VUFLckIsMkNBTHFCO0VHUm5CLFVBQUE7QXBFeW9STjs7QStENXBSSTtFQ2xCRixrQ0FBQTtVQUFBLDBCQUFBO0VBQ0EsMENBQUE7VUFBQSxrQ0FBQTtFQ2lERSxxREFMcUI7VUFLckIsNkNBTHFCO0VBS3JCLGdDQUZVO1VBRVYsd0JBRlU7RUd0QlIsdURBQUE7RUFBQSwrQ0FBQTtFQUFBLHVDQUFBO0VBQUEsMERBQUE7RUFDQSxVQUFBO0FwRTRwUk47O0ErRHpwUkk7RUVvQkEsbURBTHFCO1VBS3JCLDJDQUxxQjtFR1JuQixVQUFBO0FwRXVwUk47O0ErRDFxUkk7RUNsQkYsa0NBQUE7VUFBQSwwQkFBQTtFQUNBLDBDQUFBO1VBQUEsa0NBQUE7RUNpREUscURBTHFCO1VBS3JCLDZDQUxxQjtFQUtyQiw4QkFGVTtVQUVWLHNCQUZVO0VHdEJSLHVEQUFBO0VBQUEsK0NBQUE7RUFBQSx1Q0FBQTtFQUFBLDBEQUFBO0VBQ0EsVUFBQTtBcEUwcVJOOztBK0R2cVJJO0VFb0JBLG1EQUxxQjtVQUtyQiwyQ0FMcUI7RUdSbkIsVUFBQTtBcEVxcVJOOztBK0R4clJJO0VDbEJGLGtDQUFBO1VBQUEsMEJBQUE7RUFDQSwwQ0FBQTtVQUFBLGtDQUFBO0VDaURFLHNEQUxxQjtVQUtyQiw4Q0FMcUI7RUFLckIsZ0NBRlU7VUFFVix3QkFGVTtFR3RCUix1REFBQTtFQUFBLCtDQUFBO0VBQUEsdUNBQUE7RUFBQSwwREFBQTtFQUNBLFVBQUE7QXBFd3JSTjs7QStEcnJSSTtFRW9CQSxtREFMcUI7VUFLckIsMkNBTHFCO0VHUm5CLFVBQUE7QXBFbXJSTjs7QStEdHNSSTtFQ2xCRixrQ0FBQTtVQUFBLDBCQUFBO0VBQ0EsMENBQUE7VUFBQSxrQ0FBQTtFQ2lERSxzREFMcUI7VUFLckIsOENBTHFCO0VBS3JCLGdDQUZVO1VBRVYsd0JBRlU7RUd0QlIsdURBQUE7RUFBQSwrQ0FBQTtFQUFBLHVDQUFBO0VBQUEsMERBQUE7RUFDQSxVQUFBO0FwRXNzUk47O0ErRG5zUkk7RUVvQkEsbURBTHFCO1VBS3JCLDJDQUxxQjtFR1JuQixVQUFBO0FwRWlzUk47O0ErRHB0Ukk7RUNsQkYsa0NBQUE7VUFBQSwwQkFBQTtFQUNBLDBDQUFBO1VBQUEsa0NBQUE7RUNpREUsbURBTHFCO1VBS3JCLDJDQUxxQjtFQUtyQiw2QkFGVTtVQUVWLHFCQUZVO0VHdEJSLHVEQUFBO0VBQUEsK0NBQUE7RUFBQSx1Q0FBQTtFQUFBLDBEQUFBO0VBQ0EsVUFBQTtBcEVvdFJOOztBK0RqdFJJO0VFb0JBLHFEQUxxQjtVQUtyQiw2Q0FMcUI7RUdSbkIsVUFBQTtBcEUrc1JOOztBK0RsdVJJO0VDbEJGLGtDQUFBO1VBQUEsMEJBQUE7RUFDQSwwQ0FBQTtVQUFBLGtDQUFBO0VDaURFLG1EQUxxQjtVQUtyQiwyQ0FMcUI7RUFLckIsK0JBRlU7VUFFVix1QkFGVTtFR3RCUix1REFBQTtFQUFBLCtDQUFBO0VBQUEsdUNBQUE7RUFBQSwwREFBQTtFQUNBLFVBQUE7QXBFa3VSTjs7QStEL3RSSTtFRW9CQSxxREFMcUI7VUFLckIsNkNBTHFCO0VHUm5CLFVBQUE7QXBFNnRSTjs7QStEaHZSSTtFQ2xCRixrQ0FBQTtVQUFBLDBCQUFBO0VBQ0EsMENBQUE7VUFBQSxrQ0FBQTtFQ2lERSxtREFMcUI7VUFLckIsMkNBTHFCO0VBS3JCLGdDQUZVO1VBRVYsd0JBRlU7RUd0QlIsdURBQUE7RUFBQSwrQ0FBQTtFQUFBLHVDQUFBO0VBQUEsMERBQUE7RUFDQSxVQUFBO0FwRWd2Uk47O0ErRDd1Ukk7RUVvQkEsc0RBTHFCO1VBS3JCLDhDQUxxQjtFR1JuQixVQUFBO0FwRTJ1Uk47O0ErRDl2Ukk7RUNsQkYsa0NBQUE7VUFBQSwwQkFBQTtFQUNBLDBDQUFBO1VBQUEsa0NBQUE7RUNpREUsbURBTHFCO1VBS3JCLDJDQUxxQjtFQUtyQiw4QkFGVTtVQUVWLHNCQUZVO0VHdEJSLHVEQUFBO0VBQUEsK0NBQUE7RUFBQSx1Q0FBQTtFQUFBLDBEQUFBO0VBQ0EsVUFBQTtBcEU4dlJOOztBK0QzdlJJO0VFb0JBLHNEQUxxQjtVQUtyQiw4Q0FMcUI7RUdSbkIsVUFBQTtBcEV5dlJOOztBK0Q1d1JJO0VDbEJGLGtDQUFBO1VBQUEsMEJBQUE7RUFDQSwwQ0FBQTtVQUFBLGtDQUFBO0VDaURFLG1EQUxxQjtVQUtyQiwyQ0FMcUI7RUFLckIsZ0NBRlU7VUFFVix3QkFGVTtFR3RCUix1REFBQTtFQUFBLCtDQUFBO0VBQUEsdUNBQUE7RUFBQSwwREFBQTtFQUNBLFVBQUE7QXBFNHdSTjs7QStEendSSTtFRW9CQSxxREFMcUI7VUFLckIsNkNBTHFCO0VHUm5CLFVBQUE7QXBFdXdSTjs7QStEMXhSSTtFQ2xCRixrQ0FBQTtVQUFBLDBCQUFBO0VBQ0EsMENBQUE7VUFBQSxrQ0FBQTtFQ2lERSxtREFMcUI7VUFLckIsMkNBTHFCO0VBS3JCLGdDQUZVO1VBRVYsd0JBRlU7RUd0QlIsdURBQUE7RUFBQSwrQ0FBQTtFQUFBLHVDQUFBO0VBQUEsMERBQUE7RUFDQSxVQUFBO0FwRTB4Uk47O0ErRHZ4Ukk7RUVvQkEscURBTHFCO1VBS3JCLDZDQUxxQjtFR1JuQixVQUFBO0FwRXF4Uk47O0ErRHh5Ukk7RUNsQkYsa0NBQUE7VUFBQSwwQkFBQTtFQUNBLDBDQUFBO1VBQUEsa0NBQUE7RUNpREUsNkJBRlU7VUFFVixxQkFGVTtFSXpCUix1REFBQTtFQUFBLCtDQUFBO0VBQUEsdUNBQUE7RUFBQSwwREFBQTtFQUNBLFVBQUE7QXJFMHlSTjs7QStEcHlSSTtFRW9CQSwyQkFGVTtVQUVWLG1CQUZVO0VJZFIsVUFBQTtBckVxeVJOOztBK0RyelJJO0VDbEJGLGtDQUFBO1VBQUEsMEJBQUE7RUFDQSwwQ0FBQTtVQUFBLGtDQUFBO0VDaURFLDZCQUZVO1VBRVYscUJBRlU7RUl6QlIsdURBQUE7RUFBQSwrQ0FBQTtFQUFBLHVDQUFBO0VBQUEsMERBQUE7RUFDQSxVQUFBO0FyRXV6Uk47O0ErRGp6Ukk7RUVvQkEsMkJBRlU7VUFFVixtQkFGVTtFSWRSLFVBQUE7QXJFa3pSTjs7QStEbDBSSTtFQ2xCRixrQ0FBQTtVQUFBLDBCQUFBO0VBQ0EsMENBQUE7VUFBQSxrQ0FBQTtFQ2lERSwyQkFGVTtVQUVWLG1CQUZVO0VJekJSLHVEQUFBO0VBQUEsK0NBQUE7RUFBQSx1Q0FBQTtFQUFBLDBEQUFBO0VBQ0EsVUFBQTtBckVvMFJOOztBK0Q5elJJO0VFb0JBLDZCQUZVO1VBRVYscUJBRlU7RUlkUixVQUFBO0FyRSt6Uk47O0ErRC8wUkk7RUNsQkYsa0NBQUE7VUFBQSwwQkFBQTtFQUNBLDBDQUFBO1VBQUEsa0NBQUE7RUNpREUsMkJBRlU7VUFFVixtQkFGVTtFSXpCUix1REFBQTtFQUFBLCtDQUFBO0VBQUEsdUNBQUE7RUFBQSwwREFBQTtFQUNBLFVBQUE7QXJFaTFSTjs7QStEMzBSSTtFRW9CQSw2QkFGVTtVQUVWLHFCQUZVO0VJZFIsVUFBQTtBckU0MFJOOztBK0Q1MVJJO0VDbEJGLGtDQUFBO1VBQUEsMEJBQUE7RUFDQSwwQ0FBQTtVQUFBLGtDQUFBO0VDaURFLG9DQUZVO1VBRVYsNEJBRlU7RUsxQlIsdURBQUE7RUFBQSwrQ0FBQTtFQUFBLHVDQUFBO0VBQUEsMERBQUE7RUFDQSxVQUFBO0F0RSsxUk47O0ErRHgxUkk7RUVvQkEsNEJBRlU7VUFFVixvQkFGVTtFS2ZSLFVBQUE7QXRFMDFSTjs7QStEejJSSTtFQ2xCRixrQ0FBQTtVQUFBLDBCQUFBO0VBQ0EsMENBQUE7VUFBQSxrQ0FBQTtFQ2lERSw0QkFGVTtVQUVWLG9CQUZVO0VLMUJSLHVEQUFBO0VBQUEsK0NBQUE7RUFBQSx1Q0FBQTtFQUFBLDBEQUFBO0VBQ0EsVUFBQTtBdEU0MlJOOztBK0RyMlJJO0VFb0JBLG1DQUZVO1VBRVYsMkJBRlU7RUtmUixVQUFBO0F0RXUyUk47O0ErRHQzUkk7RUNsQkYsa0NBQUE7VUFBQSwwQkFBQTtFQUNBLDBDQUFBO1VBQUEsa0NBQUE7RUNpREUsbUNBRlU7VUFFViwyQkFGVTtFSzFCUix1REFBQTtFQUFBLCtDQUFBO0VBQUEsdUNBQUE7RUFBQSwwREFBQTtFQUNBLFVBQUE7QXRFeTNSTjs7QStEbDNSSTtFRW9CQSw0QkFGVTtVQUVWLG9CQUZVO0VLZlIsVUFBQTtBdEVvM1JOOztBK0RuNFJJO0VDbEJGLGtDQUFBO1VBQUEsMEJBQUE7RUFDQSwwQ0FBQTtVQUFBLGtDQUFBO0VDaURFLDRCQUZVO1VBRVYsb0JBRlU7RUsxQlIsdURBQUE7RUFBQSwrQ0FBQTtFQUFBLHVDQUFBO0VBQUEsMERBQUE7RUFDQSxVQUFBO0F0RXM0Uk47O0ErRC8zUkk7RUVvQkEsb0NBRlU7VUFFViw0QkFGVTtFS2ZSLFVBQUE7QXRFaTRSTjs7QWdFOTJSTTtFQUFZLDZDQUFBO1VBQUEscUNBQUE7QWhFazNSbEI7O0FnRWwzUk07RUFBWSw2Q0FBQTtVQUFBLHFDQUFBO0FoRXMzUmxCOztBZ0VoM1JNO0VBQVkscURBQUE7VUFBQSw2Q0FBQTtBaEVvM1JsQjs7QWdFcDNSTTtFQUFZLG1EQUFBO1VBQUEsMkNBQUE7QWhFdzNSbEI7O0FnRXgzUk07RUFBWSxzREFBQTtVQUFBLDhDQUFBO0FoRTQzUmxCOztBZ0U1M1JNO0VBQVksdURBQUE7VUFBQSwrQ0FBQTtBaEVnNFJsQjs7QWdFaDRSTTtFQUFZLDBEQUFBO1VBQUEsa0RBQUE7QWhFbzRSbEI7O0FnRXA0Uk07RUFBWSxzRkFBQTtVQUFBLDhFQUFBO0FoRXc0UmxCOztBZ0V4NFJNO0VBQVksdUZBQUE7VUFBQSwrRUFBQTtBaEU0NFJsQjs7QWdFNTRSTTtFQUFZLHNGQUFBO1VBQUEsOEVBQUE7QWhFZzVSbEI7O0FnRTE0Uk07RUFBa0IsMENBQUE7VUFBQSxrQ0FBQTtBaEU4NFJ4Qjs7QWdFOTRSTTtFQUFrQiwwQ0FBQTtVQUFBLGtDQUFBO0FoRWs1UnhCOztBZ0UxNFJFO0VPdEVBLCtCQUFBO1VBQUEsdUJBQUE7QXZFbzlSRjtBaUUvOFJFO0VBR0k7SUFHSSxpQ0FBQTtZQUFBLHlCQUFBO0VqRTY4UlI7RWlFaDlSSTtJQUdJLGtDQUFBO1lBQUEsMEJBQUE7RWpFZzlSUjtBQUNGO0FpRXY5UkU7RUFHSTtJQUdJLGlDQUFBO1lBQUEseUJBQUE7RWpFNjhSUjtFaUVoOVJJO0lBR0ksa0NBQUE7WUFBQSwwQkFBQTtFakVnOVJSO0FBQ0Y7O0FnRXI1UkU7RU92RUEscUNBQUE7VUFBQSw2QkFBQTtBdkVnK1JGO0FpRTM5UkU7RUFHSTtJQUdJLGlDQUFBO1lBQUEseUJBQUE7RWpFeTlSUjtFaUU1OVJJO0lBR0ksNEJBQUE7WUFBQSxvQkFBQTtFakU0OVJSO0FBQ0Y7QWlFbitSRTtFQUdJO0lBR0ksaUNBQUE7WUFBQSx5QkFBQTtFakV5OVJSO0VpRTU5Ukk7SUFHSSw0QkFBQTtZQUFBLG9CQUFBO0VqRTQ5UlI7QUFDRjs7QWdFaDZSRTtFT3hFQSxzQ0FBQTtVQUFBLDhCQUFBO0F2RTQrUkY7QWlFditSRTtFQUdJO0lBR0ksNEJBQUE7WUFBQSxvQkFBQTtFakVxK1JSO0VpRXgrUkk7SUFHSSxpQ0FBQTtZQUFBLHlCQUFBO0VqRXcrUlI7QUFDRjtBaUUvK1JFO0VBR0k7SUFHSSw0QkFBQTtZQUFBLG9CQUFBO0VqRXErUlI7RWlFeCtSSTtJQUdJLGlDQUFBO1lBQUEseUJBQUE7RWpFdytSUjtBQUNGOztBZ0UzNlJFO0VPekVBLG1DQUFBO1VBQUEsMkJBQUE7QXZFdy9SRjtBaUVuL1JFO0VBR0k7SUFHSSwrQkFBQTtZQUFBLHVCQUFBO0VqRWkvUlI7RWlFcC9SSTtJQUdJLGdDQUFBO1lBQUEsd0JBQUE7RWpFby9SUjtFaUV2L1JJO0lBR0ksNEJBQUE7WUFBQSxvQkFBQTtFakV1L1JSO0FBQ0Y7QWlFOS9SRTtFQUdJO0lBR0ksK0JBQUE7WUFBQSx1QkFBQTtFakVpL1JSO0VpRXAvUkk7SUFHSSxnQ0FBQTtZQUFBLHdCQUFBO0VqRW8vUlI7RWlFdi9SSTtJQUdJLDRCQUFBO1lBQUEsb0JBQUE7RWpFdS9SUjtBQUNGOztBZ0V4N1JFOzs7O0VBSUUsaUNBQUE7VUFBQSx5QkFBQTtBaEUyN1JKOztBZ0V0N1JFO0VBQVksMkNBQUE7VUFBQSxtQ0FBQTtBaEUwN1JkOztBZ0V0N1JNO0VBQVksNENBQUE7VUFBQSxvQ0FBQTtBaEUwN1JsQjs7QWdFMTdSTTtFQUFZLDRDQUFBO1VBQUEsb0NBQUE7QWhFODdSbEI7O0FnRXg3Uk07RUFBWSxvREFBQTtVQUFBLDRDQUFBO0FoRTQ3UmxCOztBZ0U1N1JNO0VBQVksa0RBQUE7VUFBQSwwQ0FBQTtBaEVnOFJsQjs7QWdFaDhSTTtFQUFZLHFEQUFBO1VBQUEsNkNBQUE7QWhFbzhSbEI7O0FnRXA4Uk07RUFBWSxzREFBQTtVQUFBLDhDQUFBO0FoRXc4UmxCOztBZ0V4OFJNO0VBQVkseURBQUE7VUFBQSxpREFBQTtBaEU0OFJsQjs7QWdFNThSTTtFQUFZLHFGQUFBO1VBQUEsNkVBQUE7QWhFZzlSbEI7O0FnRWg5Uk07RUFBWSxzRkFBQTtVQUFBLDhFQUFBO0FoRW85UmxCOztBZ0VwOVJNO0VBQVkscUZBQUE7VUFBQSw2RUFBQTtBaEV3OVJsQjs7QWdFbDlSTTtFQUFrQix5Q0FBQTtVQUFBLGlDQUFBO0FoRXM5UnhCOztBZ0V0OVJNO0VBQWtCLHlDQUFBO1VBQUEsaUNBQUE7QWhFMDlSeEI7O0F3RS9qU0E7RUFBWSxrQkFBQTtBeEVta1NaOztBd0Vsa1NBO0VBQVUsZ0JBQUE7QXhFc2tTVjs7QXdFamtTQTtFQUFpQixjQUFBO0F4RXFrU2pCOztBd0Vwa1NBO0VBQWtCLGVBQUE7QXhFd2tTbEI7O0F3RXZrU0E7RUFBd0IscUJBQUE7QXhFMmtTeEI7O0F3RW5rU0E7RUFDRSxvQkFBQTtBeEVza1NGOztBd0Vwa1NBO0VBQ0UsMEJBQUE7QXhFdWtTRjs7QXdFcmtTQTtFQUNFLHlCQUFBO0F4RXdrU0Y7O0F3RXRrU0E7RUFDRSx1QkFBQTtBeEV5a1NGOztBd0V2a1NBO0VBQ0UsdUJBQUE7QXhFMGtTRjs7QXdFeGtTQTtFQUNFLHVCQUFBO0F4RTJrU0Y7O0F3RXZrU0E7RUFDRSw4QkFBQTtFQUNBLGlDQUFBO0F4RTBrU0Y7O0F3RXhrU0E7RUFDRSw2QkFBQTtFQUNBLGdDQUFBO0F4RTJrU0Y7O0F3RXprU0E7RUFDRSwyQkFBQTtFQUNBLDhCQUFBO0F4RTRrU0Y7O0F3RTFrU0E7RUFDRSwyQkFBQTtFQUNBLDhCQUFBO0F4RTZrU0Y7O0F3RTNrU0E7RUFDRSwyQkFBQTtFQUNBLDhCQUFBO0F4RThrU0Y7O0F3RTFrU0E7RUFDRSxnQ0FBQTtFQUNBLCtCQUFBO0F4RTZrU0Y7O0F3RTNrU0E7RUFDRSwrQkFBQTtFQUNBLDhCQUFBO0F4RThrU0Y7O0F3RTVrU0E7RUFDRSw2QkFBQTtFQUNBLDRCQUFBO0F4RStrU0Y7O0F3RTdrU0E7RUFDRSw2QkFBQTtFQUNBLDRCQUFBO0F4RWdsU0Y7O0F3RTlrU0E7RUFDRSw2QkFBQTtFQUNBLDRCQUFBO0F4RWlsU0Y7O0F3RTdrU0E7RUFDRSw2QkFBQTtFQUNBLDRCQUFBO0F4RWdsU0Y7O0F3RTlrU0E7RUFDRSw2QkFBQTtBeEVpbFNGOztBd0Uva1NBO0VBQ0UsNEJBQUE7QXhFa2xTRjs7QXdFMWtTRTtFQUNFLHdCQUFBO0F4RTZrU0o7O0F3RTNrU0U7RUFDRSw4QkFBQTtBeEU4a1NKOztBd0U1a1NFO0VBQ0UsNkJBQUE7QXhFK2tTSjs7QXdFN2tTRTtFQUNFLDJCQUFBO0F4RWdsU0o7O0F3RTlrU0U7RUFDRSwyQkFBQTtBeEVpbFNKOztBd0Uva1NFO0VBQ0UsMkJBQUE7QXhFa2xTSjs7QXdFbG1TRTtFQUNFLDBCQUFBO0F4RXFtU0o7O0F3RW5tU0U7RUFDRSxnQ0FBQTtBeEVzbVNKOztBd0VwbVNFO0VBQ0UsK0JBQUE7QXhFdW1TSjs7QXdFcm1TRTtFQUNFLDZCQUFBO0F4RXdtU0o7O0F3RXRtU0U7RUFDRSw2QkFBQTtBeEV5bVNKOztBd0V2bVNFO0VBQ0UsNkJBQUE7QXhFMG1TSjs7QXdFMW5TRTtFQUNFLDJCQUFBO0F4RTZuU0o7O0F3RTNuU0U7RUFDRSxpQ0FBQTtBeEU4blNKOztBd0U1blNFO0VBQ0UsZ0NBQUE7QXhFK25TSjs7QXdFN25TRTtFQUNFLDhCQUFBO0F4RWdvU0o7O0F3RTluU0U7RUFDRSw4QkFBQTtBeEVpb1NKOztBd0UvblNFO0VBQ0UsOEJBQUE7QXhFa29TSjs7QXdFbHBTRTtFQUNFLHlCQUFBO0F4RXFwU0o7O0F3RW5wU0U7RUFDRSwrQkFBQTtBeEVzcFNKOztBd0VwcFNFO0VBQ0UsOEJBQUE7QXhFdXBTSjs7QXdFcnBTRTtFQUNFLDRCQUFBO0F4RXdwU0o7O0F3RXRwU0U7RUFDRSw0QkFBQTtBeEV5cFNKOztBd0V2cFNFO0VBQ0UsNEJBQUE7QXhFMHBTSjs7QXdFaHBTQTtFQUNFLHFCQUFBO0F4RW1wU0Y7O0F3RWpwU0E7RUFDRSwyQkFBQTtBeEVvcFNGOztBd0VscFNBO0VBQ0UsMEJBQUE7QXhFcXBTRjs7QXdFbnBTQTtFQUNFLHdCQUFBO0F4RXNwU0Y7O0F3RXBwU0E7RUFDRSx3QkFBQTtBeEV1cFNGOztBd0VycFNBO0VBQ0Usd0JBQUE7QXhFd3BTRjs7QXdFcHBTQTtFQUNFLCtCQUFBO0VBQ0Esa0NBQUE7QXhFdXBTRjs7QXdFcnBTQTtFQUNFLDhCQUFBO0VBQ0EsaUNBQUE7QXhFd3BTRjs7QXdFdHBTQTtFQUNFLDRCQUFBO0VBQ0EsK0JBQUE7QXhFeXBTRjs7QXdFdnBTQTtFQUNFLDRCQUFBO0VBQ0EsK0JBQUE7QXhFMHBTRjs7QXdFeHBTQTtFQUNFLDRCQUFBO0VBQ0EsK0JBQUE7QXhFMnBTRjs7QXdFdnBTQTtFQUNFLGlDQUFBO0VBQ0EsZ0NBQUE7QXhFMHBTRjs7QXdFeHBTQTtFQUNFLGdDQUFBO0VBQ0EsK0JBQUE7QXhFMnBTRjs7QXdFenBTQTtFQUNFLDhCQUFBO0VBQ0EsNkJBQUE7QXhFNHBTRjs7QXdFMXBTQTtFQUNFLDhCQUFBO0VBQ0EsNkJBQUE7QXhFNnBTRjs7QXdFM3BTQTtFQUNFLDhCQUFBO0VBQ0EsNkJBQUE7QXhFOHBTRjs7QXdFdnBTRTtFQUNFLHlCQUFBO0F4RTBwU0o7O0F3RXhwU0U7RUFDRSwrQkFBQTtBeEUycFNKOztBd0V6cFNFO0VBQ0UsOEJBQUE7QXhFNHBTSjs7QXdFMXBTRTtFQUNFLDRCQUFBO0F4RTZwU0o7O0F3RTNwU0U7RUFDRSw0QkFBQTtBeEU4cFNKOztBd0U1cFNFO0VBQ0UsNEJBQUE7QXhFK3BTSjs7QXdFL3FTRTtFQUNFLDJCQUFBO0F4RWtyU0o7O0F3RWhyU0U7RUFDRSxpQ0FBQTtBeEVtclNKOztBd0VqclNFO0VBQ0UsZ0NBQUE7QXhFb3JTSjs7QXdFbHJTRTtFQUNFLDhCQUFBO0F4RXFyU0o7O0F3RW5yU0U7RUFDRSw4QkFBQTtBeEVzclNKOztBd0VwclNFO0VBQ0UsOEJBQUE7QXhFdXJTSjs7QXdFdnNTRTtFQUNFLDRCQUFBO0F4RTBzU0o7O0F3RXhzU0U7RUFDRSxrQ0FBQTtBeEUyc1NKOztBd0V6c1NFO0VBQ0UsaUNBQUE7QXhFNHNTSjs7QXdFMXNTRTtFQUNFLCtCQUFBO0F4RTZzU0o7O0F3RTNzU0U7RUFDRSwrQkFBQTtBeEU4c1NKOztBd0U1c1NFO0VBQ0UsK0JBQUE7QXhFK3NTSjs7QXdFL3RTRTtFQUNFLDBCQUFBO0F4RWt1U0o7O0F3RWh1U0U7RUFDRSxnQ0FBQTtBeEVtdVNKOztBd0VqdVNFO0VBQ0UsK0JBQUE7QXhFb3VTSjs7QXdFbHVTRTtFQUNFLDZCQUFBO0F4RXF1U0o7O0F3RW51U0U7RUFDRSw2QkFBQTtBeEVzdVNKOztBd0VwdVNFO0VBQ0UsNkJBQUE7QXhFdXVTSjs7QXlFajdTQTtFQUFpQix5Qm5FREo7RW1FQ21DLHFDQUFBO0F6RXM3U2hEOztBeUVyN1NBO0VBQWlCLHlCbkVESjtFbUVDbUMscUNBQUE7QXpFMDdTaEQ7O0F5RXo3U0E7RUFBVyx5Qm5FREU7RW1FQ3VCLHFDQUFBO0F6RTg3U3BDOztBeUU3N1NBO0VBQWUseUJuRURGO0VtRUMrQixxQ0FBQTtBekVrOFM1Qzs7QXlFajhTQTtFQUFnQix5Qm5FREg7RW1FQ2lDLGNBQUE7QXpFczhTOUM7O0F5RXI4U0E7RUFBaUIseUJuRURKO0VtRUNtQyxxQ0FBQTtBekUwOFNoRDs7QXlFeDhTQTtFQUFpQix5Qm5FREo7RW1FQ21DLHFDQUFBO0F6RTY4U2hEOztBeUU1OFNBO0VBQWlCLHlCbkVESjtFbUVDbUMscUNBQUE7QXpFaTlTaEQ7O0F5RWg5U0E7RUFBVyx5Qm5FREU7RW1FQ3VCLHFDQUFBO0F6RXE5U3BDOztBeUVwOVNBO0VBQWUseUJuRURGO0VtRUMrQixxQ0FBQTtBekV5OVM1Qzs7QXlFeDlTQTtFQUFnQix5Qm5FREg7RW1FQ2lDLGNBQUE7QXpFNjlTOUM7O0F5RTU5U0E7RUFBaUIseUJuRURKO0VtRUNtQyxxQ0FBQTtBekVpK1NoRDs7QXlFLzlTQTtFQUFrQix5Qm5FREo7RW1FQ29DLHFDQUFBO0F6RW8rU2xEOztBeUVuK1NBO0VBQWtCLHlCbkVESjtFbUVDb0MscUNBQUE7QXpFdytTbEQ7O0F5RXYrU0E7RUFBWSx5Qm5FREU7RW1FQ3dCLHFDQUFBO0F6RTQrU3RDOztBeUUzK1NBO0VBQWdCLHlCbkVERjtFbUVDZ0MscUNBQUE7QXpFZy9TOUM7O0F5RS8rU0E7RUFBaUIseUJuRURIO0VtRUNrQyxjQUFBO0F6RW8vU2hEOztBeUVuL1NBO0VBQWtCLHlCbkVESjtFbUVDb0MscUNBQUE7QXpFdy9TbEQ7O0F5RXQvU0E7RUFBdUIseUJuRURKO0VtRUN5QyxxQ0FBQTtBekUyL1M1RDs7QXlFMS9TQTtFQUF1Qix5Qm5FREo7RW1FQ3lDLHFDQUFBO0F6RSsvUzVEOztBeUU5L1NBO0VBQWlCLHlCbkVERTtFbUVDNkIscUNBQUE7QXpFbWdUaEQ7O0F5RWxnVEE7RUFBcUIseUJuRURGO0VtRUNxQyxxQ0FBQTtBekV1Z1R4RDs7QXlFdGdUQTtFQUFzQix5Qm5FREg7RW1FQ3VDLGNBQUE7QXpFMmdUMUQ7O0F5RTFnVEE7RUFBdUIseUJuRURKO0VtRUN5QyxxQ0FBQTtBekUrZ1Q1RDs7QXlFN2dUQTtFQUFtQix5Qm5FREo7RW1FQ3FDLHFDQUFBO0F6RWtoVHBEOztBeUVqaFRBO0VBQW1CLHlCbkVESjtFbUVDcUMscUNBQUE7QXpFc2hUcEQ7O0F5RXJoVEE7RUFBYSx5Qm5FREU7RW1FQ3lCLHFDQUFBO0F6RTBoVHhDOztBeUV6aFRBO0VBQWlCLHlCbkVERjtFbUVDaUMscUNBQUE7QXpFOGhUaEQ7O0F5RTdoVEE7RUFBa0IseUJuRURIO0VtRUNtQyxjQUFBO0F6RWtpVGxEOztBeUVqaVRBO0VBQW1CLHlCbkVESjtFbUVDcUMscUNBQUE7QXpFc2lUcEQ7O0F5RXBpVEE7RUFBaUIseUJuRURKO0VtRUNtQyxxQ0FBQTtBekV5aVRoRDs7QXlFeGlUQTtFQUFpQix5Qm5FREo7RW1FQ21DLHFDQUFBO0F6RTZpVGhEOztBeUU1aVRBO0VBQVcseUJuRURFO0VtRUN1QixxQ0FBQTtBekVpalRwQzs7QXlFaGpUQTtFQUFlLHlCbkVERjtFbUVDK0IscUNBQUE7QXpFcWpUNUM7O0F5RXBqVEE7RUFBZ0IseUJuRURIO0VtRUNpQyxjQUFBO0F6RXlqVDlDOztBeUV4alRBO0VBQWlCLHlCbkVESjtFbUVDbUMscUNBQUE7QXpFNmpUaEQ7O0F5RTNqVEE7RUFBbUIseUJuRURKO0VtRUNxQyxxQ0FBQTtBekVna1RwRDs7QXlFL2pUQTtFQUFtQix5Qm5FREo7RW1FQ3FDLHFDQUFBO0F6RW9rVHBEOztBeUVua1RBO0VBQWEseUJuRURFO0VtRUN5QixxQ0FBQTtBekV3a1R4Qzs7QXlFdmtUQTtFQUFpQix5Qm5FREY7RW1FQ2lDLGNBQUE7QXpFNGtUaEQ7O0F5RTNrVEE7RUFBa0IseUJuRURIO0VtRUNtQyxjQUFBO0F6RWdsVGxEOztBeUUva1RBO0VBQW1CLHlCbkVESjtFbUVDcUMsY0FBQTtBekVvbFRwRDs7QXlFbGxUQTtFQUFnQix5Qm5FREo7RW1FQ2tDLHFDQUFBO0F6RXVsVDlDOztBeUV0bFRBO0VBQWdCLHlCbkVESjtFbUVDa0MscUNBQUE7QXpFMmxUOUM7O0F5RTFsVEE7RUFBVSx5Qm5FREU7RW1FQ3NCLGNBQUE7QXpFK2xUbEM7O0F5RTlsVEE7RUFBYyx5Qm5FREY7RW1FQzhCLGNBQUE7QXpFbW1UMUM7O0F5RWxtVEE7RUFBZSx5Qm5FREg7RW1FQ2dDLGNBQUE7QXpFdW1UNUM7O0F5RXRtVEE7RUFBZ0IseUJuRURKO0VtRUNrQyxjQUFBO0F6RTJtVDlDOztBeUV6bVRBO0VBQW9CLHlCbkVESjtFbUVDc0MscUNBQUE7QXpFOG1UdEQ7O0F5RTdtVEE7RUFBb0IseUJuRURKO0VtRUNzQyxxQ0FBQTtBekVrblR0RDs7QXlFam5UQTtFQUFjLHlCbkVERTtFbUVDMEIsY0FBQTtBekVzblQxQzs7QXlFcm5UQTtFQUFrQix5Qm5FREY7RW1FQ2tDLGNBQUE7QXpFMG5UbEQ7O0F5RXpuVEE7RUFBbUIseUJuRURIO0VtRUNvQyxjQUFBO0F6RThuVHBEOztBeUU3blRBO0VBQW9CLHlCbkVESjtFbUVDc0MsY0FBQTtBekVrb1R0RDs7QXlFaG9UQTtFQUFtQix5Qm5FREo7RW1FQ3FDLHFDQUFBO0F6RXFvVHBEOztBeUVwb1RBO0VBQW1CLHlCbkVESjtFbUVDcUMscUNBQUE7QXpFeW9UcEQ7O0F5RXhvVEE7RUFBYSx5Qm5FREU7RW1FQ3lCLGNBQUE7QXpFNm9UeEM7O0F5RTVvVEE7RUFBaUIseUJuRURGO0VtRUNpQyxjQUFBO0F6RWlwVGhEOztBeUVocFRBO0VBQWtCLHlCbkVESDtFbUVDbUMsY0FBQTtBekVxcFRsRDs7QXlFcHBUQTtFQUFtQix5Qm5FREo7RW1FQ3FDLGNBQUE7QXpFeXBUcEQ7O0F5RXZwVEE7RUFBbUIseUJuRURKO0VtRUNxQyxxQ0FBQTtBekU0cFRwRDs7QXlFM3BUQTtFQUFtQix5Qm5FREo7RW1FQ3FDLHFDQUFBO0F6RWdxVHBEOztBeUUvcFRBO0VBQWEseUJuRURFO0VtRUN5QixjQUFBO0F6RW9xVHhDOztBeUVucVRBO0VBQWlCLHlCbkVERjtFbUVDaUMsY0FBQTtBekV3cVRoRDs7QXlFdnFUQTtFQUFrQix5Qm5FREg7RW1FQ21DLGNBQUE7QXpFNHFUbEQ7O0F5RTNxVEE7RUFBbUIseUJuRURKO0VtRUNxQyxjQUFBO0F6RWdyVHBEOztBeUU5cVRBO0VBQWlCLHlCbkVESjtFbUVDbUMscUNBQUE7QXpFbXJUaEQ7O0F5RWxyVEE7RUFBaUIseUJuRURKO0VtRUNtQyxxQ0FBQTtBekV1clRoRDs7QXlFdHJUQTtFQUFXLHlCbkVERTtFbUVDdUIscUNBQUE7QXpFMnJUcEM7O0F5RTFyVEE7RUFBZSx5Qm5FREY7RW1FQytCLGNBQUE7QXpFK3JUNUM7O0F5RTlyVEE7RUFBZ0IseUJuRURIO0VtRUNpQyxjQUFBO0F6RW1zVDlDOztBeUVsc1RBO0VBQWlCLHlCbkVESjtFbUVDbUMsY0FBQTtBekV1c1RoRDs7QXlFcnNUQTtFQUFZLGdEbkVFSjtFbUVGOEIsY0FBQTtBekUwc1R0Qzs7QXlFenNUQTtFQUFlLGdEbkVFSjtFbUVGaUMsY0FBQTtBekU4c1Q1Qzs7QXlFN3NUQTtFQUFnQixnRG5FRUo7RW1FRmtDLGNBQUE7QXpFa3RUOUM7O0F5RWp0VEE7RUFBVyxnRG5FRUo7RW1FRjZCLHFDQUFBO0F6RXN0VHBDOztBeUVydFRBO0VBQWlCLGdEbkVFSjtFbUVGbUMscUNBQUE7QXpFMHRUaEQ7O0F5RXp0VEE7RUFBYSxnRG5FRUo7RW1FRitCLHFDQUFBO0F6RTh0VHhDOztBeUU3dFRBO0VBQWtCLGdEbkVFSjtFbUVGb0MscUNBQUE7QXpFa3VUbEQ7O0F5RWp1VEE7RUFBZ0IseUJuRUVKO0VtRUZrQyxxQ0FBQTtBekVzdVQ5Qzs7QXlFcnVUQTtFQUFZLHlCbkVFSjtFbUVGOEIscUNBQUE7QXpFMHVUdEM7O0F5RXh1VEE7RUFBaUIseUJuRUdKO0VtRUhtQyxxQ0FBQTtBekU2dVRoRDs7QXlFNXVUQTtFQUFrQix5Qm5FR0o7RW1FSG9DLGNBQUE7QXpFaXZUbEQ7O0F5RWh2VEE7RUFBaUIseUJuRUdKO0VtRUhtQyxxQ0FBQTtBekVxdlRoRDs7QXlFcHZUQTtFQUFrQix5Qm5FR0o7RW1FSG9DLHFDQUFBO0F6RXl2VGxEOztBeUV2dlRBO0VBQWUseUJuRWhFRjtFbUVnRStCLHFDQUFBO0F6RTR2VDVDOztBeUUzdlRBO0VBQWdCLHlCbkV2RUQ7RW1FdUUrQixxQ0FBQTtBekVnd1Q5Qzs7QXlFL3ZUQTtFQUFpQix5Qm5FckNGO0VtRXFDaUMsY0FBQTtBekVvd1RoRDs7QXlFbndUQTtFQUFhLHlCbkVwREQ7RW1Fb0Q0QixjQUFBO0F6RXd3VHhDOztBeUV2d1RBO0VBQWdCLHlCbkU1REQ7RW1FNEQrQixxQ0FBQTtBekU0d1Q5Qzs7QXlFM3dUQTtFQUFjLHlCbkVoREU7RW1FZ0QwQixxQ0FBQTtBekVneFQxQzs7QXlFL3dUQTtFQUFlLHlCbkUxRkQ7RW1FMEY4QixxQ0FBQTtBekVveFQ1Qzs7QXlFbnhUQTtFQUFjLHlCbkU1QkQ7RW1FNEI2QixxQ0FBQTtBekV3eFQxQzs7QXlFdnhUQTtFQUFrQix5Qm5FNUNIO0VtRTRDbUMscUNBQUE7QXpFNHhUbEQ7O0F5RTN4VEE7RUFBZ0IsZ0RuRWpCUDtFbUVpQnFDLHFDQUFBO0F6RWd5VDlDOztBeUUveFRBO0VBQWMsZ0RuRXJCRjtFbUVxQjhCLGNBQUE7QXpFb3lUMUM7O0F5RTl4VEE7RUFBZ0MsY25FcEhuQjtBTnM1VGI7O0F5RWp5VEE7RUFBZ0MsY25FcEhuQjtBTnk1VGI7O0F5RXB5VEE7RUFBb0IsY25FcEhQO0FONDVUYjs7QXlFdnlUQTtFQUE0QixjbkVwSGY7QU4rNVRiOztBeUUxeVRBO0VBQThCLGNuRXBIakI7QU5rNlRiOztBeUU3eVRBO0VBQWdDLGNuRXBIbkI7QU5xNlRiOztBeUUveVRBO0VBQWdDLGNuRXBIbkI7QU51NlRiOztBeUVselRBO0VBQWdDLGNuRXBIbkI7QU4wNlRiOztBeUVyelRBO0VBQW9CLGNuRXBIUDtBTjY2VGI7O0F5RXh6VEE7RUFBNEIsY25FcEhmO0FOZzdUYjs7QXlFM3pUQTtFQUE4QixjbkVwSGpCO0FObTdUYjs7QXlFOXpUQTtFQUFnQyxjbkVwSG5CO0FOczdUYjs7QXlFaDBUQTtFQUFrQyxjbkVwSHBCO0FOdzdUZDs7QXlFbjBUQTtFQUFrQyxjbkVwSHBCO0FOMjdUZDs7QXlFdDBUQTtFQUFzQixjbkVwSFI7QU44N1RkOztBeUV6MFRBO0VBQThCLGNuRXBIaEI7QU5pOFRkOztBeUU1MFRBO0VBQWdDLGNuRXBIbEI7QU5vOFRkOztBeUUvMFRBO0VBQWtDLGNuRXBIcEI7QU51OFRkOztBeUVqMVRBO0VBQTRDLGNuRXBIekI7QU55OFRuQjs7QXlFcDFUQTtFQUE0QyxjbkVwSHpCO0FONDhUbkI7O0F5RXYxVEE7RUFBZ0MsY25FcEhiO0FOKzhUbkI7O0F5RTExVEE7RUFBd0MsY25FcEhyQjtBTms5VG5COztBeUU3MVRBO0VBQTBDLGNuRXBIdkI7QU5xOVRuQjs7QXlFaDJUQTtFQUE0QyxjbkVwSHpCO0FOdzlUbkI7O0F5RWwyVEE7RUFBb0MsY25FcEhyQjtBTjA5VGY7O0F5RXIyVEE7RUFBb0MsY25FcEhyQjtBTjY5VGY7O0F5RXgyVEE7RUFBd0IsY25FcEhUO0FOZytUZjs7QXlFMzJUQTtFQUFnQyxjbkVwSGpCO0FObStUZjs7QXlFOTJUQTtFQUFrQyxjbkVwSG5CO0FOcytUZjs7QXlFajNUQTtFQUFvQyxjbkVwSHJCO0FOeStUZjs7QXlFbjNUQTtFQUFnQyxjbkVwSG5CO0FOMitUYjs7QXlFdDNUQTtFQUFnQyxjbkVwSG5CO0FOOCtUYjs7QXlFejNUQTtFQUFvQixjbkVwSFA7QU5pL1RiOztBeUU1M1RBO0VBQTRCLGNuRXBIZjtBTm8vVGI7O0F5RS8zVEE7RUFBOEIsY25FcEhqQjtBTnUvVGI7O0F5RWw0VEE7RUFBZ0MsY25FcEhuQjtBTjAvVGI7O0F5RXA0VEE7RUFBb0MsY25FcEhyQjtBTjQvVGY7O0F5RXY0VEE7RUFBb0MsY25FcEhyQjtBTisvVGY7O0F5RTE0VEE7RUFBd0IsY25FcEhUO0FOa2dVZjs7QXlFNzRUQTtFQUFnQyxjbkVwSGpCO0FOcWdVZjs7QXlFaDVUQTtFQUFrQyxjbkVwSG5CO0FOd2dVZjs7QXlFbjVUQTtFQUFvQyxjbkVwSHJCO0FOMmdVZjs7QXlFcjVUQTtFQUE4QixjbkVwSGxCO0FONmdVWjs7QXlFeDVUQTtFQUE4QixjbkVwSGxCO0FOZ2hVWjs7QXlFMzVUQTtFQUFrQixjbkVwSE47QU5taFVaOztBeUU5NVRBO0VBQTBCLGNuRXBIZDtBTnNoVVo7O0F5RWo2VEE7RUFBNEIsY25FcEhoQjtBTnloVVo7O0F5RXA2VEE7RUFBOEIsY25FcEhsQjtBTjRoVVo7O0F5RXQ2VEE7RUFBc0MsY25FcEh0QjtBTjhoVWhCOztBeUV6NlRBO0VBQXNDLGNuRXBIdEI7QU5paVVoQjs7QXlFNTZUQTtFQUEwQixjbkVwSFY7QU5vaVVoQjs7QXlFLzZUQTtFQUFrQyxjbkVwSGxCO0FOdWlVaEI7O0F5RWw3VEE7RUFBb0MsY25FcEhwQjtBTjBpVWhCOztBeUVyN1RBO0VBQXNDLGNuRXBIdEI7QU42aVVoQjs7QXlFdjdUQTtFQUFvQyxjbkVwSHJCO0FOK2lVZjs7QXlFMTdUQTtFQUFvQyxjbkVwSHJCO0FOa2pVZjs7QXlFNzdUQTtFQUF3QixjbkVwSFQ7QU5xalVmOztBeUVoOFRBO0VBQWdDLGNuRXBIakI7QU53alVmOztBeUVuOFRBO0VBQWtDLGNuRXBIbkI7QU4yalVmOztBeUV0OFRBO0VBQW9DLGNuRXBIckI7QU44alVmOztBeUV4OFRBO0VBQW9DLGNuRXBIckI7QU5na1VmOztBeUUzOFRBO0VBQW9DLGNuRXBIckI7QU5ta1VmOztBeUU5OFRBO0VBQXdCLGNuRXBIVDtBTnNrVWY7O0F5RWo5VEE7RUFBZ0MsY25FcEhqQjtBTnlrVWY7O0F5RXA5VEE7RUFBa0MsY25FcEhuQjtBTjRrVWY7O0F5RXY5VEE7RUFBb0MsY25FcEhyQjtBTitrVWY7O0F5RXo5VEE7RUFBZ0MsY25FcEhuQjtBTmlsVWI7O0F5RTU5VEE7RUFBZ0MsY25FcEhuQjtBTm9sVWI7O0F5RS85VEE7RUFBb0IsY25FcEhQO0FOdWxVYjs7QXlFbCtUQTtFQUE0QixjbkVwSGY7QU4wbFViOztBeUVyK1RBO0VBQThCLGNuRXBIakI7QU42bFViOztBeUV4K1RBO0VBQWdDLGNuRXBIbkI7QU5nbVViOztBeUUxK1RBO0VBQXNCLHFDbkVqSGQ7QU4rbFVSOztBeUU3K1RBO0VBQTRCLHFDbkVqSGpCO0FOa21VWDs7QXlFaC9UQTtFQUE4QixxQ25FakhsQjtBTnFtVVo7O0F5RW4vVEE7RUFBb0IscUNuRWpIYjtBTndtVVA7O0F5RXQvVEE7RUFBZ0MscUNuRWpIbkI7QU4ybVViOztBeUV6L1RBO0VBQXdCLHFDbkVqSGY7QU44bVVUOztBeUU1L1RBO0VBQWtDLHFDbkVqSHBCO0FOaW5VZDs7QXlFLy9UQTtFQUE4QixjbkVqSGxCO0FOb25VWjs7QXlFbGdVQTtFQUFzQixjbkVqSGQ7QU51blVSOztBeUVwZ1VBO0VBQWdDLGNuRWhIbkI7QU53blViOztBeUV2Z1VBO0VBQWtDLGNuRWhIcEI7QU4yblVkOztBeUUxZ1VBO0VBQWdDLGNuRWhIbkI7QU44blViOztBeUU3Z1VBO0VBQWtDLGNuRWhIcEI7QU5pb1VkOztBeUUvZ1VBO0VBQTRCLGNuRW5MZjtBTnNzVWI7O0F5RWxoVUE7RUFBOEIsY25FMUxmO0FOZ3RVZjs7QXlFcmhVQTtFQUFnQyxjbkV4SmpCO0FOaXJVZjs7QXlFeGhVQTtFQUF3QixjbkV2S1o7QU5tc1VaOztBeUUzaFVBO0VBQThCLGNuRS9LZjtBTjhzVWY7O0F5RTloVUE7RUFBMEIsY25FbktWO0FOcXNVaEI7O0F5RWppVUE7RUFBNEIsY25FN01kO0FOa3ZVZDs7QXlFcGlVQTtFQUEwQixjbkUvSWI7QU51clViOztBeUV2aVVBO0VBQWtDLGNuRS9KbkI7QU4wc1VmOztBeUUxaVVBO0VBQThCLHFDbkVwSXJCO0FOa3JVVDs7QXlFN2lVQTtFQUEwQixxQ25FeElkO0FOeXJVWjs7QTBFanhVQTtFQUNFLHVEQUFBO0ExRW94VUY7QTBFbHhVRTtFQUNFLDJDQUFBO0ExRW94VUo7QTBFanhVRTtFQUNFLGFBQUE7QTFF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O1VBQUEsMkdBQUE7QTVFcy9VTjs7QTRFai9VQTtFQUNFLFNBQUE7QTVFby9VRjs7QTZFcGxWRTtFQUNFLHFDdkVDSTtBTnNsVlIiLCJmaWxlIjoibnljLXBsYW5uaW5nLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi43LjVcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsLmxhcmdlLCAucmV2ZWFsLnNtYWxsLCAucmV2ZWFsLnRpbnksIC5yZXZlYWwge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG5oMSwgLmhlYWRlci14eGxhcmdlIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmJ1dHRvbixcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPWJ1dHRvbl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1yZXNldF06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1zdWJtaXRdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1idXR0b25dOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9cmVzZXRdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9c3VibWl0XTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDtcbn1cblxuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPXNlYXJjaF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cblt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgZm9udDogaW5oZXJpdDtcbn1cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuW2RhdGEtd2hhdGludGVudD1tb3VzZV0gKiwgW2RhdGEtd2hhdGludGVudD1tb3VzZV0gKjpmb2N1cyxcbltkYXRhLXdoYXRpbnRlbnQ9dG91Y2hdICosXG5bZGF0YS13aGF0aW50ZW50PXRvdWNoXSAqOmZvY3VzLFxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAqLFxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAqOmZvY3VzLFxuW2RhdGEtd2hhdGlucHV0PXRvdWNoXSAqLFxuW2RhdGEtd2hhdGlucHV0PXRvdWNoXSAqOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuW2RyYWdnYWJsZT1mYWxzZV0ge1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTY0ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtXCI7XG59XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbn1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbnNlbGVjdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IGF1dG87XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIGJ1dHRvbiB7XG4gIG91dGxpbmU6IDA7XG59XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cblt0eXBlPXRleHRdLCBbdHlwZT1wYXNzd29yZF0sIFt0eXBlPWRhdGVdLCBbdHlwZT1kYXRldGltZV0sIFt0eXBlPWRhdGV0aW1lLWxvY2FsXSwgW3R5cGU9bW9udGhdLCBbdHlwZT13ZWVrXSwgW3R5cGU9ZW1haWxdLCBbdHlwZT1udW1iZXJdLCBbdHlwZT1zZWFyY2hdLCBbdHlwZT10ZWxdLCBbdHlwZT10aW1lXSwgW3R5cGU9dXJsXSwgW3R5cGU9Y29sb3JdLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgODQlKTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMzMsIDM1LCAzOCwgMC4xKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5bdHlwZT10ZXh0XTpmb2N1cywgW3R5cGU9cGFzc3dvcmRdOmZvY3VzLCBbdHlwZT1kYXRlXTpmb2N1cywgW3R5cGU9ZGF0ZXRpbWVdOmZvY3VzLCBbdHlwZT1kYXRldGltZS1sb2NhbF06Zm9jdXMsIFt0eXBlPW1vbnRoXTpmb2N1cywgW3R5cGU9d2Vla106Zm9jdXMsIFt0eXBlPWVtYWlsXTpmb2N1cywgW3R5cGU9bnVtYmVyXTpmb2N1cywgW3R5cGU9c2VhcmNoXTpmb2N1cywgW3R5cGU9dGVsXTpmb2N1cywgW3R5cGU9dGltZV06Zm9jdXMsIFt0eXBlPXVybF06Zm9jdXMsIFt0eXBlPWNvbG9yXTpmb2N1cyxcbnRleHRhcmVhOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCA1NCUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiAwIDAgNXB4IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgNjklKTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxudGV4dGFyZWFbcm93c10ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgOTMlKTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuW3R5cGU9c3VibWl0XSxcblt0eXBlPWJ1dHRvbl0ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5pbnB1dFt0eXBlPXNlYXJjaF0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG46OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgNjklKTtcbn1cblxuW3R5cGU9ZmlsZV0sXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10ge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5bdHlwZT1jaGVja2JveF0gKyBsYWJlbCxcblt0eXBlPXJhZGlvXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblt0eXBlPWNoZWNrYm94XSArIGxhYmVsW2Zvcl0sXG5bdHlwZT1yYWRpb10gKyBsYWJlbFtmb3JdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5sYWJlbCA+IFt0eXBlPWNoZWNrYm94XSxcbmxhYmVsID4gW3R5cGU9cmFkaW9dIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG5cblt0eXBlPWZpbGVdIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbmxhYmVsLm1pZGRsZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAwO1xufVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG4uaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cbi5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCwgLmlucHV0LWdyb3VwLWJ1dHRvbiwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCA4NCUpO1xuICBiYWNrZ3JvdW5kOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDkzJSk7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmlnaHQ6IDA7XG59XG4uaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmbGV4OiAxIDEgMHB4O1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG59XG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDg0JSk7XG59XG4uZmllbGRzZXQgbGVnZW5kIHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgcGFkZGluZzogMCAwLjE4NzVyZW07XG59XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgODQlKTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAzMiAyNFwiPjxwb2x5Z29uIHBvaW50cz1cIjAsMCAzMiwwIDE2LDI0XCIgc3R5bGU9XCJmaWxsOiByZ2IlMjg5MywgOTgsIDEwNiUyOVwiPjwvcG9seWdvbj48L3N2Zz4nKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDAgKSB7XG4gIHNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTtcbiAgfVxufVxuc2VsZWN0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCA1NCUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiAwIDAgNXB4IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgNjklKTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5zZWxlY3Q6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDkzJSk7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5zZWxlY3Q6Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lO1xufVxuc2VsZWN0W211bHRpcGxlXSB7XG4gIGhlaWdodDogYXV0bztcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbnNlbGVjdDpub3QoW211bHRpcGxlXSkge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjZjQyODI4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlOWU5O1xufVxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNmNDI4Mjg7XG59XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNmNDI4Mjg7XG59XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmNDI4Mjg7XG59XG4uZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuLmhlYWRlci14eGxhcmdlLFxuaDIsXG4uaGVhZGVyLXhsYXJnZSxcbmgzLFxuLmhlYWRlci1sYXJnZSxcbmg0LFxuLmhlYWRlci1tZWRpdW0sXG5oNSxcbi5oZWFkZXItc21hbGwsXG5oNixcbi5oZWFkZXItdGlueSxcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5oMSwgLmhlYWRlci14eGxhcmdlLCAuaDEsXG5oMixcbi5oZWFkZXIteGxhcmdlLCAuaDIsXG5oMyxcbi5oZWFkZXItbGFyZ2UsIC5oMyxcbmg0LFxuLmhlYWRlci1tZWRpdW0sIC5oNCxcbmg1LFxuLmhlYWRlci1zbWFsbCwgLmg1LFxuaDYsXG4uaGVhZGVyLXRpbnksIC5oNiB7XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG5oMSBzbWFsbCwgLmhlYWRlci14eGxhcmdlIHNtYWxsLCAuaDEgc21hbGwsXG5oMiBzbWFsbCxcbi5oZWFkZXIteGxhcmdlIHNtYWxsLCAuaDIgc21hbGwsXG5oMyBzbWFsbCxcbi5oZWFkZXItbGFyZ2Ugc21hbGwsIC5oMyBzbWFsbCxcbmg0IHNtYWxsLFxuLmhlYWRlci1tZWRpdW0gc21hbGwsIC5oNCBzbWFsbCxcbmg1IHNtYWxsLFxuLmhlYWRlci1zbWFsbCBzbWFsbCwgLmg1IHNtYWxsLFxuaDYgc21hbGwsXG4uaGVhZGVyLXRpbnkgc21hbGwsIC5oNiBzbWFsbCB7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuaDEsIC5oZWFkZXIteHhsYXJnZSwgLmgxIHtcbiAgZm9udC1zaXplOiAyLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cblxuaDIsIC5oZWFkZXIteGxhcmdlLCAuaDIge1xuICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cblxuaDMsIC5oZWFkZXItbGFyZ2UsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cblxuaDQsIC5oZWFkZXItbWVkaXVtLCAuaDQge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG5cbmg1LCAuaGVhZGVyLXNtYWxsLCAuaDUge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuXG5oNiwgLmhlYWRlci10aW55LCAuaDYge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGgxLCAuaGVhZGVyLXh4bGFyZ2UsIC5oMSB7XG4gICAgZm9udC1zaXplOiAyLjM3NXJlbTtcbiAgfVxuICBoMiwgLmhlYWRlci14bGFyZ2UsIC5oMiB7XG4gICAgZm9udC1zaXplOiAyLjEyNXJlbTtcbiAgfVxuICBoMywgLmhlYWRlci1sYXJnZSwgLmgzIHtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgfVxuICBoNCwgLmhlYWRlci1tZWRpdW0sIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICB9XG4gIGg1LCAuaGVhZGVyLXNtYWxsLCAuaDUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxuICBoNiwgLmhlYWRlci10aW55LCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgfVxufVxuYSB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogI2FlNTYxZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5hOmhvdmVyLCBhOmZvY3VzIHtcbiAgY29sb3I6ICM4YjQ1MTk7XG59XG5hIGltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDg0JSk7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xufVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xufVxuXG51bCB1bCwgdWwgb2wsIG9sIHVsLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5kbCBkdCB7XG4gIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDAuMzc1cmVtIHNvbGlkIHJnYmEoMzMsIDM1LCAzOCwgMC4yNSk7XG59XG5ibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgzMywgMzUsIDM4LCAwLjI1KTtcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxua2JkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjE4NzVyZW0gMC4zNzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgOTMlKTtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDI0JSk7XG59XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5wICsgLnN0YXQge1xuICBtYXJnaW4tdG9wOiAtMXJlbTtcbn1cblxudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmNpdGUtYmxvY2ssIGNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLmNpdGUtYmxvY2s6YmVmb3JlLCBjaXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oCUIFwiO1xufVxuXG4uY29kZS1pbmxpbmUsIGNvZGUge1xuICBib3JkZXI6IDFweCBzb2xpZCBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDg0JSk7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgOTMlKTtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDI0JSk7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07XG59XG5cbi5jb2RlLWJsb2NrIHtcbiAgYm9yZGVyOiAxcHggc29saWQgaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCA4NCUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDkzJSk7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAyNCUpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLnhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAueGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC54eGxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC54eGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnh4bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICB9XG59XG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIHByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDtcbiAgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7XG4gIH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXG4gIGFbaHJlZl49XCIjXCJdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gIH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDM5JSk7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gIH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207XG4gIH1cbiAgcCxcbiAgaDIsXG4gIC5oZWFkZXIteGxhcmdlLFxuICBoMyxcbiAgLmhlYWRlci1sYXJnZSB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7XG4gIH1cbiAgaDIsIC5oZWFkZXIteGxhcmdlLFxuICBoMyxcbiAgLmhlYWRlci1sYXJnZSB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gIH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gIH1cbn1cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgfVxufVxuLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gIH1cbn1cbi5ncmlkLWNvbnRhaW5lci5mdWxsIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5ncmlkLXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuXG4uY2VsbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmNlbGwuYXV0byB7XG4gIGZsZXg6IDEgMSAwO1xufVxuLmNlbGwuc2hyaW5rIHtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5ncmlkLXggPiAuYXV0byB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLmdyaWQteCA+IC5zaHJpbmsge1xuICB3aWR0aDogYXV0bztcbn1cblxuLmdyaWQteCA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXggPiAuc21hbGwtZnVsbCwgLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS1mdWxsLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54bGFyZ2UtZnVsbCwgLmdyaWQteCA+IC54bGFyZ2UtMSwgLmdyaWQteCA+IC54bGFyZ2UtMiwgLmdyaWQteCA+IC54bGFyZ2UtMywgLmdyaWQteCA+IC54bGFyZ2UtNCwgLmdyaWQteCA+IC54bGFyZ2UtNSwgLmdyaWQteCA+IC54bGFyZ2UtNiwgLmdyaWQteCA+IC54bGFyZ2UtNywgLmdyaWQteCA+IC54bGFyZ2UtOCwgLmdyaWQteCA+IC54bGFyZ2UtOSwgLmdyaWQteCA+IC54bGFyZ2UtMTAsIC5ncmlkLXggPiAueGxhcmdlLTExLCAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZ3JpZC14ID4gLnh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLnh4bGFyZ2UtZnVsbCwgLmdyaWQteCA+IC54eGxhcmdlLTEsIC5ncmlkLXggPiAueHhsYXJnZS0yLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMywgLmdyaWQteCA+IC54eGxhcmdlLTQsIC5ncmlkLXggPiAueHhsYXJnZS01LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNiwgLmdyaWQteCA+IC54eGxhcmdlLTcsIC5ncmlkLXggPiAueHhsYXJnZS04LCAuZ3JpZC14ID4gLnh4bGFyZ2UtOSwgLmdyaWQteCA+IC54eGxhcmdlLTEwLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXggPiAueHhsYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuLmdyaWQteCA+IC5zbWFsbC0xMiwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC05LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC02LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC0zLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tYXV0byB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTIsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ncmlkLXggPiAueGxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEyLCAuZ3JpZC14ID4gLnhsYXJnZS0xMSwgLmdyaWQteCA+IC54bGFyZ2UtMTAsIC5ncmlkLXggPiAueGxhcmdlLTksIC5ncmlkLXggPiAueGxhcmdlLTgsIC5ncmlkLXggPiAueGxhcmdlLTcsIC5ncmlkLXggPiAueGxhcmdlLTYsIC5ncmlkLXggPiAueGxhcmdlLTUsIC5ncmlkLXggPiAueGxhcmdlLTQsIC5ncmlkLXggPiAueGxhcmdlLTMsIC5ncmlkLXggPiAueGxhcmdlLTIsIC5ncmlkLXggPiAueGxhcmdlLTEsIC5ncmlkLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmdyaWQteCA+IC54eGxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xMiwgLmdyaWQteCA+IC54eGxhcmdlLTExLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTAsIC5ncmlkLXggPiAueHhsYXJnZS05LCAuZ3JpZC14ID4gLnh4bGFyZ2UtOCwgLmdyaWQteCA+IC54eGxhcmdlLTcsIC5ncmlkLXggPiAueHhsYXJnZS02LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNSwgLmdyaWQteCA+IC54eGxhcmdlLTQsIC5ncmlkLXggPiAueHhsYXJnZS0zLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMiwgLmdyaWQteCA+IC54eGxhcmdlLTEsIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bztcbn1cblxuLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5ncmlkLW1hcmdpbi14IHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14IHtcbiAgICBtYXJnaW4tbGVmdDogLTEuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS4yNXJlbTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgd2lkdGg6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHtcbiAgd2lkdGg6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDEuMjVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMS4yNXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxLjI1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICB3aWR0aDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDEuMjVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gIHdpZHRoOiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMS4yNXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAxLjI1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogY2FsYyg3NSUgLSAxLjI1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHtcbiAgd2lkdGg6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAxLjI1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgd2lkdGg6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAxLjI1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLWF1dG8ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tYXV0byB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLWF1dG8ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjVyZW0pO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjVyZW0pO1xuICB9XG59XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTtcbiAgfVxufVxuLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICAgIG1hcmdpbi1yaWdodDogLTEuMjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtO1xuICB9XG59XG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gIH1cbn1cblxuLnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7XG59XG5cbi5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogMjAlO1xufVxuXG4uc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xufVxuXG4uc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IDE0LjI4NTcxNDI4NTclO1xufVxuXG4uc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IDEyLjUlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzE0Mjg1NyU7XG4gIH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MTQyODU3JTtcbiAgfVxuICAubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgLnhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxNDI4NTclO1xuICB9XG4gIC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAueHhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnh4bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54eGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAueHhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MTQyODU3JTtcbiAgfVxuICAueHhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNC4yODU3MTQyODU3JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzE0Mjg1NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxNDI4NTclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxNDI4NTclIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MTQyODU3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MTQyODU3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDIuNXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MTQyODU3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAyLjVyZW0pO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxNDI4NTclIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAyLjVyZW0pO1xuICB9XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC54eGxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS4yNXJlbSAvIDIpO1xufVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzMzMzMzMlICsgMS4yNXJlbSAvIDIpO1xufVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgKyAxLjI1cmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMS4yNXJlbSAvIDIpO1xufVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgKyAxLjI1cmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NjY2NjY3JSArIDEuMjVyZW0gLyAyKTtcbn1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjI1cmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMzMzMzMzJSArIDEuMjVyZW0gLyAyKTtcbn1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY2NjY2NjclICsgMS4yNXJlbSAvIDIpO1xufVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuMjVyZW0gLyAyKTtcbn1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgKyAxLjI1cmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY2NjY2NjclICsgMS4yNXJlbSAvIDIpO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuODc1cmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzMzMzMzMlICsgMS44NzVyZW0gLyAyKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NjY2NjY3JSArIDEuODc1cmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuODc1cmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgKyAxLjg3NXJlbSAvIDIpO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY2NjY2NjclICsgMS44NzVyZW0gLyAyKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMS44NzVyZW0gLyAyKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMzMzMzMzJSArIDEuODc1cmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgKyAxLjg3NXJlbSAvIDIpO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjg3NXJlbSAvIDIpO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgKyAxLjg3NXJlbSAvIDIpO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgKyAxLjg3NXJlbSAvIDIpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDIuNXJlbSAvIDIpO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMzMzMzMyUgKyAyLjVyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgKyAyLjVyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDIuNXJlbSAvIDIpO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMzMzMzMzJSArIDIuNXJlbSAvIDIpO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NjY2NjY3JSArIDIuNXJlbSAvIDIpO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMi41cmVtIC8gMik7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzMzMzMzMlICsgMi41cmVtIC8gMik7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY2NjY2NjclICsgMi41cmVtIC8gMik7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAyLjVyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMzMzMzMzJSArIDIuNXJlbSAvIDIpO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY2NjY2NjclICsgMi41cmVtIC8gMik7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAyLjVyZW0gLyAyKTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMzMzMzMyUgKyAyLjVyZW0gLyAyKTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NjY2NjY3JSArIDIuNXJlbSAvIDIpO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAyLjVyZW0gLyAyKTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMzMzMzMzJSArIDIuNXJlbSAvIDIpO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY2NjY2NjclICsgMi41cmVtIC8gMik7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDIuNXJlbSAvIDIpO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzMzMzMzMlICsgMi41cmVtIC8gMik7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgKyAyLjVyZW0gLyAyKTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMi41cmVtIC8gMik7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMzMzMzMzJSArIDIuNXJlbSAvIDIpO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgKyAyLjVyZW0gLyAyKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMi41cmVtIC8gMik7XG4gIH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMzMzMzMyUgKyAyLjVyZW0gLyAyKTtcbiAgfVxuICAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY2NjY2NjclICsgMi41cmVtIC8gMik7XG4gIH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMi41cmVtIC8gMik7XG4gIH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMzMzMzMzJSArIDIuNXJlbSAvIDIpO1xuICB9XG4gIC54eGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgKyAyLjVyZW0gLyAyKTtcbiAgfVxuICAueHhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAyLjVyZW0gLyAyKTtcbiAgfVxuICAueHhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzMzMzMzMlICsgMi41cmVtIC8gMik7XG4gIH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NjY2NjY3JSArIDIuNXJlbSAvIDIpO1xuICB9XG4gIC54eGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDIuNXJlbSAvIDIpO1xuICB9XG4gIC54eGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMzMzMzMzJSArIDIuNXJlbSAvIDIpO1xuICB9XG4gIC54eGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NjY2NjY3JSArIDIuNXJlbSAvIDIpO1xuICB9XG59XG4uZ3JpZC15IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xufVxuLmdyaWQteSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiBub25lO1xufVxuLmdyaWQteSA+IC5hdXRvIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmdyaWQteSA+IC5zaHJpbmsge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZ3JpZC15ID4gLnNtYWxsLXNocmluaywgLmdyaWQteSA+IC5zbWFsbC1mdWxsLCAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgZmxleC1iYXNpczogYXV0bztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC15ID4gLmxhcmdlLXNocmluaywgLmdyaWQteSA+IC5sYXJnZS1mdWxsLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ncmlkLXkgPiAueGxhcmdlLXNocmluaywgLmdyaWQteSA+IC54bGFyZ2UtZnVsbCwgLmdyaWQteSA+IC54bGFyZ2UtMSwgLmdyaWQteSA+IC54bGFyZ2UtMiwgLmdyaWQteSA+IC54bGFyZ2UtMywgLmdyaWQteSA+IC54bGFyZ2UtNCwgLmdyaWQteSA+IC54bGFyZ2UtNSwgLmdyaWQteSA+IC54bGFyZ2UtNiwgLmdyaWQteSA+IC54bGFyZ2UtNywgLmdyaWQteSA+IC54bGFyZ2UtOCwgLmdyaWQteSA+IC54bGFyZ2UtOSwgLmdyaWQteSA+IC54bGFyZ2UtMTAsIC5ncmlkLXkgPiAueGxhcmdlLTExLCAuZ3JpZC15ID4gLnhsYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZ3JpZC15ID4gLnh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnh4bGFyZ2UtZnVsbCwgLmdyaWQteSA+IC54eGxhcmdlLTEsIC5ncmlkLXkgPiAueHhsYXJnZS0yLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMywgLmdyaWQteSA+IC54eGxhcmdlLTQsIC5ncmlkLXkgPiAueHhsYXJnZS01LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNiwgLmdyaWQteSA+IC54eGxhcmdlLTcsIC5ncmlkLXkgPiAueHhsYXJnZS04LCAuZ3JpZC15ID4gLnh4bGFyZ2UtOSwgLmdyaWQteSA+IC54eGxhcmdlLTEwLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuLmdyaWQteSA+IC5zbWFsbC0xMiwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuLmdyaWQteSA+IC5zbWFsbC0xIHtcbiAgaGVpZ2h0OiA4LjMzMzMzMzMzMzMlO1xufVxuLmdyaWQteSA+IC5zbWFsbC0yIHtcbiAgaGVpZ2h0OiAxNi42NjY2NjY2NjY3JTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtMyB7XG4gIGhlaWdodDogMjUlO1xufVxuLmdyaWQteSA+IC5zbWFsbC00IHtcbiAgaGVpZ2h0OiAzMy4zMzMzMzMzMzMzJTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtNSB7XG4gIGhlaWdodDogNDEuNjY2NjY2NjY2NyU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTYge1xuICBoZWlnaHQ6IDUwJTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtNyB7XG4gIGhlaWdodDogNTguMzMzMzMzMzMzMyU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTgge1xuICBoZWlnaHQ6IDY2LjY2NjY2NjY2NjclO1xufVxuLmdyaWQteSA+IC5zbWFsbC05IHtcbiAgaGVpZ2h0OiA3NSU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTEwIHtcbiAgaGVpZ2h0OiA4My4zMzMzMzMzMzMzJTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtMTEge1xuICBoZWlnaHQ6IDkxLjY2NjY2NjY2NjclO1xufVxuLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gIGhlaWdodDogMTAwJTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0xMiwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTEge1xuICAgIGhlaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTMge1xuICAgIGhlaWdodDogMjUlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS02IHtcbiAgICBoZWlnaHQ6IDUwJTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tOSB7XG4gICAgaGVpZ2h0OiA3NSU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC15ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTEyLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTEge1xuICAgIGhlaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0zIHtcbiAgICBoZWlnaHQ6IDI1JTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS01IHtcbiAgICBoZWlnaHQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtNiB7XG4gICAgaGVpZ2h0OiA1MCU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTkge1xuICAgIGhlaWdodDogNzUlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmdyaWQteSA+IC54bGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTEyLCAuZ3JpZC15ID4gLnhsYXJnZS0xMSwgLmdyaWQteSA+IC54bGFyZ2UtMTAsIC5ncmlkLXkgPiAueGxhcmdlLTksIC5ncmlkLXkgPiAueGxhcmdlLTgsIC5ncmlkLXkgPiAueGxhcmdlLTcsIC5ncmlkLXkgPiAueGxhcmdlLTYsIC5ncmlkLXkgPiAueGxhcmdlLTUsIC5ncmlkLXkgPiAueGxhcmdlLTQsIC5ncmlkLXkgPiAueGxhcmdlLTMsIC5ncmlkLXkgPiAueGxhcmdlLTIsIC5ncmlkLXkgPiAueGxhcmdlLTEsIC5ncmlkLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiAyNSU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS01IHtcbiAgICBoZWlnaHQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTYge1xuICAgIGhlaWdodDogNTAlO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTcge1xuICAgIGhlaWdodDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS05IHtcbiAgICBoZWlnaHQ6IDc1JTtcbiAgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTEyLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXkgPiAueHhsYXJnZS0xMCwgLmdyaWQteSA+IC54eGxhcmdlLTksIC5ncmlkLXkgPiAueHhsYXJnZS04LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNywgLmdyaWQteSA+IC54eGxhcmdlLTYsIC5ncmlkLXkgPiAueHhsYXJnZS01LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNCwgLmdyaWQteSA+IC54eGxhcmdlLTMsIC5ncmlkLXkgPiAueHhsYXJnZS0yLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMSwgLmdyaWQteSA+IC54eGxhcmdlLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTMge1xuICAgIGhlaWdodDogMjUlO1xuICB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS01IHtcbiAgICBoZWlnaHQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS02IHtcbiAgICBoZWlnaHQ6IDUwJTtcbiAgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtOSB7XG4gICAgaGVpZ2h0OiA3NSU7XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG4uZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gICAgbWFyZ2luLXRvcDogLTEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTEuMjVyZW07XG4gIH1cbn1cbi5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMS4yNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTtcbiAgfVxufVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkge1xuICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgbWFyZ2luLXRvcDogLTEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTEuMjVyZW07XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi41cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxLjI1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxLjI1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMS4yNXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMS4yNXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDEuMjVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDEuMjVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMS4yNXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDEuMjVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi41cmVtKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuNXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuNXJlbSk7XG4gIH1cbn1cblxuLmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMHZ3O1xufVxuXG4uY2VsbCAuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY2VsbC1ibG9jayB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG59XG4uY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG4gIC5jZWxsIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG4gIC5jZWxsIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cbiAgLmNlbGwgLnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAueGxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgfVxuICAueGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuICAueGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICAueGxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxuICAuY2VsbCAueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbiAgLnh4bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC54eGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgfVxufVxuLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZ3JpZC15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uY2VsbCAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15IHtcbiAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkge1xuICAgIG1hcmdpbi10b3A6IC0xLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0xLjI1cmVtO1xuICB9XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICB9XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMS4yNXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMS4yNXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDEuMjVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDEuMjVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAxLjI1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAxLjI1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDEuMjVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAxLjI1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuNXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjVyZW0pO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjVyZW0pO1xuICB9XG59XG5cbi5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAyLjVyZW0pO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDIuNXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMi41cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDIuNXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDIuNXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAyLjVyZW0pO1xuICB9XG59XG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLmJ1dHRvbiB7XG4gIG91dGxpbmU6IDA7XG59XG4uYnV0dG9uLnRpbnkge1xuICBmb250LXNpemU6IDAuNnJlbTtcbn1cbi5idXR0b24uc21hbGwge1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG4uYnV0dG9uLmxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuLmJ1dHRvbi5leHBhbmRlZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5idXR0b24sIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWU1NjFmO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTA0NzFhO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi5idXR0b24ucHJpbWFyeSwgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhZTU2MWY7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTI1MDFkO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi5idXR0b24uc2Vjb25kYXJ5LCAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCA5MyUpO1xuICBjb2xvcjogIzkwNDcxYTtcbn1cbi5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYWRjZGY7XG4gIGNvbG9yOiAjOTA0NzFhO1xufVxuLmJ1dHRvbi5zdWNjZXNzLCAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRiNzEwMDtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG4uYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NjY5MDA7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuLmJ1dHRvbi53YXJuaW5nLCAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWVjMTtcbiAgY29sb3I6ICM5MDQ3MWE7XG59XG4uYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmU1YTI7XG4gIGNvbG9yOiAjOTA0NzFhO1xufVxuLmJ1dHRvbi5hbGVydCwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNDI4Mjg7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMzE1MTU7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWU1NjFmO1xuICBjb2xvcjogI2FlNTYxZjtcbn1cbi5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzU3MmIxMDtcbiAgY29sb3I6ICM1NzJiMTA7XG59XG4uYnV0dG9uLmhvbGxvdy5wcmltYXJ5LCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FlNTYxZjtcbiAgY29sb3I6ICNhZTU2MWY7XG59XG4uYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNTcyYjEwO1xuICBjb2xvcjogIzU3MmIxMDtcbn1cbi5idXR0b24uaG9sbG93LnNlY29uZGFyeSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgOTMlKTtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgOTMlKTtcbn1cbi5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNmU3NTdmO1xuICBjb2xvcjogIzZlNzU3Zjtcbn1cbi5idXR0b24uaG9sbG93LnN1Y2Nlc3MsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjNGI3MTAwO1xuICBjb2xvcjogIzRiNzEwMDtcbn1cbi5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICMyNjM5MDA7XG4gIGNvbG9yOiAjMjYzOTAwO1xufVxuLmJ1dHRvbi5ob2xsb3cud2FybmluZywgLmJ1dHRvbi5ob2xsb3cud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmVlYzE7XG4gIGNvbG9yOiAjZmZlZWMxO1xufVxuLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogI2UwYTMwMDtcbiAgY29sb3I6ICNlMGEzMDA7XG59XG4uYnV0dG9uLmhvbGxvdy5hbGVydCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmNDI4Mjg7XG4gIGNvbG9yOiAjZjQyODI4O1xufVxuLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjODcwNzA3O1xuICBjb2xvcjogIzg3MDcwNztcbn1cbi5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMge1xuICBjb2xvcjogI2FlNTYxZjtcbn1cbi5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICBjb2xvcjogIzU3MmIxMDtcbn1cbi5idXR0b24uY2xlYXIucHJpbWFyeSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjYWU1NjFmO1xufVxuLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMge1xuICBjb2xvcjogIzU3MmIxMDtcbn1cbi5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgOTMlKTtcbn1cbi5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cyB7XG4gIGNvbG9yOiAjNmU3NTdmO1xufVxuLmJ1dHRvbi5jbGVhci5zdWNjZXNzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgY29sb3I6ICM0YjcxMDA7XG59XG4uYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cyB7XG4gIGNvbG9yOiAjMjYzOTAwO1xufVxuLmJ1dHRvbi5jbGVhci53YXJuaW5nLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzIHtcbiAgY29sb3I6ICNmZmVlYzE7XG59XG4uYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cyB7XG4gIGNvbG9yOiAjZTBhMzAwO1xufVxuLmJ1dHRvbi5jbGVhci5hbGVydCwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjZjQyODI4O1xufVxuLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cyB7XG4gIGNvbG9yOiAjODcwNzA3O1xufVxuLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjRlbTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMC40ZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tbGVmdDogMWVtO1xufVxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyOjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNhZTU2MWY7XG59XG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5wcmltYXJ5OjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNhZTU2MWY7XG59XG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnk6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnNlY29uZGFyeTo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDkzJSk7XG59XG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5zdWNjZXNzOjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICM0YjcxMDA7XG59XG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci53YXJuaW5nOjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNmZmVlYzE7XG59XG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuYWxlcnQ6OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2Y0MjgyODtcbn1cbi5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICB0b3A6IC0wLjFlbTtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5hLmJ1dHRvbjpob3ZlciwgYS5idXR0b246Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBmbGV4LWdyb3c6IDE7XG59XG4uYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTtcbn1cbi5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4uYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gIG1hcmdpbi1ib3R0b206IDFweDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuLmJ1dHRvbi1ncm91cCAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4uYnV0dG9uLWdyb3VwLnRpbnkgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xufVxuLmJ1dHRvbi1ncm91cC5zbWFsbCAuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuLmJ1dHRvbi1ncm91cC5sYXJnZSAuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgZmxleDogMSAxIDBweDtcbn1cbi5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FlNTYxZjtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG4uYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTI1MDFkO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDkzJSk7XG4gIGNvbG9yOiAjOTA0NzFhO1xufVxuLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYWRjZGY7XG4gIGNvbG9yOiAjOTA0NzFhO1xufVxuLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGI3MTAwO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NjY5MDA7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24sIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZWMxO1xuICBjb2xvcjogIzkwNDcxYTtcbn1cbi5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmU1YTI7XG4gIGNvbG9yOiAjOTA0NzFhO1xufVxuLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0MjgyODtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG4uYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMzE1MTU7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhZTU2MWY7XG4gIGNvbG9yOiAjYWU1NjFmO1xufVxuLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzU3MmIxMDtcbiAgY29sb3I6ICM1NzJiMTA7XG59XG4uYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhZTU2MWY7XG4gIGNvbG9yOiAjYWU1NjFmO1xufVxuLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNTcyYjEwO1xuICBjb2xvcjogIzU3MmIxMDtcbn1cbi5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgOTMlKTtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgOTMlKTtcbn1cbi5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNmU3NTdmO1xuICBjb2xvcjogIzZlNzU3Zjtcbn1cbi5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzRiNzEwMDtcbiAgY29sb3I6ICM0YjcxMDA7XG59XG4uYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICMyNjM5MDA7XG4gIGNvbG9yOiAjMjYzOTAwO1xufVxuLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZlZWMxO1xuICBjb2xvcjogI2ZmZWVjMTtcbn1cbi5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogI2UwYTMwMDtcbiAgY29sb3I6ICNlMGEzMDA7XG59XG4uYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Y0MjgyODtcbiAgY29sb3I6ICNmNDI4Mjg7XG59XG4uYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjODcwNzA3O1xuICBjb2xvcjogIzg3MDcwNztcbn1cbi5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjYWU1NjFmO1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b246Zm9jdXMge1xuICBjb2xvcjogIzU3MmIxMDtcbn1cbi5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjYWU1NjFmO1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICBjb2xvcjogIzU3MmIxMDtcbn1cbi5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnksIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCA5MyUpO1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gIGNvbG9yOiAjNmU3NTdmO1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgY29sb3I6ICM0YjcxMDA7XG59XG4uYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gIGNvbG9yOiAjMjYzOTAwO1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzIHtcbiAgY29sb3I6ICNmZmVlYzE7XG59XG4uYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gIGNvbG9yOiAjZTBhMzAwO1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06Zm9jdXMge1xuICBjb2xvcjogI2Y0MjgyODtcbn1cbi5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gIGNvbG9yOiAjODcwNzA3O1xufVxuLmJ1dHRvbi1ncm91cC5uby1nYXBzIC5idXR0b24ge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjA2MjVyZW07XG59XG4uYnV0dG9uLWdyb3VwLm5vLWdhcHMgLmJ1dHRvbiArIC5idXR0b24ge1xuICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnV0dG9uLWdyb3VwLnN0YWNrZWQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gIGZsZXg6IDAgMCAxMDAlO1xufVxuLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uIHtcbiAgZmxleDogMSAxIDBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMzklKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAuY2xvc2UtYnV0dG9uIHtcbiAgb3V0bGluZTogMDtcbn1cbi5jbG9zZS1idXR0b246aG92ZXIsIC5jbG9zZS1idXR0b246Zm9jdXMge1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuLmNsb3NlLWJ1dHRvbi5zbWFsbCB7XG4gIHJpZ2h0OiAwLjY2cmVtO1xuICB0b3A6IDAuMzNlbTtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5jbG9zZS1idXR0b24ubWVkaXVtLCAuY2xvc2UtYnV0dG9uIHtcbiAgcmlnaHQ6IDFyZW07XG4gIHRvcDogMC41cmVtO1xuICBmb250LXNpemU6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDkzJSk7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG4ubGFiZWwuc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCA5MyUpO1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuLmxhYmVsLnN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiAjNGI3MTAwO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi5sYWJlbC53YXJuaW5nIHtcbiAgYmFja2dyb3VuZDogI2ZmZWVjMTtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cbi5sYWJlbC5hbGVydCB7XG4gIGJhY2tncm91bmQ6ICNmNDI4Mjg7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4ucHJvZ3Jlc3Mge1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgNTQlKTtcbn1cbi5wcm9ncmVzcy5wcmltYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhZTU2MWY7XG59XG4ucHJvZ3Jlc3Muc2Vjb25kYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgOTMlKTtcbn1cbi5wcm9ncmVzcy5zdWNjZXNzIC5wcm9ncmVzcy1tZXRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0YjcxMDA7XG59XG4ucHJvZ3Jlc3Mud2FybmluZyAucHJvZ3Jlc3MtbWV0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZWMxO1xufVxuLnByb2dyZXNzLmFsZXJ0IC5wcm9ncmVzcy1tZXRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNDI4Mjg7XG59XG5cbi5wcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWU1NjFmO1xufVxuXG4ucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDY5JSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLnNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCA1NCUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbn1cbi5zbGlkZXItZmlsbC5pcy1kcmFnZ2luZyB7XG4gIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG59XG5cbi5zbGlkZXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBjdXJzb3I6IGdyYWI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhZTU2MWY7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLnNsaWRlci1oYW5kbGUge1xuICBvdXRsaW5lOiAwO1xufVxuLnNsaWRlci1oYW5kbGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTQ0OTFhO1xufVxuLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG4uc2xpZGVyLmRpc2FibGVkLFxuLnNsaWRlcltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uc2xpZGVyLnZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC41cmVtO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcbn1cbi5zbGlkZXIudmVydGljYWwgLnNsaWRlci1maWxsIHtcbiAgdG9wOiAwO1xuICB3aWR0aDogMC41cmVtO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xufVxuLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWhhbmRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAxLjRyZW07XG4gIGhlaWdodDogMS40cmVtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi5zd2l0Y2gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG91dGxpbmU6IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGhlaWdodDogMnJlbTtcbn1cblxuLnN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnN3aXRjaC1wYWRkbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDY5JSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5pbnB1dCArIC5zd2l0Y2gtcGFkZGxlIHtcbiAgbWFyZ2luOiAwO1xufVxuLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAuMTI1cmVtO1xuICBsZWZ0OiAwLjEyNXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxLjc1cmVtO1xuICBoZWlnaHQ6IDEuNzVyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgY29udGVudDogXCJcIjtcbn1cbmlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gIGJhY2tncm91bmQ6ICNhZTU2MWY7XG59XG5pbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgbGVmdDogMi4xMjVyZW07XG59XG5pbnB1dDpkaXNhYmxlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogMC41O1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSBpbnB1dDpmb2N1cyB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLnN3aXRjaC1pbmFjdGl2ZSwgLnN3aXRjaC1hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5zd2l0Y2gtYWN0aXZlIHtcbiAgbGVmdDogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5pbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTtcbn1cbmlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtaW5hY3RpdmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc3dpdGNoLnRpbnkge1xuICBoZWlnaHQ6IDAuODc1cmVtO1xufVxuLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlIHtcbiAgd2lkdGg6IDEuNzVyZW07XG4gIGhlaWdodDogMC44NzVyZW07XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XG59XG4uc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgdG9wOiAwLjEyNXJlbTtcbiAgbGVmdDogMC4xMjVyZW07XG4gIHdpZHRoOiAwLjYyNXJlbTtcbiAgaGVpZ2h0OiAwLjYyNXJlbTtcbn1cbi5zd2l0Y2gudGlueSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgbGVmdDogMXJlbTtcbn1cblxuLnN3aXRjaC5zbWFsbCB7XG4gIGhlaWdodDogMS43NXJlbTtcbn1cbi5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGUge1xuICB3aWR0aDogMy41cmVtO1xuICBoZWlnaHQ6IDEuNzVyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cbi5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgdG9wOiAwLjEyNXJlbTtcbiAgbGVmdDogMC4xMjVyZW07XG4gIHdpZHRoOiAxLjVyZW07XG4gIGhlaWdodDogMS41cmVtO1xufVxuLnN3aXRjaC5zbWFsbCBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgbGVmdDogMS44NzVyZW07XG59XG5cbi5zd2l0Y2gubGFyZ2Uge1xuICBoZWlnaHQ6IDIuNXJlbTtcbn1cbi5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICB3aWR0aDogNXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgdG9wOiAwLjEyNXJlbTtcbiAgbGVmdDogMC4xMjVyZW07XG4gIHdpZHRoOiAyLjI1cmVtO1xuICBoZWlnaHQ6IDIuMjVyZW07XG59XG4uc3dpdGNoLmxhcmdlIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICBsZWZ0OiAyLjYyNXJlbTtcbn1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbnRoZWFkLFxudGJvZHksXG50Zm9vdCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgODQlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbnRoZWFkIHtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cblxudGZvb3Qge1xuICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuXG50aGVhZCB0cixcbnRmb290IHRyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG50aGVhZCB0aCxcbnRoZWFkIHRkLFxudGZvb3QgdGgsXG50Zm9vdCB0ZCB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbnRib2R5IHRoLFxudGJvZHkgdGQge1xuICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG59XG5cbnRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG59XG5cbnRhYmxlLnVuc3RyaXBlZCB0Ym9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG59XG50YWJsZS51bnN0cmlwZWQgdGJvZHkgdHIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCA4NCUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbnRhYmxlLmhvdmVyIHRoZWFkIHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbn1cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYztcbn1cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbn1cbnRhYmxlLmhvdmVyOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7XG59XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMS4wNjI1cmVtO1xuICBwYWRkaW5nOiAwLjA2MjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjZmZlZWMxO1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuLmJhZGdlLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjYWU1NjFmO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi5iYWRnZS5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDkzJSk7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG4uYmFkZ2Uuc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6ICM0YjcxMDA7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuLmJhZGdlLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiAjZmZlZWMxO1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuLmJhZGdlLmFsZXJ0IHtcbiAgYmFja2dyb3VuZDogI2Y0MjgyODtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5icmVhZGNydW1icyB7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5icmVhZGNydW1iczo6YmVmb3JlLCAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTtcbn1cbi5icmVhZGNydW1iczo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi5icmVhZGNydW1icyBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMC43NXJlbTtcbiAgb3BhY2l0eTogMTtcbiAgY29udGVudDogXCIvXCI7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDU0JSk7XG59XG4uYnJlYWRjcnVtYnMgYSB7XG4gIGNvbG9yOiAjYWU1NjFmO1xufVxuLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCA1NCUpO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uY2FsbG91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDMzLCAzNSwgMzgsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cbi5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmNhbGxvdXQucHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGU0ZDg7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG4uY2FsbG91dC5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZkO1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuLmNhbGxvdXQuc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmZmYzM7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG4uY2FsbG91dC53YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmNmNjtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cbi5jYWxsb3V0LmFsZXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZGZkZjtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cbi5jYWxsb3V0LnNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbn1cbi5jYWxsb3V0LmxhcmdlIHtcbiAgcGFkZGluZy10b3A6IDNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDNyZW07XG59XG5cbi5jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDY5JSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG4uY2FyZCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtZGl2aWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJhY2tncm91bmQ6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgNjklKTtcbn1cbi5jYXJkLWRpdmlkZXIgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLXNlY3Rpb24ge1xuICBmbGV4OiAxIDAgYXV0bztcbiAgcGFkZGluZzogMC41cmVtO1xufVxuLmNhcmQtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtaW1hZ2Uge1xuICBtaW4taGVpZ2h0OiAxcHg7XG59XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDMwMHB4O1xuICBwYWRkaW5nOiAxcmVtO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogMXB4IHNvbGlkIGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgNTQlKTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLmRyb3Bkb3duLXBhbmUuaXMtb3BlbmluZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4O1xufVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCB7XG4gIHdpZHRoOiAyMDBweDtcbn1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7XG59XG5cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4ucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4ucGFnaW5hdGlvbiBsaSB7XG4gIG1hcmdpbi1yaWdodDogMC4wNjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBkaXNwbGF5OiBub25lO1xufVxuLnBhZ2luYXRpb24gbGk6bGFzdC1jaGlsZCwgLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG4ucGFnaW5hdGlvbiBhLFxuLnBhZ2luYXRpb24gYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6ICNhZTU2MWY7XG59XG4ucGFnaW5hdGlvbiBhOmhvdmVyLFxuLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCA5MyUpO1xufVxuLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gIGJhY2tncm91bmQ6ICNmZmVlYzE7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDI0JSk7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgNjklKTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgY29udGVudDogXCLigKZcIjtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgNTQlKTtcbn1cblxuLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGNvbnRlbnQ6IFwiwqtcIjtcbn1cblxuLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbi5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBjb250ZW50OiBcIsK7XCI7XG59XG5cbi5oYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAzOSUpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjY0OTVyZW0pO1xuICB6LWluZGV4OiAxMjAwO1xuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi50b29sdGlwOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4udG9vbHRpcC5ib3R0b206OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAuNzVyZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xuICBib3R0b206IDEwMCU7XG59XG4udG9vbHRpcC5ib3R0b20uYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cbi50b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMC43NXJlbTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHRvcDogMTAwJTtcbiAgYm90dG9tOiBhdXRvO1xufVxuLnRvb2x0aXAudG9wLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG4udG9vbHRpcC5sZWZ0OjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjc1cmVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xuICBsZWZ0OiAxMDAlO1xufVxuLnRvb2x0aXAubGVmdC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gIGJvdHRvbTogYXV0bztcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbi50b29sdGlwLnJpZ2h0OjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjc1cmVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuLnRvb2x0aXAucmlnaHQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICBib3R0b206IGF1dG87XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG4udG9vbHRpcC5hbGlnbi10b3A6OmJlZm9yZSB7XG4gIGJvdHRvbTogYXV0bztcbiAgdG9wOiAxMCU7XG59XG4udG9vbHRpcC5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gIGJvdHRvbTogMTAlO1xuICB0b3A6IGF1dG87XG59XG4udG9vbHRpcC5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICBsZWZ0OiAxMCU7XG4gIHJpZ2h0OiBhdXRvO1xufVxuLnRvb2x0aXAuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMCU7XG59XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuLmFjY29yZGlvbltkaXNhYmxlZF0gLmFjY29yZGlvbi10aXRsZSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCA2OSUpO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogI2FlNTYxZjtcbn1cbjpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCA2OSUpO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgNjklKTtcbn1cbi5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBjb250ZW50OiBcIitcIjtcbn1cbi5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIuKAk1wiO1xufVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDY5JSk7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG46bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgNjklKTtcbn1cblxuLm1lZGlhLW9iamVjdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZsZXgtd3JhcDogbm93cmFwO1xufVxuLm1lZGlhLW9iamVjdCBpbWcge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG59XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xufVxuLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbn1cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbn1cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbi5tYWluLXNlY3Rpb24ge1xuICBmbGV4OiAxIDEgMHB4O1xufVxuXG4ub3JiaXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5vcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ub3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLm9yYml0LXNsaWRlLm5vLW1vdGlvbnVpLmlzLWFjdGl2ZSB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLm9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLm9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMywgMzUsIDM4LCAwLjUpO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLm9yYml0LW5leHQsIC5vcmJpdC1wcmV2aW91cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAub3JiaXQtbmV4dCwgW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAub3JiaXQtcHJldmlvdXMge1xuICBvdXRsaW5lOiAwO1xufVxuLm9yYml0LW5leHQ6aG92ZXIsIC5vcmJpdC1wcmV2aW91czpob3ZlciwgLm9yYml0LW5leHQ6YWN0aXZlLCAub3JiaXQtcHJldmlvdXM6YWN0aXZlLCAub3JiaXQtbmV4dDpmb2N1cywgLm9yYml0LXByZXZpb3VzOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMywgMzUsIDM4LCAwLjUpO1xufVxuXG4ub3JiaXQtcHJldmlvdXMge1xuICBsZWZ0OiAwO1xufVxuXG4ub3JiaXQtbmV4dCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xufVxuXG4ub3JiaXQtYnVsbGV0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMC44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLm9yYml0LWJ1bGxldHMge1xuICBvdXRsaW5lOiAwO1xufVxuLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgd2lkdGg6IDEuMnJlbTtcbiAgaGVpZ2h0OiAxLjJyZW07XG4gIG1hcmdpbjogMC4xcmVtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgNTQlKTtcbn1cbi5vcmJpdC1idWxsZXRzIGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMzklKTtcbn1cbi5vcmJpdC1idWxsZXRzIGJ1dHRvbi5pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDM5JSk7XG59XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbi5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbi5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4uZmxleC12aWRlbyBpZnJhbWUsXG4uZmxleC12aWRlbyBvYmplY3QsXG4uZmxleC12aWRlbyBlbWJlZCxcbi5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ucmVzcG9uc2l2ZS1lbWJlZC53aWRlc2NyZWVuLFxuLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDg0JSk7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG4udGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuLnRhYnM6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwO1xufVxuLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjYWU1NjFmO1xufVxuLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICNhNTUyMWQ7XG59XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4udGFicy10aXRsZSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogI2FlNTYxZjtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLnRhYnMtdGl0bGUgPiBhIHtcbiAgb3V0bGluZTogMDtcbn1cbi50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGNvbG9yOiAjOTY0YTFiO1xufVxuLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD10cnVlXSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2FlNTYxZjtcbn1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgODQlKTtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCA4NCUpO1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtIDAgMDtcbn1cbi50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogc29saWQgNHB4ICNmZWZlZmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDMzLCAzNSwgMzgsIDAuMik7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5hLnRodW1ibmFpbCB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG59XG5hLnRodW1ibmFpbDpob3ZlciwgYS50aHVtYm5haWw6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDE3NCwgODYsIDMxLCAwLjUpO1xufVxuYS50aHVtYm5haWwgaW1hZ2Uge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ubWVudSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5tZW51IGxpIHtcbiAgb3V0bGluZTogMDtcbn1cbi5tZW51IGEsXG4ubWVudSAuYnV0dG9uIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xufVxuLm1lbnUgaW5wdXQsXG4ubWVudSBzZWxlY3QsXG4ubWVudSBhLFxuLm1lbnUgYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5tZW51IGlucHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLm1lbnUsIC5tZW51Lmhvcml6b250YWwge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG4ubWVudS52ZXJ0aWNhbCB7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLm1lbnUudmVydGljYWwuaWNvbi10b3AgbGkgYSBpbWcsXG4ubWVudS52ZXJ0aWNhbC5pY29uLXRvcCBsaSBhIGksXG4ubWVudS52ZXJ0aWNhbC5pY29uLXRvcCBsaSBhIHN2ZywgLm1lbnUudmVydGljYWwuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4ubWVudS52ZXJ0aWNhbC5pY29uLWJvdHRvbSBsaSBhIGksXG4ubWVudS52ZXJ0aWNhbC5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4ubWVudS5leHBhbmRlZCBsaSB7XG4gIGZsZXg6IDEgMSAwcHg7XG59XG4ubWVudS5leHBhbmRlZC5pY29uLXRvcCBsaSBhIGltZyxcbi5tZW51LmV4cGFuZGVkLmljb24tdG9wIGxpIGEgaSxcbi5tZW51LmV4cGFuZGVkLmljb24tdG9wIGxpIGEgc3ZnLCAubWVudS5leHBhbmRlZC5pY29uLWJvdHRvbSBsaSBhIGltZyxcbi5tZW51LmV4cGFuZGVkLmljb24tYm90dG9tIGxpIGEgaSxcbi5tZW51LmV4cGFuZGVkLmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5tZW51LnNpbXBsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ubWVudS5zaW1wbGUgbGkgKyBsaSB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuLm1lbnUuc2ltcGxlIGEge1xuICBwYWRkaW5nOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAubWVudS5tZWRpdW0tZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbiAgLm1lbnUubWVkaXVtLXNpbXBsZSBsaSB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVudS5sYXJnZS1ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubWVudS5sYXJnZS12ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAubWVudS5sYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxuICAubWVudS5sYXJnZS1zaW1wbGUgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLm1lbnUueGxhcmdlLWhvcml6b250YWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5tZW51LnhsYXJnZS12ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAubWVudS54bGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbiAgLm1lbnUueGxhcmdlLXNpbXBsZSBsaSB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAubWVudS54eGxhcmdlLWhvcml6b250YWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5tZW51Lnh4bGFyZ2UtdmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLm1lbnUueHhsYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxuICAubWVudS54eGxhcmdlLXNpbXBsZSBsaSB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxufVxuLm1lbnUubmVzdGVkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cbi5tZW51Lmljb25zIGEge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLm1lbnUuaWNvbi10b3AgYSwgLm1lbnUuaWNvbi1yaWdodCBhLCAubWVudS5pY29uLWJvdHRvbSBhLCAubWVudS5pY29uLWxlZnQgYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4ubWVudS5pY29uLWxlZnQgbGkgYSwgLm1lbnUubmVzdGVkLmljb24tbGVmdCBsaSBhIHtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xufVxuLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaW1nLFxuLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaSxcbi5tZW51Lmljb24tbGVmdCBsaSBhIHN2ZywgLm1lbnUubmVzdGVkLmljb24tbGVmdCBsaSBhIGltZyxcbi5tZW51Lm5lc3RlZC5pY29uLWxlZnQgbGkgYSBpLFxuLm1lbnUubmVzdGVkLmljb24tbGVmdCBsaSBhIHN2ZyB7XG4gIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbn1cbi5tZW51Lmljb24tcmlnaHQgbGkgYSwgLm1lbnUubmVzdGVkLmljb24tcmlnaHQgbGkgYSB7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbn1cbi5tZW51Lmljb24tcmlnaHQgbGkgYSBpbWcsXG4ubWVudS5pY29uLXJpZ2h0IGxpIGEgaSxcbi5tZW51Lmljb24tcmlnaHQgbGkgYSBzdmcsIC5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEgaW1nLFxuLm1lbnUubmVzdGVkLmljb24tcmlnaHQgbGkgYSBpLFxuLm1lbnUubmVzdGVkLmljb24tcmlnaHQgbGkgYSBzdmcge1xuICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbn1cbi5tZW51Lmljb24tdG9wIGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIHtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xufVxuLm1lbnUuaWNvbi10b3AgbGkgYSBpbWcsXG4ubWVudS5pY29uLXRvcCBsaSBhIGksXG4ubWVudS5pY29uLXRvcCBsaSBhIHN2ZywgLm1lbnUubmVzdGVkLmljb24tdG9wIGxpIGEgaW1nLFxuLm1lbnUubmVzdGVkLmljb24tdG9wIGxpIGEgaSxcbi5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5tZW51Lmljb24tYm90dG9tIGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLWJvdHRvbSBsaSBhIHtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xufVxuLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4ubWVudS5pY29uLWJvdHRvbSBsaSBhIGksXG4ubWVudS5pY29uLWJvdHRvbSBsaSBhIHN2ZywgLm1lbnUubmVzdGVkLmljb24tYm90dG9tIGxpIGEgaW1nLFxuLm1lbnUubmVzdGVkLmljb24tYm90dG9tIGxpIGEgaSxcbi5tZW51Lm5lc3RlZC5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5tZW51IC5pcy1hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cbi5tZW51IC5hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cbi5tZW51LmFsaWduLWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG4ubWVudS5hbGlnbi1yaWdodCBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG4ubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5tZW51LmFsaWduLXJpZ2h0Lmljb24tdG9wIGxpIGEgaW1nLFxuLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi10b3AgbGkgYSBpLFxuLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi1ib3R0b20gbGkgYSBpLFxuLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ubWVudS5hbGlnbi1jZW50ZXIgbGkgLnN1Ym1lbnUgbGkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG4ubWVudSAubWVudS10ZXh0IHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5tZW51LWNlbnRlcmVkID4gLm1lbnUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkgLnN1Ym1lbnUgbGkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1lbnUtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubWVudS1pY29uOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiAwIDdweCAwICNmZWZlZmUsIDAgMTRweCAwICNmZWZlZmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4ubWVudS1pY29uOmhvdmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgNTQlKTtcbiAgYm94LXNoYWRvdzogMCA3cHggMCBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDU0JSksIDAgMTRweCAwIGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgNTQlKTtcbn1cblxuLm1lbnUtaWNvbi5kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZDogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xuICBib3gtc2hhZG93OiAwIDdweCAwIGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKSwgMCAxNHB4IDAgaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xuICBjb250ZW50OiBcIlwiO1xufVxuLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMzklKTtcbiAgYm94LXNoYWRvdzogMCA3cHggMCBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDM5JSksIDAgMTRweCAwIGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMzklKTtcbn1cblxuLmFjY29yZGlvbi1tZW51IGxpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYWNjb3JkaW9uLW1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xufVxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG59XG4uYWNjb3JkaW9uLW1lbnUgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogI2FlNTYxZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTNweDtcbiAgcmlnaHQ6IDFyZW07XG59XG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogMXJlbTtcbiAgbGVmdDogYXV0bztcbn1cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTtcbn1cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gPiBhOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG59XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xufVxuXG4uc3VibWVudS10b2dnbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zdWJtZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogI2FlNTYxZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xufVxuXG4uc3VibWVudS10b2dnbGUtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5pcy1kcmlsbGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uaXMtZHJpbGxkb3duIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uaXMtZHJpbGxkb3duLmFuaW1hdGUtaGVpZ2h0IHtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG59XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xufVxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xufVxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xufVxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5kcmlsbGRvd24gLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNhZTU2MWY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC02cHg7XG4gIHJpZ2h0OiAxcmVtO1xufVxuLmRyaWxsZG93bi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNhZTU2MWY7XG4gIHJpZ2h0OiAxcmVtO1xuICBsZWZ0OiBhdXRvO1xufVxuLmRyaWxsZG93bi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNhZTU2MWYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtO1xufVxuLmRyaWxsZG93biAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNhZTU2MWYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xufVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xufVxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbn1cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiAjYWU1NjFmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogNXB4O1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAtM3B4O1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgb3V0bGluZTogMDtcbn1cbi5kcm9wZG93bi5tZW51ID4gbGkgPiBhIHtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG59XG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNhZTU2MWY7XG59XG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmRyb3Bkb3duLm1lbnUgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7XG59XG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG59XG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTtcbn1cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxNHB4O1xufVxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNhZTU2MWYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG59XG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjYWU1NjFmO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWU1NjFmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNhZTU2MWYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2FlNTYxZjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogI2FlNTYxZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2FlNTYxZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNhZTU2MWY7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWU1NjFmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNhZTU2MWYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2FlNTYxZjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWU1NjFmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2FlNTYxZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2FlNTYxZjtcbiAgfVxufVxuLmRyb3Bkb3duLm1lbnUuYWxpZ24tcmlnaHQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7XG59XG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbC5hbGlnbi1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDVweDtcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLXRvcDogLTZweDtcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCA1NCUpO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xufVxuLmRyb3Bkb3duIC5pcy1kcm9wZG93bi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDE0cHg7XG59XG4uaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjYWU1NjFmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjYWU1NjFmO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDExO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC4yNSk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtdmlzaWJsZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLWNsb3NhYmxlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCA2OSUpO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAub2ZmLWNhbnZhcyB7XG4gIG91dGxpbmU6IDA7XG59XG4ub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLXB1c2gge1xuICB6LWluZGV4OiAxMjtcbn1cbi5vZmYtY2FudmFzLmlzLWNsb3NlZCB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gIHotaW5kZXg6IDEzO1xufVxuLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDMzLCAzNSwgMzgsIDAuNyk7XG59XG4ub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDY5JSk7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgb3V0bGluZTogMDtcbn1cbi5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gIHotaW5kZXg6IDEyO1xufVxuLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtY2xvc2VkIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgei1pbmRleDogMTM7XG59XG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMzMsIDM1LCAzOCwgMC43KTtcbn1cbi5vZmYtY2FudmFzLWFic29sdXRlLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuLnBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpO1xufVxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7XG59XG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7XG59XG5cbi5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gIGJveC1zaGFkb3c6IGluc2V0IC0xM3B4IDAgMjBweCAtMTNweCByZ2JhKDMzLCAzNSwgMzgsIDAuMjUpO1xufVxuXG4ucG9zaXRpb24tcmlnaHQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpO1xufVxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7XG59XG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7XG59XG5cbi5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICBib3gtc2hhZG93OiBpbnNldCAxM3B4IDAgMjBweCAtMTNweCByZ2JhKDMzLCAzNSwgMzgsIDAuMjUpO1xufVxuXG4ucG9zaXRpb24tdG9wIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTtcbn1cbi5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7XG59XG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tdG9wLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpO1xufVxuXG4ucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTEzcHggMjBweCAtMTNweCByZ2JhKDMzLCAzNSwgMzgsIDAuMjUpO1xufVxuXG4ucG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpO1xufVxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpO1xufVxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7XG59XG5cbi5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxM3B4IDIwcHggLTEzcHggcmdiYSgzMywgMzUsIDM4LCAwLjI1KTtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudCB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1vdmVybGFwLCAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xufVxuLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDI1MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgIG1hcmdpbi10b3A6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDI1MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1yaWdodDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNTBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1yaWdodDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDI1MHB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5odG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xufVxuaHRtbC5pcy1yZXZlYWwtb3Blbi56Zi1oYXMtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMzLCAzNSwgMzgsIDAuNDUpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5yZXZlYWwge1xuICB6LWluZGV4OiAxMDA2O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgNTQlKTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5yZXZlYWwge1xuICBvdXRsaW5lOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnJldmVhbCB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxufVxuLnJldmVhbCAuY29sdW1uIHtcbiAgbWluLXdpZHRoOiAwO1xufVxuLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZlYWwge1xuICAgIHdpZHRoOiA2MDBweDtcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICB9XG59XG4ucmV2ZWFsLmNvbGxhcHNlIHtcbiAgcGFkZGluZzogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZlYWwudGlueSB7XG4gICAgd2lkdGg6IDMwJTtcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsLnNtYWxsIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1heC13aWR0aDogNzVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZlYWwubGFyZ2Uge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgfVxufVxuLnJldmVhbC5mdWxsIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAucmV2ZWFsIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4ucmV2ZWFsLndpdGhvdXQtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cblxuLnN0aWNreS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICB0b3A6IDA7XG59XG4uc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbn1cblxuLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG59XG4uc3RpY2t5LmlzLWFuY2hvcmVkLmlzLWF0LWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbn1cblxuLnRpdGxlLWJhciB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnRpdGxlLWJhciAubWVudS1pY29uIHtcbiAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbn1cblxuLnRpdGxlLWJhci1sZWZ0LFxuLnRpdGxlLWJhci1yaWdodCB7XG4gIGZsZXg6IDEgMSAwcHg7XG59XG5cbi50aXRsZS1iYXItcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi50b3AtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC41cmVtO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4udG9wLWJhcixcbi50b3AtYmFyIHVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCA2OSUpO1xufVxuLnRvcC1iYXIgaW5wdXQge1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG4udG9wLWJhciAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLnRvcC1iYXIgaW5wdXQuYnV0dG9uIHtcbiAgd2lkdGg6IGF1dG87XG59XG4udG9wLWJhciAudG9wLWJhci1sZWZ0LFxuLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnRvcC1iYXIge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1sZWZ0LFxuICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItcmlnaHQge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2Uge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1sZWZ0LFxuICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTk4NzVlbSkge1xuICAudG9wLWJhci5zdGFja2VkLWZvci14bGFyZ2Uge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAudG9wLWJhci5zdGFja2VkLWZvci14bGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cbi50b3AtYmFyLnN0YWNrZWQtZm9yLXh4bGFyZ2Uge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4udG9wLWJhci5zdGFja2VkLWZvci14eGxhcmdlIC50b3AtYmFyLWxlZnQsXG4udG9wLWJhci5zdGFja2VkLWZvci14eGxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnRvcC1iYXItdGl0bGUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbn1cblxuLnRvcC1iYXItbGVmdCxcbi50b3AtYmFyLXJpZ2h0IHtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi5mbG9hdC1jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLmNsZWFyZml4OjpiZWZvcmUsIC5jbGVhcmZpeDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWxpZ24tbGVmdCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYWxpZ24tanVzdGlmeSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmFsaWduLXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG4uYWxpZ24tbGVmdC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uYWxpZ24tcmlnaHQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5hbGlnbi1jZW50ZXIudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5hbGlnbi1zZWxmLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG59XG5cbi5hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xufVxuXG4uYWxpZ24tbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmFsaWduLXNlbGYtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cblxuLmFsaWduLWNlbnRlci1taWRkbGUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xufVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxO1xufVxuXG4uc21hbGwtb3JkZXItMiB7XG4gIG9yZGVyOiAyO1xufVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzO1xufVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0O1xufVxuXG4uc21hbGwtb3JkZXItNSB7XG4gIG9yZGVyOiA1O1xufVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2O1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxO1xuICB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMztcbiAgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0O1xuICB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7XG4gIH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyO1xuICB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMztcbiAgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7XG4gIH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1O1xuICB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxO1xuICB9XG4gIC54bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgLnhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMztcbiAgfVxuICAueGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0O1xuICB9XG4gIC54bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7XG4gIH1cbiAgLnhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAueHhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAueHhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMztcbiAgfVxuICAueHhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDtcbiAgfVxuICAueHhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTtcbiAgfVxuICAueHhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjtcbiAgfVxufVxuLmZsZXgtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvO1xufVxuXG4uZmxleC1jaGlsZC1ncm93IHtcbiAgZmxleDogMSAwIGF1dG87XG59XG5cbi5mbGV4LWNoaWxkLXNocmluayB7XG4gIGZsZXg6IDAgMSBhdXRvO1xufVxuXG4uZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLmZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuXG4uZmxleC1kaXItY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICAubGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIC54bGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC54bGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxuICAueGxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAueGxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICAueHhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxuICAueHhsYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxufVxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA4OS45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5oaWRlLWZvci14eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45OTg3NWVtKSB7XG4gIC5zaG93LWZvci14eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbn1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2hvdy1mb3ItZGFyay1tb2RlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhpZGUtZm9yLWRhcmstbW9kZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgLnNob3ctZm9yLWRhcmstbW9kZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuaGlkZS1mb3ItZGFyay1tb2RlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5zaG93LWZvci1pZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gIC5zaG93LWZvci1pZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuaGlkZS1mb3ItaWUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnNob3ctZm9yLXN0aWNreSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5pcy1zdHVjayAuc2hvdy1mb3Itc3RpY2t5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5pcy1zdHVjayAuaGlkZS1mb3Itc3RpY2t5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbn1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG59XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG59XG5cbi5mYWRlLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xufVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW4taW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50O1xufVxuXG4uZmFzdCB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7XG59XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDtcbn1cblxuLmVhc2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50O1xufVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDtcbn1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDtcbn1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7XG59XG5cbi5zaG9ydC1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7XG59XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDtcbn1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7XG59XG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTtcbiAgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7XG4gIH1cbn1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjtcbn1cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB9XG59XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWNjdy0xdHVybjtcbn1cbkBrZXlmcmFtZXMgc3Bpbi1jY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTtcbiAgfVxufVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnO1xufVxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpO1xuICB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpO1xuICB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIH1cbn1cblxuLnNoYWtlLFxuLnNwaW4tY3csXG4uc3Bpbi1jY3csXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcbn1cblxuLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG59XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50O1xufVxuXG4uZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDtcbn1cblxuLmxpbmVhciB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50O1xufVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDtcbn1cblxuLmVhc2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDtcbn1cblxuLmJvdW5jZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7XG59XG5cbi5zaG9ydC1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDtcbn1cblxuLmxvbmctZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7XG59XG5cbi5yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnN0YXRpYyB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbi5kaXNwbGF5LWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5kaXNwbGF5LWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLmRpc3BsYXktaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ubm8tbWFyZ2luIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbi50aW55LW1hcmdpbiB7XG4gIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uc21hbGwtbWFyZ2luIHtcbiAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1lZGl1bS1tYXJnaW4ge1xuICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLmxhcmdlLW1hcmdpbiB7XG4gIG1hcmdpbjogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ueGxhcmdlLW1hcmdpbiB7XG4gIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4udGlueS1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uc21hbGwtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tZWRpdW0tbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLmxhcmdlLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogMnJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi54bGFyZ2UtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnRpbnktbWFyZ2luLXgge1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnNtYWxsLW1hcmdpbi14IHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWVkaXVtLW1hcmdpbi14IHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5sYXJnZS1tYXJnaW4teCB7XG4gIG1hcmdpbi1yaWdodDogMnJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ueGxhcmdlLW1hcmdpbi14IHtcbiAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5hdXRvLW1hcmdpbiB7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4uYXV0by1tYXJnaW4tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmF1dG8tbWFyZ2luLWxlZnQge1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ubm8tbWFyZ2luLXRvcCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLnRpbnktbWFyZ2luLXRvcCB7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnNtYWxsLW1hcmdpbi10b3Age1xuICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1lZGl1bS1tYXJnaW4tdG9wIHtcbiAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubGFyZ2UtbWFyZ2luLXRvcCB7XG4gIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLnhsYXJnZS1tYXJnaW4tdG9wIHtcbiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubm8tbWFyZ2luLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi50aW55LW1hcmdpbi1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uc21hbGwtbWFyZ2luLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1lZGl1bS1tYXJnaW4tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLmxhcmdlLW1hcmdpbi1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ueGxhcmdlLW1hcmdpbi1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubm8tbWFyZ2luLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnRpbnktbWFyZ2luLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnNtYWxsLW1hcmdpbi1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1lZGl1bS1tYXJnaW4tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubGFyZ2UtbWFyZ2luLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLnhsYXJnZS1tYXJnaW4tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubm8tbWFyZ2luLWxlZnQge1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4udGlueS1tYXJnaW4tbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zbWFsbC1tYXJnaW4tbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1lZGl1bS1tYXJnaW4tbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5sYXJnZS1tYXJnaW4tbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi54bGFyZ2UtbWFyZ2luLWxlZnQge1xuICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubm8tcGFkZGluZyB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLnRpbnktcGFkZGluZyB7XG4gIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnNtYWxsLXBhZGRpbmcge1xuICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1lZGl1bS1wYWRkaW5nIHtcbiAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubGFyZ2UtcGFkZGluZyB7XG4gIHBhZGRpbmc6IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLnhsYXJnZS1wYWRkaW5nIHtcbiAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4udGlueS1wYWRkaW5nLXkge1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uc21hbGwtcGFkZGluZy15IHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tZWRpdW0tcGFkZGluZy15IHtcbiAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLmxhcmdlLXBhZGRpbmcteSB7XG4gIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi54bGFyZ2UtcGFkZGluZy15IHtcbiAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnRpbnktcGFkZGluZy14IHtcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnNtYWxsLXBhZGRpbmcteCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWVkaXVtLXBhZGRpbmcteCB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5sYXJnZS1wYWRkaW5nLXgge1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ueGxhcmdlLXBhZGRpbmcteCB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5uby1wYWRkaW5nLXRvcCB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi50aW55LXBhZGRpbmctdG9wIHtcbiAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnNtYWxsLXBhZGRpbmctdG9wIHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWVkaXVtLXBhZGRpbmctdG9wIHtcbiAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLmxhcmdlLXBhZGRpbmctdG9wIHtcbiAgcGFkZGluZy10b3A6IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLnhsYXJnZS1wYWRkaW5nLXRvcCB7XG4gIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5uby1wYWRkaW5nLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4udGlueS1wYWRkaW5nLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uc21hbGwtcGFkZGluZy1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWVkaXVtLXBhZGRpbmctcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5sYXJnZS1wYWRkaW5nLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ueGxhcmdlLXBhZGRpbmctcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5uby1wYWRkaW5nLWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi50aW55LXBhZGRpbmctYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnNtYWxsLXBhZGRpbmctYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWVkaXVtLXBhZGRpbmctYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLmxhcmdlLXBhZGRpbmctYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLnhsYXJnZS1wYWRkaW5nLWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5uby1wYWRkaW5nLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnRpbnktcGFkZGluZy1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zbWFsbC1wYWRkaW5nLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWVkaXVtLXBhZGRpbmctbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubGFyZ2UtcGFkZGluZy1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi54bGFyZ2UtcGFkZGluZy1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1hcXVhLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NmZjhmODtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cblxuLmJnLWFxdWEtbGlnaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODZlZWVlO1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuXG4uYmctYXF1YSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZGRjZGM7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG5cbi5iZy1hcXVhLWRpbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDllOWU7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG5cbi5iZy1hcXVhLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2ZDZmO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJnLWFxdWEtbXV0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU5NDk0O1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuXG4uYmctdGVhbC13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZWY4ZWE7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG5cbi5iZy10ZWFsLWxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg1ZWRjYjtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cblxuLmJnLXRlYWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGJkYjk2O1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuXG4uYmctdGVhbC1kaW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NjY1O1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuXG4uYmctdGVhbC1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNmM0OTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5iZy10ZWFsLW11dGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVjOTQ4MTtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cblxuLmJnLWdyZWVuLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NmZmFjZjtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cblxuLmJnLWdyZWVuLWxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg2ZjM4NjtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cblxuLmJnLWdyZWVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkZTcwZDtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cblxuLmJnLWdyZWVuLWRpbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGFlMDA7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG5cbi5iZy1ncmVlbi1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzMwMDtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5iZy1ncmVlbi1tdXRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1Yjk2NWI7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG5cbi5iZy1jaGFydHJldXNlLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZmFjZjtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cblxuLmJnLWNoYXJ0cmV1c2UtbGlnaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2ZmMjg4O1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuXG4uYmctY2hhcnRyZXVzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5ZmU1MTA7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG5cbi5iZy1jaGFydHJldXNlLWRpbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ZWI4MDY7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG5cbi5iZy1jaGFydHJldXNlLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGI3MTAwO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJnLWNoYXJ0cmV1c2UtbXV0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg5ODY1O1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuXG4uYmcteWVsbG93LXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZmJkMDtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cblxuLmJnLXllbGxvdy1saWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ODk7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG5cbi5iZy15ZWxsb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZDEyO1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuXG4uYmcteWVsbG93LWRpbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiM2I0MDY7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG5cbi5iZy15ZWxsb3ctZGFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3YTdhMDA7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYmcteWVsbG93LW11dGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzlkOWQ2ZDtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cblxuLmJnLWdvbGQtd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmMmQwO1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuXG4uYmctZ29sZC1saWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmRlODk7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG5cbi5iZy1nb2xkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkYmQxMjtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cblxuLmJnLWdvbGQtZGltIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FmOGEwNDtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cblxuLmJnLWdvbGQtZGFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NDViMDA7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYmctZ29sZC1tdXRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5YThmNjU7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG5cbi5iZy1vcmFuZ2Utd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjllM2NmO1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuXG4uYmctb3JhbmdlLWxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxYmE4NztcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cblxuLmJnLW9yYW5nZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMjc1MGY7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG5cbi5iZy1vcmFuZ2UtZGltIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JhNWMwNDtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5iZy1vcmFuZ2UtZGFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3MTM3MDA7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYmctb3JhbmdlLW11dGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk1Nzc1YjtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5iZy1yZWQtd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRkNGQ0O1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuXG4uYmctcmVkLWxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhOTQ5NDtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cblxuLmJnLXJlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNDI4Mjg7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYmctcmVkLWRpbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYzI5Mjk7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYmctcmVkLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2ExMTExO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJnLXJlZC1tdXRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5MjYwNjA7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYmctZnVjaHNpYS13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYmQwZWE7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG5cbi5iZy1mdWNoc2lhLWxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ODljYTtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cblxuLmJnLWZ1Y2hzaWEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQxMjk0O1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJnLWZ1Y2hzaWEtZGltIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JjMTc3YTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5iZy1mdWNoc2lhLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2EwNDRjO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJnLWZ1Y2hzaWEtbXV0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTE1YTdiO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJnLXB1cnBsZS13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGQ0ZmQ7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG5cbi5iZy1wdXJwbGUtbGlnaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDM5NGZhO1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuXG4uYmctcHVycGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5MTJlZDtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5iZy1wdXJwbGUtZGltIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdhMjViMTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5iZy1wdXJwbGUtZGFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1MjExN2Q7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYmctcHVycGxlLW11dGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdmNjA5MjtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5iZy1pbmRpZ28td2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGJkYmZkO1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuXG4uYmctaW5kaWdvLWxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E2YTZmYjtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cblxuLmJnLWluZGlnbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZDRkZjY7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYmctaW5kaWdvLWRpbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYjNiYWE7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYmctaW5kaWdvLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQyNDdkO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJnLWluZGlnby1tdXRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2OTY5OTE7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYmctYmx1ZS13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMGViZmI7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG5cbi5iZy1ibHVlLWxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg5Y2VmNjtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cblxuLmJnLWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI5ZGVkO1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuXG4uYmctYmx1ZS1kaW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDY3MmIxO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJnLWJsdWUtZGFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTRlN2Q7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYmctYmx1ZS1tdXRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1YjgxOTY7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYmctYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYmctY2hhcmNvYWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDI0JSk7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYmctZGFyay1ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAzOSUpO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJnLWdyYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDU0JSk7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG5cbi5iZy1saWdodC1ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCA2OSUpO1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuXG4uYmctc2lsdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCA4NCUpO1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuXG4uYmctd2hpdGUtc21va2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDkzJSk7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG5cbi5iZy1vZmYtd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuXG4uYmctZGNwLW9yYW5nZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOTZiMjc7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG5cbi5iZy1hMTF5LW9yYW5nZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhZTU2MWY7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYmctZGNwLXllbGxvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmM4NjE7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG5cbi5iZy1hMTF5LXllbGxvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVlYzE7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG5cbi5iZy1sdS1wZWFjaCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmRlODk7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG5cbi5iZy1sdS15ZWxsb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZDEyO1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuXG4uYmctbHUtbWFnZW50YSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTEyZWQ7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYmctbHUtcmVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0MjgyODtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5iZy1sdS1vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTI3NTBmO1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAxNCUpO1xufVxuXG4uYmctbHUtcGluayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNjg5Y2E7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG5cbi5iZy1sdS1ncmVlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZGU3MGQ7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG5cbi5iZy1sdS1ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEyOWRlZDtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cblxuLmJnLWx1LWxhdmVuZGFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QzOTRmYTtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cblxuLmJnLWx1LXNpbHZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgODQlKTtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cblxuLmJnLWx1LWdyYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDM5JSk7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYXF1YS13aGl0ZSwgLnRleHQtYXF1YS13aGl0ZSB7XG4gIGNvbG9yOiAjY2ZmOGY4O1xufVxuXG4uYXF1YS1saWdodCwgLnRleHQtYXF1YS1saWdodCB7XG4gIGNvbG9yOiAjODZlZWVlO1xufVxuXG4uYXF1YSwgLnRleHQtYXF1YSB7XG4gIGNvbG9yOiAjMGRkY2RjO1xufVxuXG4uYXF1YS1kaW0sIC50ZXh0LWFxdWEtZGltIHtcbiAgY29sb3I6ICMwMDllOWU7XG59XG5cbi5hcXVhLWRhcmssIC50ZXh0LWFxdWEtZGFyayB7XG4gIGNvbG9yOiAjMDA2ZDZmO1xufVxuXG4uYXF1YS1tdXRlZCwgLnRleHQtYXF1YS1tdXRlZCB7XG4gIGNvbG9yOiAjNWU5NDk0O1xufVxuXG4udGVhbC13aGl0ZSwgLnRleHQtdGVhbC13aGl0ZSB7XG4gIGNvbG9yOiAjY2VmOGVhO1xufVxuXG4udGVhbC1saWdodCwgLnRleHQtdGVhbC1saWdodCB7XG4gIGNvbG9yOiAjODVlZGNiO1xufVxuXG4udGVhbCwgLnRleHQtdGVhbCB7XG4gIGNvbG9yOiAjMGJkYjk2O1xufVxuXG4udGVhbC1kaW0sIC50ZXh0LXRlYWwtZGltIHtcbiAgY29sb3I6ICMwMDk2NjU7XG59XG5cbi50ZWFsLWRhcmssIC50ZXh0LXRlYWwtZGFyayB7XG4gIGNvbG9yOiAjMDA2YzQ5O1xufVxuXG4udGVhbC1tdXRlZCwgLnRleHQtdGVhbC1tdXRlZCB7XG4gIGNvbG9yOiAjNWM5NDgxO1xufVxuXG4uZ3JlZW4td2hpdGUsIC50ZXh0LWdyZWVuLXdoaXRlIHtcbiAgY29sb3I6ICNjZmZhY2Y7XG59XG5cbi5ncmVlbi1saWdodCwgLnRleHQtZ3JlZW4tbGlnaHQge1xuICBjb2xvcjogIzg2ZjM4Njtcbn1cblxuLmdyZWVuLCAudGV4dC1ncmVlbiB7XG4gIGNvbG9yOiAjMGRlNzBkO1xufVxuXG4uZ3JlZW4tZGltLCAudGV4dC1ncmVlbi1kaW0ge1xuICBjb2xvcjogIzAwYWUwMDtcbn1cblxuLmdyZWVuLWRhcmssIC50ZXh0LWdyZWVuLWRhcmsge1xuICBjb2xvcjogIzAwNzMwMDtcbn1cblxuLmdyZWVuLW11dGVkLCAudGV4dC1ncmVlbi1tdXRlZCB7XG4gIGNvbG9yOiAjNWI5NjViO1xufVxuXG4uY2hhcnRyZXVzZS13aGl0ZSwgLnRleHQtY2hhcnRyZXVzZS13aGl0ZSB7XG4gIGNvbG9yOiAjZWNmYWNmO1xufVxuXG4uY2hhcnRyZXVzZS1saWdodCwgLnRleHQtY2hhcnRyZXVzZS1saWdodCB7XG4gIGNvbG9yOiAjY2ZmMjg4O1xufVxuXG4uY2hhcnRyZXVzZSwgLnRleHQtY2hhcnRyZXVzZSB7XG4gIGNvbG9yOiAjOWZlNTEwO1xufVxuXG4uY2hhcnRyZXVzZS1kaW0sIC50ZXh0LWNoYXJ0cmV1c2UtZGltIHtcbiAgY29sb3I6ICM3ZWI4MDY7XG59XG5cbi5jaGFydHJldXNlLWRhcmssIC50ZXh0LWNoYXJ0cmV1c2UtZGFyayB7XG4gIGNvbG9yOiAjNGI3MTAwO1xufVxuXG4uY2hhcnRyZXVzZS1tdXRlZCwgLnRleHQtY2hhcnRyZXVzZS1tdXRlZCB7XG4gIGNvbG9yOiAjODg5ODY1O1xufVxuXG4ueWVsbG93LXdoaXRlLCAudGV4dC15ZWxsb3ctd2hpdGUge1xuICBjb2xvcjogI2ZiZmJkMDtcbn1cblxuLnllbGxvdy1saWdodCwgLnRleHQteWVsbG93LWxpZ2h0IHtcbiAgY29sb3I6ICNmNmY2ODk7XG59XG5cbi55ZWxsb3csIC50ZXh0LXllbGxvdyB7XG4gIGNvbG9yOiAjZWRlZDEyO1xufVxuXG4ueWVsbG93LWRpbSwgLnRleHQteWVsbG93LWRpbSB7XG4gIGNvbG9yOiAjYjNiNDA2O1xufVxuXG4ueWVsbG93LWRhcmssIC50ZXh0LXllbGxvdy1kYXJrIHtcbiAgY29sb3I6ICM3YTdhMDA7XG59XG5cbi55ZWxsb3ctbXV0ZWQsIC50ZXh0LXllbGxvdy1tdXRlZCB7XG4gIGNvbG9yOiAjOWQ5ZDZkO1xufVxuXG4uZ29sZC13aGl0ZSwgLnRleHQtZ29sZC13aGl0ZSB7XG4gIGNvbG9yOiAjZmJmMmQwO1xufVxuXG4uZ29sZC1saWdodCwgLnRleHQtZ29sZC1saWdodCB7XG4gIGNvbG9yOiAjZjZkZTg5O1xufVxuXG4uZ29sZCwgLnRleHQtZ29sZCB7XG4gIGNvbG9yOiAjZWRiZDEyO1xufVxuXG4uZ29sZC1kaW0sIC50ZXh0LWdvbGQtZGltIHtcbiAgY29sb3I6ICNhZjhhMDQ7XG59XG5cbi5nb2xkLWRhcmssIC50ZXh0LWdvbGQtZGFyayB7XG4gIGNvbG9yOiAjNzQ1YjAwO1xufVxuXG4uZ29sZC1tdXRlZCwgLnRleHQtZ29sZC1tdXRlZCB7XG4gIGNvbG9yOiAjOWE4ZjY1O1xufVxuXG4ub3JhbmdlLXdoaXRlLCAudGV4dC1vcmFuZ2Utd2hpdGUge1xuICBjb2xvcjogI2Y5ZTNjZjtcbn1cblxuLm9yYW5nZS1saWdodCwgLnRleHQtb3JhbmdlLWxpZ2h0IHtcbiAgY29sb3I6ICNmMWJhODc7XG59XG5cbi5vcmFuZ2UsIC50ZXh0LW9yYW5nZSB7XG4gIGNvbG9yOiAjZTI3NTBmO1xufVxuXG4ub3JhbmdlLWRpbSwgLnRleHQtb3JhbmdlLWRpbSB7XG4gIGNvbG9yOiAjYmE1YzA0O1xufVxuXG4ub3JhbmdlLWRhcmssIC50ZXh0LW9yYW5nZS1kYXJrIHtcbiAgY29sb3I6ICM3MTM3MDA7XG59XG5cbi5vcmFuZ2UtbXV0ZWQsIC50ZXh0LW9yYW5nZS1tdXRlZCB7XG4gIGNvbG9yOiAjOTU3NzViO1xufVxuXG4ucmVkLXdoaXRlLCAudGV4dC1yZWQtd2hpdGUge1xuICBjb2xvcjogI2ZkZDRkNDtcbn1cblxuLnJlZC1saWdodCwgLnRleHQtcmVkLWxpZ2h0IHtcbiAgY29sb3I6ICNmYTk0OTQ7XG59XG5cbi5yZWQsIC50ZXh0LXJlZCB7XG4gIGNvbG9yOiAjZjQyODI4O1xufVxuXG4ucmVkLWRpbSwgLnRleHQtcmVkLWRpbSB7XG4gIGNvbG9yOiAjYmMyOTI5O1xufVxuXG4ucmVkLWRhcmssIC50ZXh0LXJlZC1kYXJrIHtcbiAgY29sb3I6ICM3YTExMTE7XG59XG5cbi5yZWQtbXV0ZWQsIC50ZXh0LXJlZC1tdXRlZCB7XG4gIGNvbG9yOiAjOTI2MDYwO1xufVxuXG4uZnVjaHNpYS13aGl0ZSwgLnRleHQtZnVjaHNpYS13aGl0ZSB7XG4gIGNvbG9yOiAjZmJkMGVhO1xufVxuXG4uZnVjaHNpYS1saWdodCwgLnRleHQtZnVjaHNpYS1saWdodCB7XG4gIGNvbG9yOiAjZjY4OWNhO1xufVxuXG4uZnVjaHNpYSwgLnRleHQtZnVjaHNpYSB7XG4gIGNvbG9yOiAjZWQxMjk0O1xufVxuXG4uZnVjaHNpYS1kaW0sIC50ZXh0LWZ1Y2hzaWEtZGltIHtcbiAgY29sb3I6ICNiYzE3N2E7XG59XG5cbi5mdWNoc2lhLWRhcmssIC50ZXh0LWZ1Y2hzaWEtZGFyayB7XG4gIGNvbG9yOiAjN2EwNDRjO1xufVxuXG4uZnVjaHNpYS1tdXRlZCwgLnRleHQtZnVjaHNpYS1tdXRlZCB7XG4gIGNvbG9yOiAjOTE1YTdiO1xufVxuXG4ucHVycGxlLXdoaXRlLCAudGV4dC1wdXJwbGUtd2hpdGUge1xuICBjb2xvcjogI2VkZDRmZDtcbn1cblxuLnB1cnBsZS1saWdodCwgLnRleHQtcHVycGxlLWxpZ2h0IHtcbiAgY29sb3I6ICNkMzk0ZmE7XG59XG5cbi5wdXJwbGUsIC50ZXh0LXB1cnBsZSB7XG4gIGNvbG9yOiAjOTkxMmVkO1xufVxuXG4ucHVycGxlLWRpbSwgLnRleHQtcHVycGxlLWRpbSB7XG4gIGNvbG9yOiAjN2EyNWIxO1xufVxuXG4ucHVycGxlLWRhcmssIC50ZXh0LXB1cnBsZS1kYXJrIHtcbiAgY29sb3I6ICM1MjExN2Q7XG59XG5cbi5wdXJwbGUtbXV0ZWQsIC50ZXh0LXB1cnBsZS1tdXRlZCB7XG4gIGNvbG9yOiAjN2Y2MDkyO1xufVxuXG4uaW5kaWdvLXdoaXRlLCAudGV4dC1pbmRpZ28td2hpdGUge1xuICBjb2xvcjogI2RiZGJmZDtcbn1cblxuLmluZGlnby1saWdodCwgLnRleHQtaW5kaWdvLWxpZ2h0IHtcbiAgY29sb3I6ICNhNmE2ZmI7XG59XG5cbi5pbmRpZ28sIC50ZXh0LWluZGlnbyB7XG4gIGNvbG9yOiAjNGQ0ZGY2O1xufVxuXG4uaW5kaWdvLWRpbSwgLnRleHQtaW5kaWdvLWRpbSB7XG4gIGNvbG9yOiAjM2IzYmFhO1xufVxuXG4uaW5kaWdvLWRhcmssIC50ZXh0LWluZGlnby1kYXJrIHtcbiAgY29sb3I6ICMyNDI0N2Q7XG59XG5cbi5pbmRpZ28tbXV0ZWQsIC50ZXh0LWluZGlnby1tdXRlZCB7XG4gIGNvbG9yOiAjNjk2OTkxO1xufVxuXG4uYmx1ZS13aGl0ZSwgLnRleHQtYmx1ZS13aGl0ZSB7XG4gIGNvbG9yOiAjZDBlYmZiO1xufVxuXG4uYmx1ZS1saWdodCwgLnRleHQtYmx1ZS1saWdodCB7XG4gIGNvbG9yOiAjODljZWY2O1xufVxuXG4uYmx1ZSwgLnRleHQtYmx1ZSB7XG4gIGNvbG9yOiAjMTI5ZGVkO1xufVxuXG4uYmx1ZS1kaW0sIC50ZXh0LWJsdWUtZGltIHtcbiAgY29sb3I6ICMwNjcyYjE7XG59XG5cbi5ibHVlLWRhcmssIC50ZXh0LWJsdWUtZGFyayB7XG4gIGNvbG9yOiAjMDE0ZTdkO1xufVxuXG4uYmx1ZS1tdXRlZCwgLnRleHQtYmx1ZS1tdXRlZCB7XG4gIGNvbG9yOiAjNWI4MTk2O1xufVxuXG4uYmxhY2ssIC50ZXh0LWJsYWNrIHtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMTQlKTtcbn1cblxuLmNoYXJjb2FsLCAudGV4dC1jaGFyY29hbCB7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDI0JSk7XG59XG5cbi5kYXJrLWdyYXksIC50ZXh0LWRhcmstZ3JheSB7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDM5JSk7XG59XG5cbi5ncmF5LCAudGV4dC1ncmF5IHtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgNTQlKTtcbn1cblxuLmxpZ2h0LWdyYXksIC50ZXh0LWxpZ2h0LWdyYXkge1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCA2OSUpO1xufVxuXG4uc2lsdmVyLCAudGV4dC1zaWx2ZXIge1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCA4NCUpO1xufVxuXG4ud2hpdGUtc21va2UsIC50ZXh0LXdoaXRlLXNtb2tlIHtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgOTMlKTtcbn1cblxuLm9mZi13aGl0ZSwgLnRleHQtb2ZmLXdoaXRlIHtcbiAgY29sb3I6ICNmYWZhZmE7XG59XG5cbi53aGl0ZSwgLnRleHQtd2hpdGUge1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmRjcC1vcmFuZ2UsIC50ZXh0LWRjcC1vcmFuZ2Uge1xuICBjb2xvcjogI2Q5NmIyNztcbn1cblxuLmExMXktb3JhbmdlLCAudGV4dC1hMTF5LW9yYW5nZSB7XG4gIGNvbG9yOiAjYWU1NjFmO1xufVxuXG4uZGNwLXllbGxvdywgLnRleHQtZGNwLXllbGxvdyB7XG4gIGNvbG9yOiAjZmZjODYxO1xufVxuXG4uYTExeS15ZWxsb3csIC50ZXh0LWExMXkteWVsbG93IHtcbiAgY29sb3I6ICNmZmVlYzE7XG59XG5cbi5sdS1wZWFjaCwgLnRleHQtbHUtcGVhY2gge1xuICBjb2xvcjogI2Y2ZGU4OTtcbn1cblxuLmx1LXllbGxvdywgLnRleHQtbHUteWVsbG93IHtcbiAgY29sb3I6ICNlZGVkMTI7XG59XG5cbi5sdS1tYWdlbnRhLCAudGV4dC1sdS1tYWdlbnRhIHtcbiAgY29sb3I6ICM5OTEyZWQ7XG59XG5cbi5sdS1yZWQsIC50ZXh0LWx1LXJlZCB7XG4gIGNvbG9yOiAjZjQyODI4O1xufVxuXG4ubHUtb3JhbmdlLCAudGV4dC1sdS1vcmFuZ2Uge1xuICBjb2xvcjogI2UyNzUwZjtcbn1cblxuLmx1LXBpbmssIC50ZXh0LWx1LXBpbmsge1xuICBjb2xvcjogI2Y2ODljYTtcbn1cblxuLmx1LWdyZWVuLCAudGV4dC1sdS1ncmVlbiB7XG4gIGNvbG9yOiAjMGRlNzBkO1xufVxuXG4ubHUtYmx1ZSwgLnRleHQtbHUtYmx1ZSB7XG4gIGNvbG9yOiAjMTI5ZGVkO1xufVxuXG4ubHUtbGF2ZW5kYXIsIC50ZXh0LWx1LWxhdmVuZGFyIHtcbiAgY29sb3I6ICNkMzk0ZmE7XG59XG5cbi5sdS1zaWx2ZXIsIC50ZXh0LWx1LXNpbHZlciB7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDg0JSk7XG59XG5cbi5sdS1ncmF5LCAudGV4dC1sdS1ncmF5IHtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMzklKTtcbn1cblxuLmxheWVyLWdyb3Vwcy1jb250YWluZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCA4NCUpO1xufVxuLmxheWVyLWdyb3Vwcy1jb250YWluZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwNywgMTEzLCAxMjMsIDAuMDYpO1xufVxuLmxheWVyLWdyb3Vwcy1jb250YWluZXI6bm90KC5vcGVuKSAubGF5ZXItZ3JvdXBzLWNvbnRhaW5lci1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5sYXllci1ncm91cHMtY29udGFpbmVyIC5mYS1pbmZvLWNpcmNsZSB7XG4gIGNvbG9yOiAjMDE0ZTdkO1xufVxuLmxheWVyLWdyb3Vwcy1jb250YWluZXIgLmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlIHtcbiAgY29sb3I6ICNlMjc1MGY7XG59XG5cbi5sYXllci1ncm91cHMtY29udGFpbmVyLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDAuMzc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5sYXllci1ncm91cHMtY29udGFpbmVyLXRpdGxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDcsIDExMywgMTIzLCAwLjA2KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmxheWVyLWdyb3Vwcy1jb250YWluZXItdGl0bGU6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMC40ZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2FlNTYxZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTAuMmVtO1xuICByaWdodDogMC4zNzVyZW07XG59XG4ubGF5ZXItZ3JvdXBzLWNvbnRhaW5lci10aXRsZS5jbG9zZWQ6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLmxheWVyLWdyb3VwLXRvZ2dsZSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZmVmZWZlO1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi5sYXllci1ncm91cC10b2dnbGUtaGVhZGVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDcsIDExMywgMTIzLCAwLjA2KTtcbn1cbi5sYXllci1ncm91cC10b2dnbGUtaGVhZGVyIC5jZWxsOmZpcnN0LWNoaWxkOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmxheWVyLWdyb3VwLXRvZ2dsZS1oZWFkZXIgLmxheWVyLWdyb3VwLXRvZ2dsZS1sYWJlbCB7XG4gIHBhZGRpbmc6IDAuMzc1cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbn1cbi5sYXllci1ncm91cC10b2dnbGUtaGVhZGVyIC5zd2l0Y2gge1xuICBtYXJnaW46IDAuMzc1cmVtIDAuMjVyZW0gMCAwLjM3NXJlbTtcbn1cbi5sYXllci1ncm91cC10b2dnbGUtaGVhZGVyIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gIHdpZHRoOiAxLjI1cmVtO1xufVxuLmxheWVyLWdyb3VwLXRvZ2dsZS1oZWFkZXIgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIHdpZHRoOiAwLjVyZW07XG59XG4ubGF5ZXItZ3JvdXAtdG9nZ2xlLWhlYWRlciAuc3dpdGNoLnRpbnkgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIGxlZnQ6IDAuNjI1cmVtO1xufVxuLmxheWVyLWdyb3VwLXRvZ2dsZS1oZWFkZXIgLmxheWVyLWdyb3VwLXRvZ2dsZS1pY29ucyB7XG4gIHBhZGRpbmc6IDAuMzc1cmVtO1xufVxuXG4ubGVnZW5kLWl0ZW1zIHtcbiAgcGFkZGluZzogMCAwIDAuMzc1cmVtO1xufVxuXG4ubGVnZW5kLWl0ZW0ge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDAgMC4zNzVyZW07XG59XG5cbi5sZWdlbmQtaWNvbiB7XG4gIHdpZHRoOiAyLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBtYXJnaW46IDAgMC4xMjVyZW0gMCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmxlZ2VuZC1pY29uLWxheWVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmxlZ2VuZC1pY29uLWxheWVyLmxpbmUgKyAubGVnZW5kLWljb24tbGF5ZXIubGluZSwgLmxlZ2VuZC1pY29uLWxheWVyLnJlY3RhbmdsZSArIC5sZWdlbmQtaWNvbi1sYXllci5yZWN0YW5nbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuc3ZnLmxlZ2VuZC1pY29uLWxheWVyIHtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgd2lkdGg6IDIuNWVtO1xufVxuXG4ucG9seWdvbi1zdGFja2VkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnBvbHlnb24tc3RhY2tlZCAuZmEgKyAuZmEge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTAuMmVtO1xuICBsZWZ0OiAwLjJlbTtcbn1cblxuLnBvbHlnb24tZmlsbC1kYXNoIHtcbiAgb3BhY2l0eTogMC41O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjhlbTtcbiAgaGVpZ2h0OiAwLjhlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnBvbHlnb24tZmlsbC1kYXNoIC5maWxsLCAucG9seWdvbi1maWxsLWRhc2ggLmRhc2gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbn1cbi5wb2x5Z29uLWZpbGwtZGFzaCAuZmlsbCB7XG4gIG9wYWNpdHk6IDAuMztcbn1cbi5wb2x5Z29uLWZpbGwtZGFzaCAuZGFzaCB7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBib3JkZXItc3R5bGU6IGRvdHRlZDtcbn1cblxuLmxhYnMtYmV0YS1ub3RpY2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogMS4zMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMjFweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDk2QjI3O1xuICBib3gtc2hhZG93OiBpbnNldCAwIC00cHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4ubGFicy1iZXRhLW5vdGljZTpob3ZlciwgLmxhYnMtYmV0YS1ub3RpY2U6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I5NWIyMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uc2l0ZS1oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiAwIDRweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuLnNpdGUtaGVhZGVyIC5icmFuZGluZyB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbn1cbi5zaXRlLWhlYWRlciAuZGNwLWxvZ28ge1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaXRlLWhlYWRlciAuZGNwLWxvZ28ge1xuICAgIGhlaWdodDogMi4yNXJlbTtcbiAgfVxufVxuLnNpdGUtaGVhZGVyIC5zaXRlLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNpdGUtaGVhZGVyIC5zaXRlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgfVxufVxuLnNpdGUtaGVhZGVyIC5zaXRlLXN1YnRpdGxlIHtcbiAgZm9udC1zaXplOiAwLjVlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgMzklKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNpdGUtaGVhZGVyIC5zaXRlLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuN2VtO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICB9XG59XG4uc2l0ZS1oZWFkZXIgYTpob3ZlciAuc2l0ZS1zdWJ0aXRsZSB7XG4gIGNvbG9yOiAjYWU1NjFmO1xufVxuLnNpdGUtaGVhZGVyIC5tZW51IGEsIC5zaXRlLWhlYWRlciAubWVudSBidXR0b24ge1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAzOSUpO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBwYWRkaW5nOiAxLjY4NzVyZW0gMS4yNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uc2l0ZS1oZWFkZXIgLm1lbnUgYTpob3ZlciwgLnNpdGUtaGVhZGVyIC5tZW51IGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNCk7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59XG4uc2l0ZS1oZWFkZXIgLm1lbnUuZHJvcGRvd24gPiBsaSA+IGEsIC5zaXRlLWhlYWRlciAubWVudS5kcm9wZG93biA+IGxpID4gYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDEuNjg3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuNjg3NXJlbTtcbn1cbi5zaXRlLWhlYWRlciAubWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDAgMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5zaXRlLWhlYWRlciAubWVudSAuaXMtZHJvcGRvd24tc3VibWVudSBsaTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjOWRhMmFhO1xufVxuLnNpdGUtaGVhZGVyIC5tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IGEsIC5zaXRlLWhlYWRlciAubWVudSAuaXMtZHJvcGRvd24tc3VibWVudSBidXR0b24ge1xuICBwYWRkaW5nOiAwLjYyNXJlbSAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG4uc2l0ZS1oZWFkZXIgLnJlc3BvbnNpdmUtbmF2LXRvZ2dsZXIge1xuICBjb2xvcjogaHNsKDIxNy41LCA2Ljk1NjUyMTczOTElLCAzOSUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDkzJSk7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbjogMC41cmVtIDA7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDFyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2l0ZS1oZWFkZXIgLnJlc3BvbnNpdmUtbmF2LXRvZ2dsZXIge1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICB9XG59XG4uc2l0ZS1oZWFkZXIgbmF2LnJlc3BvbnNpdmUgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaXRlLWhlYWRlciBuYXYucmVzcG9uc2l2ZSAubWVudS5tZWRpdW0taG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuLnNpdGUtaGVhZGVyIG5hdi5yZXNwb25zaXZlIC5tZW51LmxhcmdlLWhvcml6b250YWwge1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNpdGUtaGVhZGVyIG5hdi5yZXNwb25zaXZlIC5tZW51LmxhcmdlLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuaDYsXG4uaGVhZGVyLXRpbnkge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbn1cblxuYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZm9udC1kZWZhdWx0IHtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xufVxuXG4uZm9udC1tb25vIHtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG59XG5cbi5ub3dyYXAsXG4ubm8td3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50ZXh0LXh4bGFyZ2Uge1xuICBmb250LXNpemU6IDIuMTI1cmVtO1xufVxuXG4udGV4dC14bGFyZ2Uge1xuICBmb250LXNpemU6IDEuNTYyNXJlbTtcbn1cblxuLnRleHQtbGFyZ2Uge1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG5cbi50ZXh0LW1lZGl1bSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLnRleHQtc21hbGwge1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbn1cblxuLnRleHQtdGlueSB7XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XG59XG5cbi50ZXh0LXdlaWdodC1ub3JtYWwge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4udGV4dC13ZWlnaHQtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5ibG9ja3F1b3RlIGNpdGUge1xuICBvcGFjaXR5OiAwLjc1O1xufVxuXG5kZCArIGR0IHtcbiAgbWFyZ2luLXRvcDogMC4zcmVtO1xufVxuXG5maWVsZHNldCA+IGxlZ2VuZCB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuLnNlYXJjaC1mb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuLnNlYXJjaC1mb3JtIC5zZWFyY2gtaW5wdXQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnNlYXJjaC1mb3JtIC5zZWFyY2gtaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwLjVlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG5pbnB1dC5uby1jb250cm9scyB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIG5peCBXZWJraXQgJ1gnICovXG59XG5pbnB1dC5uby1jb250cm9sczo6LW1zLWNsZWFyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbn1cbmlucHV0Lm5vLWNvbnRyb2xzOjotbXMtcmV2ZWFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbn1cbmlucHV0Lm5vLWNvbnRyb2xzOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLCBpbnB1dC5uby1jb250cm9sczo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgaW5wdXQubm8tY29udHJvbHM6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLCBpbnB1dC5uby1jb250cm9sczo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbmlucHV0Lm5vLWNvbnRyb2xzOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCBpbnB1dC5uby1jb250cm9sczo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuaW5wdXQubm8tY29udHJvbHM6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tZW51IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4ubWVudSAuaXMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA0KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yNXJlbSAwIDAgI2ZmYzg2MTtcbn1cbi5tZW51IC5pcy1hY3RpdmUgYSwgLm1lbnUgLmlzLWFjdGl2ZSBidXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnRhYnMge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm9yZGVyOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLnRhYnM6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgMCBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDg0JSk7XG59XG4udGFicyBhIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuLnRhYnMgbGkge1xuICBmbG9hdDogbm9uZTtcbn1cbi50YWJzIGxpOm5vdCguaXMtYWN0aXZlKSBhIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgMCBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDg0JSk7XG59XG4udGFicyBsaS5pcy1hY3RpdmUgYSB7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDI0JSk7XG4gIGJvcmRlci10b3AtY29sb3I6IGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgODQlKTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDAgMCAwIGhzbCgyMTcuNSwgNi45NTY1MjE3MzkxJSwgODQlKSwgaW5zZXQgLTFweCAwIDAgMCBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDg0JSk7XG59XG5cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDA7XG59XG5cbi5zdGlja3kgLmFjdGl2ZSB7XG4gIGNvbG9yOiBoc2woMjE3LjUsIDYuOTU2NTIxNzM5MSUsIDE0JSk7XG59IiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjcuNVxuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gLS0tIERlcGVuZGVuY2llcyAtLS1cbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlLFxuICAkeHktZ3JpZDogJHh5LWdyaWRcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGlmICR4eS1ncmlkIHtcbiAgICAkeHktZ3JpZDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLy8gR2xvYmFsIHN0eWxlc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuICAvLyBHcmlkc1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIC8vIEJhc2ljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4gIC8vIENvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbiAgLy8gSGVscGVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpZiAkZmxleCB7IEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzOyB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJC16Zi1zaXplOiBudWxsO1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIFwic21hbGxcIjogMCxcbiAgXCJtZWRpdW1cIjogNjQwcHgsXG4gIFwibGFyZ2VcIjogMTAyNHB4LFxuICBcInhsYXJnZVwiOiAxMjAwcHgsXG4gIFwieHhsYXJnZVwiOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIEhpRFBJIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzIGZvciByZXNvbHV0aW9ucy5cbi8vLyBWYWx1ZXMgbXVzdCByZXByZXNlbnQgdGhlIGRldmljZSBwaXhlbHMgLyB3ZWIgcGl4ZWxzIHJhdGlvbiBhbmQgYmUgdW5pdGxlc3Mgb3IgaW4gRFBQWC5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBcImhpZHBpLTFcIjogMSxcbiAgXCJoaWRwaS0xLTVcIjogMS41LFxuICBcImhpZHBpLTJcIjogMixcbiAgXCJyZXRpbmFcIjogMixcbiAgXCJoaWRwaS0zXCI6IDNcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gV2ViIHN0YW5kYXJkIFBpeGVscyBwZXIgaW5jaC4gKDFkZHB4IC8gJHN0ZC13ZWItZHBpKSA9IDFkcGlcbiAgLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVzLTMvI2Fic29sdXRlLWxlbmd0aHNcbiAgJHN0ZC13ZWItZHBpOiA5NjtcblxuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIG9mIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludFxuICAkYnAtbmV4dDogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1taW46IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtaW4td2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiBudWxsO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gSWYgbmFtZWQsIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbiAgJG5hbWU6IG51bGw7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgSGlEUEkgYnJlYWtwb2ludFxuICAkaGlkcGk6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuXG4gIC8vIElmIGEgYnJlYWtwb2ludCBuYW1lIGlzIGdpdmVuLCBnZXQgaXRzIHZhbHVlIGZyb20gdGhlICRicmVha3BvaW50cy8kYnJlYWtwb2ludHMtaGlkcGkgbWFwLlxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMtaGlkcGksICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMtaGlkcGksICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQtbnVtYmVyKCRicmVha3BvaW50cy1oaWRwaSwgJGJwKTtcbiAgICAgICRoaWRwaTogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciBgJGJyZWFrcG9pbnRzYCBvciBgJGJyZWFrcG9pbnRzLWhpZHBpYCBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkbmFtZSBhbmQgJGRpciA9PSAnb25seScge1xuICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ3VwJyBoYXZlIGEgbWluIGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAndXAnIHtcbiAgICAkYnAtbWluOiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICB9XG4gIC8vIE9ubHkgJ29ubHknIGFuZCAnZG93bicgaGF2ZSBhIG1heCBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIHZhbHVlLCB1c2UgaXQgYXMgbWF4IGxpbWl0LlxuICAgIEBpZiBub3QgJG5hbWUge1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgbmFtZWQsIHRoZSBtYXggbGltaXQgaXMgdGhlIGZvbGxvd2luZyBicmVha3BvaW50IC0gMXB4LlxuICAgIEBlbHNlIGlmICRicC1uZXh0IHtcbiAgICAgIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgICAgIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksICRicC1uZXh0IC0gZGl2aWRlKDEsICRzdGQtd2ViLWRwaSksIC16Zi1icC10by1lbSgkYnAtbmV4dCkgLSAwLjAwMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmF0ZSB0aGUgbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gbWluIGFuZCBtYXggbGltaXRzLlxuICBAaWYgJGhpZHBpIHtcbiAgICAvLyBHZW5lcmF0ZSB2YWx1ZXMgaW4gRFBJIGluc3RlYWQgb2YgRFBQWCBmb3IgYW4gSUU5LTExL09wZXJhIG1pbmkgY29tcGF0aWJpbGl0eS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICAgICRicC1taW4tZHBpOiBpZigkYnAtbWluLCAkYnAtbWluICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1pbik7XG4gICAgJGJwLW1heC1kcGk6IGlmKCRicC1tYXgsICRicC1tYXggKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWF4KTtcbiAgICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCwgJy13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbycsICctd2Via2l0LW1heC1kZXZpY2UtcGl4ZWwtcmF0aW8nKSxcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4tZHBpLCAkYnAtbWF4LWRwaSwgJ21pbi1yZXNvbHV0aW9uJywgJ21heC1yZXNvbHV0aW9uJyksXG4gICAgICAnLCAnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4KTtcbiAgfVxufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIGFuZCBgJGJyZWFrcG9pbnRzLWhpZHBpYCBtYXBzLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGVhY2ggb2YgdGhlbSBhcyBkZXNjcmliZWQgYWJvdmUuXG4vLy8gU2luY2UgdGhlIGNvbnRlbnQgaXMgZHVwbGljYXRlZCBmb3IgZWFjaCBicmVha3BvaW50LCB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBwcm9wZXJ0aWVzIHRoYXRcbi8vLyBjaGFuZ2UgYWNyb3NzIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlcy4uLiAtIEJyZWFrcG9pbnQgbmFtZSBvciBweC9yZW0vZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcy4uLikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdmFsdWVzKSB7XG4gICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJGkpO1xuICAgICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgbnRoKCR2YWx1ZSwgMSkpO1xuICAgICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuICAgIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICAgJGRpcjogaWYobGVuZ3RoKCR2YWx1ZSkgPiAxLCBudGgoJHZhbHVlLCAyKSwgdXApO1xuXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gICAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gICAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICAgIEBpZiAkc3RyID09ICcnIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gICAgQGVsc2Uge1xuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgICAgLy8gZ2VuZXJhdGUgcHJpbnQgaWYgdGhlIGJyZWFrcG9pbnQgYWZmZWN0cyB0aGUgcHJpbnQtYnJlYWtwb2ludCAob3Igc21hbGxlcikuXG4gICAgICAvLyBUaGlzIG1lYW5zIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBvbmx5IG5lZWRzIHRvIGJlIGV4dGVuZGVkIHNvICdkb3duJyBhbHdheXMgZ2VuZXJhdGVzIHByaW50LlxuICAgICAgQGlmICRicCAhPSBudWxsIGFuZCAoJGJwIDw9ICRwYnAgb3IgJGRpciA9PSBkb3duKSB7XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IG51bWJlciBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRudW1iZXIgLSBOdW1iZXIgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSBudW1iZXIgZm9sbG93aW5nIGAkbnVtYmVyYCwgaWYgYCRudW1iZXJgIHdhcyBmb3VuZC4gSWYgYCRudW1iZXJgIHdhcyBub3QgZm91bmQsIG9yIGAkbnVtYmVyYCB3YXMgdGhlIGJpZ2dlc3QgbnVtYmVyIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dC1udW1iZXIoJG1hcCwgJG51bWJlcikge1xuXG4gICRuZXh0LW51bWJlcjogbnVsbDtcblxuICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09ICdudW1iZXInIGFuZCAkdiA+ICRudW1iZXIgYW5kICgkbmV4dC1udW1iZXIgPT0gbnVsbCBvciAkdiA8ICRuZXh0LW51bWJlcikge1xuICAgICAgJG5leHQtbnVtYmVyOiAkdjtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXh0LW51bWJlcjtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZC1rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmQta2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZC1rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIHRoZSBiZXN0IGJyZWFrcG9pbnQgdG8gdXNlIGFjY29yZGluZyB0byB0aGUgY2FsbGluZyBjb250ZXh0LiBJdCByZXR1cm5zIGluIG9yZGVyOlxuLy8vIDEuIHRoZSBnaXZlbiBgJHZhbHVlYCBhcmd1bWVudCBpZiBpdCBpcyBub3QgbnVsbC5cbi8vLyAyLiB0aGUgZ2xvYmFsIGJyZWFrcG9pbnQgY29udGV4dCBgJC16Zi1zaXplYCBpZiBpdCBpcyBub3QgbnVsbCAobGlrZSBpZiBjYWxsZWQgaW5zaWRlIHRoZW4gYGJyZWFrcG9pbnQoKWAgbWl4aW4pXG4vLy8gMy4gdGhlIGdpdmVuIGAkZGVmYXVsdGAgYXJndW1lbnQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBpbiBwcmlvcml0eSBpZiBub24tbnVsbC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkZWZhdWx0IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGJ5IGRlZmF1bHQgaWYgbm8gb3RoZXIgdmFsdWUgY2FuIGJlIHVzZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBUaGUgcmVzb2x2ZWQgYnJlYWtwb2ludC5cbkBmdW5jdGlvbiAtemYtY3VycmVudC1icmVha3BvaW50KCR2YWx1ZTogbnVsbCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgQGlmICgkdmFsdWUgIT0gbnVsbCkge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICh2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgQHJldHVybiAkLXpmLXNpemU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gIH1cbn1cblxuLy8vIFJldHVybiBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gbWluIGFuZC9vciBtYXggbGltaXRzLlxuLy8vIElmIGEgbGltaXQgaXMgZXF1YWwgdG8gYG51bGxgIG9yIGAwYCwgaXQgaXMgaWdub3JlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXSAtIE1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCBbMF0gLSBNYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtaW4tbmFtZSBbJ21pbi13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFsnbWF4LXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBNZWRpYSBRdWVyeSBzdHJpbmcuXG5AZnVuY3Rpb24gLXpmLWJwLWpvaW4oXG4gICRtaW46IDAsXG4gICRtYXg6IDAsXG4gICRtaW4tbmFtZTogJ21pbi13aWR0aCcsXG4gICRtYXgtbmFtZTogJ21heC13aWR0aCdcbikge1xuICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgIGlmKCRtaW4gYW5kICRtaW4gPiAwLCAnKCN7JG1pbi1uYW1lfTogI3skbWlufSknLCBudWxsKSxcbiAgICBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJygjeyRtYXgtbmFtZX06ICN7JG1heH0pJywgbnVsbCksXG4gICAgJyBhbmQgJyk7XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG5cbi8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuLy8gVGhpcyBzaG91bGQgYmUgaW4gdGhlIHNhbWUgYnJlYWtwb2ludCB0aGVuIGBAbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoYFxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICAvLyBFeHRlbmRzIG11c3QgYmUgbWFkZSBvdXRzaWRlIG9mIGJyZWFrcG9pbnRzIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbmV3ZXIgU2FzcyB2ZXJzaW9ucyAobGlic2FzcyB2My41KVxuICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcblxuICAvLy8gRGlzYWJsZXMgdGhlIHNjcm9sbCB3aGVuIFJldmVhbCBpcyBzaG93biB0byBwcmV2ZW50IHRoZSBiYWNrZ3JvdW5kIGZyb20gc2hpZnRpbmdcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcblxuICAgICYuemYtaGFzLXNjcm9sbCB7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgfVxuXG4gICAgYm9keSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuQG1peGluIGZvdW5kYXRpb24tbm9ybWFsaXplKCkge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLy8gRG9jdW1lbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuXG4gIGh0bWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG4gIH1cblxuICAvLyBTZWN0aW9uc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gIC8vIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG4gIH1cblxuICAvLyBHcm91cGluZyBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gICAgaGVpZ2h0OiAwOyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBwcmUge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBUZXh0LWxldmVsIHNlbWFudGljc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gIC8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDA7IC8vIDFcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGNvZGUsXG4gIGtiZCxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAvLyBhbGwgYnJvd3NlcnMuXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAvLyBFbWJlZGRlZCBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cblxuICBpbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZvcm1zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8vIDFcbiAgICBmb250LXNpemU6IDEwMCU7IC8vIDFcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIG1hcmdpbjogMDsgLy8gMlxuICB9XG5cbiAgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gIC8vIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCB7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAvLyAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uLFxuICBzZWxlY3QgeyAvLyAxXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgLy8gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAvLyAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cblxuICBsZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gM1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbiAgcHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG5cbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDJcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAvLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG5cbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbiAgICBmb250OiBpbmhlcml0OyAvLyAyXG4gIH1cblxuICAvLyBJbnRlcmFjdGl2ZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG5cbiAgZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG5cbiAgLy8gTWlzY1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cblxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuXG4gIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZSBvdXRsaW5lIHdoZW4gaW50ZW50IGlzIGNsZWFybHkgbW91c2UgYW5kIHRvdWNoXG4gIFtkYXRhLXdoYXRpbnRlbnQ9XCJtb3VzZVwiXSxcbiAgW2RhdGEtd2hhdGludGVudD1cInRvdWNoXCJdLFxuICBbZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSxcbiAgW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0ge1xuICAgICosICo6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlIGlPUyBjYWxsb3V0cyB3aGVuIGRyYWdnYWJsZSBpcyBmYWxzZVxuICBbZHJhZ2dhYmxlPWZhbHNlXSB7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIFwicHJpbWFyeVwiOiAjMTc3OWJhLFxuICBcInNlY29uZGFyeVwiOiAjNzY3Njc2LFxuICBcInN1Y2Nlc3NcIjogIzNhZGI3NixcbiAgXCJ3YXJuaW5nXCI6ICNmZmFlMDAsXG4gIFwiYWxlcnRcIjogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHNhZmUgcGFkZGluZyBvbiB0aGUgYm9keSBmb3Igbm9uLXJlY3Rhbmd1bGFyIGRldmljZXMgKGkuZS4gcGhvbmVzIHdpdGggbm90Y2hlcylcbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1zYWZlLXBhZGRpbmc6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xuJC16Zi1mbGV4LWp1c3RpZnk6IC16Zi1mbGV4LWp1c3RpZnkoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbik7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBpZiAoJGJvZHktc2FmZS1wYWRkaW5nKSB7XG4gICAgICAvLyB1c2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gYWNjb3VudCBmb3Igbm9uLXJlY3Rhbmd1bGFyIGRpc3BsYXlzIGUuZy4gcGhvbmVzIHdpdGggbm90Y2hlc1xuICAgICAgcGFkZGluZy10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xuICAgICAgcGFkZGluZy1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcbiAgICAgIHBhZGRpbmctbGVmdDogZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vXG4vLyBDdXN0b20gdmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBDb2xvcnNcblxuJGFxdWEtd2hpdGU6ICNjZmY4Zjg7XG4kYXF1YS1saWdodDogIzg2ZWVlZTsgIC8vICM5OWZmZmZcbiRhcXVhOiAgICAgICAjMGRkY2RjOyAgLy8gIzEyZWRlZFxuJGFxdWEtZGltOiAgICMwMDllOWU7XG4kYXF1YS1kYXJrOiAgIzAwNmQ2ZjsgIC8vICMwMDdhN2FcbiRhcXVhLW11dGVkOiAjNWU5NDk0OyAgLy8gIzY0YjRiNFxuXG4kdGVhbC13aGl0ZTogI2NlZjhlYTtcbiR0ZWFsLWxpZ2h0OiAjODVlZGNiOyAgLy8gI2IzZmZlNlxuJHRlYWw6ICAgICAgICMwYmRiOTY7ICAvLyAjMTJlZGE0XG4kdGVhbC1kaW06ICAgIzAwOTY2NTtcbiR0ZWFsLWRhcms6ICAjMDA2YzQ5OyAgLy8gIzAwN2E1MlxuJHRlYWwtbXV0ZWQ6ICM1Yzk0ODE7ICAvLyAjNjRiNDlhXG5cbiRncmVlbi13aGl0ZTogI2NmZmFjZjtcbiRncmVlbi1saWdodDogIzg2ZjM4NjsgICAvLyAjYjNmZmIzXG4kZ3JlZW46ICAgICAgICMwZGU3MGQ7ICAgLy8gIzEyZWQxMlxuJGdyZWVuLWRpbTogICAjMDBhZTAwO1xuJGdyZWVuLWRhcms6ICAjMDA3MzAwOyAgIC8vICMwMDdhMDBcbiRncmVlbi1tdXRlZDogIzViOTY1YjsgICAvLyAjNjRiNDY0XG5cbiRjaGFydHJldXNlLXdoaXRlOiAjZWNmYWNmO1xuJGNoYXJ0cmV1c2UtbGlnaHQ6ICNjZmYyODg7ICAvLyAjZTZmZmIzXG4kY2hhcnRyZXVzZTogICAgICAgIzlmZTUxMDsgIC8vICNhNWVkMTJcbiRjaGFydHJldXNlLWRpbTogICAjN2ViODA2O1xuJGNoYXJ0cmV1c2UtZGFyazogICM0YjcxMDA7ICAvLyAjNTI3YTAwXG4kY2hhcnRyZXVzZS1tdXRlZDogIzg4OTg2NTsgIC8vICM5YWI0NjRcblxuJHllbGxvdy13aGl0ZTogI2ZiZmJkMDtcbiR5ZWxsb3ctbGlnaHQ6ICNmNmY2ODk7ICAvLyAjZmZmZmIzXG4keWVsbG93OiAgICAgICAjZWRlZDEyOyAgLy8gI2VkZWQxMlxuJHllbGxvdy1kaW06ICAgI2IzYjQwNjtcbiR5ZWxsb3ctZGFyazogICM3YTdhMDA7ICAvLyAjN2E3YTAwXG4keWVsbG93LW11dGVkOiAjOWQ5ZDZkOyAgLy8gI2I0YjQ2NFxuXG4kZ29sZC13aGl0ZTogI2ZiZjJkMDtcbiRnb2xkLWxpZ2h0OiAjZjZkZTg5OyAgLy8gI2ZmZWViM1xuJGdvbGQ6ICAgICAgICNlZGJkMTI7ICAvLyAjZWRiZDEyXG4kZ29sZC1kaW06ICAgI2FmOGEwNDtcbiRnb2xkLWRhcms6ICAjNzQ1YjAwOyAgLy8gIzdhNjAwMFxuJGdvbGQtbXV0ZWQ6ICM5YThmNjU7ICAvLyAjYjRhMzY0XG5cbiRvcmFuZ2Utd2hpdGU6ICNmOWUzY2Y7XG4kb3JhbmdlLWxpZ2h0OiAjZjFiYTg3OyAgLy8gI2ZmZDhiM1xuJG9yYW5nZTogICAgICAgI2UyNzUwZjsgIC8vICNlMjc1MGZcbiRvcmFuZ2UtZGltOiAgICNiYTVjMDQ7XG4kb3JhbmdlLWRhcms6ICAjNzEzNzAwOyAgLy8gIzdhM2MwMFxuJG9yYW5nZS1tdXRlZDogIzk1Nzc1YjsgIC8vICNiNDhiNjRcblxuJHJlZC13aGl0ZTogI2ZkZDRkNDtcbiRyZWQtbGlnaHQ6ICNmYTk0OTQ7ICAgLy8gI2ZmYjdiN1xuJHJlZDogICAgICAgI2Y0MjgyODsgICAvLyAjZWQxMjEyXG4kcmVkLWRpbTogICAjYmMyOTI5O1xuJHJlZC1kYXJrOiAgIzdhMTExMTsgICAvLyAjN2EwMDAwXG4kcmVkLW11dGVkOiAjOTI2MDYwOyAgIC8vICNiNDY0NjRcblxuJGZ1Y2hzaWEtd2hpdGU6ICNmYmQwZWE7XG4kZnVjaHNpYS1saWdodDogI2Y2ODljYTsgICAvLyAjZmZiM2UwXG4kZnVjaHNpYTogICAgICAgI2VkMTI5NDsgICAvLyAjZWQxMjk0XG4kZnVjaHNpYS1kaW06ICAgI2JjMTc3YTtcbiRmdWNoc2lhLWRhcms6ICAjN2EwNDRjOyAgIC8vICM3YTAwNDhcbiRmdWNoc2lhLW11dGVkOiAjOTE1YTdiOyAgIC8vICNiNDY0OTRcblxuJHB1cnBsZS13aGl0ZTogI2VkZDRmZDtcbiRwdXJwbGUtbGlnaHQ6ICNkMzk0ZmE7ICAvLyAjZTJiM2ZmXG4kcHVycGxlOiAgICAgICAjOTkxMmVkOyAgLy8gIzk5MTJlZFxuJHB1cnBsZS1kaW06ICAgIzdhMjViMTtcbiRwdXJwbGUtZGFyazogICM1MjExN2Q7ICAvLyAjNGIwMDdhXG4kcHVycGxlLW11dGVkOiAjN2Y2MDkyOyAgLy8gIzk2NjRiNFxuXG4kaW5kaWdvLXdoaXRlOiAjZGJkYmZkO1xuJGluZGlnby1saWdodDogI2E2YTZmYjsgIC8vICNiN2I3ZmZcbiRpbmRpZ286ICAgICAgICM0ZDRkZjY7ICAvLyAjMjkyOWVkXG4kaW5kaWdvLWRpbTogICAjM2IzYmFhO1xuJGluZGlnby1kYXJrOiAgIzI0MjQ3ZDsgIC8vICMwMDAwN2FcbiRpbmRpZ28tbXV0ZWQ6ICM2OTY5OTE7ICAvLyAjNjQ2NGI0XG5cbiRibHVlLXdoaXRlOiAjZDBlYmZiO1xuJGJsdWUtbGlnaHQ6ICM4OWNlZjY7ICAvLyAjYjNlM2ZmXG4kYmx1ZTogICAgICAgIzEyOWRlZDsgIC8vICMxMjlkZWRcbiRibHVlLWRpbTogICAjMDY3MmIxO1xuJGJsdWUtZGFyazogICMwMTRlN2Q7ICAvLyAjMDA0ZTdhXG4kYmx1ZS1tdXRlZDogIzViODE5NjsgIC8vICM2NDk3YjRcblxuLy8gR3JheXNjYWxlIGNvbG9yc1xuJGdyYXktaHVlOiBodWUoIzZiNzE3Yik7XG4kZ3JheS1zYXR1cmF0aW9uOiBzYXR1cmF0aW9uKCM2YjcxN2IpO1xuJGJsYWNrOiBoc2woJGdyYXktaHVlLCAkZ3JheS1zYXR1cmF0aW9uLCAxNCUpO1xuJGNoYXJjb2FsOiBoc2woJGdyYXktaHVlLCAkZ3JheS1zYXR1cmF0aW9uLCAyNCUpO1xuJGRhcmstZ3JheTogaHNsKCRncmF5LWh1ZSwgJGdyYXktc2F0dXJhdGlvbiwgMzklKTtcbiRncmF5OiBoc2woJGdyYXktaHVlLCAkZ3JheS1zYXR1cmF0aW9uLCA1NCUpO1xuJGxpZ2h0LWdyYXk6IGhzbCgkZ3JheS1odWUsICRncmF5LXNhdHVyYXRpb24sIDY5JSk7XG4kc2lsdmVyOiBoc2woJGdyYXktaHVlLCAkZ3JheS1zYXR1cmF0aW9uLCA4NCUpO1xuJHdoaXRlLXNtb2tlOiBoc2woJGdyYXktaHVlLCAkZ3JheS1zYXR1cmF0aW9uLCA5MyUpO1xuJG9mZi13aGl0ZTogI2ZhZmFmYTtcbiR3aGl0ZTogI2ZlZmVmZTtcblxuLy8gRENQIGNvbG9yc1xuJGRjcC1vcmFuZ2U6ICNkOTZiMjc7XG4kYTExeS1vcmFuZ2U6ICNhZTU2MWY7XG4kZGNwLXllbGxvdzogI2ZmYzg2MTtcbiRhMTF5LXllbGxvdzogI2ZmZWVjMTtcblxuLy8gTGFuZCBVc2UgY29sb3JzXG4kbHUtcGVhY2g6ICRnb2xkLWxpZ2h0O1xuJGx1LXllbGxvdzogJHllbGxvdztcbiRsdS1tYWdlbnRhOiAkcHVycGxlO1xuJGx1LXJlZDogJHJlZDtcbiRsdS1vcmFuZ2U6ICRvcmFuZ2U7XG4kbHUtcGluazogJGZ1Y2hzaWEtbGlnaHQ7XG4kbHUtZ3JlZW46ICRncmVlbjtcbiRsdS1ibHVlOiAkYmx1ZTtcbiRsdS1sYXZlbmRhcjogJHB1cnBsZS1saWdodDtcbiRsdS1zaWx2ZXI6ICRzaWx2ZXI7XG4kbHUtZ3JheTogJGRhcmstZ3JheTtcblxuXG4vL1xuLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgc2V0dGluZ3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDYXJkXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxuLy8gIDE2LiBEcmlsbGRvd25cbi8vICAxNy4gRHJvcGRvd25cbi8vICAxOC4gRHJvcGRvd24gTWVudVxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gIDIwLiBGb3Jtc1xuLy8gIDIxLiBMYWJlbFxuLy8gIDIyLiBNZWRpYSBPYmplY3Rcbi8vICAyMy4gTWVudVxuLy8gIDI0LiBNZXRlclxuLy8gIDI1LiBPZmYtY2FudmFzXG4vLyAgMjYuIE9yYml0XG4vLyAgMjcuIFBhZ2luYXRpb25cbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vICA0Ny4gUmV2ZWFsXG4vLyAgNDguIFNsaWRlclxuLy8gIDQ5LiBTd2l0Y2hcbi8vICA1MC4gVGFibGVcbi8vICA1MS4gVGFic1xuLy8gIDUyLiBUaHVtYm5haWxcbi8vICA1My4gVGl0bGUgQmFyXG4vLyAgNTQuIFRvb2x0aXBcbi8vICA1NS4gVG9wIEJhclxuLy8gIDU2LiBYeSBHcmlkXG5cbi8vIEBpbXBvcnQgJ3V0aWwvdXRpbCc7IC8vIGltcG9ydGVkIGluIHRoZSBjb25zdW1pbmcgYXBwJ3MgbWFpbiBTYXNzIGZpbGVcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAkYTExeS1vcmFuZ2UsXG4gIHNlY29uZGFyeTogJHdoaXRlLXNtb2tlLFxuICBzdWNjZXNzOiAkY2hhcnRyZXVzZS1kYXJrLFxuICB3YXJuaW5nOiAkYTExeS15ZWxsb3csXG4gIGFsZXJ0OiAkcmVkLFxuKTtcbi8vICRsaWdodC1ncmF5OiAkbGlnaHQtZ3JheTtcbiRtZWRpdW0tZ3JheTogJGdyYXk7XG4vLyAkZGFyay1ncmF5OiAkZGFyay1ncmF5O1xuLy8gJGJsYWNrOiAjMGEwYTBhO1xuLy8gJHdoaXRlOiAjZmVmZWZlO1xuJGJvZHktYmFja2dyb3VuZDogJG9mZi13aGl0ZTtcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjaztcbiRib2R5LWZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiRib2R5LWFudGlhbGlhc2VkOiBmYWxzZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG87XG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiBmYWxzZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRwcmludC1icmVha3BvaW50OiBtZWRpdW07XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlIHhsYXJnZSB4eGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuMztcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMS4yNWVtO1xuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDM0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE0KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDEyKSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAzOCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAzNCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNiksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxMiksXG4gICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogNzUlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiBpbmhlcml0O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGNoYXJjb2FsO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJHdoaXRlLXNtb2tlO1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJHNpbHZlcjtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTIwJSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiBhdXRvO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRzaWx2ZXI7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogaW5oZXJpdDtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTYgOCAxNik7XG4kYmxvY2txdW90ZS1ib3JkZXI6IHJlbS1jYWxjKDYpIHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjaXRlLWZvbnQtc2l6ZTogMWVtO1xuJGNpdGUtY29sb3I6IGluaGVyaXQ7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGNoYXJjb2FsO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkd2hpdGUtc21va2U7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDMgNik7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpO1xuJGxlYWQtbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMzgpO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkYTExeS15ZWxsb3c7XG4kYmFkZ2UtY29sb3I6ICRibGFjaztcbiRiYWRnZS1jb2xvci1hbHQ6ICR3aGl0ZTtcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IHJlbS1jYWxjKDEpO1xuJGJhZGdlLW1pbndpZHRoOiByZW0tY2FsYygxNyk7XG4kYmFkZ2UtZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRidXR0b24tZmlsbDogc29saWQ7XG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNyUpO1xuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xuJGJ1dHRvbi1jb2xvci1hbHQ6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTclKTtcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC03JTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nKjAuNTtcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbik7XG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE2LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDE3LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxOC4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkc2lsdmVyO1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDE2IDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiBpbmhlcml0O1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJHdoaXRlLXNtb2tlO1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkc2lsdmVyO1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6IGluaGVyaXQ7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IGluaGVyaXQ7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkd2hpdGUtc21va2U7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJHNpbHZlcjtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZ3JheTtcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nICogMC41O1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbGlnaHQtZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkd2hpdGUtc21va2U7XG4kbGFiZWwtY29sb3I6ICRibGFjaztcbiRsYWJlbC1jb2xvci1hbHQ6ICR3aGl0ZTtcbiRsYWJlbC1wYWxldHRlOiBtYXAtcmVtb3ZlKCRmb3VuZGF0aW9uLXBhbGV0dGUsIChcbiAgICBwcmltYXJ5XG4pKTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMi4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMy4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJGNoYXJjb2FsO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcblxuLy8gMjQuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNS4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUtc21va2U7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJGExMXkteWVsbG93O1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkY2hhcmNvYWw7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkZ3JheTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbik7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbik7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XG5cbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pO1xuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbik7XG5cbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XG5cbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKTtcblxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcbiAgbG93ZXJjYXNlLFxuICB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemVcbik7XG5cbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogcmVtLWNhbGMoMTQpO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiByZW0tY2FsYygyKTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkICRzaWx2ZXI7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAqIDAuNSk7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiR0YWItY29udGVudC1ib3JkZXI6ICRzaWx2ZXI7XG4kdGFiLWNvbnRlbnQtY29sb3I6IGluaGVyaXQ7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAwIDA7XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbiAgbGFyZ2U6IDQwcHgsXG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLyBQYXRjaCB0byBmaXggaXNzdWUgIzEyMDgwXG4kLXpmLWJwLXZhbHVlOiBudWxsO1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogZGl2aWRlKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSwgJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAzMiAyNFwiPjxwb2x5Z29uIHBvaW50cz1cIjAsMCAzMiwwIDE2LDI0XCIgc3R5bGU9XCJmaWxsOiAjeyRyZ2J9XCI+PC9wb2x5Z29uPjwvc3ZnPicpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZShkaXZpZGUoMSwgJGkpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiAxcHggI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiAxcHggI3skaW1wb3J0YW50fTtcbiAgcGFkZGluZzogMCAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogaGlkZGVuICN7JGltcG9ydGFudH07XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAjeyRpbXBvcnRhbnR9O1xuICBib3JkZXI6IDAgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZihcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogc3RhdGljICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiBhdXRvICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogdmlzaWJsZSAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiBhdXRvICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludChcbiAgJHNtYWxsOiB0cnVlLFxuICAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWVcbikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKGF1dG8sIC16Zi1ib29sKCRzbWFsbCksIC16Zi1ib29sKCRhdXRvLWluc2VydC1icmVha3BvaW50cykpIHtcbiAgICBAY29udGVudFxuICB9O1xufVxuXG4vLy8gSXRlcmF0ZXMgd2l0aCBgQGNvbnRlbnRgIHRocm91Z2ggdGhlIGdpdmVuIGxpc3Qgb2YgYnJlYWtwb2ludHMgYCRicmVha3BvaW50c2AuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYnJlYWtwb2ludHMgW2F1dG9dIC0gQnJlYWtwb2ludHMgdG8gaXRlcmF0ZXMgb24uIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58TnVsbH0gJHplcm8tYnJlYWtwb2ludCBbbnVsbF0gLSBXaGV0aGVyIHRoZSB6ZXJvLWJyZWFrcG9pbnQgKG9mdGVuIGBzbWFsbGApIG11c3QgYmUgaW5jbHVkZWQuIElmIGB0cnVlYCwgaXQgd2lsbCBhbHdheXMgYmUgYWRkZWQgdG8gdGhlIGxpc3QgaWYgbm90IGFscmVhZHkgdGhlcmUuIElmIGBmYWxzZWAsIGl0IHdpbGwgYWx3YXlzIGJlIHJlbW92ZWQuIERvZXMgbm90aGluZyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxLZXl3b3JkfSAkbWVkaWEtcXVlcmllcyBbdHJ1ZV0gLSBXaGV0aGVyIG1lZGlhLXF1ZXJpZXMgbXVzdCBiZSBnZW5lcmF0ZWQuIElmIGBmb3ItbGlzdHNgLCBvbmx5IGdlbmVyYXRlIG1lZGlhLXF1ZXJpZXMgd2hlbiBgJGJyZWFrcG9pbnRzYCBpcyBhIGxpc3QuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludC1pbihcbiAgJGJyZWFrcG9pbnRzOiBhdXRvLFxuICAkemVyby1icmVha3BvaW50OiBudWxsLFxuICAkbWVkaWEtcXVlcmllczogdHJ1ZVxuKSB7XG4gICQtbGlzdDogKCk7XG4gICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiB0cnVlO1xuXG4gIC8vIFJldHJpZXZlIHRoZSBsaXN0IG9mIGJyZWFrcG9pbnQocykgdG8gaXRlcmF0ZSBvbi5cbiAgQGlmICRicmVha3BvaW50cyA9PSBhdXRvIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdsaXN0JyB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludHM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdzdHJpbmcnIHtcbiAgICAkLWxpc3Q6ICgkYnJlYWtwb2ludHMpO1xuICAgICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiBmYWxzZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiJGJyZWFrcG9pbnRzXCIgaW4gXCItemYtZWFjaC1icmVha3BvaW50LWluKClcIi4gR290IFwiI3skYnJlYWtwb2ludHN9XCIgKCN7dHlwZS1vZigkYnJlYWtwb2ludHMpfSkuIEV4cGVjdGVkIGEgYnJlYWtwb2ludCBuYW1lLCBhIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgXCJhdXRvXCInO1xuICB9XG5cbiAgLy8gQWRkIG9yIHJlbW92ZSB0aGUgemVybyBicmVha3BvaW50IGFjY29yZGluZyB0byBgJHplcm8tYnJlYWtwb2ludGBcbiAgQGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gdHJ1ZSB7XG4gICAgJC1saXN0OiBqb2luKCgkLXpmLXplcm8tYnJlYWtwb2ludCksIHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KSk7XG4gIH1cbiAgQGVsc2UgaWYgJHplcm8tYnJlYWtwb2ludCA9PSBmYWxzZSB7XG4gICAgJC1saXN0OiBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBJdGVyYXRlIG9uIGJyZWFrcG9pbnQocylcbiAgQGVhY2ggJGJwIGluICQtbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkYnAgIWdsb2JhbDtcblxuICAgIEBpZiAoJG1lZGlhLXF1ZXJpZXMgPT0gdHJ1ZSBvciAoJG1lZGlhLXF1ZXJpZXMgPT0gJ2Zvci1saXN0cycgYW5kICQtYnJlYWtwb2ludHMtaXMtYS1saXN0KSkge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJGJwLXZhbHVlOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgICBAaWYgJGJwLXZhbHVlICE9IG51bGwge1xuICAgICAgICAkbmFtZTogJGJwLXZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nICogMC41ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gIDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgKiAwLjUgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGQtZnJvbS1oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpO1xuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZC1mcm9tLWhlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y29kZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIElubGluZSBDaXRhdGlvbnNcbiAgQGlmICgkZW5hYmxlLWNpdGUtYmxvY2sgPT0gdHJ1ZSkge1xuICAgIGNpdGUge1xuICAgICAgLy8gRXh0ZW5kaW5nIGEgY2xhc3MgaXMgbm90IHJlY29tbWVuZGVkLlxuICAgICAgLy8gVE9ETzogQnJlYWsgdGhlIHR5cG9ncmFwaHktYmFzZS90eXBvZ3JhcGh5LWhlbHBlcnMgc2VwYXJhdGlvblxuICAgICAgQGV4dGVuZCAlY2l0ZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb2RlXG4gIEBpZiAoJGVuYWJsZS1jb2RlLWlubGluZSA9PSB0cnVlKSB7XG4gICAgY29kZSB7XG4gICAgICBAZXh0ZW5kICVjb2RlLWlubGluZTtcbiAgICB9XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiRwcmltYXJ5LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiR3YXJuaW5nLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHN1Y2Nlc3MtY29sb3I6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogZGl2aWRlKCRyZ2IsIDI1NSk7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgZGl2aWRlKCRyZ2IsIDEyLjkyKSwgcG93KGRpdmlkZSgkcmdiICsgMC4wNTUsIDEuMDU1KSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogZGl2aWRlKCRsdW1pbmFuY2UxLCAkbHVtaW5hbmNlMik7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogZGl2aWRlKDEsICRyYXRpbyk7XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAqIDAuMTtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gJ0NvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9JztcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHByaW1hcnktY29sb3I6ICMxNzc5YmEgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIHVuZGVyIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGNpdGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICRjaXRlLWNvbG9yO1xuICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZCBiYXNpYyBzdHlsZXMgZm9yIGEgY29kZSBoZWxwZXIuXG4vLy8gU2VlIGBjb2RlLWlubGluZWAgYW5kIGBjb2RlLWJsb2NrYCBtaXhpbnMuXG5AbWl4aW4gY29kZS1zdHlsZSB7XG4gIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBpbmxpbmUuXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtaW5saW5lYFxuQG1peGluIGNvZGUtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gYSBibG9jay5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1ibG9ja2BcbkBtaXhpbiBjb2RlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuXG4gIHBhZGRpbmc6ICRjb2RlLWJsb2NrLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206ICRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b207XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICVjaXRlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjaXRlLWJsb2NrO1xuICB9XG5cbiAgLmNpdGUtYmxvY2sge1xuICAgIEBleHRlbmQgJWNpdGUtYmxvY2s7XG4gIH1cblxuICAlY29kZS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1pbmxpbmU7XG4gIH1cblxuICAuY29kZS1pbmxpbmUge1xuICAgIEBleHRlbmQgJWNvZGUtaW5saW5lO1xuICB9XG5cbiAgLmNvZGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1ibG9jaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheXMgbmV4dCB0byBhbGwgbGlua3MgdGhlaXIgXCJocmVmXCIgd2hlbiBwcmludGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgLy8gRW5zdXJlIGEgXCJibGFjay1vbi13aGl0ZVwiIHByaW50IGJ5IHJlbW92aW5nIGJhY2tncm91bmRzLFxuICAgICAgLy8gdXNpbmcgYmxhY2sgdGV4dCBldmVyeXdoZXJlIGFuZCBmb3JjaW5nIHRoZSBicm93c2VyIHRvIGVjb25vbWl6ZSBpbmsuXG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgICAgcHJpbnQtY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgICAgfVxuICAgICAgLy8gT3RoZXJ3aXNlLCBwcmV2ZW50IGFueSBlY29ub215IGJ5IHRoZSBicm93c2VyLlxuICAgICAgQGVsc2Uge1xuICAgICAgICBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbChmdWxsLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIjtcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHdpZHRoIHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi14YCBub3Qgb24gYC5ncmlkLXhgXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teWAgbm90IG9uIGAuZ3JpZC15YFxuICAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGNsYXNzLWJyZWFrcG9pbnQsICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsKSB7XG4gICRwcmVmaXg6IGlmKCRjbGFzcy1icmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50LCAnJywgJyN7JGNsYXNzLWJyZWFrcG9pbnR9LScpO1xuICA+IC4jeyRwcmVmaXh9YXV0byB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gID4gLiN7JHByZWZpeH1zaHJpbmsge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICRjbGFzc25hbWU6IGlmKCR2ZXJ0aWNhbCwgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nKTtcblxuICAgID4gI3skY2xhc3NuYW1lfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoXG4gICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICR3cmFwcGluZy1zZWxlY3RvcjogJy5ncmlkLW1hcmdpbi14J1xuKXtcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbik7XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKCR2ZXJ0aWNhbDogJHZlcnRpY2FsLCAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKSk7XG4gICAgfVxuXG4gICAgLy8gYmFzZSBzdHlsZXMgbmVlZCB0byBhbGwgYmUgYmVmb3JlIHRoZSBhdXRvIGFuZCBzaHJpbmsgc3R5bGVzXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkgYW5kICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCR2ZXJ0aWNhbDogJHZlcnRpY2FsLCAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuXG4gICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgLy8gZm9yIGFsbCBwcmlvciBicmVha3BvaW50cy5cbiAgICAgIC8vIEFzIHRoZWlyIGd1dHRlciBpcyBkZWZpbmVkIHdpdGggdGhlaXIgd2lkdGgvaGVpZ2h0LCBldmVuIGJyZWFrcG9pbnQgd2l0aG91dCBhIG5ldyBtYXJnaW4gbXVzdCBiZVxuICAgICAgLy8gZ2VuZXJhdGVkIHRvIG5vdCBoYXZpbmcgdGhlaXIgd2lkdGgvaGVpZ2h0IG92ZXJyaWRlZCBieSByZS1hZGp1c3RlZCBzbWFsbGVyIGJyZWFrcG9pbnRzLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGJwLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JGJwfS11cC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgLy8gICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyBhbmQgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIjtcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpICogMC41O1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAqIDAuNTtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgZmxleCB2YWx1ZSBmb3IgYSBjZWxsIGJhc2UuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBUaGUgY2VsbCBmbGV4IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gMSAxIDA7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdncm93Jykge1xuICAgIEByZXR1cm4gMSAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnIG9yICRzaXplID09ICdmdWxsJyBvciB6Zi1pcy1mcmFjdGlvbigkc2l6ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiB0cnVlKSkge1xuICAgIEByZXR1cm4gMCAwIGF1dG87XG4gIH1cbiAgQHJldHVybiBudWxsO1xufVxuXG4vLy8gQ2FsY3VsYXRlIHRoZSBzaXplIG9mIGEgY2VsbCBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAgYCRndXR0ZXJzYC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxNYXB9IFRoZSBjZWxsIGd1dHRlciBzaXplIG9yIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwLlxuQGZ1bmN0aW9uIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gIC8vIEZvciBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgbWFwIGAkZ3V0dGVyc2AuXG4gIEBpZiAoJGJyZWFrcG9pbnQgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAkZ3V0dGVycztcbiAgfVxuXG4gIC8vIFVzZSB0aGUgY29udGV4dHVhbCBicmVha3BvaW50IGJ5IGRlZmF1bHQuXG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50KTtcblxuICBAaWYgKCRicmVha3BvaW50KSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXplcm8tYnJlYWtwb2ludCkgb3IgMDtcbiAgfVxufVxuXG4vLy8gUmV0dXJucyB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8zYC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFNpemUgb2YgdGhlIGNlbGwgKGluIHBlcmNlbnQpLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICBAcmV0dXJuIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoJHNpemUsICRkZW5vbWluYXRvcjogJGdyaWQtY29sdW1ucyk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgZm9yIGEgY2VsbCBzaXplLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGFueSBmcmFjdGlvbiBsaWtlIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIGEgbWFwIG9mIHNpemVzIGFkYXB0ZWQgdG8gcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ3xNYXB9IFRoZSBjZWxsIHNpemluZyBwcm9wZXJ0eSB2YWx1ZSwgb3IgYSByZXNwb25zaXZlIG1hcCBvZiB0aGVtLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZS1jc3MoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRtYXJnaW4tZ3V0dGVyOiAwO1xuXG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nIG9yICRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgQHJldHVybiBhdXRvO1xuICB9XG5cbiAgLy8gRm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMsIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICRtYXJnaW4tZ3V0dGVyOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgICBAaWYgKCRtYXJnaW4tZ3V0dGVyID09IG51bGwpIHtcbiAgICAgIEBlcnJvciAneHktY2VsbC1zaXplOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIHNpemUgKG51bWJlcilcbiAgJHNpemUtcmF3OiBpZigkc2l6ZSA9PSAnZnVsbCcsIDEwMCUsIHh5LWNlbGwtc2l6ZSgkc2l6ZSkpO1xuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBDU1Mgc2l6ZSBpbmNsdWRpbmcgZ3V0dGVycyAoc3RyaW5nKVxuICAvLyBJZiB0aGUgY2VsbCBoYXMgcmVzcG9uc2l2ZSBtYXJnaW4gZ3V0dGVycywgcmV0dXJuIGEgcmVzcG9uc2l2ZSBtYXAgb2Ygc2l6ZXMuXG4gIEBpZiB0eXBlLW9mKCRtYXJnaW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiAoKTtcblxuICAgIEBlYWNoICRicCwgJG1nIGluICRtYXJnaW4tZ3V0dGVyIHtcbiAgICAgICRtZ2M6IHJlbS1jYWxjKCRtZyk7XG4gICAgICBAaWYgJG1nYyA9PSAwIHtcbiAgICAgICAgJG1nYzogMHJlbTtcbiAgICAgIH1cbiAgICAgICRzaXplLWNzczogaWYoJG1nID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAjeyRtZ30pKTtcbiAgICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogbWFwLW1lcmdlKCRyZXNwb25zaXZlLWNzcy1zaXplcywgKCRicDogJHNpemUtY3NzKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gYSBzaW5nbGUgQ1NTIHNpemUuXG4gIEBlbHNlIHtcbiAgICAvLyBNYWtlIHN1cmUgdGhhdCAwIGlzIHRyYW5zbGF0ZWQgaW4gMHJlbSBmb3IgY2FsYygpXG4gICAgJG1nYzogcmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpO1xuICAgIEBpZiAkbWdjID09IDAge1xuICAgICAgJG1nYzogMHJlbTtcbiAgICB9XG4gICAgJGNzcy1zaXplOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3skbWdjfSkpO1xuICAgIEByZXR1cm4gJGNzcy1zaXplO1xuICB9XG59XG5cbi8vLyBTZXRzIGJhc2UgZmxleCBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICAkYmFzZTogeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBmbGV4OiAjeyRiYXNlfTtcblxuICAvLyBTZXQgYmFzZSBzdHlsZXMgZm9yIFwiZnVsbFwiIG9ubHlcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgbWF4LSN7JGRpcmVjdGlvbn06IG5vbmU7XG59XG5cbi8vLyBTZXRzIHNpemluZyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHNpemVzIGFkYXB0ZWQgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplczogeHktY2VsbC1zaXplLWNzcygkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG5cbiAgQGlmICh0eXBlLW9mKCRzaXplcykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkc2l6ZXMpIHtcbiAgICAgICN7JGRpcmVjdGlvbn06ICQtemYtYnAtdmFsdWU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAjeyRkaXJlY3Rpb259OiAkc2l6ZXM7XG4gIH1cbn1cblxuLy8vIFNldHMgZ3V0dGVycyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIERpcmVjdGlvbiBvZiB0aGUgZ3V0dGVycyB0byBvdXRwdXQuIFNlZSBgJGd1dHRlci1wb3NpdGlvbmAuXG5AbWl4aW4geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIC8vIEdldCB0aGUgZGVmYXVsdCBndXR0ZXIgcG9zaXRpb24gYWNjb3JkaW5nIHRvIGNlbGwgZGlyZWN0aW9uXG4gIEBpZigkZ3V0dGVyLXBvc2l0aW9uID09IG51bGwpIHtcbiAgICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG4gIH1cblxuICAvLyBHZXQgdGhlIGd1dHRlciB3aWR0aCBmb3IgdGhpcyBicmVha3BvaW50XG4gICRndXR0ZXItd2lkdGg6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICBAaWYgKCRndXR0ZXItd2lkdGggPT0gbnVsbCkge1xuICAgIEBlcnJvciAneHktY2VsbC1ndXR0ZXJzOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gIH1cblxuICBAaWYgKCRndXR0ZXItdHlwZSBhbmQgJGd1dHRlci10eXBlICE9IG5vbmUpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItd2lkdGgsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbbnVsbF0gLSBbREVQUkVDQVRFRF0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgcHJvcGVybHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAvLyBEZWZhdWx0IGZvciAkZ3V0dGVyLW91dHB1dFxuICBAaWYgKCRndXR0ZXItb3V0cHV0ICE9IG51bGwpIHtcbiAgICBAd2FybiAneHktY2VsbDogJGd1dHRlci1vdXRwdXQgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuICAgIEBpZiAoJGd1dHRlci1vdXRwdXQgPT0gZmFsc2UpIHtcbiAgICAgICRvdXRwdXQ6IHNsLXJlbW92ZSgkb3V0cHV0LCBndXR0ZXJzKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGJhc2UpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIHNpemUpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGd1dHRlcnMpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gYHh5LWNlbGwtc3RhdGljKClgIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC5cbi8vLyBVc2UgYHh5LWNlbGwoKWAgaW5zdGVhZCB3aXRoIGAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKWAgdG8gbm90IGdlbmVyYXRlIHRoZSBjZWxsIGJhc2UuXG4vLy8gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wXG4vLy9cbi8vLyBAZGVwcmVjYXRlZCB2Ni42LjBcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLiBBbHdheXMgYHRydWVgIGZvciBtYXJnaW4gZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIEB3YXJuICd4eS1jZWxsLXN0YXRpYygpIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIFwieHktY2VsbCgpXCIgaW5zdGVhZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcblxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG5cbiAgJC1ndXR0ZXItb3V0cHV0OiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIHRydWUsICRndXR0ZXItb3V0cHV0KTtcbiAgJC1ndXR0ZXItbWFyZ2luOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsICRndXR0ZXIsIDApO1xuXG4gIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICQtZ3V0dGVyLW1hcmdpbiwgJHZlcnRpY2FsKTtcbiAgQGlmICgkLWd1dHRlci1vdXRwdXQpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBicmVha3BvaW50IHRvIHVzZSBmb3IgdGhlIGNlbGwgZ2VuZXJhdGlvbi4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBjb3JyZWN0bHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZShkaXZpZGUoMSwgJG4pKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCwgJG91dHB1dCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRtaW4tYnJlYWtwb2ludCBbJC16Zi16ZXJvLWJyZWFrcG9pbnRdIC0gTWluaW11bSBicmVha3BvaW50IGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBmb3Igd2hpY2ggdG8gY29sbGFwc2UgdGhlIGd1dHRlci5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSB0byBvZmZzZXQgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHh5LWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd9IFRoZSBjZWxsIG9mZnNldCBwcm9wZXJ0eSB2YWx1ZS5cbkBmdW5jdGlvbiB4eS1jZWxsLW9mZnNldChcbiAgJG4sXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRzaXplOiB4eS1jZWxsLXNpemUoJG4pO1xuXG4gICRvZmZzZXQ6ICRzaXplO1xuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAkZ3V0dGVyOiByZW0tY2FsYyh4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KSk7XG4gICAgQGlmICRndXR0ZXIgPT0gMCB7XG4gICAgICAkZ3V0dGVyOiAwcmVtO1xuICAgIH1cbiAgICAkb2Zmc2V0OiBpZigkZ3V0dGVyID09IDAsICRzaXplLCBjYWxjKCN7JHNpemV9ICsgI3skZ3V0dGVyfSAvIDIpKTtcbiAgfVxuICBAcmV0dXJuICRvZmZzZXQ7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodC9ib3R0b20gYnkgYCRuYCBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHh5LWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJGJyZWFrcG9pbnQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgZm9yIGAkZ3V0dGVyc2AuIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy4gSWYgYSBsaXN0IGlzIGdpdmVuLCBtZWRpYS1xdWVyaWVzIHdpbGwgYmUgZ2VuZXJhdGVkLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gICRuLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oJGJyZWFrcG9pbnQsICRtZWRpYS1xdWVyaWVzOiAnZm9yLWxpc3RzJykge1xuICAgICRvZmZzZXQ6IHh5LWNlbGwtb2Zmc2V0KCRuLCAkZ3V0dGVycywgJGd1dHRlci10eXBlKTtcbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skb2Zmc2V0fTtcbiAgfVxufVxuIiwiLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgMCBpcyB0cmFuc2xhdGVkIGluIDByZW0gZm9yIGNhbGMoKVxuICAgICAgICBAaWYgJGd1dHRlciA9PSAwIHtcbiAgICAgICAgICAkZ3V0dGVyOiAwcmVtO1xuICAgICAgICB9XG4gICAgICAgIGhlaWdodDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAgICAgQGlmICRndXR0ZXIgPT0gMCB7XG4gICAgICAgICAgJGd1dHRlcjogMHJlbTtcbiAgICAgICAgfVxuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gSWdub3JlZCBpZiBudWxsIChkZWZhdWx0KVxuLy8vIEB0eXBlIEZvbnQtV2VpZ2h0XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGJ1dHRvbnMsIHRyYW5zcGFyZW50IGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkaXRpb25hbCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIC5leHBhbmRlZFxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgYm9yZGVyOiAkYnV0dG9uLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IG9yIGNsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWZpbGwtc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZmlsbCBbJGJ1dHRvbi1maWxsXSAtIFR5cGUgb2YgZmlsbGluZyBiZXR3ZWVuIGBob2xsb3dgIGFuZCBgY2xlYXJgLiBgc29saWRgIGhhcyBubyBlZmZlY3RzLlxuQG1peGluIGJ1dHRvbi1maWxsKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGVzIG9mIGEgc29saWQvaG9sbG93L2NsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbnMgYGJ1dHRvbi1zdHlsZWAsIGBidXR0b24taG9sbG93LXN0eWxlYCBhbmQgYGJ1dHRvbi1jbGVhci1zdHlsZWAgZm9yIGVmZmVjdHMgb2YgdmlzdWFsIHN0eWxpbmcgcGFyYW1ldGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIC1cbkBtaXhpbiBidXR0b24tZmlsbC1zdHlsZShcbiAgJGZpbGw6ICRidXR0b24tZmlsbCxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRmaWxsID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gY2xlYXIge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1jbGVhci1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGFuZCBib3JkZXIgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRib3JkZXItd2lkdGggWyRidXR0b24taG9sbG93LWJvcmRlci13aWR0aF0gLSBCb3JkZXIgd2lkdGggb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuQG1peGluIGJ1dHRvbi1jbGVhciB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGNsZWFyIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGhvdmVyLWxpZ2h0bmVzcyBbJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXSAtIENvbG9yIGxpZ2h0bmVzcyBvbiBob3Zlci5cbkBtaXhpbiBidXR0b24tY2xlYXItc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3Ncbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQgYW5kIHJlc2V0aW5nIHRoZSBjdXJzb3IuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcGFjaXR5IFskYnV0dG9uLW9wYWNpdHktZGlzYWJsZWRdIC0gT3BhY2l0eSBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZFxuKSB7XG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbCgkc3R5bGUpO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkc3R5bGUsICRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b24oJHN0eWxlOiBub25lKTtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgQGlmICRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZCB7XG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBvbmx5KSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1vbmx5LWV4cGFuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBkb3duKSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWRvd24tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvbGlkLCBob2xsb3cgJiBjbGVhciBzdHlsZXNcbiAgICBAZWFjaCAkZmlsbGluZyBpbiAoc29saWQgaG9sbG93IGNsZWFyKSB7XG4gICAgICAkc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZyk7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcsICRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93LCAmLmNsZWFyIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuXG4gIGEuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuIChPbmx5IG5lZWRlZCB3aGVuICRnbG9iYWwtZmxleGJveDogZmFsc2U7KVxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgLy8gRGlzYWJsZSBjbGVhcmZpeFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNYWtlIGJ1dHRvbnMgYm9uZGVkIHdpdGhvdXQgZ2FwIGJldHdlZW4gdGhlbS4gQm9yZGVycyBiZXR3ZWVuIGJ1dHRvbnMgYXJlIG1lcmdlZFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1uby1nYXBzKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogcmVtLWNhbGMoLSRib3JkZXItd2lkdGgpO1xuXG4gICAgKyAjeyRzZWxlY3Rvcn0ge1xuICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmcsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRzcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIERpc2FibGUgY2xlYXJmaXhcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skc3BhY2luZ30pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoZGl2aWRlKDEsICRpKSl9IC0gI3skc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRiYXNlLXNlbGVjdG9yOiBpZigkYnV0dG9uLWZpbGwgPT0gJGZpbGxpbmcsIG51bGwsICcuI3skZmlsbGluZ30nKTtcblxuICAgICAgJiN7JGJhc2Utc2VsZWN0b3J9IHtcbiAgICAgICAgLy8gRG8gbm90IGdlbmVyYXRlIGJ1dHRvbiBiYXNlIHN0eWxlcyBmb3IgdGhlIGRlZmF1bHQgZmlsbGluZ1xuICAgICAgICBAaWYoJGJ1dHRvbi1maWxsICE9ICRmaWxsaW5nKSB7XG4gICAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRmaWxsaW5nKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgQGlmKCRidXR0b24tZmlsbCAhPSAkZmlsbGluZykge1xuICAgICAgICAgICAgJGluZGl2aWR1YWwtc2VsZWN0b3I6ICcgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9LiN7JG5hbWV9JztcbiAgICAgICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9LCAmI3skaW5kaXZpZHVhbC1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgICYubm8tZ2FwcyB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtbm8tZ2FwcztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG5cbiAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tei1pbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gc2l6ZSB0byB1c2UgYXMgZGVmYXVsdFxuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLXNpemVcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbFxuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbFxuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uIFVzZWQgdG8gZ2VuZXJhdGUgc2l6aW5nIG1vZGlmaWVycy5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkY2xvc2VidXR0b24tei1pbmRleDtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgLy8gVXNlIGJ5IGRlZmF1bHQgdGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBkZWZhdWx0IHNpemVcbiAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZX07XG5cbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAvLyBHZW5lcmF0ZSBhIHBsYWNlaG9sZGVyIGFuZCBhIGNsYXNzIGZvciBlYWNoIHNpemVcbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGNsb3NlYnV0dG9uLXNpemUge1xuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JG5hbWV9O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb2dyZXNzLWJhciB7XG4gIC8vIFByb2dyZXNzIGJhclxuICAucHJvZ3Jlc3Mge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLWNvbnRhaW5lcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbm5lciBtZXRlclxuICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyO1xuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXIgdGV4dFxuICAucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXItdGV4dDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgY3Vyc29yOiBncmFiO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgfVxuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gICAgY3Vyc29yOiBncmFiYmluZztcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc3dpdGNoXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgYWN0aXZlIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAudGlueSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5zbWFsbCBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLmxhcmdlIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaFxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXIgYW5kIHBhZGRsZS5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGEgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2ggcGFkZGxlXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gc3dpdGNoIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGEgZGlzYWJsZWQgc3dpdGNoLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkOiAwLjUgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgZm9yIGEgZGlzYWJsZWQgc3dpdGNoLlxuLy8vIEB0eXBlIEN1cnNvclxuJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgICB9XG4gIH1cblxuICAvLyBpbmRpY2F0ZSBhIGRpc2FibGVkIHN3aXRjaFxuICBpbnB1dDpkaXNhYmxlZCB+ICYge1xuICAgIGN1cnNvcjogJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgb3BhY2l0eTogJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkO1xuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAqIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9vdGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggc3RhY2tlZCB0YWJsZSBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0ciB7XG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS11bnN0cmlwZSgpIHtcbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3QgW2ZhbHNlXSAtIE5lZWRlZCBpZiB5b3Ugb25seSB3YW50IHRvIGFwcGx5IHRoaXMgdG8gYSBzcGVjaWZpYyB0YWJsZS5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzZXBlcmF0b3IgYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDtcbn1cblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJyAhZGVmYXVsdDtcblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IgaW4gcnRsIG1vZGUuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCcgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IgaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcikge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzZXBhcmF0b3I6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGwpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBjb250ZW50OiAkc2VwYXJhdG9yO1xuICAgICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgQ2FsbG91dCBwYWRkaW5ncy5cbi8vLyBAdHlwZSBNYXBcbiRjYWxsb3V0LXNpemVzOiAoXG4gIHNtYWxsOiAwLjVyZW0sXG4gIGRlZmF1bHQ6IDFyZW0sXG4gIGxhcmdlOiAzcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiBtYXAtZ2V0KCRjYWxsb3V0LXNpemVzLCBkZWZhdWx0KTtcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluIG1hcC1yZW1vdmUoJGNhbGxvdXQtc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoJHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhcmRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYXJkcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjYXJkIHNoYWRvdy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4uXG4vLy8gQHR5cGUgbnVtYmVyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLWJvdHRvbSxcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxuXG4gIC8vIEZvciBJRSAxMSAtIEZsZXhidWdcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvNzVcbiAgLmNhcmQtaW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuXG4gIC8vIEFsbG93IGFuIGludGVybWl0dGVudCBzdGF0ZSB0byBkbyBwb3NpdGlvbmluZyBiZWZvcmUgbWFraW5nIHZpc2libGUuXG4gICYuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgcHJldmlvdXMgYXJyb3cgd2hlbiBgJHBhZ2luYXRpb24tYXJyb3dzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzOiAnXFwwMEFCJyAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBuZXh0IGFycm93IHdoZW4gYCRwYWdpbmF0aW9uLWFycm93c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFnaW5hdGlvbi1hcnJvdy1uZXh0OiAnXFwwMEJCJyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJHBhZ2luYXRpb24tYXJyb3ctbmV4dDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGN1cnNvciBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoYXMtdGlwLWN1cnNvcjogaGVscCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXggd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnRvcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7XG4gIH1cblxuICAmLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIHBsdXMgaWNvbiB3aGVuIGAkYWNjb3JkaW9uLXBsdXNtaW51c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogJ1xcMDAyQicgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgbWludXMgaWNvbiB3aGVuIGAkYWNjb3JkaW9uLXBsdXNtaW51c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ6ICdcXDIwMTMnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgJltkaXNhYmxlZF0ge1xuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3IsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgY29udGVudDogJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICYubWlkZGxlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgJi5ib3R0b20ge1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9yYml0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhY3RpdmUgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlhbWV0ZXIgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGJldHdlZW4gT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlzdGFuY2UgZnJvbSBzbGlkZSByZWdpb24gZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZyb20gT3JiaXQncyBidWxsZXRzIHRvIHdoYXRldmVyIGNvbnRlbnQgbWF5IGx1cmsgYmVsb3cgaXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjb250cm9scyB3aGVuIGhvdmVyZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIG91dGVyIE9yYml0IHdyYXBwZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgT3JiaXQgc2xpZGUgY29udGFpbmVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY29udGFpbmVyYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDsgLy8gUHJldmVudCBGT1VDIGJ5IG5vdCBzaG93aW5nIHVudGlsIEpTIHNldHMgaGVpZ2h0XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5kaXZpZHVhbCBzbGlkZXMgb2YgYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtc2xpZGVgIGNsYXNzLlxuQG1peGluIG9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgdGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLi5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC5cbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC5cbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiB0b3AvYm90dG9tIGljb25zIHdpdGhpbiBhIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYWxpZ25tZW50IFtjZW50ZXJdIC0gQWxpZ25tZW50IG9mIHRoZSBpY29uXG5AbWl4aW4gbWVudS1pY29uLWFsaWdubWVudCgkYWxpZ25tZW50OiBjZW50ZXIpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5pY29uLXRvcCxcbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIGxpIGEge1xuICAgICAgICBpbWcsXG4gICAgICAgIGksXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZSwgKCRtZW51LWl0ZW0tY29sb3ItYWN0aXZlLCAkbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmUpKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tYWxpZ25tZW50KGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWVudSBpY29uIHBvc2l0aW9uXG4gICAgLy8gSW5jbHVkZXMgc3BlY2lmaWNpdHkgdG8gbmVzdGVkIGljb25zIHdpdGggYSBkaWZmZXJlbnQgcG9zaXRpb25cbiAgICAmLFxuICAgICYubmVzdGVkIHtcbiAgICAgIC8vIEljb24gTGVmdFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gUmlnaHRcbiAgICAgICYuaWNvbi1yaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gVG9wXG4gICAgICAmLmljb24tdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gQm90dG9tXG4gICAgICAmLmljb24tYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tYWxpZ25tZW50KHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gYm9yZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIExpc3RcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCBoZWlnaHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSAqIDAuNSk7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxufVxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuXG4gIC5hY2NvcmRpb24tbWVudSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICAgIGJvcmRlci10b3A6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbiwgcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICB9XG5cbiAgLy8gU3VibWVudSB0b2dnbGVcbiAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1yaWdodH06IDA7XG5cbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjtcblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBhcnJvdyB0byB0aGUgdG9nZ2xlXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcblxuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJvdGF0ZSB0aGUgYXJyb3cgd2hlbiBtZW51IGlzIG9wZW5cbiAgLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB9XG5cbiAgLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxuXG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51IHtcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcbiAgLmlzLWRyaWxsZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSB0b3AgbGV2ZWwgPHVsPlxuICAuZHJpbGxkb3duIHtcbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBcHBsaWVkIHRvIHN1Ym1lbnUgPHVsPnNcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdWJtZW51IGl0ZW0gcGFkZGluZ1xuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgcGFkZGluZyBmb3IgYWxpZ25pbmcgdGhlIGFycm93IGNvcnJlY3RseS5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3Igc3ViLW1lbnUgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciB3aWR0aCBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8gVXNlZCB0byBhZGp1c3QgdG9wIG1hcmdpbiBvZiBhIHN1Yi1tZW51IGlmIGEgYm9yZGVyIGlzIHVzZWQuXG4vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoOiBudGgoJGRyb3Bkb3dubWVudS1ib3JkZXIsIDEpO1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nO1xuICAgICAgfVxuXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgKiAwLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtXG4gICAgPiBsaSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtIGFjdGl2ZSBzdGF0ZVxuICAgID4gbGkuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG1hcCBvZiBhIGxlZnQvcmlnaHQgb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBtYXAgb2YgYSB0b3AvYm90dG9tIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBvdmVybGFwIHBhbmVsLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBzaXplIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweCAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgY29sb3IgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgY29udGVudCBvdmVybGF5LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTEgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYHB1c2hgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4vLy8gQHR5cGUgQm9vbFxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGNvbnRlbnQuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcblxuICAvLy8gVHJhbnNmb3JtIGRlcHJlY2F0ZWQgc2l6ZSBzZXR0aW5ncyBpbnRvIG1hcCAmIHNob3cgd2FybmluZ1xuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXNpemVzIGluc3RlYWQnO1xuICB9XG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cblxuICAvLyBDaGVja3MgdGhlIHotaW5kZXhlcyBhbmQgaW5jcmVhc2UgdGhlbSBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIG92ZXJsYXkncyB6LWluZGV4IGlzIG5ldyBzaW5jZSB2Ni40IGFuZCBtYXkgYmUgaWRlbnRpY2FsIHRvIHRoZSB1c2VyIGN1c3RvbSBzZXR0aW5ncyBvZiB0aGUgcHVzaCB6LWluZGV4LlxuICBAaWYgJG9mZmNhbnZhcy1wdXNoLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1wdXNoLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleCA8PSAkb2ZmY2FudmFzLXB1c2gtemluZGV4IHsgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cblxuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZywgdmlzaWJpbGl0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3NhYmxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gU2V0IHRoZSBvZmYtY2FudmFzIHotaW5kZXguXG4gIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgLy8gSGlkZSBpbmFjdGl2ZSBvZmYtY2FudmFzIHdpdGhpbiB0aGUgY29udGVudCB0aGF0IGhhdmUgdGhlIHNhbWUgcG9zaXRpb25cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplczogaWYoJG9yaWVudGF0aW9uID09IGhvcml6b250YWwsICRvZmZjYW52YXMtc2l6ZXMsICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUgaXMgc2V0LCBhZGQgaW5uZXIgYm94LXNoYWRvdy5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhyaWdodCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cobGVmdCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGJvdHRvbSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHRvcCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIEJpbmQgdG8gaGFzLXRyYW5zaXRpb24tWCBjbGFzcyB0byBwcmV2ZW50IHRyYW5zaXRpb24gZm9yIHRyYW5zZm9ybTpub25lXG4gICYuaGFzLXRyYW5zaXRpb24tb3ZlcmxhcCxcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIHNjb3BlIHVudGlsIHRoZSBlbGVtZW50IGlzIGNsb3NlZCAobWFrZXMgc3VyZSB0cmFuc2l0aW9uZW5kIGdldHMgdHJpZ2dlcmVkKVxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgZWxlbWVudCAmIGNvbnRlbnQsIG5lc3RlZCBpbiBhbm90aGVyIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuICAkY29udGVudDogJG1haW5jb250ZW50LWNsYXNzLFxuICAkYnJlYWtwb2ludDogc21hbGxcbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIHJldmVhbGVkIGVsZW1lbnQgaXMgbmVzdGVkIGluIGNvbnRlbnRcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChwcmlvciB0byB2Ni40KVxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vIE92ZXJyaWRlcyB0aGUgb2ZmLWNhbnZhcyBzdHlsZXNcbkBtaXhpbiBpbi1jYW52YXMoKSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB0cmFuc2l0aW9uOiBub25lO1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLnBvc2l0aW9uLWxlZnQsXG4gICYucG9zaXRpb24tcmlnaHQsXG4gICYucG9zaXRpb24tdG9wLFxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgIC8vIEZvcmNlIHBvc2l0aW9uIGFic29sdXRlIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBiZWNhdXNlIGZpeGVkIGRvZXNuJ3Qgd29yayBmb3IgcHVzaCB0cmFuc2l0aW9uIHdpdGhpbiB0aGUgdHJhbnNmb3JtIHNjb3BlLlxuICAgIC8vIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgLy8gICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cbiAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyB9XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20sICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtanVzdGlmeSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKSB7XG4gICQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXG4gICAgJ3JpZ2h0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1zdGFydCwgZmxleC1lbmQpLFxuICAgICdjZW50ZXInOiBjZW50ZXIsXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAgICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4gICk7XG5cbiAgQHJldHVybiAkLXpmLWZsZXgtanVzdGlmeTtcbn1cblxuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtIDAuMDAxMjU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAwLjAwMTI1O1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICAudmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIERhcmsgTW9kZSBWaXNpYmlsaXR5XG4gIC5zaG93LWZvci1kYXJrLW1vZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmhpZGUtZm9yLWRhcmstbW9kZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgLnNob3ctZm9yLWRhcmstbW9kZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaGlkZS1mb3ItZGFyay1tb2RlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBJRTEwKyBWaXNpYmlsaXR5XG4gIC5zaG93LWZvci1pZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgIC5zaG93LWZvci1pZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaGlkZS1mb3ItaWUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0aWNreSBWaXNpYmlsaXR5XG4gIC5zaG93LWZvci1zdGlja3kge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmlzLXN0dWNrIC5zaG93LWZvci1zdGlja3kge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5pcy1zdHVjayAuaGlkZS1mb3Itc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWtleWZyYW1lcygkbmFtZSwgJGVmZmVjdHMuLi4pIHtcbiAgJG9iajogLW11aS1wcm9jZXNzLWFyZ3MoJGVmZmVjdHMuLi4pO1xuICAkb2JqOiBtYXAtcmVtb3ZlKCRvYmosIG5hbWUpO1xuXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIC8vIE5vdyBpdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgQGVhY2ggJHBjdCwgJHByb3BzIGluICRvYmoge1xuICAgICAgI3stbXVpLWtleWZyYW1lLXBjdCgkcGN0KX0ge1xuICAgICAgICAvLyBMYXN0bHksIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIENTUyBwcm9wZXJ0eSB3aXRoaW4gYSBwZXJjZW50YWdlIGFuZCBwcmludCBpdCBvdXRcbiAgICAgICAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzdHJpbmcgZm9yIGEgQ1NTIGtleWZyYW1lLCBieSBjb252ZXJ0aW5nIGEgbGlzdCBvZiBudW1iZXJzIHRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGlucHV0IC0gTGlzdCBvZiBudW1iZXJzIHRvIHVzZS5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2V0IG9mIGNvbW1hLXNlcGFyYXRlZCBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXBjdCgkaW5wdXQpIHtcbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbnVtYmVyJyB7XG4gICAgJG91dHB1dDogKCRpbnB1dCAqIDElKTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ2xpc3QnIHtcbiAgICBAZWFjaCAkaSBpbiAkaW5wdXQge1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICgkaSAqIDElKSwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gXCIjeyRvdXRwdXR9XCI7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiAtbXVpLWlzLWZ1bmN0aW9uKCRtYXApIHtcbiAgICAgICRtYXA6IC1tdWktc2FmZS1jYWxsKCRtYXApO1xuICAgIH1cblxuICAgICRtYXA6IC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCk7XG5cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBpbiB0aGUgbWFwXG4gICAgLy8gJGtleSBpcyB0aGUga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIC8vICR2YWx1ZSBpcyBhIG1hcCBvZiBDU1MgcHJvcGVydGllc1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICRuZXctdmFsdWU6ICgpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJG5ldy1tYXAsICRrZXkpIHtcbiAgICAgICAgLy8gSWYgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUga2V5ZnJhbWUgJSwgYXBwZW5kIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogLW11aS1tZXJnZS1wcm9wZXJ0aWVzKG1hcC1nZXQoJG5ldy1tYXAsICRrZXkpLCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwgY3JlYXRlIGEgbmV3IG1hcCB3aXRoIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5hbGx5LCBtZXJnZSB0aGUgbW9kaWZpZWQga2V5ZnJhbWUgdmFsdWUgaW50byB0aGUgb3V0cHV0IG1hcFxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRuZXctdmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWtlIGEgbmFtZSBmb3IgdGhlIGtleWZyYW1lc1xuICAkLW11aS1jdXN0b206ICQtbXVpLWN1c3RvbSArIDEgIWdsb2JhbDtcbiAgJG1hcC1uYW1lOiAobmFtZTogJ2N1c3RvbS0jeyQtbXVpLWN1c3RvbX0nKTtcbiAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgJG1hcC1uYW1lKTtcblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgdHdvIG1hcHMgb2YgQ1NTIHByb3BlcnRpZXMgaW50byBvbmUgbWFwLiBJZiBib3RoIG1hcHMgaGF2ZSBhIHRyYW5zZm9ybSBwcm9wZXJ0eSwgdGhlIHZhbHVlcyBmcm9tIGVhY2ggd2lsbCBiZSBjb21iaW5lZCBpbnRvIG9uZSBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge01hcH0gJG9uZSAtIEZpcnN0IG1hcCB0byBtZXJnZS5cbi8vLyBAcGFyYW0ge01hcH0gJHR3byAtIFNlY29uZCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLW1lcmdlLXByb3BlcnRpZXMoJG9uZSwgJHR3bykge1xuICBAaWYgbWFwLWhhcy1rZXkoJG9uZSwgdHJhbnNmb3JtKSBhbmQgbWFwLWhhcy1rZXkoJHR3bywgdHJhbnNmb3JtKSB7XG4gICAgJHRyYW5zZm9ybTogam9pbihtYXAtZ2V0KCRvbmUsIHRyYW5zZm9ybSksIG1hcC1nZXQoJHR3bywgdHJhbnNmb3JtKSk7XG4gICAgJG9uZTogbWFwLW1lcmdlKCRvbmUsICh0cmFuc2Zvcm06ICR0cmFuc2Zvcm0pKTtcbiAgICAkdHdvOiBtYXAtcmVtb3ZlKCR0d28sIHRyYW5zZm9ybSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkb25lLCAkdHdvKTtcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2xpZGluZyB0cmFuc2l0aW9uIGJ5IHRyYW5zbGF0aW5nIHRoZSBlbGVtZW50IGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbnVsbF0gLSBEaXJlY3Rpb24gdG8gc2xpZGUgdG8uIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC4gQnkgZGVmYXVsdCBgbGVmdGAgYW5kIGByaWdodGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBudWxsLFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiAhPSBudWxsLCAkZGlyZWN0aW9uLCBpZigkc3RhdGUgPT0gaW4sIGxlZnQsIHJpZ2h0KSk7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gW251bGxdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuIEJ5IGRlZmF1bHQgYDBgIGFuZCBgMWAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbbnVsbF0gLSBPcGFjaXR5IHRvIGVuZCBvbi4gQnkgZGVmYXVsdCBgMWAgYW5kIGAwYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbnVsbCxcbiAgJHRvOiBudWxsLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmcm9tOiBpZigkZnJvbSAhPSBudWxsLCAkZnJvbSwgaWYoJHN0YXRlID09IGluLCAwLCAxKSk7XG4gICR0bzogaWYoJHRvICE9IG51bGwsICR0bywgaWYoJHN0YXRlID09IGluLCAxLCAwKSk7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtudWxsXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuIEJ5IGRlZmF1bHQgYGZyb20tYmFja2AgYW5kIGBmcm9tLWZyb250YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBudWxsLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBoaW5nZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHR1cm4tb3JpZ2luOiBpZigkdHVybi1vcmlnaW4gIT0gbnVsbCwgJHR1cm4tb3JpZ2luLCBpZigkc3RhdGUgPT0gaW4sIGZyb20tYmFjaywgZnJvbS1mcm9udCkpO1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gW251bGxdIC0gU2l6ZSB0byBzdGFydCBhdC4gQnkgZGVmYXVsdCBgMGAgYW5kIGAxYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFtudWxsXSAtIFNpemUgdG8gZW5kIGF0LiBCeSBkZWZhdWx0IGAxYCBhbmQgYDBgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktem9vbShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IG51bGwsXG4gICR0bzogbnVsbCxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmcm9tOiBpZigkZnJvbSAhPSBudWxsLCAkZnJvbSwgaWYoJHN0YXRlID09IGluLCAwLCAxKSk7XG4gICR0bzogaWYoJHRvICE9IG51bGwsICR0bywgaWYoJHN0YXRlID09IGluLCAxLCAwKSk7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtudWxsXSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuIEJ5IGRlZmF1bHQgYGN3YCBhbmQgYGNjd2AgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiAhPSBudWxsLCAkZGlyZWN0aW9uLCBpZigkc3RhdGUgPT0gaW4sIGN3LCBjY3cpKTtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1hbmltYXRpb24oJGFyZ3MuLi4pIHtcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xuICBhbmltYXRpb24tbmFtZTogdW5xdW90ZSgkbmFtZSk7XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTW9kdWxlOiBCb3ggTW9kZWxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5yZWxhdGl2ZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuLnN0YXRpYyB7IHBvc2l0aW9uOiBzdGF0aWM7IH1cblxuLy9cbi8vIERpc3BsYXkgaGVscGVyIGNsYXNzZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uZGlzcGxheS1ibG9jayB7IGRpc3BsYXk6IGJsb2NrOyB9XG4uZGlzcGxheS1pbmxpbmUgeyBkaXNwbGF5OiBpbmxpbmU7IH1cbi5kaXNwbGF5LWlubGluZS1ibG9jayB7IGRpc3BsYXk6IGlubGluZS1ibG9jazs7IH1cblxuXG4vL1xuLy8gTWFyZ2luIGhlbHBlciBjbGFzc2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNYXJnaW4gZm9yIGFsbCBmb3VyIHNpZGVzXG4ubm8tbWFyZ2luIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG4udGlueS1tYXJnaW4ge1xuICBtYXJnaW46ICRnbG9iYWwtbWFyZ2luKjAuMjUgIWltcG9ydGFudDtcbn1cbi5zbWFsbC1tYXJnaW4ge1xuICBtYXJnaW46ICRnbG9iYWwtbWFyZ2luKjAuNSAhaW1wb3J0YW50O1xufVxuLm1lZGl1bS1tYXJnaW4ge1xuICBtYXJnaW46ICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG59XG4ubGFyZ2UtbWFyZ2luIHtcbiAgbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbioyICFpbXBvcnRhbnQ7XG59XG4ueGxhcmdlLW1hcmdpbiB7XG4gIG1hcmdpbjogJGdsb2JhbC1tYXJnaW4qMyAhaW1wb3J0YW50O1xufVxuXG4vLyBNYXJnaW4gZm9yIHRvcCBhbmQgYm90dG9tXG4udGlueS1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luKjAuMjUgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4qMC4yNSAhaW1wb3J0YW50O1xufVxuLnNtYWxsLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4qMC41ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luKjAuNSAhaW1wb3J0YW50O1xufVxuLm1lZGl1bS1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG59XG4ubGFyZ2UtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbioyICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luKjIgIWltcG9ydGFudDtcbn1cbi54bGFyZ2UtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiozICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luKjMgIWltcG9ydGFudDtcbn1cblxuLy8gTWFyZ2luIGZvciByaWdodCBhbmQgbGVmdFxuLnRpbnktbWFyZ2luLXgge1xuICBtYXJnaW4tcmlnaHQ6ICRnbG9iYWwtbWFyZ2luKjAuMjUgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6ICRnbG9iYWwtbWFyZ2luKjAuMjUgIWltcG9ydGFudDtcbn1cbi5zbWFsbC1tYXJnaW4teCB7XG4gIG1hcmdpbi1yaWdodDogJGdsb2JhbC1tYXJnaW4qMC41ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAkZ2xvYmFsLW1hcmdpbiowLjUgIWltcG9ydGFudDtcbn1cbi5tZWRpdW0tbWFyZ2luLXgge1xuICBtYXJnaW4tcmlnaHQ6ICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xufVxuLmxhcmdlLW1hcmdpbi14IHtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2xvYmFsLW1hcmdpbioyICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAkZ2xvYmFsLW1hcmdpbioyICFpbXBvcnRhbnQ7XG59XG4ueGxhcmdlLW1hcmdpbi14IHtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2xvYmFsLW1hcmdpbiozICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAkZ2xvYmFsLW1hcmdpbiozICFpbXBvcnRhbnQ7XG59XG5cbi8vIEF1dG8gbWFyZ2luIGZvciByaWdodC9sZWZ0XG4uYXV0by1tYXJnaW4ge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbi5hdXRvLW1hcmdpbi1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLmF1dG8tbWFyZ2luLWxlZnQge1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4vLyBNYXJnaW4gZm9yIGluZGl2aWR1YWwgc2lkZXNcbiRzaWRlczogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0O1xuQGVhY2ggJHNpZGUgaW4gJHNpZGVzIHtcbiAgJGk6IGluZGV4KCRzaWRlcywgJHNpZGUpO1xuXG4gIC5uby1tYXJnaW4tI3skc2lkZX0ge1xuICAgIG1hcmdpbi0jeyRzaWRlfTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC50aW55LW1hcmdpbi0jeyRzaWRlfSB7XG4gICAgbWFyZ2luLSN7JHNpZGV9OiAkZ2xvYmFsLW1hcmdpbiowLjI1ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi0jeyRzaWRlfSB7XG4gICAgbWFyZ2luLSN7JHNpZGV9OiAkZ2xvYmFsLW1hcmdpbiowLjUgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi0jeyRzaWRlfSB7XG4gICAgbWFyZ2luLSN7JHNpZGV9OiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tI3skc2lkZX0ge1xuICAgIG1hcmdpbi0jeyRzaWRlfTogJGdsb2JhbC1tYXJnaW4qMiAhaW1wb3J0YW50O1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLSN7JHNpZGV9IHtcbiAgICBtYXJnaW4tI3skc2lkZX06ICRnbG9iYWwtbWFyZ2luKjMgIWltcG9ydGFudDtcbiAgfVxufVxuXG5cbi8vXG4vLyBQYWRkaW5nIGhlbHBlciBjbGFzc2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBQYWRkaW5nIGZvciBhbGwgZm91ciBzaWRlc1xuLm5vLXBhZGRpbmcge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG4udGlueS1wYWRkaW5nIHtcbiAgcGFkZGluZzogJGdsb2JhbC1tYXJnaW4qMC4yNSAhaW1wb3J0YW50O1xufVxuLnNtYWxsLXBhZGRpbmcge1xuICBwYWRkaW5nOiAkZ2xvYmFsLW1hcmdpbiowLjUgIWltcG9ydGFudDtcbn1cbi5tZWRpdW0tcGFkZGluZyB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG59XG4ubGFyZ2UtcGFkZGluZyB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWFyZ2luKjIgIWltcG9ydGFudDtcbn1cbi54bGFyZ2UtcGFkZGluZyB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWFyZ2luKjMgIWltcG9ydGFudDtcbn1cblxuLy8gUGFkZGluZyBmb3IgdG9wIGFuZCBib3R0b21cbi50aW55LXBhZGRpbmcteSB7XG4gIHBhZGRpbmctdG9wOiAkZ2xvYmFsLW1hcmdpbiowLjI1ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiowLjI1ICFpbXBvcnRhbnQ7XG59XG4uc21hbGwtcGFkZGluZy15IHtcbiAgcGFkZGluZy10b3A6ICRnbG9iYWwtbWFyZ2luKjAuNSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4qMC41ICFpbXBvcnRhbnQ7XG59XG4ubWVkaXVtLXBhZGRpbmcteSB7XG4gIHBhZGRpbmctdG9wOiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbn1cbi5sYXJnZS1wYWRkaW5nLXkge1xuICBwYWRkaW5nLXRvcDogJGdsb2JhbC1tYXJnaW4qMiAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4qMiAhaW1wb3J0YW50O1xufVxuLnhsYXJnZS1wYWRkaW5nLXkge1xuICBwYWRkaW5nLXRvcDogJGdsb2JhbC1tYXJnaW4qMyAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4qMyAhaW1wb3J0YW50O1xufVxuXG4vLyBQYWRkaW5nIGZvciByaWdodCBhbmQgbGVmdFxuLnRpbnktcGFkZGluZy14IHtcbiAgcGFkZGluZy1yaWdodDogJGdsb2JhbC1tYXJnaW4qMC4yNSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6ICRnbG9iYWwtbWFyZ2luKjAuMjUgIWltcG9ydGFudDtcbn1cbi5zbWFsbC1wYWRkaW5nLXgge1xuICBwYWRkaW5nLXJpZ2h0OiAkZ2xvYmFsLW1hcmdpbiowLjUgIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLW1hcmdpbiowLjUgIWltcG9ydGFudDtcbn1cbi5tZWRpdW0tcGFkZGluZy14IHtcbiAgcGFkZGluZy1yaWdodDogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xufVxuLmxhcmdlLXBhZGRpbmcteCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRnbG9iYWwtbWFyZ2luKjIgIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLW1hcmdpbioyICFpbXBvcnRhbnQ7XG59XG4ueGxhcmdlLXBhZGRpbmcteCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRnbG9iYWwtbWFyZ2luKjMgIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLW1hcmdpbiozICFpbXBvcnRhbnQ7XG59XG5cbi8vIFBhZGRpbmcgZm9yIGluZGl2aWR1YWwgc2lkZXNcbiRzaWRlczogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0O1xuQGVhY2ggJHNpZGUgaW4gJHNpZGVzIHtcbiAgJGk6IGluZGV4KCRzaWRlcywgJHNpZGUpO1xuICAubm8tcGFkZGluZy0jeyRzaWRlfSB7XG4gICAgcGFkZGluZy0jeyRzaWRlfTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC50aW55LXBhZGRpbmctI3skc2lkZX0ge1xuICAgIHBhZGRpbmctI3skc2lkZX06ICRnbG9iYWwtbWFyZ2luKjAuMjUgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtcGFkZGluZy0jeyRzaWRlfSB7XG4gICAgcGFkZGluZy0jeyRzaWRlfTogJGdsb2JhbC1tYXJnaW4qMC41ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1wYWRkaW5nLSN7JHNpZGV9IHtcbiAgICBwYWRkaW5nLSN7JHNpZGV9OiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1wYWRkaW5nLSN7JHNpZGV9IHtcbiAgICBwYWRkaW5nLSN7JHNpZGV9OiAkZ2xvYmFsLW1hcmdpbioyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnhsYXJnZS1wYWRkaW5nLSN7JHNpZGV9IHtcbiAgICBwYWRkaW5nLSN7JHNpZGV9OiAkZ2xvYmFsLW1hcmdpbiozICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNb2R1bGU6IENvbG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vL1xuLy8gQmFja2dyb3VuZCBjb2xvcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYmctYXF1YS13aGl0ZSB7IGJhY2tncm91bmQtY29sb3I6ICRhcXVhLXdoaXRlOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYXF1YS13aGl0ZSwgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1hcXVhLWxpZ2h0IHsgYmFja2dyb3VuZC1jb2xvcjogJGFxdWEtbGlnaHQ7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRhcXVhLWxpZ2h0LCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLWFxdWEgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYXF1YTsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGFxdWEsICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctYXF1YS1kaW0geyBiYWNrZ3JvdW5kLWNvbG9yOiAkYXF1YS1kaW07IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRhcXVhLWRpbSwgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1hcXVhLWRhcmsgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYXF1YS1kYXJrOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYXF1YS1kYXJrLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLWFxdWEtbXV0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYXF1YS1tdXRlZDsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGFxdWEtbXV0ZWQsICgkYmxhY2ssICR3aGl0ZSkpOyB9XG5cbi5iZy10ZWFsLXdoaXRlIHsgYmFja2dyb3VuZC1jb2xvcjogJHRlYWwtd2hpdGU7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCR0ZWFsLXdoaXRlLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLXRlYWwtbGlnaHQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVhbC1saWdodDsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHRlYWwtbGlnaHQsICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctdGVhbCB7IGJhY2tncm91bmQtY29sb3I6ICR0ZWFsOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkdGVhbCwgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy10ZWFsLWRpbSB7IGJhY2tncm91bmQtY29sb3I6ICR0ZWFsLWRpbTsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHRlYWwtZGltLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLXRlYWwtZGFyayB7IGJhY2tncm91bmQtY29sb3I6ICR0ZWFsLWRhcms7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCR0ZWFsLWRhcmssICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctdGVhbC1tdXRlZCB7IGJhY2tncm91bmQtY29sb3I6ICR0ZWFsLW11dGVkOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkdGVhbC1tdXRlZCwgKCRibGFjaywgJHdoaXRlKSk7IH1cblxuLmJnLWdyZWVuLXdoaXRlIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLXdoaXRlOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkZ3JlZW4td2hpdGUsICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctZ3JlZW4tbGlnaHQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tbGlnaHQ7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRncmVlbi1saWdodCwgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1ncmVlbiB7IGJhY2tncm91bmQtY29sb3I6ICRncmVlbjsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGdyZWVuLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLWdyZWVuLWRpbSB7IGJhY2tncm91bmQtY29sb3I6ICRncmVlbi1kaW07IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRncmVlbi1kaW0sICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctZ3JlZW4tZGFyayB7IGJhY2tncm91bmQtY29sb3I6ICRncmVlbi1kYXJrOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkZ3JlZW4tZGFyaywgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1ncmVlbi1tdXRlZCB7IGJhY2tncm91bmQtY29sb3I6ICRncmVlbi1tdXRlZDsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGdyZWVuLW11dGVkLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuXG4uYmctY2hhcnRyZXVzZS13aGl0ZSB7IGJhY2tncm91bmQtY29sb3I6ICRjaGFydHJldXNlLXdoaXRlOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY2hhcnRyZXVzZS13aGl0ZSwgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1jaGFydHJldXNlLWxpZ2h0IHsgYmFja2dyb3VuZC1jb2xvcjogJGNoYXJ0cmV1c2UtbGlnaHQ7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjaGFydHJldXNlLWxpZ2h0LCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLWNoYXJ0cmV1c2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkY2hhcnRyZXVzZTsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNoYXJ0cmV1c2UsICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctY2hhcnRyZXVzZS1kaW0geyBiYWNrZ3JvdW5kLWNvbG9yOiAkY2hhcnRyZXVzZS1kaW07IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjaGFydHJldXNlLWRpbSwgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1jaGFydHJldXNlLWRhcmsgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkY2hhcnRyZXVzZS1kYXJrOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY2hhcnRyZXVzZS1kYXJrLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLWNoYXJ0cmV1c2UtbXV0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkY2hhcnRyZXVzZS1tdXRlZDsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNoYXJ0cmV1c2UtbXV0ZWQsICgkYmxhY2ssICR3aGl0ZSkpOyB9XG5cbi5iZy15ZWxsb3ctd2hpdGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93LXdoaXRlOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkeWVsbG93LXdoaXRlLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLXllbGxvdy1saWdodCB7IGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3ctbGlnaHQ7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCR5ZWxsb3ctbGlnaHQsICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmcteWVsbG93IHsgYmFja2dyb3VuZC1jb2xvcjogJHllbGxvdzsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHllbGxvdywgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy15ZWxsb3ctZGltIHsgYmFja2dyb3VuZC1jb2xvcjogJHllbGxvdy1kaW07IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCR5ZWxsb3ctZGltLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLXllbGxvdy1kYXJrIHsgYmFja2dyb3VuZC1jb2xvcjogJHllbGxvdy1kYXJrOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkeWVsbG93LWRhcmssICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmcteWVsbG93LW11dGVkIHsgYmFja2dyb3VuZC1jb2xvcjogJHllbGxvdy1tdXRlZDsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHllbGxvdy1tdXRlZCwgKCRibGFjaywgJHdoaXRlKSk7IH1cblxuLmJnLWdvbGQtd2hpdGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ29sZC13aGl0ZTsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGdvbGQtd2hpdGUsICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctZ29sZC1saWdodCB7IGJhY2tncm91bmQtY29sb3I6ICRnb2xkLWxpZ2h0OyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkZ29sZC1saWdodCwgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1nb2xkIHsgYmFja2dyb3VuZC1jb2xvcjogJGdvbGQ7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRnb2xkLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLWdvbGQtZGltIHsgYmFja2dyb3VuZC1jb2xvcjogJGdvbGQtZGltOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkZ29sZC1kaW0sICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctZ29sZC1kYXJrIHsgYmFja2dyb3VuZC1jb2xvcjogJGdvbGQtZGFyazsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGdvbGQtZGFyaywgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1nb2xkLW11dGVkIHsgYmFja2dyb3VuZC1jb2xvcjogJGdvbGQtbXV0ZWQ7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRnb2xkLW11dGVkLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuXG4uYmctb3JhbmdlLXdoaXRlIHsgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZS13aGl0ZTsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG9yYW5nZS13aGl0ZSwgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1vcmFuZ2UtbGlnaHQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlLWxpZ2h0OyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JhbmdlLWxpZ2h0LCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLW9yYW5nZSB7IGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRvcmFuZ2UsICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctb3JhbmdlLWRpbSB7IGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2UtZGltOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JhbmdlLWRpbSwgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1vcmFuZ2UtZGFyayB7IGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2UtZGFyazsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG9yYW5nZS1kYXJrLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLW9yYW5nZS1tdXRlZCB7IGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2UtbXV0ZWQ7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRvcmFuZ2UtbXV0ZWQsICgkYmxhY2ssICR3aGl0ZSkpOyB9XG5cbi5iZy1yZWQtd2hpdGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLXdoaXRlOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcmVkLXdoaXRlLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLXJlZC1saWdodCB7IGJhY2tncm91bmQtY29sb3I6ICRyZWQtbGlnaHQ7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRyZWQtbGlnaHQsICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctcmVkIHsgYmFja2dyb3VuZC1jb2xvcjogJHJlZDsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHJlZCwgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1yZWQtZGltIHsgYmFja2dyb3VuZC1jb2xvcjogJHJlZC1kaW07IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRyZWQtZGltLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLXJlZC1kYXJrIHsgYmFja2dyb3VuZC1jb2xvcjogJHJlZC1kYXJrOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcmVkLWRhcmssICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctcmVkLW11dGVkIHsgYmFja2dyb3VuZC1jb2xvcjogJHJlZC1tdXRlZDsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHJlZC1tdXRlZCwgKCRibGFjaywgJHdoaXRlKSk7IH1cblxuLmJnLWZ1Y2hzaWEtd2hpdGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZnVjaHNpYS13aGl0ZTsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGZ1Y2hzaWEtd2hpdGUsICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctZnVjaHNpYS1saWdodCB7IGJhY2tncm91bmQtY29sb3I6ICRmdWNoc2lhLWxpZ2h0OyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkZnVjaHNpYS1saWdodCwgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1mdWNoc2lhIHsgYmFja2dyb3VuZC1jb2xvcjogJGZ1Y2hzaWE7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRmdWNoc2lhLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLWZ1Y2hzaWEtZGltIHsgYmFja2dyb3VuZC1jb2xvcjogJGZ1Y2hzaWEtZGltOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkZnVjaHNpYS1kaW0sICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctZnVjaHNpYS1kYXJrIHsgYmFja2dyb3VuZC1jb2xvcjogJGZ1Y2hzaWEtZGFyazsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGZ1Y2hzaWEtZGFyaywgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1mdWNoc2lhLW11dGVkIHsgYmFja2dyb3VuZC1jb2xvcjogJGZ1Y2hzaWEtbXV0ZWQ7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRmdWNoc2lhLW11dGVkLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuXG4uYmctcHVycGxlLXdoaXRlIHsgYmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZS13aGl0ZTsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHB1cnBsZS13aGl0ZSwgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1wdXJwbGUtbGlnaHQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlLWxpZ2h0OyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHVycGxlLWxpZ2h0LCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLXB1cnBsZSB7IGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGU7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwdXJwbGUsICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctcHVycGxlLWRpbSB7IGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGUtZGltOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHVycGxlLWRpbSwgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1wdXJwbGUtZGFyayB7IGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGUtZGFyazsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHB1cnBsZS1kYXJrLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLXB1cnBsZS1tdXRlZCB7IGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGUtbXV0ZWQ7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwdXJwbGUtbXV0ZWQsICgkYmxhY2ssICR3aGl0ZSkpOyB9XG5cbi5iZy1pbmRpZ28td2hpdGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5kaWdvLXdoaXRlOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkaW5kaWdvLXdoaXRlLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLWluZGlnby1saWdodCB7IGJhY2tncm91bmQtY29sb3I6ICRpbmRpZ28tbGlnaHQ7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRpbmRpZ28tbGlnaHQsICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctaW5kaWdvIHsgYmFja2dyb3VuZC1jb2xvcjogJGluZGlnbzsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGluZGlnbywgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1pbmRpZ28tZGltIHsgYmFja2dyb3VuZC1jb2xvcjogJGluZGlnby1kaW07IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRpbmRpZ28tZGltLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLWluZGlnby1kYXJrIHsgYmFja2dyb3VuZC1jb2xvcjogJGluZGlnby1kYXJrOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkaW5kaWdvLWRhcmssICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctaW5kaWdvLW11dGVkIHsgYmFja2dyb3VuZC1jb2xvcjogJGluZGlnby1tdXRlZDsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGluZGlnby1tdXRlZCwgKCRibGFjaywgJHdoaXRlKSk7IH1cblxuLmJnLWJsdWUtd2hpdGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS13aGl0ZTsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJsdWUtd2hpdGUsICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctYmx1ZS1saWdodCB7IGJhY2tncm91bmQtY29sb3I6ICRibHVlLWxpZ2h0OyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmx1ZS1saWdodCwgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1ibHVlIHsgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRibHVlLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLWJsdWUtZGltIHsgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtZGltOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmx1ZS1kaW0sICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctYmx1ZS1kYXJrIHsgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtZGFyazsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJsdWUtZGFyaywgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1ibHVlLW11dGVkIHsgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtbXV0ZWQ7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRibHVlLW11dGVkLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuXG4uYmctYmxhY2sgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRibGFjaywgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1jaGFyY29hbCB7IGJhY2tncm91bmQtY29sb3I6ICRjaGFyY29hbDsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNoYXJjb2FsLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLWRhcmstZ3JheSB7IGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWdyYXk7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRkYXJrLWdyYXksICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctZ3JheSB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5OyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkZ3JheSwgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1saWdodC1ncmF5IHsgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRsaWdodC1ncmF5LCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLXNpbHZlciB7IGJhY2tncm91bmQtY29sb3I6ICRzaWx2ZXI7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRzaWx2ZXIsICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctd2hpdGUtc21va2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtc21va2U7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCR3aGl0ZS1zbW9rZSwgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1vZmYtd2hpdGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmLXdoaXRlOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb2ZmLXdoaXRlLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLXdoaXRlIHsgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkd2hpdGUsICgkYmxhY2ssICR3aGl0ZSkpOyB9XG5cbi5iZy1kY3Atb3JhbmdlIHsgYmFja2dyb3VuZC1jb2xvcjogJGRjcC1vcmFuZ2U7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRkY3Atb3JhbmdlLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLWExMXktb3JhbmdlIHsgYmFja2dyb3VuZC1jb2xvcjogJGExMXktb3JhbmdlOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYTExeS1vcmFuZ2UsICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctZGNwLXllbGxvdyB7IGJhY2tncm91bmQtY29sb3I6ICRkY3AteWVsbG93OyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkZGNwLXllbGxvdywgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1hMTF5LXllbGxvdyB7IGJhY2tncm91bmQtY29sb3I6ICRhMTF5LXllbGxvdzsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGExMXkteWVsbG93LCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuXG4uYmctbHUtcGVhY2ggeyBiYWNrZ3JvdW5kLWNvbG9yOiAkbHUtcGVhY2g7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRsdS1wZWFjaCwgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1sdS15ZWxsb3cgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkbHUteWVsbG93OyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkbHUteWVsbG93LCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLWx1LW1hZ2VudGEgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkbHUtbWFnZW50YTsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGx1LW1hZ2VudGEsICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctbHUtcmVkIHsgYmFja2dyb3VuZC1jb2xvcjogJGx1LXJlZDsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGx1LXJlZCwgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1sdS1vcmFuZ2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkbHUtb3JhbmdlOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkbHUtb3JhbmdlLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLWx1LXBpbmsgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkbHUtcGluazsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGx1LXBpbmssICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctbHUtZ3JlZW4geyBiYWNrZ3JvdW5kLWNvbG9yOiAkbHUtZ3JlZW47IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRsdS1ncmVlbiwgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1sdS1ibHVlIHsgYmFja2dyb3VuZC1jb2xvcjogJGx1LWJsdWU7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRsdS1ibHVlLCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuLmJnLWx1LWxhdmVuZGFyIHsgYmFja2dyb3VuZC1jb2xvcjogJGx1LWxhdmVuZGFyOyBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkbHUtbGF2ZW5kYXIsICgkYmxhY2ssICR3aGl0ZSkpOyB9XG4uYmctbHUtc2lsdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogJGx1LXNpbHZlcjsgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGx1LXNpbHZlciwgKCRibGFjaywgJHdoaXRlKSk7IH1cbi5iZy1sdS1ncmF5IHsgYmFja2dyb3VuZC1jb2xvcjogJGx1LWdyYXk7IGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRsdS1ncmF5LCAoJGJsYWNrLCAkd2hpdGUpKTsgfVxuXG5cbi8vXG4vLyBGb250IGNvbG9yc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5hcXVhLXdoaXRlLCAudGV4dC1hcXVhLXdoaXRlIHsgY29sb3I6ICRhcXVhLXdoaXRlOyB9XG4uYXF1YS1saWdodCwgLnRleHQtYXF1YS1saWdodCB7IGNvbG9yOiAkYXF1YS1saWdodDsgfVxuLmFxdWEsIC50ZXh0LWFxdWEgeyBjb2xvcjogJGFxdWE7IH1cbi5hcXVhLWRpbSwgLnRleHQtYXF1YS1kaW0geyBjb2xvcjogJGFxdWEtZGltOyB9XG4uYXF1YS1kYXJrLCAudGV4dC1hcXVhLWRhcmsgeyBjb2xvcjogJGFxdWEtZGFyazsgfVxuLmFxdWEtbXV0ZWQsIC50ZXh0LWFxdWEtbXV0ZWQgeyBjb2xvcjogJGFxdWEtbXV0ZWQ7IH1cblxuLnRlYWwtd2hpdGUsIC50ZXh0LXRlYWwtd2hpdGUgeyBjb2xvcjogJHRlYWwtd2hpdGU7IH1cbi50ZWFsLWxpZ2h0LCAudGV4dC10ZWFsLWxpZ2h0IHsgY29sb3I6ICR0ZWFsLWxpZ2h0OyB9XG4udGVhbCwgLnRleHQtdGVhbCB7IGNvbG9yOiAkdGVhbDsgfVxuLnRlYWwtZGltLCAudGV4dC10ZWFsLWRpbSB7IGNvbG9yOiAkdGVhbC1kaW07IH1cbi50ZWFsLWRhcmssIC50ZXh0LXRlYWwtZGFyayB7IGNvbG9yOiAkdGVhbC1kYXJrOyB9XG4udGVhbC1tdXRlZCwgLnRleHQtdGVhbC1tdXRlZCB7IGNvbG9yOiAkdGVhbC1tdXRlZDsgfVxuXG4uZ3JlZW4td2hpdGUsIC50ZXh0LWdyZWVuLXdoaXRlIHsgY29sb3I6ICRncmVlbi13aGl0ZTsgfVxuLmdyZWVuLWxpZ2h0LCAudGV4dC1ncmVlbi1saWdodCB7IGNvbG9yOiAkZ3JlZW4tbGlnaHQ7IH1cbi5ncmVlbiwgLnRleHQtZ3JlZW4geyBjb2xvcjogJGdyZWVuOyB9XG4uZ3JlZW4tZGltLCAudGV4dC1ncmVlbi1kaW0geyBjb2xvcjogJGdyZWVuLWRpbTsgfVxuLmdyZWVuLWRhcmssIC50ZXh0LWdyZWVuLWRhcmsgeyBjb2xvcjogJGdyZWVuLWRhcms7IH1cbi5ncmVlbi1tdXRlZCwgLnRleHQtZ3JlZW4tbXV0ZWQgeyBjb2xvcjogJGdyZWVuLW11dGVkOyB9XG5cbi5jaGFydHJldXNlLXdoaXRlLCAudGV4dC1jaGFydHJldXNlLXdoaXRlIHsgY29sb3I6ICRjaGFydHJldXNlLXdoaXRlOyB9XG4uY2hhcnRyZXVzZS1saWdodCwgLnRleHQtY2hhcnRyZXVzZS1saWdodCB7IGNvbG9yOiAkY2hhcnRyZXVzZS1saWdodDsgfVxuLmNoYXJ0cmV1c2UsIC50ZXh0LWNoYXJ0cmV1c2UgeyBjb2xvcjogJGNoYXJ0cmV1c2U7IH1cbi5jaGFydHJldXNlLWRpbSwgLnRleHQtY2hhcnRyZXVzZS1kaW0geyBjb2xvcjogJGNoYXJ0cmV1c2UtZGltOyB9XG4uY2hhcnRyZXVzZS1kYXJrLCAudGV4dC1jaGFydHJldXNlLWRhcmsgeyBjb2xvcjogJGNoYXJ0cmV1c2UtZGFyazsgfVxuLmNoYXJ0cmV1c2UtbXV0ZWQsIC50ZXh0LWNoYXJ0cmV1c2UtbXV0ZWQgeyBjb2xvcjogJGNoYXJ0cmV1c2UtbXV0ZWQ7IH1cblxuLnllbGxvdy13aGl0ZSwgLnRleHQteWVsbG93LXdoaXRlIHsgY29sb3I6ICR5ZWxsb3ctd2hpdGU7IH1cbi55ZWxsb3ctbGlnaHQsIC50ZXh0LXllbGxvdy1saWdodCB7IGNvbG9yOiAkeWVsbG93LWxpZ2h0OyB9XG4ueWVsbG93LCAudGV4dC15ZWxsb3cgeyBjb2xvcjogJHllbGxvdzsgfVxuLnllbGxvdy1kaW0sIC50ZXh0LXllbGxvdy1kaW0geyBjb2xvcjogJHllbGxvdy1kaW07IH1cbi55ZWxsb3ctZGFyaywgLnRleHQteWVsbG93LWRhcmsgeyBjb2xvcjogJHllbGxvdy1kYXJrOyB9XG4ueWVsbG93LW11dGVkLCAudGV4dC15ZWxsb3ctbXV0ZWQgeyBjb2xvcjogJHllbGxvdy1tdXRlZDsgfVxuXG4uZ29sZC13aGl0ZSwgLnRleHQtZ29sZC13aGl0ZSB7IGNvbG9yOiAkZ29sZC13aGl0ZTsgfVxuLmdvbGQtbGlnaHQsIC50ZXh0LWdvbGQtbGlnaHQgeyBjb2xvcjogJGdvbGQtbGlnaHQ7IH1cbi5nb2xkLCAudGV4dC1nb2xkIHsgY29sb3I6ICRnb2xkOyB9XG4uZ29sZC1kaW0sIC50ZXh0LWdvbGQtZGltIHsgY29sb3I6ICRnb2xkLWRpbTsgfVxuLmdvbGQtZGFyaywgLnRleHQtZ29sZC1kYXJrIHsgY29sb3I6ICRnb2xkLWRhcms7IH1cbi5nb2xkLW11dGVkLCAudGV4dC1nb2xkLW11dGVkIHsgY29sb3I6ICRnb2xkLW11dGVkOyB9XG5cbi5vcmFuZ2Utd2hpdGUsIC50ZXh0LW9yYW5nZS13aGl0ZSB7IGNvbG9yOiAkb3JhbmdlLXdoaXRlOyB9XG4ub3JhbmdlLWxpZ2h0LCAudGV4dC1vcmFuZ2UtbGlnaHQgeyBjb2xvcjogJG9yYW5nZS1saWdodDsgfVxuLm9yYW5nZSwgLnRleHQtb3JhbmdlIHsgY29sb3I6ICRvcmFuZ2U7IH1cbi5vcmFuZ2UtZGltLCAudGV4dC1vcmFuZ2UtZGltIHsgY29sb3I6ICRvcmFuZ2UtZGltOyB9XG4ub3JhbmdlLWRhcmssIC50ZXh0LW9yYW5nZS1kYXJrIHsgY29sb3I6ICRvcmFuZ2UtZGFyazsgfVxuLm9yYW5nZS1tdXRlZCwgLnRleHQtb3JhbmdlLW11dGVkIHsgY29sb3I6ICRvcmFuZ2UtbXV0ZWQ7IH1cblxuLnJlZC13aGl0ZSwgLnRleHQtcmVkLXdoaXRlIHsgY29sb3I6ICRyZWQtd2hpdGU7IH1cbi5yZWQtbGlnaHQsIC50ZXh0LXJlZC1saWdodCB7IGNvbG9yOiAkcmVkLWxpZ2h0OyB9XG4ucmVkLCAudGV4dC1yZWQgeyBjb2xvcjogJHJlZDsgfVxuLnJlZC1kaW0sIC50ZXh0LXJlZC1kaW0geyBjb2xvcjogJHJlZC1kaW07IH1cbi5yZWQtZGFyaywgLnRleHQtcmVkLWRhcmsgeyBjb2xvcjogJHJlZC1kYXJrOyB9XG4ucmVkLW11dGVkLCAudGV4dC1yZWQtbXV0ZWQgeyBjb2xvcjogJHJlZC1tdXRlZDsgfVxuXG4uZnVjaHNpYS13aGl0ZSwgLnRleHQtZnVjaHNpYS13aGl0ZSB7IGNvbG9yOiAkZnVjaHNpYS13aGl0ZTsgfVxuLmZ1Y2hzaWEtbGlnaHQsIC50ZXh0LWZ1Y2hzaWEtbGlnaHQgeyBjb2xvcjogJGZ1Y2hzaWEtbGlnaHQ7IH1cbi5mdWNoc2lhLCAudGV4dC1mdWNoc2lhIHsgY29sb3I6ICRmdWNoc2lhOyB9XG4uZnVjaHNpYS1kaW0sIC50ZXh0LWZ1Y2hzaWEtZGltIHsgY29sb3I6ICRmdWNoc2lhLWRpbTsgfVxuLmZ1Y2hzaWEtZGFyaywgLnRleHQtZnVjaHNpYS1kYXJrIHsgY29sb3I6ICRmdWNoc2lhLWRhcms7IH1cbi5mdWNoc2lhLW11dGVkLCAudGV4dC1mdWNoc2lhLW11dGVkIHsgY29sb3I6ICRmdWNoc2lhLW11dGVkOyB9XG5cbi5wdXJwbGUtd2hpdGUsIC50ZXh0LXB1cnBsZS13aGl0ZSB7IGNvbG9yOiAkcHVycGxlLXdoaXRlOyB9XG4ucHVycGxlLWxpZ2h0LCAudGV4dC1wdXJwbGUtbGlnaHQgeyBjb2xvcjogJHB1cnBsZS1saWdodDsgfVxuLnB1cnBsZSwgLnRleHQtcHVycGxlIHsgY29sb3I6ICRwdXJwbGU7IH1cbi5wdXJwbGUtZGltLCAudGV4dC1wdXJwbGUtZGltIHsgY29sb3I6ICRwdXJwbGUtZGltOyB9XG4ucHVycGxlLWRhcmssIC50ZXh0LXB1cnBsZS1kYXJrIHsgY29sb3I6ICRwdXJwbGUtZGFyazsgfVxuLnB1cnBsZS1tdXRlZCwgLnRleHQtcHVycGxlLW11dGVkIHsgY29sb3I6ICRwdXJwbGUtbXV0ZWQ7IH1cblxuLmluZGlnby13aGl0ZSwgLnRleHQtaW5kaWdvLXdoaXRlIHsgY29sb3I6ICRpbmRpZ28td2hpdGU7IH1cbi5pbmRpZ28tbGlnaHQsIC50ZXh0LWluZGlnby1saWdodCB7IGNvbG9yOiAkaW5kaWdvLWxpZ2h0OyB9XG4uaW5kaWdvLCAudGV4dC1pbmRpZ28geyBjb2xvcjogJGluZGlnbzsgfVxuLmluZGlnby1kaW0sIC50ZXh0LWluZGlnby1kaW0geyBjb2xvcjogJGluZGlnby1kaW07IH1cbi5pbmRpZ28tZGFyaywgLnRleHQtaW5kaWdvLWRhcmsgeyBjb2xvcjogJGluZGlnby1kYXJrOyB9XG4uaW5kaWdvLW11dGVkLCAudGV4dC1pbmRpZ28tbXV0ZWQgeyBjb2xvcjogJGluZGlnby1tdXRlZDsgfVxuXG4uYmx1ZS13aGl0ZSwgLnRleHQtYmx1ZS13aGl0ZSB7IGNvbG9yOiAkYmx1ZS13aGl0ZTsgfVxuLmJsdWUtbGlnaHQsIC50ZXh0LWJsdWUtbGlnaHQgeyBjb2xvcjogJGJsdWUtbGlnaHQ7IH1cbi5ibHVlLCAudGV4dC1ibHVlIHsgY29sb3I6ICRibHVlOyB9XG4uYmx1ZS1kaW0sIC50ZXh0LWJsdWUtZGltIHsgY29sb3I6ICRibHVlLWRpbTsgfVxuLmJsdWUtZGFyaywgLnRleHQtYmx1ZS1kYXJrIHsgY29sb3I6ICRibHVlLWRhcms7IH1cbi5ibHVlLW11dGVkLCAudGV4dC1ibHVlLW11dGVkIHsgY29sb3I6ICRibHVlLW11dGVkOyB9XG5cbi5ibGFjaywgLnRleHQtYmxhY2sgeyBjb2xvcjogJGJsYWNrOyB9XG4uY2hhcmNvYWwsIC50ZXh0LWNoYXJjb2FsIHsgY29sb3I6ICRjaGFyY29hbDsgfVxuLmRhcmstZ3JheSwgLnRleHQtZGFyay1ncmF5IHsgY29sb3I6ICRkYXJrLWdyYXk7IH1cbi5ncmF5LCAudGV4dC1ncmF5IHsgY29sb3I6ICRncmF5OyB9XG4ubGlnaHQtZ3JheSwgLnRleHQtbGlnaHQtZ3JheSB7IGNvbG9yOiAkbGlnaHQtZ3JheTsgfVxuLnNpbHZlciwgLnRleHQtc2lsdmVyIHsgY29sb3I6ICRzaWx2ZXI7IH1cbi53aGl0ZS1zbW9rZSwgLnRleHQtd2hpdGUtc21va2UgeyBjb2xvcjogJHdoaXRlLXNtb2tlOyB9XG4ub2ZmLXdoaXRlLCAudGV4dC1vZmYtd2hpdGUgeyBjb2xvcjogJG9mZi13aGl0ZTsgfVxuLndoaXRlLCAudGV4dC13aGl0ZSB7IGNvbG9yOiAkd2hpdGU7IH1cblxuLmRjcC1vcmFuZ2UsIC50ZXh0LWRjcC1vcmFuZ2UgeyBjb2xvcjogJGRjcC1vcmFuZ2U7IH1cbi5hMTF5LW9yYW5nZSwgLnRleHQtYTExeS1vcmFuZ2UgeyBjb2xvcjogJGExMXktb3JhbmdlOyB9XG4uZGNwLXllbGxvdywgLnRleHQtZGNwLXllbGxvdyB7IGNvbG9yOiAkZGNwLXllbGxvdzsgfVxuLmExMXkteWVsbG93LCAudGV4dC1hMTF5LXllbGxvdyB7IGNvbG9yOiAkYTExeS15ZWxsb3c7IH1cblxuLmx1LXBlYWNoLCAudGV4dC1sdS1wZWFjaCB7IGNvbG9yOiAkbHUtcGVhY2g7IH1cbi5sdS15ZWxsb3csIC50ZXh0LWx1LXllbGxvdyB7IGNvbG9yOiAkbHUteWVsbG93OyB9XG4ubHUtbWFnZW50YSwgLnRleHQtbHUtbWFnZW50YSB7IGNvbG9yOiAkbHUtbWFnZW50YTsgfVxuLmx1LXJlZCwgLnRleHQtbHUtcmVkIHsgY29sb3I6ICRsdS1yZWQ7IH1cbi5sdS1vcmFuZ2UsIC50ZXh0LWx1LW9yYW5nZSB7IGNvbG9yOiAkbHUtb3JhbmdlOyB9XG4ubHUtcGluaywgLnRleHQtbHUtcGluayB7IGNvbG9yOiAkbHUtcGluazsgfVxuLmx1LWdyZWVuLCAudGV4dC1sdS1ncmVlbiB7IGNvbG9yOiAkbHUtZ3JlZW47IH1cbi5sdS1ibHVlLCAudGV4dC1sdS1ibHVlIHsgY29sb3I6ICRsdS1ibHVlOyB9XG4ubHUtbGF2ZW5kYXIsIC50ZXh0LWx1LWxhdmVuZGFyIHsgY29sb3I6ICRsdS1sYXZlbmRhcjsgfVxuLmx1LXNpbHZlciwgLnRleHQtbHUtc2lsdmVyIHsgY29sb3I6ICRsdS1zaWx2ZXI7IH1cbi5sdS1ncmF5LCAudGV4dC1sdS1ncmF5IHsgY29sb3I6ICRsdS1ncmF5OyB9XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTW9kdWxlOiBMYXllciBHcm91cHMgTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy9cbi8vIExheWVyIEdyb3VwIENvbnRhaW5lclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5sYXllci1ncm91cHMtY29udGFpbmVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzaWx2ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDcsMTEzLDEyMywuMDYpO1xuICB9XG5cbiAgJjpub3QoLm9wZW4pIC5sYXllci1ncm91cHMtY29udGFpbmVyLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuZmEtaW5mby1jaXJjbGUge1xuICAgIGNvbG9yOiAkYmx1ZS1kYXJrO1xuICB9XG5cbiAgLmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlIHtcbiAgICBjb2xvcjogJG9yYW5nZTtcbiAgfVxufVxuXG4ubGF5ZXItZ3JvdXBzLWNvbnRhaW5lci10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICBwYWRkaW5nOiByZW0tY2FsYyg2KTtcbiAgcGFkZGluZy1yaWdodDogMWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDcsMTEzLDEyMywuMDYpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoMC40ZW0sICRwcmltYXJ5LWNvbG9yLCB1cCk7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTAuMmVtO1xuICAgIHJpZ2h0OiByZW0tY2FsYyg2KTtcbiAgfVxuICAmLmNsb3NlZDo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGF5ZXIgR3JvdXAgVG9nZ2xlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmxheWVyLWdyb3VwLXRvZ2dsZSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkd2hpdGU7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xufVxuXG4ubGF5ZXItZ3JvdXAtdG9nZ2xlLWhlYWRlciB7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDcsMTEzLDEyMywuMDYpO1xuICB9XG5cbiAgLmNlbGw6Zmlyc3QtY2hpbGQ6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC5sYXllci1ncm91cC10b2dnbGUtbGFiZWwge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApOyAvLyBzd2l0Y2gncyB3aWR0aCAoMjApICsgbWFyZ2luICgxMClcbiAgfVxuXG4gIC5zd2l0Y2gge1xuICAgIG1hcmdpbjogcmVtLWNhbGMoNikgcmVtLWNhbGMoNCkgMCByZW0tY2FsYyg2KTtcblxuICAgICYudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICB9XG5cbiAgICAmLnRpbnkgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiAwLjVyZW07XG4gICAgfVxuXG4gICAgJi50aW55IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICAgbGVmdDogMC42MjVyZW07XG4gICAgfVxuICB9XG5cbiAgLmxheWVyLWdyb3VwLXRvZ2dsZS1pY29ucyB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNik7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGVnZW5kc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5sZWdlbmQtaXRlbXMge1xuICBwYWRkaW5nOiAwIDAgcmVtLWNhbGMoNik7XG59XG5cbi5sZWdlbmQtaXRlbSB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICBwYWRkaW5nOiAwIHJlbS1jYWxjKDYpO1xufVxuXG4ubGVnZW5kLWljb24ge1xuICB3aWR0aDogMi41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgbWFyZ2luOiAwIHJlbS1jYWxjKDIpIDAgMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5sZWdlbmQtaWNvbi1sYXllciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmLmxpbmUgKyAmLmxpbmUsXG4gICYucmVjdGFuZ2xlICsgJi5yZWN0YW5nbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxufVxuXG5zdmcubGVnZW5kLWljb24tbGF5ZXIge1xuICBoZWlnaHQ6IDEuNWVtO1xuICB3aWR0aDogMi41ZW07XG59XG5cbi5wb2x5Z29uLXN0YWNrZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmZhICsgLmZhIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMC4yZW07XG4gICAgbGVmdDogMC4yZW07XG4gIH1cbn1cblxuLnBvbHlnb24tZmlsbC1kYXNoIHtcbiAgb3BhY2l0eTogMC41O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjhlbTtcbiAgaGVpZ2h0OiAwLjhlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5maWxsLCAuZGFzaCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIC5maWxsIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cblxuICAuZGFzaCB7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLXN0eWxlOiBkb3R0ZWQ7XG4gIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNb2R1bGU6IFNpdGUgSGVhZGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbG9nby1oZWlnaHQtc21hbGw6IHJlbS1jYWxjKDI0KTtcbiRsb2dvLWhlaWdodC1tZWRpdW06IHJlbS1jYWxjKDM2KTtcblxuLmxhYnMtYmV0YS1ub3RpY2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogcmVtLWNhbGMoMjEpO1xuICBsaW5lLWhlaWdodDogMjFweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDk2QjI3O1xuICBib3gtc2hhZG93OiBpbnNldCAwIC00cHggMCByZ2JhKDAsMCwwLDAuMSk7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I5NWIyMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLnNpdGUtaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBib3gtc2hhZG93OiAwIDRweCAwIHJnYmEoMCwwLDAsMC4xKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuXG4gIC5icmFuZGluZyB7XG4gICAgcGFkZGluZy10b3A6ICRnbG9iYWwtbWFyZ2luO1xuICAgIHBhZGRpbmctYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgfVxuXG4gIC5kY3AtbG9nbyB7XG4gICAgaGVpZ2h0OiAkbG9nby1oZWlnaHQtc21hbGw7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ2xvYmFsLW1hcmdpbjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBoZWlnaHQ6ICRsb2dvLWhlaWdodC1tZWRpdW07XG4gICAgfVxuICB9XG5cbiAgLnNpdGUtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJGxvZ28taGVpZ2h0LXNtYWxsKjAuODtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZvbnQtc2l6ZTogJGxvZ28taGVpZ2h0LW1lZGl1bSowLjg7XG4gICAgfVxuICB9XG5cbiAgLnNpdGUtc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMC41ZW07XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICB9XG4gIH1cbiAgYTpob3ZlciAuc2l0ZS1zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gIH1cblxuICAubWVudSB7XG4gICAgYSwgYnV0dG9uIHtcbiAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIHBhZGRpbmc6IChyZW0tY2FsYygxMSkrJGdsb2JhbC1tYXJnaW4pIHJlbS1jYWxjKDIwKTtcbiAgICAgIGZvbnQtc2l6ZTogIHJlbS1jYWxjKDE0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA0KTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmRyb3Bkb3duID4gbGkgPiBhLFxuICAgICYuZHJvcGRvd24gPiBsaSA+IGJ1dHRvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMS42ODc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuNjg3NXJlbTtcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICBib3gtc2hhZG93OiAwIDJweCAwIDJweCByZ2JhKDAsMCwwLDAuMSk7XG5cbiAgICAgIGxpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGxpZ2h0ZW4oJG1lZGl1bS1ncmF5LCAxMCUpO1xuICAgICAgfVxuXG4gICAgICBhLCBidXR0b24ge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCkgcmVtLWNhbGMoMTYpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucmVzcG9uc2l2ZS1uYXYtdG9nZ2xlciB7XG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLXNtb2tlO1xuICAgIGZvbnQtc2l6ZTogIHJlbS1jYWxjKDE0KTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogJGxvZ28taGVpZ2h0LXNtYWxsO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW46ICRnbG9iYWwtbWFyZ2luKjAuNSAwO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSByZW0tY2FsYygxNik7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAwO1xuICAgIH1cbiAgfVxuXG4gIG5hdi5yZXNwb25zaXZlIHtcblxuICAgIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQmFzZTogVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy9cbi8vIEhlYWRpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmhlYWRlci14eGxhcmdlIHsgQGV4dGVuZCBoMTsgfVxuLmhlYWRlci14bGFyZ2UgeyAgQGV4dGVuZCBoMjsgfVxuLmhlYWRlci1sYXJnZSB7ICAgQGV4dGVuZCBoMzsgfVxuLmhlYWRlci1tZWRpdW0geyAgQGV4dGVuZCBoNDsgfVxuLmhlYWRlci1zbWFsbCB7ICAgQGV4dGVuZCBoNTsgfVxuLmhlYWRlci10aW55IHsgICAgQGV4dGVuZCBoNjsgfVxuXG5oNixcbi5oZWFkZXItdGlueSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuXG5cbi8vXG4vLyBCdXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLyAuYnV0dG9uLmdyYXkge1xuLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtc21va2U7XG4vLyAgIGNvbG9yOiBkYXJrZW4oJHByaW1hcnktY29sb3IsIDEwJSk7XG4vL1xuLy8gICAmOmhvdmVyIHtcbi8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHdoaXRlLXNtb2tlLCAxMCUpO1xuLy8gICAgIGNvbG9yOiBkYXJrZW4oJHByaW1hcnktY29sb3IsIDIwJSk7XG4vLyAgIH1cbi8vIH1cblxuXG4vL1xuLy8gVHlwb2dyYXBoeSBoZWxwZXIgY2xhc3Nlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5mb250LWRlZmF1bHQgeyBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7IH1cbi5mb250LW1vbm8geyBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTsgfVxuXG4ubm93cmFwLFxuLm5vLXdyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGV4dC14eGxhcmdlIHsgZm9udC1zaXplOiByZW0tY2FsYygzNCk7IH1cbi50ZXh0LXhsYXJnZSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpOyB9XG4udGV4dC1sYXJnZSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApOyB9XG4udGV4dC1tZWRpdW0geyBmb250LXNpemU6IDFyZW07IH1cbi50ZXh0LXNtYWxsIHsgZm9udC1zaXplOiByZW0tY2FsYygxMyk7IH1cbi50ZXh0LXRpbnkgeyBmb250LXNpemU6IHJlbS1jYWxjKDEwKTsgfVxuXG4udGV4dC13ZWlnaHQtbm9ybWFsIHtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbn1cblxuLnRleHQtd2VpZ2h0LWJvbGQge1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbn1cblxuXG4vL1xuLy8gQmxvY2txdW90ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5ibG9ja3F1b3RlIHtcblxuICBjaXRlIHtcbiAgICBvcGFjaXR5OiAwLjc1O1xuICB9XG59XG5cblxuLy9cbi8vIExpc3RzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZGQgKyBkdCB7XG4gIG1hcmdpbi10b3A6ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG59XG5cblxuLy9cbi8vIEZvcm1zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZmllbGRzZXQge1xuXG4gID4gbGVnZW5kIHtcbiAgICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgfVxufVxuXG4uc2VhcmNoLWZvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuXG4gIC5zZWFyY2gtaW5wdXQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuc2VhcmNoLWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMC41ZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbmlucHV0Lm5vLWNvbnRyb2xzIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcblxuICAvLyBuaXggSW50ZXJuZXQgRXhwbG9yZXIgJ1gnXG4gICY6Oi1tcy1jbGVhciB7ICBkaXNwbGF5OiBub25lOyB3aWR0aCA6IDA7IGhlaWdodDogMDsgfVxuICAmOjotbXMtcmV2ZWFsIHsgIGRpc3BsYXk6IG5vbmU7IHdpZHRoIDogMDsgaGVpZ2h0OiAwOyB9XG5cbiAgLyogbml4IFdlYmtpdCAnWCcgKi9cbiAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAvLyBuaXggV2Via2l0IG51bWJlciBzcGlubmVyc1xuICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gbml4IFdlYmtpdCBkYXRlcGlja2VyXG4gICY6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vL1xuLy8gTmF2aWdhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5tZW51IHtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbiAgLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA0KTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIHJlbS1jYWxjKC00KSAwIDAgJGRjcC15ZWxsb3c7XG5cbiAgICBhLCBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi50YWJzIHtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIGJvcmRlcjogMDtcbiAgZGlzcGxheTogZmxleDtcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwIDAgJHNpbHZlcjtcbiAgfVxuXG4gIGEge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIGxpIHtcbiAgICBmbG9hdDogbm9uZTtcblxuICAgICY6bm90KC5pcy1hY3RpdmUpIGEge1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgMCAkc2lsdmVyO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIGEge1xuICAgICAgY29sb3I6ICRjaGFyY29hbDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRzaWx2ZXI7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAxcHggMCAwIDAgJHNpbHZlciwgaW5zZXQgLTFweCAwIDAgMCAkc2lsdmVyO1xuICAgIH1cbiAgfVxufVxuXG4udGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAwO1xufVxuIiwiQGNoYXJzZXQgJ3V0Zi04JztcblxuXG4vL1xuLy8gTGFicyBVSSB2YXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbXBvcnQgJ25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC91dGlsJztcbkBpbXBvcnQgJ255Yy1wbGFubmluZy12YXJpYWJsZXMnO1xuXG5cbi8vXG4vLyBGb3VuZGF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBAaW1wb3J0ICdzZXR0aW5ncyc7XG5AaW1wb3J0ICdmb3VuZGF0aW9uJztcbkBpbXBvcnQgJ21vdGlvbi11aSc7XG5cbi8vIEdsb2JhbCBzdHlsZXNcbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbi8vIEdyaWRzIChjaG9vc2Ugb25lKVxuQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcblxuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbi8vIEJhc2ljIGNvbXBvbmVudHNcbkBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuLy8gQ29udGFpbmVyc1xuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcblxuLy8gSGVscGVyc1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3Nlcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG5cbi8vIE1vdGlvbiBVSVxuQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xuQGluY2x1ZGUgbW90aW9uLXVpLWFuaW1hdGlvbnM7XG5cblxuLy9cbi8vIExhYnMgVUkgbW9kdWxlcyAoaW1wb3J0IGFsbCBvciBzb21lKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCAnbW9kdWxlcy9ueWMtcGxhbm5pbmctYWxsLW1vZHVsZXMnO1xuXG5cbi8vXG4vLyBDdXN0b20gYXBwIG1vZHVsZXMgYW5kIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnN0aWNreSB7XG4gIC5hY3RpdmUge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gIH1cbn1cbiJdfQ== */
