@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.6.1
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap");
@media print, screen and (min-width: 48em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

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

body {
  margin: 0; }

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

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

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

a {
  background-color: transparent; }

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -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; }

.foundation-mq {
  font-family: "small=0em&medium=48em&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: #fefefe;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

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

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

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

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

pre {
  overflow: auto; }

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 #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  -webkit-box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
          box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -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 #8a8a8a;
    background-color: #fefefe;
    -webkit-box-shadow: 0 0 5px #cacaca;
            box-shadow: 0 0 5px #cacaca;
    -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: #e6e6e6;
  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: #cacaca; }

::-moz-placeholder {
  color: #cacaca; }

:-ms-input-placeholder {
  color: #cacaca; }

::-ms-input-placeholder {
  color: #cacaca; }

::placeholder {
  color: #cacaca; }

[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: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #0a0a0a; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

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

.input-group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-box-align: stretch;
  -webkit-align-items: 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-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap; }

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #0a0a0a;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
  -webkit-align-items: 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;
  -webkit-flex: 1 1 0px;
      -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: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -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 {
    -webkit-align-self: stretch;
        -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: 1.25rem;
  border: 1px solid #cacaca; }
  .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 #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-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 #8a8a8a;
    background-color: #fefefe;
    -webkit-box-shadow: 0 0 5px #cacaca;
            box-shadow: 0 0 5px #cacaca;
    -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: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }
  select:not([multiple]) {
    padding-top: 0;
    padding-bottom: 0; }

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

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

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

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

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

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

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

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

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #cacaca; }

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

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

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

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

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

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

@media print, screen and (min-width: 48em) {
  h1, .h1 {
    font-size: 3rem; }
  h2, .h2 {
    font-size: 2.5rem; }
  h3, .h3 {
    font-size: 1.9375rem; }
  h4, .h4 {
    font-size: 1.5625rem; }
  h5, .h5 {
    font-size: 1.25rem; }
  h6, .h6 {
    font-size: 1rem; } }

a {
  line-height: inherit;
  color: #1779ba;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #1468a0; }
  a img {
    border: 0; }

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

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

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

figure {
  margin: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.row {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto; }
  .row::before, .row::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .row::after {
    clear: both; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row .row {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 48em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .row .row.collapse {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row {
    max-width: none; }
  .row.gutter-small > .column, .row.gutter-small > .columns {
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
  .row.gutter-medium > .column, .row.gutter-medium > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }

.column, .columns {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 48em) {
    .column, .columns {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .column, .columns, .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: right; }
  .column.end:last-child:last-child, .end.columns:last-child:last-child {
    float: left; }

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

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

.small-1 {
  width: 8.33333%; }

.small-push-1 {
  position: relative;
  left: 8.33333%; }

.small-pull-1 {
  position: relative;
  left: -8.33333%; }

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

.small-2 {
  width: 16.66667%; }

.small-push-2 {
  position: relative;
  left: 16.66667%; }

.small-pull-2 {
  position: relative;
  left: -16.66667%; }

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

.small-3 {
  width: 25%; }

.small-push-3 {
  position: relative;
  left: 25%; }

.small-pull-3 {
  position: relative;
  left: -25%; }

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

.small-4 {
  width: 33.33333%; }

.small-push-4 {
  position: relative;
  left: 33.33333%; }

.small-pull-4 {
  position: relative;
  left: -33.33333%; }

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

.small-5 {
  width: 41.66667%; }

.small-push-5 {
  position: relative;
  left: 41.66667%; }

.small-pull-5 {
  position: relative;
  left: -41.66667%; }

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

.small-6 {
  width: 50%; }

.small-push-6 {
  position: relative;
  left: 50%; }

.small-pull-6 {
  position: relative;
  left: -50%; }

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

.small-7 {
  width: 58.33333%; }

.small-push-7 {
  position: relative;
  left: 58.33333%; }

.small-pull-7 {
  position: relative;
  left: -58.33333%; }

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

.small-8 {
  width: 66.66667%; }

.small-push-8 {
  position: relative;
  left: 66.66667%; }

.small-pull-8 {
  position: relative;
  left: -66.66667%; }

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

.small-9 {
  width: 75%; }

.small-push-9 {
  position: relative;
  left: 75%; }

.small-pull-9 {
  position: relative;
  left: -75%; }

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

.small-10 {
  width: 83.33333%; }

.small-push-10 {
  position: relative;
  left: 83.33333%; }

.small-pull-10 {
  position: relative;
  left: -83.33333%; }

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

.small-11 {
  width: 91.66667%; }

.small-push-11 {
  position: relative;
  left: 91.66667%; }

.small-pull-11 {
  position: relative;
  left: -91.66667%; }

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

.small-12 {
  width: 100%; }

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

.small-up-1 > .column, .small-up-1 > .columns {
  float: left;
  width: 100%; }
  .small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
    clear: both; }
  .small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
    float: left; }

.small-up-2 > .column, .small-up-2 > .columns {
  float: left;
  width: 50%; }
  .small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
    clear: both; }
  .small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
    float: left; }

.small-up-3 > .column, .small-up-3 > .columns {
  float: left;
  width: 33.33333%; }
  .small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
    clear: both; }
  .small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
    float: left; }

.small-up-4 > .column, .small-up-4 > .columns {
  float: left;
  width: 25%; }
  .small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
    clear: both; }
  .small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
    float: left; }

.small-up-5 > .column, .small-up-5 > .columns {
  float: left;
  width: 20%; }
  .small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
    clear: both; }
  .small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
    float: left; }

.small-up-6 > .column, .small-up-6 > .columns {
  float: left;
  width: 16.66667%; }
  .small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
    clear: both; }
  .small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
    float: left; }

.small-up-7 > .column, .small-up-7 > .columns {
  float: left;
  width: 14.28571%; }
  .small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
    clear: both; }
  .small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
    float: left; }

.small-up-8 > .column, .small-up-8 > .columns {
  float: left;
  width: 12.5%; }
  .small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
    clear: both; }
  .small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
    float: left; }

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

.small-collapse .row {
  margin-right: 0;
  margin-left: 0; }

.expanded.row .small-collapse.row {
  margin-right: 0;
  margin-left: 0; }

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

.small-centered {
  margin-right: auto;
  margin-left: auto; }
  .small-centered, .small-centered:last-child:not(:first-child) {
    float: none;
    clear: both; }

.small-uncentered, .small-push-0, .small-pull-0 {
  position: static;
  margin-right: 0;
  margin-left: 0; }
  .small-uncentered, .small-uncentered:last-child:not(:first-child), .small-push-0, .small-push-0:last-child:not(:first-child), .small-pull-0, .small-pull-0:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .small-uncentered:last-child:not(:first-child), .small-push-0:last-child:not(:first-child), .small-pull-0:last-child:not(:first-child) {
    float: right; }

@media print, screen and (min-width: 48em) {
  .medium-1 {
    width: 8.33333%; }
  .medium-push-1 {
    position: relative;
    left: 8.33333%; }
  .medium-pull-1 {
    position: relative;
    left: -8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    width: 16.66667%; }
  .medium-push-2 {
    position: relative;
    left: 16.66667%; }
  .medium-pull-2 {
    position: relative;
    left: -16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    width: 25%; }
  .medium-push-3 {
    position: relative;
    left: 25%; }
  .medium-pull-3 {
    position: relative;
    left: -25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    width: 33.33333%; }
  .medium-push-4 {
    position: relative;
    left: 33.33333%; }
  .medium-pull-4 {
    position: relative;
    left: -33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    width: 41.66667%; }
  .medium-push-5 {
    position: relative;
    left: 41.66667%; }
  .medium-pull-5 {
    position: relative;
    left: -41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    width: 50%; }
  .medium-push-6 {
    position: relative;
    left: 50%; }
  .medium-pull-6 {
    position: relative;
    left: -50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    width: 58.33333%; }
  .medium-push-7 {
    position: relative;
    left: 58.33333%; }
  .medium-pull-7 {
    position: relative;
    left: -58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    width: 66.66667%; }
  .medium-push-8 {
    position: relative;
    left: 66.66667%; }
  .medium-pull-8 {
    position: relative;
    left: -66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    width: 75%; }
  .medium-push-9 {
    position: relative;
    left: 75%; }
  .medium-pull-9 {
    position: relative;
    left: -75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    width: 83.33333%; }
  .medium-push-10 {
    position: relative;
    left: 83.33333%; }
  .medium-pull-10 {
    position: relative;
    left: -83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    width: 91.66667%; }
  .medium-push-11 {
    position: relative;
    left: 91.66667%; }
  .medium-pull-11 {
    position: relative;
    left: -91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 > .column, .medium-up-1 > .columns {
    float: left;
    width: 100%; }
    .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
      float: left; }
  .medium-up-2 > .column, .medium-up-2 > .columns {
    float: left;
    width: 50%; }
    .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
      float: left; }
  .medium-up-3 > .column, .medium-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
      float: left; }
  .medium-up-4 > .column, .medium-up-4 > .columns {
    float: left;
    width: 25%; }
    .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
      float: left; }
  .medium-up-5 > .column, .medium-up-5 > .columns {
    float: left;
    width: 20%; }
    .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
      float: left; }
  .medium-up-6 > .column, .medium-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
      float: left; }
  .medium-up-7 > .column, .medium-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {
      float: left; }
  .medium-up-8 > .column, .medium-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {
      float: left; }
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .medium-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .medium-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  .medium-centered {
    margin-right: auto;
    margin-left: auto; }
    .medium-centered, .medium-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .medium-uncentered, .medium-push-0, .medium-pull-0 {
    position: static;
    margin-right: 0;
    margin-left: 0; }
    .medium-uncentered, .medium-uncentered:last-child:not(:first-child), .medium-push-0, .medium-push-0:last-child:not(:first-child), .medium-pull-0, .medium-pull-0:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .medium-uncentered:last-child:not(:first-child), .medium-push-0:last-child:not(:first-child), .medium-pull-0:last-child:not(:first-child) {
      float: right; } }

@media print, screen and (min-width: 64em) {
  .large-1 {
    width: 8.33333%; }
  .large-push-1 {
    position: relative;
    left: 8.33333%; }
  .large-pull-1 {
    position: relative;
    left: -8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    width: 16.66667%; }
  .large-push-2 {
    position: relative;
    left: 16.66667%; }
  .large-pull-2 {
    position: relative;
    left: -16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    width: 25%; }
  .large-push-3 {
    position: relative;
    left: 25%; }
  .large-pull-3 {
    position: relative;
    left: -25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    width: 33.33333%; }
  .large-push-4 {
    position: relative;
    left: 33.33333%; }
  .large-pull-4 {
    position: relative;
    left: -33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    width: 41.66667%; }
  .large-push-5 {
    position: relative;
    left: 41.66667%; }
  .large-pull-5 {
    position: relative;
    left: -41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    width: 50%; }
  .large-push-6 {
    position: relative;
    left: 50%; }
  .large-pull-6 {
    position: relative;
    left: -50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    width: 58.33333%; }
  .large-push-7 {
    position: relative;
    left: 58.33333%; }
  .large-pull-7 {
    position: relative;
    left: -58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    width: 66.66667%; }
  .large-push-8 {
    position: relative;
    left: 66.66667%; }
  .large-pull-8 {
    position: relative;
    left: -66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    width: 75%; }
  .large-push-9 {
    position: relative;
    left: 75%; }
  .large-pull-9 {
    position: relative;
    left: -75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    width: 83.33333%; }
  .large-push-10 {
    position: relative;
    left: 83.33333%; }
  .large-pull-10 {
    position: relative;
    left: -83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    width: 91.66667%; }
  .large-push-11 {
    position: relative;
    left: 91.66667%; }
  .large-pull-11 {
    position: relative;
    left: -91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 > .column, .large-up-1 > .columns {
    float: left;
    width: 100%; }
    .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
      float: left; }
  .large-up-2 > .column, .large-up-2 > .columns {
    float: left;
    width: 50%; }
    .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
      float: left; }
  .large-up-3 > .column, .large-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
      float: left; }
  .large-up-4 > .column, .large-up-4 > .columns {
    float: left;
    width: 25%; }
    .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
      float: left; }
  .large-up-5 > .column, .large-up-5 > .columns {
    float: left;
    width: 20%; }
    .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
      float: left; }
  .large-up-6 > .column, .large-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
      float: left; }
  .large-up-7 > .column, .large-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {
      float: left; }
  .large-up-8 > .column, .large-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {
      float: left; }
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .large-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .large-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  .large-centered {
    margin-right: auto;
    margin-left: auto; }
    .large-centered, .large-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .large-uncentered, .large-push-0, .large-pull-0 {
    position: static;
    margin-right: 0;
    margin-left: 0; }
    .large-uncentered, .large-uncentered:last-child:not(:first-child), .large-push-0, .large-push-0:last-child:not(:first-child), .large-pull-0, .large-pull-0:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .large-uncentered:last-child:not(:first-child), .large-push-0:last-child:not(:first-child), .large-pull-0:last-child:not(:first-child) {
      float: right; } }

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

.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: #1779ba;
    color: #fefefe; }
  .button:hover, .button:focus {
    background-color: #14679e;
    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: #1779ba;
    color: #fefefe; }
  .button.primary:hover, .button.primary:focus {
    background-color: #126195;
    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: #767676;
    color: #fefefe; }
  .button.secondary:hover, .button.secondary:focus {
    background-color: #5e5e5e;
    color: #fefefe; }
  .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: #3adb76;
    color: #0a0a0a; }
  .button.success:hover, .button.success:focus {
    background-color: #22bb5b;
    color: #0a0a0a; }
  .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: #ffae00;
    color: #0a0a0a; }
  .button.warning:hover, .button.warning:focus {
    background-color: #cc8b00;
    color: #0a0a0a; }
  .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: #cc4b37;
    color: #fefefe; }
  .button.alert:hover, .button.alert:focus {
    background-color: #a53b2a;
    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 #1779ba;
    color: #1779ba; }
  .button.hollow:hover, .button.hollow:focus {
    border-color: #0c3d5d;
    color: #0c3d5d; }
  .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 #1779ba;
    color: #1779ba; }
  .button.hollow.primary:hover, .button.hollow.primary:focus {
    border-color: #0c3d5d;
    color: #0c3d5d; }
  .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 #767676;
    color: #767676; }
  .button.hollow.secondary:hover, .button.hollow.secondary:focus {
    border-color: #3b3b3b;
    color: #3b3b3b; }
  .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 #3adb76;
    color: #3adb76; }
  .button.hollow.success:hover, .button.hollow.success:focus {
    border-color: #157539;
    color: #157539; }
  .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 #ffae00;
    color: #ffae00; }
  .button.hollow.warning:hover, .button.hollow.warning:focus {
    border-color: #805700;
    color: #805700; }
  .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 #cc4b37;
    color: #cc4b37; }
  .button.hollow.alert:hover, .button.hollow.alert:focus {
    border-color: #67251a;
    color: #67251a; }
  .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: #1779ba; }
  .button.clear:hover, .button.clear:focus {
    color: #0c3d5d; }
  .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: #1779ba; }
  .button.clear.primary:hover, .button.clear.primary:focus {
    color: #0c3d5d; }
  .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: #767676; }
  .button.clear.secondary:hover, .button.clear.secondary:focus {
    color: #3b3b3b; }
  .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: #3adb76; }
  .button.clear.success:hover, .button.clear.success:focus {
    color: #157539; }
  .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: #ffae00; }
  .button.clear.warning:hover, .button.clear.warning:focus {
    color: #805700; }
  .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: #cc4b37; }
  .button.clear.alert:hover, .button.clear.alert:focus {
    color: #67251a; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after, .button.dropdown.clear::after {
    border-top-color: #1779ba; }
  .button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {
    border-top-color: #1779ba; }
  .button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {
    border-top-color: #767676; }
  .button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {
    border-top-color: #cc4b37; }
  .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: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -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;
    -webkit-flex: 1 1 0px;
        -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: #1779ba;
    color: #fefefe; }
  .button-group.primary .button:hover, .button-group.primary .button:focus {
    background-color: #126195;
    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: #767676;
    color: #fefefe; }
  .button-group.secondary .button:hover, .button-group.secondary .button:focus {
    background-color: #5e5e5e;
    color: #fefefe; }
  .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: #3adb76;
    color: #0a0a0a; }
  .button-group.success .button:hover, .button-group.success .button:focus {
    background-color: #22bb5b;
    color: #0a0a0a; }
  .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: #ffae00;
    color: #0a0a0a; }
  .button-group.warning .button:hover, .button-group.warning .button:focus {
    background-color: #cc8b00;
    color: #0a0a0a; }
  .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: #cc4b37;
    color: #fefefe; }
  .button-group.alert .button:hover, .button-group.alert .button:focus {
    background-color: #a53b2a;
    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 #1779ba;
    color: #1779ba; }
  .button-group.hollow .button:hover, .button-group.hollow .button:focus {
    border-color: #0c3d5d;
    color: #0c3d5d; }
  .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 #1779ba;
    color: #1779ba; }
  .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: #0c3d5d;
    color: #0c3d5d; }
  .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 #767676;
    color: #767676; }
  .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: #3b3b3b;
    color: #3b3b3b; }
  .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 #3adb76;
    color: #3adb76; }
  .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: #157539;
    color: #157539; }
  .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 #ffae00;
    color: #ffae00; }
  .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: #805700;
    color: #805700; }
  .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 #cc4b37;
    color: #cc4b37; }
  .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: #67251a;
    color: #67251a; }
  .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: #1779ba; }
  .button-group.clear .button:hover, .button-group.clear .button:focus {
    color: #0c3d5d; }
  .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: #1779ba; }
  .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: #0c3d5d; }
  .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: #767676; }
  .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: #3b3b3b; }
  .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: #3adb76; }
  .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: #157539; }
  .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: #ffae00; }
  .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: #805700; }
  .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: #cc4b37; }
  .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: #67251a; }
  .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 {
    -webkit-flex-wrap: wrap;
        -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;
      -webkit-flex: 0 0 100%;
          -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;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
  @media print, screen and (min-width: 48em) {
    .button-group.stacked-for-small .button {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      margin-bottom: 0; } }
  @media print, screen and (max-width: 47.99875em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }
  @media print, screen and (max-width: 63.99875em) {
    .button-group.stacked-for-medium.expanded {
      display: block; }
      .button-group.stacked-for-medium.expanded .button {
        display: block;
        margin-right: 0; } }

.close-button {
  position: absolute;
  z-index: 10;
  color: #8a8a8a;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #0a0a0a; }
  .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: #1779ba;
  color: #fefefe; }
  .label.primary {
    background: #1779ba;
    color: #fefefe; }
  .label.secondary {
    background: #767676;
    color: #fefefe; }
  .label.success {
    background: #3adb76;
    color: #0a0a0a; }
  .label.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .label.alert {
    background: #cc4b37;
    color: #fefefe; }

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0;
  background-color: #cacaca; }
  .progress.primary .progress-meter {
    background-color: #1779ba; }
  .progress.secondary .progress-meter {
    background-color: #767676; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #cc4b37; }

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

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-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: #e6e6e6;
  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: #cacaca;
  -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%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 0;
  background-color: #1779ba;
  -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: #14679e; }
  .slider-handle.is-dragging {
    -webkit-transition: all 0s linear;
    transition: all 0s linear; }

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

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

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

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

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0;
  background: #cacaca;
  -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.25rem;
    left: 0.25rem;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    border-radius: 0;
    background: #fefefe;
    -webkit-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #1779ba; }
    input:checked ~ .switch-paddle::after {
      left: 2.25rem; }
  input:disabled ~ .switch-paddle {
    cursor: not-allowed;
    opacity: 0.5; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

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

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

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

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

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

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

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

@media print, screen and (max-width: 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: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #1779ba;
  color: #fefefe; }
  .badge.primary {
    background: #1779ba;
    color: #fefefe; }
  .badge.secondary {
    background: #767676;
    color: #fefefe; }
  .badge.success {
    background: #3adb76;
    color: #0a0a0a; }
  .badge.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .badge.alert {
    background: #cc4b37;
    color: #fefefe; }

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

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
  background-color: white;
  color: #0a0a0a; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #d7ecfa;
    color: #0a0a0a; }
  .callout.secondary {
    background-color: #eaeaea;
    color: #0a0a0a; }
  .callout.success {
    background-color: #e1faea;
    color: #0a0a0a; }
  .callout.warning {
    background-color: #fff3d9;
    color: #0a0a0a; }
  .callout.alert {
    background-color: #f7e4e1;
    color: #0a0a0a; }
  .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: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 1rem;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  background: #fefefe;
  -webkit-box-shadow: none;
          box-shadow: none;
  overflow: hidden;
  color: #0a0a0a; }
  .card > :last-child {
    margin-bottom: 0; }

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

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

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

.dropdown-pane {
  position: absolute;
  z-index: 10;
  display: none;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  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: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -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: 48em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0;
    color: #0a0a0a; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #1779ba;
    color: #fefefe;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #cacaca;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #0a0a0a; }

.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 #8a8a8a;
  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: #0a0a0a;
  font-size: 80%;
  color: #fefefe; }
  .tooltip::before {
    position: absolute; }
  .tooltip.bottom::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #0a0a0a;
    bottom: 100%; }
  .tooltip.bottom.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #0a0a0a transparent transparent;
    top: 100%;
    bottom: auto; }
  .tooltip.top.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #0a0a0a;
    left: 100%; }
  .tooltip.left.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #0a0a0a transparent transparent;
    right: 100%;
    left: auto; }
  .tooltip.right.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.align-top::before {
    bottom: auto;
    top: 10%; }
  .tooltip.align-bottom::before {
    bottom: 10%;
    top: auto; }
  .tooltip.align-left::before {
    left: 10%;
    right: auto; }
  .tooltip.align-right::before {
    left: auto;
    right: 10%; }

.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 #e6e6e6;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #1779ba; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #e6e6e6;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #e6e6e6; }
  .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 #e6e6e6;
  border-bottom: 0;
  background-color: #fefefe;
  color: #0a0a0a; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6; }

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

.media-object-section {
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  @media print, screen and (max-width: 47.99875em) {
    .stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      -webkit-flex-basis: 100%;
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
      max-width: 100%; }
      .stack-for-small .media-object-section img {
        width: 100%; } }
  .media-object-section.main-section {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -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(10, 10, 10, 0.5);
  color: #fefefe; }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fefefe; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(10, 10, 10, 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: #cacaca; }
    .orbit-bullets button:hover {
      background-color: #8a8a8a; }
    .orbit-bullets button.is-active {
      background-color: #8a8a8a; }

.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 #e6e6e6;
  background: #fefefe;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .tabs::after {
    clear: both; }

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

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

.tabs.primary {
  background: #1779ba; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #1673b1; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 0.75rem;
    line-height: 1;
    color: #1779ba; }
    [data-whatinput='mouse'] .tabs-title > a {
      outline: 0; }
    .tabs-title > a:hover {
      background: #fefefe;
      color: #1468a0; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #e6e6e6;
      color: #1779ba; }

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

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

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

.thumbnail {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: 4px solid #fefefe;
  border-radius: 0;
  -webkit-box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
          box-shadow: 0 0 0 1px rgba(10, 10, 10, 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(23, 121, 186, 0.5);
            box-shadow: 0 0 6px 1px rgba(23, 121, 186, 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: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  .menu a,
  .menu .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 0.7rem 1rem; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu, .menu.horizontal {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .menu.vertical {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .menu.expanded li {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.simple {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu.simple li + li {
      margin-left: 1rem; }
    .menu.simple a {
      padding: 0; }
  @media print, screen and (min-width: 48em) {
    .menu.medium-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.medium-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.medium-expanded li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.medium-simple li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media print, screen and (min-width: 64em) {
    .menu.large-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.large-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.large-expanded li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.large-simple li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-left li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-left li a img,
    .menu.icon-left li a i,
    .menu.icon-left li a svg {
      margin-right: 0.25rem; }
  .menu.icon-right li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-right li a img,
    .menu.icon-right li a i,
    .menu.icon-right li a svg {
      margin-left: 0.25rem; }
  .menu.icon-top li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-top li a img,
    .menu.icon-top li a i,
    .menu.icon-top li a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-bottom li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-bottom li a img,
    .menu.icon-bottom li a i,
    .menu.icon-bottom li a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu .is-active > a {
    background: #1779ba;
    color: #fefefe; }
  .menu .active > a {
    background: #1779ba;
    color: #fefefe; }
  .menu.align-left {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .menu.align-right li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .menu.align-right li .submenu li {
      -webkit-box-pack: start;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu.align-right.vertical li {
    display: block;
    text-align: right; }
    .menu.align-right.vertical li .submenu li {
      text-align: right; }
  .menu.align-right .nested {
    margin-right: 1rem;
    margin-left: 0; }
  .menu.align-center li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu.align-center li .submenu li {
      -webkit-box-pack: start;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu .menu-text {
    padding: 0.7rem 1rem;
    font-weight: bold;
    line-height: 1;
    color: inherit; }

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

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

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #fefefe;
    -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: #cacaca;
    -webkit-box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca;
            box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }

.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: #0a0a0a;
    -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
            box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #8a8a8a;
    -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;
            box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }

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

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

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

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

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

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative; }
  .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba 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);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

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

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

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

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

.submenu-toggle-text {
  position: absolute !important;
  width: 1px !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%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%); }
  .drilldown .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%); }
  .drilldown .is-drilldown-submenu a {
    padding: 0.7rem 1rem; }

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

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

.drilldown .is-drilldown-submenu-parent > a {
  position: relative; }
  .drilldown .is-drilldown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba;
    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: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #1779ba;
  right: 1rem;
  left: auto; }

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

.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba 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: inset 6px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #1779ba transparent transparent;
  right: 5px;
  left: auto;
  margin-top: -3px; }

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

.dropdown.menu > li > a {
  padding: 0.7rem 1rem; }

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

.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: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent;
  right: auto;
  left: 5px; }

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

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

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

.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 #cacaca;
  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: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent;
    right: auto;
    left: 5px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; }
  .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: #e6e6e6; }
  [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(10, 10, 10, 0.7);
              box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  -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: #e6e6e6; }
  [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(10, 10, 10, 0.7);
              box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas-absolute.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

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

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

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

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

.off-canvas-content {
  -webkit-transform: none;
      -ms-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);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

@media print, screen and (min-width: 48em) {
  .position-left.reveal-for-medium {
    -webkit-transform: none;
        -ms-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;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -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;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -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;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -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;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -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;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -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;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -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;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -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;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 48em) {
  .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;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-medium .close-button {
      display: none; } }

@media print, screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: 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;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-large .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; }
  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(10, 10, 10, 0.45);
  overflow-y: auto; }

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 48em) {
    .reveal {
      min-height: 0; } }
  .reveal .column, .reveal .columns {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 48em) {
    .reveal {
      width: 600px;
      max-width: 75rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 48em) {
    .reveal.tiny {
      width: 30%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 48em) {
    .reveal.small {
      width: 50%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 48em) {
    .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: 47.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: #0a0a0a;
  color: #fefefe;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

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

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

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

.top-bar {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.5rem;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .top-bar,
  .top-bar ul {
    background-color: #e6e6e6; }
  .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;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  @media print, screen and (min-width: 48em) {
    .top-bar {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .top-bar .top-bar-left {
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 auto;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        margin-right: auto; }
      .top-bar .top-bar-right {
        -webkit-box-flex: 0;
        -webkit-flex: 0 1 auto;
            -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 {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-medium .top-bar-left,
      .top-bar.stacked-for-medium .top-bar-right {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
            -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 {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-large .top-bar-left,
      .top-bar.stacked-for-large .top-bar-right {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }

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

.top-bar-left,
.top-bar-right {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -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: ' ';
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.clearfix::after {
  clear: both; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 64em) and (max-width: 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; } }

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

.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%);
      -ms-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);
      -ms-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%);
      -ms-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);
      -ms-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%);
      -ms-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);
      -ms-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%);
      -ms-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);
      -ms-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);
      -ms-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%);
      -ms-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);
      -ms-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%);
      -ms-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);
      -ms-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%);
      -ms-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);
      -ms-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%);
      -ms-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;
      -ms-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;
      -ms-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;
      -ms-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;
      -ms-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;
      -ms-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;
      -ms-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;
      -ms-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;
      -ms-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;
      -ms-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;
      -ms-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;
      -ms-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;
      -ms-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);
      -ms-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);
      -ms-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);
      -ms-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);
      -ms-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);
      -ms-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);
      -ms-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);
      -ms-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);
      -ms-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);
      -ms-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);
      -ms-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);
      -ms-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);
      -ms-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);
      -ms-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);
      -ms-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);
      -ms-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);
      -ms-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; }

.alignfull {
  margin-left: calc( -100vw / 2 + 100% / 2);
  margin-right: calc( -100vw / 2 + 100% / 2);
  max-width: 100vw; }

body,
html {
  position: relative;
  overflow-x: hidden;
  min-height: 100vh;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  scroll-behavior: smooth; }

.button {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25rem;
  letter-spacing: 0.025rem;
  padding: 0.4375rem 1.5625rem;
  border-radius: 1.25rem;
  border: 3px solid #765BA7;
  color: #765BA7;
  background: none; }
  .button:hover, .button:focus {
    background: #765BA7;
    color: #fff;
    -webkit-box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
            box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16); }
  .button.question-cta:after {
    width: 1.1875rem;
    height: 1.1875rem;
    border-radius: 100%;
    color: #fff;
    content: "\e916";
    font-family: 'icomoon', sans-serif;
    font-weight: normal;
    margin-left: 0.625rem;
    background: #765BA7;
    font-size: 0.5625rem; }
  .button.question-cta:hover:after {
    color: #765BA7;
    background: #fff; }

#wpadminbar {
  position: fixed; }

.wp-block-buttons .wp-block-button {
  margin: 0 0 1.875rem 0;
  display: block;
  width: 100%; }
  @media print, screen and (min-width: 48em) {
    .wp-block-buttons .wp-block-button {
      display: inline-block;
      width: auto; } }
  .wp-block-buttons .wp-block-button .wp-element-button {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.25rem;
    letter-spacing: 0.025rem;
    padding: 0.4375rem 1.5625rem;
    border-radius: 1.25rem;
    border: 3px solid #765BA7;
    color: #765BA7;
    background: none; }
    .wp-block-buttons .wp-block-button .wp-element-button:hover, .wp-block-buttons .wp-block-button .wp-element-button:focus {
      background: #765BA7;
      color: #fff;
      -webkit-box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
              box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16); }

@media print, screen and (min-width: 48em) {
  .page-container {
    max-width: 75.625rem;
    margin: 0 auto; } }

.page-container > .wp-block-buttons {
  margin: 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    .page-container > .wp-block-buttons {
      margin: 1.25rem 0; } }

.page-container > p {
  margin-left: 1.5625rem;
  margin-right: 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    .page-container > p {
      max-width: 68.625rem;
      margin-left: 0;
      margin-right: 0; } }

.page-container > ul {
  margin-left: 1.5625rem;
  margin-right: 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    .page-container > ul {
      margin-left: 0;
      margin-right: 0; } }

.page-container > h1, .page-container > h2, .page-container > h3, .page-container > h4, .page-container > h5, .page-container > h6 {
  margin-left: 1.5625rem;
  margin-right: 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    .page-container > h1, .page-container > h2, .page-container > h3, .page-container > h4, .page-container > h5, .page-container > h6 {
      margin-bottom: 1.875rem;
      margin-left: 0;
      margin-right: 0; } }

.favourites-icon {
  text-align: right;
  position: relative;
  padding-top: 2.5rem; }
  .favourites-icon a.tool-tip {
    border: none;
    font-size: 1rem;
    line-height: 1.8125rem;
    padding: 0 0.625rem;
    margin: 0;
    display: block;
    border-radius: 1.8125rem;
    -webkit-box-shadow: 0 0.1875rem 0.3125rem 0 rgba(0, 0, 0, 0.2);
            box-shadow: 0 0.1875rem 0.3125rem 0 rgba(0, 0, 0, 0.2);
    position: absolute;
    top: 0;
    right: 0;
    width: 12.1875rem;
    text-align: center;
    display: none;
    background: #fefefe; }
  .favourites-icon:hover {
    min-width: 12.1875rem;
    min-height: 3.8125rem; }
    .favourites-icon:hover a.tool-tip {
      display: block; }

.single-item-title {
  position: relative; }
  .single-item-title .favourites-icon {
    position: absolute;
    right: 0;
    top: -2.5rem; }

.add-to-favorite {
  height: 1.9375rem;
  width: 1.9375rem;
  border-radius: 100%;
  border: 2px solid #765BA7;
  color: #765BA7;
  line-height: 1.9375rem;
  position: relative;
  display: inline-block; }
  .add-to-favorite i {
    font-size: 0.9375rem;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
  .add-to-favorite.light {
    border: 2px solid #fff;
    color: #fff; }
    .add-to-favorite.light:hover {
      color: #fff; }
  .add-to-favorite:hover {
    color: #765BA7; }

.block-label {
  margin-bottom: 3.125rem;
  background: #F0EEF6;
  border-radius: 0 1.375rem 1.375rem 0;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 4.375rem 0 0;
  height: 2.6875rem;
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.0625rem;
  color: #533986;
  position: relative; }
  .block-label:before {
    content: '';
    position: absolute;
    left: -125rem;
    width: 125rem;
    top: 0;
    bottom: 0;
    background: #F0EEF6; }

.page-template-page-plain .breadcrumbs-wrapper {
  margin-top: 1.875rem;
  margin-bottom: 3.75rem; }

.buttons-wrapper a {
  margin-right: 0.625rem; }
  .buttons-wrapper a:last-of-type {
    margin-right: 0; }

h1 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 2.4375rem;
  line-height: 2.9375rem;
  background: #765BA7;
  color: #fff; }
  @media print, screen and (min-width: 48em) {
    h1 {
      font-size: 4.1875rem;
      line-height: 5rem; } }

h2 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 2.125rem;
  line-height: 2.8125rem;
  color: #765BA7; }
  @media print, screen and (min-width: 48em) {
    h2 {
      font-size: 2.375rem;
      line-height: 3.25rem; } }

h3 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 1.6875rem;
  line-height: 2.0625rem;
  color: #765BA7; }
  @media print, screen and (min-width: 48em) {
    h3 {
      font-size: 2.125rem;
      line-height: 2.875rem; } }

h4 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 2.1875rem;
  color: #765BA7; }
  @media print, screen and (min-width: 48em) {
    h4 {
      font-size: 1.8125rem; } }

h5 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.75rem;
  color: #765BA7; }
  @media print, screen and (min-width: 48em) {
    h5 {
      font-size: 1.5rem;
      line-height: 1.9375rem; } }

h6 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1.375rem; }

p {
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 2rem;
  color: #18202C; }
  p.has-small-font-size {
    font-size: 1rem;
    line-height: 1.8125rem; }
  p a {
    color: #000;
    border-bottom: 2px solid #765BA7; }
    p a:hover {
      color: #765BA7;
      border-color: #765BA7; }

ul, ol {
  list-style: none; }
  ul li, ol li {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 2rem;
    position: relative;
    padding-left: 1.25rem; }
    ul li:before, ol li:before {
      content: "•";
      font-size: 1.625rem;
      left: 0;
      position: absolute;
      top: 0; }
  ul.no-bullets li, ol.no-bullets li {
    padding-left: 0; }
    ul.no-bullets li:before, ol.no-bullets li:before {
      display: none; }
  ul.three-cols, ol.three-cols {
    columns: 3;
    -webkit-columns: 3;
    -moz-columns: 3; }

a {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  color: #000;
  border-bottom: 2px solid #765BA7; }
  a:hover {
    color: #765BA7;
    border-color: #765BA7; }

.wp-block-heading {
  margin: 3.125rem 0 1.875rem 0; }

@font-face {
  font-family: 'icomoon';
  src: url("../fonts/icomoon.eot?s0r28q2");
  src: url("../fonts/icomoon.eot?s0r28q2#iefix") format("embedded-opentype"), url("../fonts/icomoon.woff2?s0r28q2") format("woff2"), url("../fonts/icomoon.ttf?s0r28q2") format("truetype"), url("../fonts/icomoon.woff?s0r28q2") format("woff"), url("../fonts/icomoon.svg?s0r28q2#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block; }

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-external-link:before {
  content: "\e91a"; }

.icon-pause:before {
  content: "\e919"; }

.icon-download:before {
  content: "\e917"; }

.icon-arrow-right:before {
  content: "\e900"; }

.icon-arrow:before {
  content: "\e901"; }

.icon-attach:before {
  content: "\e902"; }

.icon-chev-left:before {
  content: "\e903"; }

.icon-chev-right:before {
  content: "\e904"; }

.icon-close:before {
  content: "\e905"; }

.icon-heart:before {
  content: "\e906"; }

.icon-info:before {
  content: "\e907"; }

.icon-play:before {
  content: "\e908"; }

.icon-plus:before {
  content: "\e909"; }

.icon-round-arrow-down:before {
  content: "\e90a"; }

.icon-round-arrow-up:before {
  content: "\e90b"; }

.icon-share:before {
  content: "\e90c"; }

.icon-youtube:before {
  content: "\e90d"; }

.icon-facebook:before {
  content: "\e90e"; }

.icon-x:before {
  content: "\e90f"; }

.icon-instagram:before {
  content: "\e910"; }

.icon-linkedin:before {
  content: "\e911"; }

.icon-newsletter:before {
  content: "\e912"; }

.icon-chat:before {
  content: "\e913"; }

.icon-phone:before {
  content: "\e914"; }

.icon-search:before {
  content: "\e915"; }

.icon-question:before {
  content: "\e916"; }

.icon-heart-filled:before,
.favourited .icon-heart:before {
  content: "\e918"; }

body.high-contrast > * {
  -webkit-filter: grayscale(100%) contrast(100%);
          filter: grayscale(100%) contrast(100%); }
  body.high-contrast > * img {
    -webkit-filter: grayscale(100%);
    /* Safari 6.0 - 9.0 */
    filter: grayscale(100%); }

body.low-contrast > * {
  -webkit-filter: grayscale(100%) contrast(50%);
          filter: grayscale(100%) contrast(50%); }
  body.low-contrast > * img {
    -webkit-filter: grayscale(100%);
    /* Safari 6.0 - 9.0 */
    filter: grayscale(100%); }

.breadcrumbs-wrapper {
  max-width: 75.625rem;
  margin: 0 auto; }

.breadcrumbs > span,
.yoast-breadcrumbs > span {
  color: #333C42; }
  .breadcrumbs > span > span,
  .yoast-breadcrumbs > span > span {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 0.875rem;
    color: #333C42;
    padding: 0 0.625rem 0 0.625rem; }
    .breadcrumbs > span > span a,
    .yoast-breadcrumbs > span > span a {
      color: #333C42;
      font-size: 0.875rem;
      border-bottom: none; }
    .breadcrumbs > span > span.breadcrumb_last,
    .yoast-breadcrumbs > span > span.breadcrumb_last {
      padding: 0 0.625rem 0 0.625rem;
      font-family: 'Montserrat', sans-serif;
      font-weight: 700; }
    .breadcrumbs > span > span:first-child,
    .yoast-breadcrumbs > span > span:first-child {
      padding-left: 0; }

.accordion-wrapper.theme-1 .accordion {
  background: none;
  border-top: 4.5px solid #173766; }
  .accordion-wrapper.theme-1 .accordion .accordion-item {
    border-bottom: 1px solid #173766; }
    .accordion-wrapper.theme-1 .accordion .accordion-item .accordion-title {
      color: #173766;
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: 1.3125rem;
      line-height: 1.75rem;
      border: none;
      text-decoration: none;
      padding: 1.25rem 1.875rem 1.25rem 0; }
      .accordion-wrapper.theme-1 .accordion .accordion-item .accordion-title:hover, .accordion-wrapper.theme-1 .accordion .accordion-item .accordion-title:focus {
        background: none;
        text-decoration: none; }
      .accordion-wrapper.theme-1 .accordion .accordion-item .accordion-title:before {
        font-size: 1rem;
        content: "\e90b";
        font-family: 'icomoon', sans-serif;
        color: #173766;
        font-weight: 400;
        top: 1.5625rem;
        right: 0;
        width: 2rem;
        height: 2rem;
        border-radius: 100%;
        background: #CCF0F7;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; }
    .accordion-wrapper.theme-1 .accordion .accordion-item .accordion-content {
      border: none;
      background: none;
      padding: 0 0 1.875rem 0; }
      .accordion-wrapper.theme-1 .accordion .accordion-item .accordion-content p {
        margin-bottom: 1.25rem;
        color: #18202C; }
    .accordion-wrapper.theme-1 .accordion .accordion-item.is-active .accordion-title {
      background: none; }
      .accordion-wrapper.theme-1 .accordion .accordion-item.is-active .accordion-title:before {
        content: "\e90a";
        font-size: 0.09375rem; }

.accordion-wrapper.theme-2 .accordion {
  background: none; }
  .accordion-wrapper.theme-2 .accordion .accordion-item {
    border-radius: 0.6875rem;
    background: #FFFFFF;
    margin-bottom: 0.625rem; }
    .accordion-wrapper.theme-2 .accordion .accordion-item .accordion-title {
      color: #173766;
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: 1.5rem;
      line-height: 1.75rem;
      border: none;
      text-decoration: none;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      padding: 1.6875rem 2.5rem 1.6875rem 4.5rem; }
      .accordion-wrapper.theme-2 .accordion .accordion-item .accordion-title span {
        margin-left: auto;
        font-family: 'Montserrat', sans-serif;
        font-weight: 400;
        font-size: 1.1875rem;
        color: #18202C; }
      .accordion-wrapper.theme-2 .accordion .accordion-item .accordion-title:hover, .accordion-wrapper.theme-2 .accordion .accordion-item .accordion-title:focus {
        background: none;
        text-decoration: none; }
      .accordion-wrapper.theme-2 .accordion .accordion-item .accordion-title:before {
        font-size: 1rem;
        content: "\e90b";
        font-family: 'icomoon', sans-serif;
        color: #173766;
        font-weight: 400;
        top: 2rem;
        left: 0.8125rem;
        width: 2rem;
        height: 2rem;
        border-radius: 100%;
        background: #CCF0F7;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; }
    .accordion-wrapper.theme-2 .accordion .accordion-item .accordion-content {
      border: none;
      background: none;
      padding: 0.625rem 2.5rem 1.875rem 4.5rem; }
      .accordion-wrapper.theme-2 .accordion .accordion-item .accordion-content p {
        margin-bottom: 1.25rem;
        color: #18202C; }
      .accordion-wrapper.theme-2 .accordion .accordion-item .accordion-content .table table {
        background: none; }
        .accordion-wrapper.theme-2 .accordion .accordion-item .accordion-content .table table thead {
          background: none;
          border: none;
          border-bottom: 2px solid #707070; }
          .accordion-wrapper.theme-2 .accordion .accordion-item .accordion-content .table table thead tr {
            background: none; }
            .accordion-wrapper.theme-2 .accordion .accordion-item .accordion-content .table table thead tr th {
              padding: 0 0 2.8125rem 0;
              font-family: 'Montserrat', sans-serif;
              font-weight: 700;
              font-size: 1.1875rem;
              color: #18202C; }
              .accordion-wrapper.theme-2 .accordion .accordion-item .accordion-content .table table thead tr th:last-child {
                text-align: right;
                font-size: 1.3125rem;
                color: #173766; }
        .accordion-wrapper.theme-2 .accordion .accordion-item .accordion-content .table table tbody {
          background: none;
          border: none; }
          .accordion-wrapper.theme-2 .accordion .accordion-item .accordion-content .table table tbody tr {
            background: none; }
            .accordion-wrapper.theme-2 .accordion .accordion-item .accordion-content .table table tbody tr td {
              color: #18202C;
              padding: 0.625rem 0;
              border-bottom: 1px solid #173766;
              font-family: 'Montserrat', sans-serif;
              font-weight: 400;
              font-size: 0.9375rem; }
              .accordion-wrapper.theme-2 .accordion .accordion-item .accordion-content .table table tbody tr td:last-child {
                text-align: right;
                font-family: 'Montserrat', sans-serif;
                font-weight: 700; }
              .accordion-wrapper.theme-2 .accordion .accordion-item .accordion-content .table table tbody tr td a {
                color: #18202C;
                display: -webkit-inline-box;
                display: -webkit-inline-flex;
                display: -ms-inline-flexbox;
                display: inline-flex;
                -webkit-box-align: center;
                -webkit-align-items: center;
                    -ms-flex-align: center;
                        align-items: center;
                line-height: 1;
                padding: 0; }
                .accordion-wrapper.theme-2 .accordion .accordion-item .accordion-content .table table tbody tr td a:after {
                  content: '+';
                  font-size: 1.25rem;
                  margin-left: 0.625rem; }
                .accordion-wrapper.theme-2 .accordion .accordion-item .accordion-content .table table tbody tr td a:hover {
                  border-bottom: 1px solid #18202C; }
    .accordion-wrapper.theme-2 .accordion .accordion-item.is-active .accordion-title {
      background: none; }
      .accordion-wrapper.theme-2 .accordion .accordion-item.is-active .accordion-title:before {
        content: "\e90a";
        font-size: 0.09375rem; }

.select2-container {
  width: 100% !important; }
  .select2-container .selection .select2-selection {
    height: 3.0625rem;
    border-radius: 1.5625rem;
    background: none;
    border: 3px solid #765BA7;
    background: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 1.25rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 1.125rem; }
    @media print, screen and (min-width: 48em) {
      .select2-container .selection .select2-selection {
        padding: 0 1.5625rem;
        height: 3.875rem;
        border-radius: 1.9375rem; } }
    .select2-container .selection .select2-selection .select2-selection__arrow {
      right: 1.25rem;
      top: 0.625rem; }
      @media print, screen and (min-width: 48em) {
        .select2-container .selection .select2-selection .select2-selection__arrow {
          right: 2.5rem;
          top: 1rem; } }
      .select2-container .selection .select2-selection .select2-selection__arrow:after {
        content: "\e901";
        font-family: 'icomoon';
        font-size: 0.625rem;
        font-weight: 400;
        color: #765BA7;
        display: inline-block;
        -webkit-transition: all 0.2s linear;
        transition: all 0.2s linear;
        -webkit-transform: rotate(-180deg);
            -ms-transform: rotate(-180deg);
                transform: rotate(-180deg); }
      .select2-container .selection .select2-selection .select2-selection__arrow b {
        border: none; }
    .select2-container .selection .select2-selection[aria-expanded="true"] .select2-selection__arrow:after {
      -webkit-transform: rotate(0deg);
          -ms-transform: rotate(0deg);
              transform: rotate(0deg); }
  .select2-container .select2-dropdown {
    border-radius: 1.875rem;
    border: none;
    overflow: hidden;
    background: #765BA7;
    -webkit-box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
            box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
    top: 0.625rem;
    padding: 2.1875rem 0; }
    .select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option {
      background: #765BA7;
      padding: 1.0625rem 1.5625rem;
      font-family: 'Montserrat', sans-serif;
      font-weight: 600;
      font-size: 1.125rem;
      color: #fff; }
      .select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option:hover, .select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option:focus {
        background: #fff !important;
        color: #000; }
      .select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option.select2-results__option--highlighted {
        background: #fff !important;
        color: #000; }
      .select2-container .select2-dropdown .select2-results .select2-results__options .select2-results__option:before {
        display: none; }
    .select2-container .select2-dropdown.select2-dropdown--above {
      border-radius: 1.875rem !important;
      margin-top: -1.25rem; }
  .select2-container.select2-container--open .select2-selection {
    border-radius: 1.9375rem !important; }
  .select2-container.select2-container--open .select2-dropdown--below {
    border-radius: 1.9375rem !important; }

.wp-block-quote {
  padding: 1.875rem 2.5rem 1.25rem 2.5rem;
  border-radius: 2.1875rem;
  background: #EAF9FC;
  border: none;
  margin: 1.875rem 0;
  position: relative; }
  @media print, screen and (min-width: 48em) {
    .wp-block-quote {
      margin: 3.75rem 0; } }
  .wp-block-quote:before {
    content: "\e90e";
    font-family: 'icomoon', sans-serif;
    color: #173766;
    font-size: 2.1875rem;
    margin-bottom: 1.25rem;
    display: block; }
    @media print, screen and (min-width: 48em) {
      .wp-block-quote:before {
        font-size: 2.5rem; } }
  .wp-block-quote p {
    color: #173766;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1.4375rem;
    line-height: 1.6875rem; }
    @media print, screen and (min-width: 48em) {
      .wp-block-quote p {
        font-size: 1.8125rem;
        line-height: 2.3125rem; } }

@media print {
  .wp-block-quote {
    -webkit-column-break-inside: avoid;
       -moz-column-break-inside: avoid;
            break-inside: avoid;
    margin: 0.625rem 0; } }

.newsletter-signup {
  background: #00809A;
  padding: 2.5rem 1.5625rem;
  margin-top: auto;
  border-bottom: none; }
  @media print, screen and (min-width: 48em) {
    .newsletter-signup {
      padding: 1.875rem 0; } }
  @media print, screen and (min-width: 48em) {
    .newsletter-signup .newsletter-signup-inner {
      max-width: 75.625rem;
      margin: 0 auto;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  .newsletter-signup .newsletter-signup-inner .icon-wrapper {
    width: 4.4375rem;
    height: 4.4375rem;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    border: 4px solid #FFFFFF;
    border-radius: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 0 1.5625rem 0; }
    @media print, screen and (min-width: 48em) {
      .newsletter-signup .newsletter-signup-inner .icon-wrapper {
        width: 5.375rem;
        height: 5.375rem;
        margin: 0 1.5625rem 0 0; } }
    .newsletter-signup .newsletter-signup-inner .icon-wrapper i {
      color: #fff;
      font-size: 1.75rem; }
      @media print, screen and (min-width: 48em) {
        .newsletter-signup .newsletter-signup-inner .icon-wrapper i {
          font-size: 2rem; } }
  .newsletter-signup .newsletter-signup-inner .newsletter-title {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 0 1.875rem 0; }
    @media print, screen and (min-width: 48em) {
      .newsletter-signup .newsletter-signup-inner .newsletter-title {
        -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
                flex-shrink: 0;
        margin: 0 6.875rem 0 0; } }
    .newsletter-signup .newsletter-signup-inner .newsletter-title h4 {
      color: #fff; }
  .newsletter-signup .newsletter-signup-inner .newsletter-description {
    margin-right: 2.5rem; }
    .newsletter-signup .newsletter-signup-inner .newsletter-description p {
      font-family: 'Montserrat', sans-serif;
      font-weight: 600;
      color: #fff;
      margin: 0; }
  .newsletter-signup .newsletter-signup-inner .newsletter-cta {
    left: 0;
    position: relative;
    -webkit-transition: left 0.3s;
    transition: left 0.3s; }
    .newsletter-signup .newsletter-signup-inner .newsletter-cta span {
      color: #fff;
      font-size: 1.625rem;
      border-bottom: none; }
  .newsletter-signup:hover {
    background: #027B93; }
    .newsletter-signup:hover .newsletter-signup-inner .newsletter-cta {
      left: 0.9375rem; }

.card {
  border: none;
  position: relative;
  display: block;
  border-radius: 1.875rem;
  overflow: hidden;
  z-index: 1; }
  .card > img {
    position: static;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    z-index: 2;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear; }
    @media print, screen and (min-width: 48em) {
      .card > img {
        inset: 0; } }
  .card .card-info {
    z-index: 5; }
    @media print, screen and (min-width: 48em) {
      .card .card-info {
        top: auto;
        bottom: 0; } }
    .card .card-info .card-info-inner {
      padding: 1.5625rem 1.875rem; }
      @media print, screen and (min-width: 48em) {
        .card .card-info .card-info-inner {
          padding: 2.8125rem 3.125rem; } }
      .card .card-info .card-info-inner h2, .card .card-info .card-info-inner h3, .card .card-info .card-info-inner h4, .card .card-info .card-info-inner h5, .card .card-info .card-info-inner p {
        color: #fff;
        margin: 0; }
      .card .card-info .card-info-inner .card-cta {
        width: 2.125rem;
        height: 2.125rem;
        border: 3px solid #fff;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        border-radius: 100%;
        position: absolute;
        right: 1.25rem;
        top: 10rem;
        color: #fff;
        -webkit-transition: all 0.2s linear;
        transition: all 0.2s linear; }
        @media print, screen and (min-width: 48em) {
          .card .card-info .card-info-inner .card-cta {
            width: 2.6875rem;
            height: 2.6875rem;
            top: auto;
            right: 1.5625rem;
            bottom: 1.5625rem; } }
        .card .card-info .card-info-inner .card-cta i {
          font-size: 1.0625rem; }
  .card.purple {
    background: #765BA7; }
    .card.purple .card-info {
      background: #765BA7; }
  .card.pink {
    background: #C44368; }
    .card.pink .card-info {
      background: #C44368; }
  .card.teal {
    background: #00809A; }
    .card.teal .card-info {
      background: #00809A; }
  .card.transparent .card-info {
    background: rgba(0, 0, 0, 0.44); }
  .card.full_transparent:after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.14);
    mix-blend-mode: multiply;
    z-index: 3; }
  .card.full_transparent:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: black;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.77)), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.77) 0%, rgba(255, 255, 255, 0) 100%);
    mix-blend-mode: multiply;
    z-index: 4;
    height: 14.8125rem; }
  .card.transparent > img, .card.full_transparent > img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    z-index: 2;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear; }
    @media print, screen and (min-width: 48em) {
      .card.transparent > img, .card.full_transparent > img {
        inset: 0; } }
  .card.transparent .card-info, .card.full_transparent .card-info {
    position: absolute;
    top: 11.75rem;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 5; }
    @media print, screen and (min-width: 48em) {
      .card.transparent .card-info, .card.full_transparent .card-info {
        top: auto;
        bottom: 0; } }
  .card:hover {
    -webkit-box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.31);
            box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.31); }
    .card:hover > img {
      -webkit-transform: scale(1.05);
          -ms-transform: scale(1.05);
              transform: scale(1.05); }
    .card:hover .card-info .card-info-inner .card-cta {
      background: #fff; }
    .card:hover.purple .card-info-inner .card-cta {
      color: #765BA7; }
    .card:hover.pink .card-info-inner .card-cta {
      color: #C44368; }
    .card:hover.teal .card-info-inner .card-cta {
      color: #00809A; }
    .card:hover.transparent .card-info-inner .card-cta, .card:hover.full_transparent .card-info-inner .card-cta {
      color: #000; }

.help-menu {
  position: relative; }
  .help-menu .help-menu-toggle {
    height: 3.0625rem;
    line-height: 2.625rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    border: 3px solid #765BA7;
    border-radius: 1.5625rem;
    padding: 0 1.25rem 0 1.5625rem;
    color: #000;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1.125rem;
    position: relative; }
    @media print, screen and (min-width: 48em) {
      .help-menu .help-menu-toggle {
        padding: 0 2.5rem 0 2.8125rem;
        border-radius: 2.625rem;
        height: 4.4375rem;
        line-height: 4.4375rem; } }
    .help-menu .help-menu-toggle:after {
      content: "\e901";
      font-family: 'icomoon', sans-serif;
      position: absolute;
      right: 1.25rem;
      font-size: 0.625rem;
      color: #765BA7;
      -webkit-transition: all 0.3s linear;
      transition: all 0.3s linear;
      -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
              transform: rotate(180deg); }
      @media print, screen and (min-width: 48em) {
        .help-menu .help-menu-toggle:after {
          right: 1.875rem; } }
    .help-menu .help-menu-toggle.hover:after {
      -webkit-transform: rotate(0deg);
          -ms-transform: rotate(0deg);
              transform: rotate(0deg); }
  .help-menu .dropdown-pane {
    border-radius: 1.5625rem;
    margin-top: 0.75rem;
    border: 1px solid #765BA7;
    padding: 0;
    overflow: hidden;
    background: #765BA7;
    top: 2.625rem !important; }
    @media print, screen and (min-width: 48em) {
      .help-menu .dropdown-pane {
        border-radius: 2.625rem;
        width: 33.875rem;
        top: 3.875rem !important; } }
    .help-menu .dropdown-pane ul {
      list-style: none;
      margin: 0;
      padding: 0; }
      .help-menu .dropdown-pane ul li {
        padding: 0.9375rem 1.5625rem; }
        @media print, screen and (min-width: 48em) {
          .help-menu .dropdown-pane ul li {
            padding: 1.5625rem 2.8125rem; } }
        .help-menu .dropdown-pane ul li a {
          padding: 0;
          color: #fff;
          font-family: 'Montserrat', sans-serif;
          font-weight: 500;
          font-size: 1.125rem;
          line-height: 2rem; }
        .help-menu .dropdown-pane ul li:hover {
          background: #fff; }
          .help-menu .dropdown-pane ul li:hover a {
            color: #765BA7; }

body.fixed-header header.landing .header-inner {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  body.fixed-header header.landing .header-inner .header-right-side .header-right-top-side {
    display: none; }

body.page-template-default .header .header-inner .header-right-side .header-right-bottom-side .hamburger-menu .toggle-menu span {
  background: #fff; }

body:not(.home) .header, body.post-type-archive-tribe_events .header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  right: 0; }
  body:not(.home) .header .header-inner, body.post-type-archive-tribe_events .header .header-inner {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    body:not(.home) .header .header-inner .logo .color-logo, body.post-type-archive-tribe_events .header .header-inner .logo .color-logo {
      display: none; }
    body:not(.home) .header .header-inner .logo .white-logo, body.post-type-archive-tribe_events .header .header-inner .logo .white-logo {
      display: block; }
    body:not(.home) .header .header-inner .header-right-side .header-right-top-side, body.post-type-archive-tribe_events .header .header-inner .header-right-side .header-right-top-side {
      display: none; }

body:not(.home).fixed-header .header, body.post-type-archive-tribe_events.fixed-header .header {
  background: rgba(255, 255, 255, 0.96); }
  body:not(.home).fixed-header .header .header-inner, body.post-type-archive-tribe_events.fixed-header .header .header-inner {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    body:not(.home).fixed-header .header .header-inner .logo, body.post-type-archive-tribe_events.fixed-header .header .header-inner .logo {
      margin: 0; }
      body:not(.home).fixed-header .header .header-inner .logo .color-logo, body.post-type-archive-tribe_events.fixed-header .header .header-inner .logo .color-logo {
        display: block; }
      body:not(.home).fixed-header .header .header-inner .logo .white-logo, body.post-type-archive-tribe_events.fixed-header .header .header-inner .logo .white-logo {
        display: none; }
    body:not(.home).fixed-header .header .header-inner .header-right-side .header-right-bottom-side .hamburger-menu .toggle-menu span, body.post-type-archive-tribe_events.fixed-header .header .header-inner .header-right-side .header-right-bottom-side .hamburger-menu .toggle-menu span {
      background: #765BA7; }

body.single:not(.single-tribe_events) .header .header-inner .logo .white-logo {
  display: none; }

.tooltip {
  background: #FFFFFF;
  border-radius: 1.3125rem;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.8125rem;
  color: #000;
  max-width: 12.5rem;
  padding: 0.4375rem 0.9375rem; }
  .tooltip:after {
    content: "\e907";
    font-family: 'icomoon', sans-serif;
    margin-left: 0.625rem; }
  .tooltip.top:before {
    display: none; }

.tribe-common--breakpoint-medium.tribe-events ul li:before,
.tribe-events-view--month.tribe-events ul li:before {
  display: none; }

.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container,
.tribe-common--breakpoint-medium.tribe-events .tribe-common-l-container,
.tribe-events-view--month.tribe-events .tribe-events-l-container,
.tribe-events-view--month.tribe-events .tribe-common-l-container {
  padding: 0; }

.tribe-common {
  padding-bottom: 3.125rem; }
  .tribe-common.tribe-events .tribe-events-header {
    top: 0 !important; }
  .tribe-common.tribe-events .tribe-events-c-view-selector__content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    background: none;
    border: none; }
  .tribe-common.tribe-events .tribe-filter-bar__filters-slider-wrapper .tribe-filter-bar__filters-slide .tribe-filter-bar-c-pill .tribe-filter-bar-c-pill__pill {
    height: 3.375rem;
    border-radius: 2.125rem;
    background: none;
    border: 1px solid #2D3344;
    background: #2D3344;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 1.625rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 1.1875rem;
    color: #fff;
    width: auto; }
  .tribe-common.tribe-events .tribe-events-c-view-selector__list-item-icon i {
    font-size: 2.5rem;
    color: rgba(45, 51, 68, 0.35); }
    .tribe-common.tribe-events .tribe-events-c-view-selector__list-item-icon i:before {
      font-family: 'icomoon', sans-serif;
      font-style: normal; }
    .tribe-common.tribe-events .tribe-events-c-view-selector__list-item-icon i.month:before {
      content: "\e905"; }
    .tribe-common.tribe-events .tribe-events-c-view-selector__list-item-icon i.list:before {
      content: "\e904"; }
  .tribe-common.tribe-events .tribe-events-c-view-selector__list-item-icon.active-link i {
    color: #2D3344; }
  .tribe-common .tribe-events-calendar-month {
    margin-top: 0; }
    .tribe-common .tribe-events-calendar-month .tribe-events-calendar-month__header-column-title {
      text-align: left;
      font-size: var(--tec-font-size-1);
      line-height: var(--tec-line-height-0); }
    .tribe-common .tribe-events-calendar-month .tribe-events-calendar-month__header-row .tribe-events-calendar-month__header-column h3 span {
      font-family: 'Montserrat', sans-serif;
      font-weight: 400;
      color: #2D3344; }
      @media print, screen and (min-width: 48em) {
        .tribe-common .tribe-events-calendar-month .tribe-events-calendar-month__header-row .tribe-events-calendar-month__header-column h3 span.tribe-events-calendar-month__header-column-title-desktop {
          display: inline-block !important;
          visibility: visible; } }
      @media print, screen and (min-width: 48em) {
        .tribe-common .tribe-events-calendar-month .tribe-events-calendar-month__header-row .tribe-events-calendar-month__header-column h3 span.tribe-events-calendar-month__header-column-title-mobile {
          display: none;
          visibility: hidden; } }
    .tribe-common .tribe-events-calendar-month .tribe-events-calendar-month__body .tribe-events-calendar-month__day-cell h3 time {
      color: #765BA7;
      font-family: 'Montserrat', sans-serif;
      font-weight: 700; }
      .tribe-common .tribe-events-calendar-month .tribe-events-calendar-month__body .tribe-events-calendar-month__day-cell h3 time .tribe-events-calendar-month__day-date-link {
        color: #765BA7; }
    .tribe-common .tribe-events-calendar-month .tribe-events-calendar-month__body .tribe-events-calendar-month__day-cell .tribe-events-calendar-month__calendar-event-details .tribe-events-calendar-month__calendar-event-datetime time {
      font-family: 'Montserrat', sans-serif;
      font-weight: 400;
      color: #2D3344; }
      .tribe-common .tribe-events-calendar-month .tribe-events-calendar-month__body .tribe-events-calendar-month__day-cell .tribe-events-calendar-month__calendar-event-details .tribe-events-calendar-month__calendar-event-datetime time .tribe-events-calendar-month__day-date-link {
        color: #765BA7; }
    .tribe-common .tribe-events-calendar-month .tribe-events-calendar-month__body .tribe-events-calendar-month__day-cell .tribe-events-calendar-month__calendar-event-details .tribe-events-calendar-month__calendar-event-title .tribe-common-anchor-thin tooltipstered {
      color: #000000; }
    .tribe-common .tribe-events-calendar-month .tribe-events-calendar-month__body .tribe-events-calendar-month__day-cell:hover:after {
      background: #765BA7 !important; }
    .tribe-common .tribe-events-calendar-month .tribe-events-calendar-month__body {
      border-top: 1px solid var(--tec-color-border-secondary-month-grid); }
    .tribe-common .tribe-events-calendar-month .tribe-events-calendar-month__week {
      border-left: 1px solid var(--tec-color-border-secondary-month-grid); }
    .tribe-common .tribe-events-calendar-month .tribe-events-calendar-month__day {
      border-radius: 0;
      aspect-ratio: auto;
      border-color: var(--tec-color-border-secondary-month-grid);
      border-style: solid;
      border-width: 0 1px 1px 0;
      overflow: visible;
      min-height: 168px;
      padding-top: 0; }
      .tribe-common .tribe-events-calendar-month .tribe-events-calendar-month__day .tribe-events-calendar-month__day-date {
        -webkit-box-flex: 0;
        -webkit-flex: none;
            -ms-flex: none;
                flex: none;
        padding: var(--tec-spacer-1) var(--tec-spacer-3); }
      .tribe-common .tribe-events-calendar-month .tribe-events-calendar-month__day.tribe-events-calendar-month__day--current button {
        background: #765BA7; }
        .tribe-common .tribe-events-calendar-month .tribe-events-calendar-month__day.tribe-events-calendar-month__day--current button .tribe-events-calendar-month__day-date-daynum {
          color: #fff; }
        .tribe-common .tribe-events-calendar-month .tribe-events-calendar-month__day.tribe-events-calendar-month__day--current button .tribe-events-calendar-month__mobile-events-icon--event {
          background: #fff; }
      .tribe-common .tribe-events-calendar-month .tribe-events-calendar-month__day button .tribe-events-calendar-month__day-date-daynum {
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: var(--tec-font-size-7);
        line-height: var(--tec-line-height-1); }
      .tribe-common .tribe-events-calendar-month .tribe-events-calendar-month__day button .tribe-events-calendar-month__mobile-events-icon--event {
        background: #765BA7; }
      .tribe-common .tribe-events-calendar-month .tribe-events-calendar-month__day button:hover {
        background: rgba(118, 91, 167, 0.35); }
      .tribe-common .tribe-events-calendar-month .tribe-events-calendar-month__day button.tribe-events-calendar-month__day-cell--selected {
        background: #765BA7; }
        .tribe-common .tribe-events-calendar-month .tribe-events-calendar-month__day button.tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__day-date-daynum {
          color: #fff; }
        .tribe-common .tribe-events-calendar-month .tribe-events-calendar-month__day button.tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__mobile-events-icon--event {
          background: #fff; }
  .tribe-common.tribe-common .tribe-filter-bar .tribe-filter-bar-c-filter--pill .tribe-filter-bar-c-filter__container {
    bottom: auto;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    top: 4.375rem;
    border-radius: 0.625rem;
    padding: 0; }
    .tribe-common.tribe-common .tribe-filter-bar .tribe-filter-bar-c-filter--pill .tribe-filter-bar-c-filter__container legend {
      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; }
    .tribe-common.tribe-common .tribe-filter-bar .tribe-filter-bar-c-filter--pill .tribe-filter-bar-c-filter__container button.tribe-filter-bar-c-filter__filters-close {
      display: none; }
  .tribe-common.tribe-common .tribe-filter-bar .tribe-filter-bar-c-checkbox,
  .tribe-common.tribe-common .tribe-filter-bar .tribe-filter-bar-c-dropdown .select2-results__option {
    padding: 1.125rem 1.875rem;
    margin: 0; }
  .tribe-common.tribe-common .tribe-filter-bar .tribe-filter-bar-c-checkbox input.tribe-common-form-control-checkbox__input {
    margin-top: 0.1875rem; }
  .tribe-common.tribe-common .tribe-filter-bar .tribe-filter-bar-c-checkbox label,
  .tribe-common.tribe-common .tribe-filter-bar .tribe-filter-bar-c-dropdown .select2-results__option {
    font-size: 1.125rem;
    line-height: 1.5rem; }
  .tribe-common.tribe-common .tribe-filter-bar .tribe-filter-bar-c-dropdown .select2-results__option.select2-results__option--highlighted {
    background: #F0F3F8; }
  .tribe-common.tribe-common .tribe-filter-bar .select2-search,
  .tribe-common.tribe-common .tribe-filter-bar .selection {
    display: none; }
  .tribe-common .tribe-filter-bar.tribe-filter-bar--horizontal {
    background-color: transparent;
    margin: calc(var(--tec-spacer-3)*-1) 0 var(--tec-spacer-8);
    padding: 0;
    position: static; }
  .tribe-common .tribe-filter-bar .tribe-filter-bar__filters-slider-container {
    display: block;
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    overflow: hidden;
    position: relative;
    visibility: visible;
    z-index: var(--tec-z-index-filters); }
  .tribe-common .tribe-filter-bar--horizontal.tribe-filter-bar .tribe-filter-bar__filters-slide {
    -webkit-box-flex: 0;
    -webkit-flex: none;
        -ms-flex: none;
            flex: none;
    margin-right: var(--tec-spacer-1);
    width: auto; }
  .tribe-common .tribe-filter-bar--horizontal.tribe-filter-bar .tribe-filter-bar__filters-slider-wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .tribe-common .tribe-filter-bar.tribe-filter-bar--horizontal .tribe-filter-bar__selected-filters {
    display: none;
    visibility: hidden; }
  .tribe-common .tribe-filter-bar--horizontal.tribe-filter-bar--has-selected-filters.tribe-filter-bar .tribe-filter-bar__actions {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
    -webkit-flex: none;
        -ms-flex: none;
            flex: none;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    padding: 0 0 0 var(--tec-spacer-2);
    position: relative;
    visibility: visible;
    z-index: var(--tec-z-index-search); }
  .tribe-common .tribe-filter-bar .tribe-filter-bar__action-done {
    display: none;
    visibility: hidden; }
  .tribe-common .tribe-filter-bar .tribe-filter-bar-c-clear-button {
    background-color: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    width: auto; }
  .tribe-common .tribe-events-header {
    margin: 0;
    padding: 0; }
    .tribe-common .tribe-events-header .tribe-events-header__events-bar {
      margin-bottom: var(--tec-spacer-7);
      margin-left: var(--tec-spacer-3);
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
  .tribe-common .tribe-filter-bar--horizontal.tribe-filter-bar .tribe-filter-bar__form {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative; }
  .tribe-common .tribe-filter-bar--horizontal.tribe-filter-bar .tribe-filter-bar__filters-container {
    position: absolute;
    z-index: var(--tec-z-index-filters); }
  .tribe-common .tribe-filter-bar--horizontal.tribe-filter-bar .tribe-filter-bar__filters {
    border-bottom: none;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .tribe-common .tribe-filter-bar--horizontal.tribe-filter-bar .tribe-filter-bar-c-filter, .tribe-common .tribe-filter-bar--horizontal.tribe-filter-bar .tribe-filter-bar__filters-slide {
    -webkit-box-flex: 0;
    -webkit-flex: none;
        -ms-flex: none;
            flex: none;
    margin-right: var(--tec-spacer-1);
    border-top: none;
    position: relative; }
  .tribe-common .tribe-filter-bar .tribe-filter-bar-c-filter--pill .tribe-filter-bar-c-filter__toggle-wrapper {
    position: relative;
    visibility: hidden; }

.tribe-events .tribe-events-l-container {
  padding: 0;
  min-height: 43.75rem; }

.tooltipster-base {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400; }

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day:hover::after {
  background-color: #765BA7; }

#main .ets-events {
  margin-bottom: 3.125rem; }
  @media print, screen and (min-width: 48em) {
    #main .ets-events {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-box-pack: start;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; } }
  #main .ets-events .event {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 1.875rem; }
    @media print, screen and (min-width: 48em) {
      #main .ets-events .event {
        width: 23.125rem;
        -webkit-box-flex: 0;
        -webkit-flex-grow: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        padding: 0 0.625rem; } }
  #main .ets-events .event-inner {
    background: #F0F3F8;
    border-radius: 0.625rem;
    position: relative; }
    #main .ets-events .event-inner .card-section {
      padding: 1.625rem 1.875rem 6.125rem; }
    #main .ets-events .event-inner h3 {
      font-size: 1.4375rem;
      font-weight: bold;
      line-height: 2rem;
      margin-bottom: 1.375rem; }
      #main .ets-events .event-inner h3 a {
        color: #2D3344; }
    #main .ets-events .event-inner .ets-meta {
      font-size: 1.125rem;
      line-height: 1.5rem;
      margin-bottom: 0.9375rem; }
      #main .ets-events .event-inner .ets-meta,
      #main .ets-events .event-inner .ets-meta time {
        color: #901A3D; }
      #main .ets-events .event-inner .ets-meta time,
      #main .ets-events .event-inner .ets-meta .meta-description {
        font-weight: bold; }
    #main .ets-events .event-inner .view-details {
      position: absolute;
      bottom: 1.875rem;
      left: 1.875rem;
      right: 1.875rem; }
      #main .ets-events .event-inner .view-details a {
        color: #2D3344;
        font-size: 1rem;
        line-height: 1.875rem;
        font-weight: bold;
        letter-spacing: 0.02rem; }
        #main .ets-events .event-inner .view-details a i {
          font-size: 0.75rem;
          position: relative;
          color: #901A3D;
          display: inline-block;
          left: 0.1875rem;
          -webkit-transition: left 0.3s;
          transition: left 0.3s; }
        #main .ets-events .event-inner .view-details a:hover {
          color: #901A3D; }
          #main .ets-events .event-inner .view-details a:hover i {
            left: 0.625rem; }

#main .tribe-events {
  overflow: visible; }
  #main .tribe-events .tribe-events-calendar-list-nav {
    border: none; }
  #main .tribe-events .tribe-events-c-nav__list-item--today {
    display: none; }
  #main .tribe-events .tribe-events-c-nav__prev,
  #main .tribe-events .tribe-events-c-nav__next {
    color: #2D3344;
    font-size: 1rem;
    line-height: 1.875rem;
    font-weight: bold;
    letter-spacing: 0.02rem;
    text-transform: uppercase; }
    #main .tribe-events .tribe-events-c-nav__prev:hover,
    #main .tribe-events .tribe-events-c-nav__next:hover {
      color: #901A3D; }
    #main .tribe-events .tribe-events-c-nav__prev:disabled,
    #main .tribe-events .tribe-events-c-nav__next:disabled {
      display: none;
      opacity: 0.5; }
    #main .tribe-events .tribe-events-c-nav__prev .tribe-common-c-svgicon,
    #main .tribe-events .tribe-events-c-nav__next .tribe-common-c-svgicon {
      display: none; }
  #main .tribe-events .tribe-events-c-nav__prev:before,
  #main .tribe-events .tribe-events-c-nav__next:after {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'icomoon' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-size: 0.75rem;
    position: relative;
    content: "\e902";
    color: #901A3D; }
  #main .tribe-events .tribe-events-c-nav__prev > span {
    margin-left: 0.3125rem; }
  #main .tribe-events .tribe-events-c-nav__prev:before {
    left: 0;
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg);
    -webkit-transition: left 0.3s;
    transition: left 0.3s; }
  #main .tribe-events .tribe-events-c-nav__prev:hover:before {
    left: -0.4375rem; }
  #main .tribe-events .tribe-events-c-nav__next > span {
    margin-right: 0.3125rem; }
  #main .tribe-events .tribe-events-c-nav__next:after {
    right: 0;
    -webkit-transition: right 0.3s;
    transition: right 0.3s; }
  #main .tribe-events .tribe-events-c-nav__next:hover:after {
    right: -0.4375rem; }
  #main .tribe-events .tribe-events-calendar-month__day-date {
    font-size: var(--tec-font-size-7);
    line-height: var(--tec-line-height-1); }
  #main .tribe-events .tribe-events-calendar-month__day::after {
    background-color: transparent;
    bottom: 0;
    content: '';
    display: block;
    height: 2px;
    left: -1px;
    position: absolute;
    -webkit-transition: var(--tec-transition-background-color);
    transition: var(--tec-transition-background-color);
    width: calc(100% + 2px); }
  #main .tribe-events .tribe-events-calendar-month__day:hover::after {
    background-color: #901A3D; }

#main .tribe-events-view--list .tribe-events-c-top-bar {
  display: none; }

@media print, screen and (min-width: 48em) {
  #main .tribe-events-calendar-month__day-cell--desktop,
  #main .tribe-events-c-top-bar__datepicker-desktop,
  #main .tribe-events-c-top-bar__today-button,
  #main .tribe-events-c-top-bar__nav {
    display: inline-block !important;
    visibility: visible; } }

@media print, screen and (min-width: 48em) {
  #main .tribe-events-calendar-month__day-cell--mobile,
  #main .tribe-events-c-top-bar__datepicker-mobile {
    display: none;
    visibility: hidden; } }

#main .tribe-events-header__top-bar {
  margin-bottom: var(--tec-spacer-7);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-flex: 1;
  -webkit-flex: auto;
      -ms-flex: auto;
          flex: auto; }

#main .tribe-events-c-top-bar__today-button {
  width: auto;
  padding: 6px 15px;
  -webkit-box-flex: 0;
  -webkit-flex: none;
      -ms-flex: none;
          flex: none;
  margin-right: 15px;
  color: var(--tec-color-text-secondary); }

#main button.tribe-events-c-top-bar__datepicker-button {
  font-size: var(--tec-font-size-8);
  line-height: var(--tec-line-height-1); }

#main .tribe-filter-bar {
  display: block; }

@media print, screen and (max-width: 47.99875em) {
  #main .tribe-events-c-view-selector {
    width: auto; } }

@media print, screen and (max-width: 47.99875em) {
  #main .tribe-events-c-view-selector__content {
    position: relative;
    top: auto;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none; } }

#main .tribe-events-c-view-selector__list-item-icon {
  height: auto;
  width: auto;
  margin: 0; }

#main .tribe-events-c-view-selector__list-item-link {
  padding-right: 0;
  margin-left: 0.625rem; }

#main .tribe-events-header__events-bar {
  margin-bottom: 0.625rem; }

.tribe-common .tribe-filter-bar .tribe-filter-bar-c-filter--pill .tribe-filter-bar-c-filter__container {
  border: 1px solid var(--tec-color-border-secondary);
  -webkit-box-shadow: var(--tec-box-shadow-tooltip);
          box-shadow: var(--tec-box-shadow-tooltip);
  background-color: var(--tec-color-background);
  left: 0;
  position: absolute;
  width: 248px;
  z-index: var(--tec-z-index-filters); }

@media print, screen and (max-width: 47.99875em) {
  .tribe-events {
    padding: 0 1.5625rem; } }

.tribe-events .tribe-events-header--has-event-search .tribe-events-c-events-bar {
  background: #F8F8F8 !important;
  border-radius: 1.9375rem;
  border: none; }
  .tribe-events .tribe-events-header--has-event-search .tribe-events-c-events-bar .tribe-events-c-events-bar__search-container {
    background: none; }
    .tribe-events .tribe-events-header--has-event-search .tribe-events-c-events-bar .tribe-events-c-events-bar__search-container .tribe-events-c-search__input-group .tribe-common-form-control-text {
      margin: 12px; }
      .tribe-events .tribe-events-header--has-event-search .tribe-events-c-events-bar .tribe-events-c-events-bar__search-container .tribe-events-c-search__input-group .tribe-common-form-control-text input {
        -webkit-box-shadow: none;
                box-shadow: none;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        font-size: 1rem;
        color: #000;
        padding-left: 3.125rem; }
        .tribe-events .tribe-events-header--has-event-search .tribe-events-c-events-bar .tribe-events-c-events-bar__search-container .tribe-events-c-search__input-group .tribe-common-form-control-text input::-webkit-input-placeholder {
          opacity: 1;
          color: #000; }
        .tribe-events .tribe-events-header--has-event-search .tribe-events-c-events-bar .tribe-events-c-events-bar__search-container .tribe-events-c-search__input-group .tribe-common-form-control-text input::-moz-placeholder {
          opacity: 1;
          color: #000; }
        .tribe-events .tribe-events-header--has-event-search .tribe-events-c-events-bar .tribe-events-c-events-bar__search-container .tribe-events-c-search__input-group .tribe-common-form-control-text input:-ms-input-placeholder {
          opacity: 1;
          color: #000; }
        .tribe-events .tribe-events-header--has-event-search .tribe-events-c-events-bar .tribe-events-c-events-bar__search-container .tribe-events-c-search__input-group .tribe-common-form-control-text input::-ms-input-placeholder {
          opacity: 1;
          color: #000; }
        .tribe-events .tribe-events-header--has-event-search .tribe-events-c-events-bar .tribe-events-c-events-bar__search-container .tribe-events-c-search__input-group .tribe-common-form-control-text input::placeholder {
          opacity: 1;
          color: #000; }
      .tribe-events .tribe-events-header--has-event-search .tribe-events-c-events-bar .tribe-events-c-events-bar__search-container .tribe-events-c-search__input-group .tribe-common-form-control-text .tribe-common-c-svgicon path {
        fill: #000; }
    .tribe-events .tribe-events-header--has-event-search .tribe-events-c-events-bar .tribe-events-c-events-bar__search-container .tribe-events-c-search__button {
      display: -webkit-inline-box;
      display: -webkit-inline-flex;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: 1rem;
      line-height: 1.25rem;
      letter-spacing: 0.025rem;
      padding: 0 1.5625rem;
      border-radius: 1.25rem;
      border: 3px solid #765BA7;
      background: #765BA7;
      color: #fff;
      height: 2.4375rem; }
      .tribe-events .tribe-events-header--has-event-search .tribe-events-c-events-bar .tribe-events-c-events-bar__search-container .tribe-events-c-search__button:hover, .tribe-events .tribe-events-header--has-event-search .tribe-events-c-events-bar .tribe-events-c-events-bar__search-container .tribe-events-c-search__button:focus {
        color: #765BA7;
        background: #fff;
        -webkit-box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
                box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16); }
  .tribe-events .tribe-events-header--has-event-search .tribe-events-c-events-bar .tribe-events-c-events-bar__views .tribe-events-c-view-selector .tribe-events-c-view-selector__content .tribe-events-c-view-selector__list .tribe-events-c-view-selector__list-item .tribe-events-c-view-selector__list-item-link .tribe-events-c-view-selector__list-item-text {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 1rem; }
  .tribe-events .tribe-events-header--has-event-search .tribe-events-c-events-bar .tribe-events-c-events-bar__views .tribe-events-c-view-selector .tribe-events-c-view-selector__content .tribe-events-c-view-selector__list .tribe-events-c-view-selector__list-item.tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link:after {
    background: #765BA7;
    height: 3px; }

.tribe-events .tribe-events-header--has-event-search .tribe-events-c-top-bar {
  margin-bottom: 3.125rem; }
  .tribe-events .tribe-events-header--has-event-search .tribe-events-c-top-bar .tribe-events-c-top-bar__nav .tribe-events-c-top-bar__nav-list .tribe-events-c-top-bar__nav-list-item .tribe-common-c-btn-icon svg path {
    fill: #765BA7; }
  .tribe-events .tribe-events-header--has-event-search .tribe-events-c-top-bar .tribe-common-c-btn-border-small {
    border: 2px solid #765BA7;
    border-radius: 0.625rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: #765BA7;
    padding: 0.5rem 1.625rem; }
  .tribe-events .tribe-events-header--has-event-search .tribe-events-c-top-bar .tribe-events-c-top-bar__datepicker .tribe-events-c-top-bar__datepicker-button {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 2.125rem;
    color: #765BA7; }

.tribe-events .tribe-events-calendar-month .tribe-events-calendar-month__header .tribe-events-calendar-month__header-row .tribe-events-calendar-month__header-column h3 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 1rem;
  color: #000000; }

.tribe-events .tribe-events-c-subscribe-dropdown__container .tribe-events-c-subscribe-dropdown {
  position: relative; }
  .tribe-events .tribe-events-c-subscribe-dropdown__container .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button {
    height: 3.0625rem;
    line-height: 2.625rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    border: 3px solid #765BA7;
    border-radius: 1.5625rem;
    padding: 0 1.25rem 0 1.5625rem;
    color: #000;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1.125rem;
    position: relative; }
    @media print, screen and (min-width: 48em) {
      .tribe-events .tribe-events-c-subscribe-dropdown__container .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button {
        padding: 0 2.5rem 0 2.8125rem;
        border-radius: 2.625rem;
        height: 4.4375rem;
        line-height: 4.4375rem;
        width: 23.625rem !important; } }
    .tribe-events .tribe-events-c-subscribe-dropdown__container .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:after {
      content: "\e901";
      font-family: 'icomoon', sans-serif;
      position: absolute;
      right: 1.25rem;
      font-size: 0.625rem;
      color: #765BA7;
      -webkit-transition: all 0.3s linear;
      transition: all 0.3s linear;
      -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
              transform: rotate(180deg); }
      @media print, screen and (min-width: 48em) {
        .tribe-events .tribe-events-c-subscribe-dropdown__container .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:after {
          right: 1.875rem; } }
    .tribe-events .tribe-events-c-subscribe-dropdown__container .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:hover, .tribe-events .tribe-events-c-subscribe-dropdown__container .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus, .tribe-events .tribe-events-c-subscribe-dropdown__container .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:active, .tribe-events .tribe-events-c-subscribe-dropdown__container .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:visited {
      color: #000 !important;
      background: #fff !important; }
    .tribe-events .tribe-events-c-subscribe-dropdown__container .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button svg {
      display: none !important; }
    .tribe-events .tribe-events-c-subscribe-dropdown__container .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button button:focus {
      outline: none !important;
      color: #000 !important;
      background: none !important; }
  .tribe-events .tribe-events-c-subscribe-dropdown__container .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__content {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 20; }
    .tribe-events .tribe-events-c-subscribe-dropdown__container .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__content .tribe-events-c-subscribe-dropdown__list {
      border-radius: 1.875rem;
      background: #765BA7;
      border: none;
      padding: 1.875rem 0; }
      .tribe-events .tribe-events-c-subscribe-dropdown__container .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__content .tribe-events-c-subscribe-dropdown__list li {
        padding: 0;
        border-radius: 0; }
        .tribe-events .tribe-events-c-subscribe-dropdown__container .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__content .tribe-events-c-subscribe-dropdown__list li a {
          color: #fff;
          padding: 0.4375rem 1.5625rem; }
          .tribe-events .tribe-events-c-subscribe-dropdown__container .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__content .tribe-events-c-subscribe-dropdown__list li a:hover {
            background: #fff;
            color: #765BA7; }

#tribe-events-pg-template {
  max-width: 75.625rem;
  padding: 0 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    #tribe-events-pg-template {
      padding: 0; } }
  #tribe-events-pg-template ul {
    list-style: none; }
    #tribe-events-pg-template ul li {
      padding-left: 0; }
      #tribe-events-pg-template ul li:before {
        display: none; }
  #tribe-events-pg-template .tribe-events-single-event-title {
    color: #765BA7; }
  #tribe-events-pg-template .tribe-events-schedule h2 span {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 2rem;
    color: #000; }
  #tribe-events-pg-template .tribe-common {
    padding: 0; }
  #tribe-events-pg-template .tribe-events-c-subscribe-dropdown__container {
    width: 100%; }
    @media print, screen and (min-width: 48em) {
      #tribe-events-pg-template .tribe-events-c-subscribe-dropdown__container {
        width: 25rem; } }
    #tribe-events-pg-template .tribe-events-c-subscribe-dropdown__container .tribe-events-c-subscribe-dropdown__button {
      width: 100%; }
      @media print, screen and (min-width: 48em) {
        #tribe-events-pg-template .tribe-events-c-subscribe-dropdown__container .tribe-events-c-subscribe-dropdown__button {
          width: 25rem; } }
    @media print, screen and (min-width: 48em) {
      #tribe-events-pg-template .tribe-events-c-subscribe-dropdown__container .tribe-events-c-subscribe-dropdown__content {
        top: 3.75rem; } }
  #tribe-events-pg-template .tribe-events-single-section {
    display: block; }
    @media print, screen and (min-width: 48em) {
      #tribe-events-pg-template .tribe-events-single-section {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; } }
    @media print, screen and (min-width: 48em) {
      #tribe-events-pg-template .tribe-events-single-section .tribe-events-meta-group {
        width: 15.625rem; } }
    #tribe-events-pg-template .tribe-events-single-section .tribe-events-meta-group .tribe-events-single-section-title {
      color: #765BA7; }
    #tribe-events-pg-template .tribe-events-single-section .tribe-events-meta-group dl dt, #tribe-events-pg-template .tribe-events-single-section .tribe-events-meta-group dl dd {
      font-family: 'Montserrat', sans-serif;
      font-weight: 500;
      font-size: 1rem;
      line-height: 1.875rem;
      color: #000; }
      #tribe-events-pg-template .tribe-events-single-section .tribe-events-meta-group dl dt a, #tribe-events-pg-template .tribe-events-single-section .tribe-events-meta-group dl dd a {
        color: #000; }
    #tribe-events-pg-template .tribe-events-single-section .tribe-events-meta-group dl dt {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700; }
  #tribe-events-pg-template #tribe-events-footer .tribe-events-nav-pagination .tribe-events-sub-nav {
    display: block; }
    @media print, screen and (min-width: 48em) {
      #tribe-events-pg-template #tribe-events-footer .tribe-events-nav-pagination .tribe-events-sub-nav {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; } }
    #tribe-events-pg-template #tribe-events-footer .tribe-events-nav-pagination .tribe-events-sub-nav li {
      margin: 0 0 1.25rem 0; }
      @media print, screen and (min-width: 48em) {
        #tribe-events-pg-template #tribe-events-footer .tribe-events-nav-pagination .tribe-events-sub-nav li {
          margin: 0; } }
      #tribe-events-pg-template #tribe-events-footer .tribe-events-nav-pagination .tribe-events-sub-nav li a {
        border-bottom: none; }

.page-info .page-info-content {
  position: fixed;
  bottom: 1.875rem;
  right: 0;
  background: #F8F8F8;
  width: 21.75rem;
  border-radius: 1.875rem 0 0 1.875rem;
  font-size: 2.125rem;
  -webkit-box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
          box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
  padding: 1.25rem 1.25rem 2.5rem 2.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
  z-index: 99; }
  @media print, screen and (min-width: 48em) {
    .page-info .page-info-content {
      bottom: 18.75rem; } }
  .page-info .page-info-content .page-info-close {
    width: 2.3125rem;
    height: 2.3125rem;
    border: 3px solid #7F7F7F;
    border-radius: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 0.875rem;
    color: #7F7F7F;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    margin-left: auto; }
  .page-info .page-info-content .page-info-title h6 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    margin-bottom: 0.9375rem;
    font-size: 1rem;
    color: #765BA7;
    text-transform: uppercase;
    letter-spacing: 0.0625rem; }
  .page-info .page-info-content .page-info-items ul {
    list-style: none;
    padding: 0;
    margin: 0; }
    .page-info .page-info-content .page-info-items ul li {
      margin-bottom: 1.25rem; }
      .page-info .page-info-content .page-info-items ul li a {
        color: #000000;
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        border-bottom: none; }
        .page-info .page-info-content .page-info-items ul li a span {
          font-family: 'Montserrat', sans-serif;
          font-weight: 500; }

.page-info a.page-info-open {
  position: fixed;
  bottom: 18.75rem;
  right: 0;
  background: #765BA7;
  width: 2.125rem;
  height: 3.1875rem;
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
  border-radius: 0.75rem 0 0 0.75rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 0.9375rem;
  -webkit-box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
          box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
  z-index: 99;
  border: none; }
  @media print, screen and (min-width: 48em) {
    .page-info a.page-info-open {
      width: 4rem;
      height: 4.4375rem;
      border-radius: 1.4375rem 0 0 1.4375rem;
      font-size: 1.125rem; } }

.page-info.closed .page-info-content {
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%); }

.page-info.closed .page-info-open {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }
  .page-info.closed .page-info-open i {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }

.resources {
  margin-bottom: 3.125rem; }
  .resources .resource {
    border-bottom: 2px solid rgba(118, 91, 167, 0.25);
    padding: 1.25rem 0; }
    @media print, screen and (min-width: 48em) {
      .resources .resource {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; } }
    .resources .resource > a {
      border-bottom: none; }
    .resources .resource .resource-image {
      display: none; }
      @media print, screen and (min-width: 48em) {
        .resources .resource .resource-image {
          display: block;
          width: 7.5rem;
          -webkit-flex-shrink: 0;
              -ms-flex-negative: 0;
                  flex-shrink: 0;
          margin-right: 1.875rem;
          position: relative;
          max-height: 12.5rem;
          overflow: hidden;
          z-index: 1; } }
      .resources .resource .resource-image:before, .resources .resource .resource-image:after {
        visibility: hidden; }
      .resources .resource .resource-image:before {
        content: '';
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.33);
        z-index: 3;
        border-radius: 0.375rem; }
      .resources .resource .resource-image:after {
        content: "\e917";
        font-family: 'icomoon', sans-serif;
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        z-index: 4;
        color: #FFFFFF;
        width: 2.75rem;
        height: 2.75rem;
        font-size: 1.25rem;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        border: 3px solid #fff;
        border-radius: 100%; }
      .resources .resource .resource-image img {
        width: 100%;
        height: auto;
        border-radius: 0.375rem;
        position: relative;
        z-index: 2; }
    .resources .resource .resource-details .resource-title h6 {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      margin-bottom: 0.9375rem; }
    .resources .resource .resource-details .resource-meta {
      margin-bottom: 0.9375rem; }
      .resources .resource .resource-details .resource-meta ul {
        list-style: none;
        margin: 0;
        padding: 0;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; }
        .resources .resource .resource-details .resource-meta ul li {
          font-family: 'Montserrat', sans-serif;
          font-weight: 600;
          font-size: 1rem; }
          .resources .resource .resource-details .resource-meta ul li:before {
            display: none; }
          .resources .resource .resource-details .resource-meta ul li:after {
            content: "|";
            margin: 0 1.0625rem; }
          .resources .resource .resource-details .resource-meta ul li:last-child:after {
            display: none; }
    .resources .resource .resource-details .resource-tools {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      @media print, screen and (min-width: 48em) {
        .resources .resource .resource-details .resource-tools {
          -webkit-box-pack: start;
          -webkit-justify-content: flex-start;
              -ms-flex-pack: start;
                  justify-content: flex-start; } }
      .resources .resource .resource-details .resource-tools .download {
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 1.0625rem;
        text-transform: uppercase;
        color: #765BA7;
        margin-right: 1.5625rem;
        border-bottom: 2px solid transparent; }
        .resources .resource .resource-details .resource-tools .download:hover {
          border-bottom: 2px solid #765BA7; }
    .resources .resource:hover .resource-image:before, .resources .resource:hover .resource-image:after {
      visibility: visible; }

.back-wrapper {
  background: #F0EEF6; }
  .back-wrapper .back-wrapper-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    height: 4.3125rem;
    padding: 0 1.5625rem; }
    @media print, screen and (min-width: 48em) {
      .back-wrapper .back-wrapper-inner {
        max-width: 75.3125rem;
        margin: 0 auto;
        padding: 0; } }
    .back-wrapper .back-wrapper-inner .back,
    .back-wrapper .back-wrapper-inner .next,
    .back-wrapper .back-wrapper-inner .previous {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      color: #000000;
      font-size: 1rem;
      text-transform: uppercase;
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      letter-spacing: 0.025rem;
      border-bottom: none; }
      .back-wrapper .back-wrapper-inner .back i,
      .back-wrapper .back-wrapper-inner .next i,
      .back-wrapper .back-wrapper-inner .previous i {
        margin-right: 0.625rem;
        -webkit-transform: rotate(180deg);
            -ms-transform: rotate(180deg);
                transform: rotate(180deg);
        font-size: 0.6875rem; }
      .back-wrapper .back-wrapper-inner .back:hover,
      .back-wrapper .back-wrapper-inner .next:hover,
      .back-wrapper .back-wrapper-inner .previous:hover {
        color: #765BA7; }
    .back-wrapper .back-wrapper-inner .previous.has-next:after {
      content: '|';
      color: #707070;
      margin: 0 1.625rem; }
    .back-wrapper .back-wrapper-inner .next i {
      margin-left: 0.625rem;
      -webkit-transform: rotate(0deg);
          -ms-transform: rotate(0deg);
              transform: rotate(0deg);
      margin-right: 0; }

.single-item-container {
  padding: 2.5rem 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    .single-item-container {
      max-width: 75.3125rem;
      margin: 0 auto;
      padding: 2.5rem 0; } }
  .single-item-container .single-item-info .single-item-date {
    display: none;
    margin-bottom: 1.875rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 1rem; }
  .single-item-container .single-item-info .single-item-title {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 1.875rem;
    padding-right: 3.125rem; }
    @media print, screen and (min-width: 48em) {
      .single-item-container .single-item-info .single-item-title h4 {
        max-width: 55.625rem;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        font-size: 1.75rem;
        line-height: 2.125rem; } }
  @media print, screen and (min-width: 48em) {
    .single-item-container .single-item-contents {
      max-width: 55.625rem; } }
  .single-item-container .single-item-contents .wp-block-image {
    margin: 1.875rem 0; }
    .single-item-container .single-item-contents .wp-block-image img {
      border-radius: 1.875rem; }
  .single-item-container .single-item-contents > h2, .single-item-container .single-item-contents > h3, .single-item-container .single-item-contents > h4, .single-item-container .single-item-contents > h5, .single-item-container .single-item-contents > h6 {
    color: #765BA7;
    margin-bottom: 2.5rem; }
  .single-item-container .single-item-contents > h1 {
    margin-bottom: 2.5rem;
    padding: 0.625rem; }
  .single-item-container .single-item-contents > ul {
    margin-left: 0; }

body .header #main-menu-wrapper {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  right: 0; }
  body .header #main-menu-wrapper .close-menu {
    position: fixed;
    right: 0; }
  body .header #main-menu-wrapper .menu-primary-menu-container > ul,
  body .header #main-menu-wrapper .menu-secondary-menu-container > ul {
    max-width: 75.625rem;
    margin: 0 auto;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    body .header #main-menu-wrapper .menu-primary-menu-container > ul > li:before,
    body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li:before {
      display: none; }
    body .header #main-menu-wrapper .menu-primary-menu-container > ul > li > a,
    body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li > a {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: 1rem;
      text-transform: uppercase;
      letter-spacing: 0.025rem;
      color: #6D6E71;
      border-bottom: none; }
      body .header #main-menu-wrapper .menu-primary-menu-container > ul > li > a:hover,
      body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li > a:hover {
        color: #765BA7; }
  body .header #main-menu-wrapper .menu-primary-menu-container > ul {
    padding: 0 0 0.9375rem 0;
    margin: 0.9375rem auto 0 auto; }
  body .header #main-menu-wrapper .menu-secondary-menu-container {
    background: #ededed; }
    body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li {
      position: relative;
      padding-left: 0; }
      body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li:before {
        display: none; }
      body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li > a {
        color: #000;
        padding: 1.5625rem 1.0625rem;
        border-bottom: none; }
        body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li > a:hover {
          color: #000; }
      body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li > .dropdown {
        position: absolute;
        left: 50%;
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%);
        min-width: 16rem;
        max-width: 25rem;
        background: #F8F8F8;
        border-radius: 1.25rem;
        z-index: 10;
        overflow: hidden;
        display: none;
        margin: 0;
        -webkit-box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
                box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16); }
        body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li > .dropdown > li {
          padding-left: 0; }
          body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li > .dropdown > li:before {
            display: none; }
          body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li > .dropdown > li a {
            font-family: 'Montserrat', sans-serif;
            font-weight: 600;
            font-size: 1.0625rem;
            line-height: 2rem;
            padding: 0.9375rem 1.5625rem;
            color: #000;
            border-bottom: none; }
            body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li > .dropdown > li a:hover {
              background: #765BA7;
              color: #fff; }
          body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li > .dropdown > li.menu-item-has-children > a {
            font-weight: bold;
            color: #765BA7;
            letter-spacing: 0.0625rem;
            text-transform: uppercase;
            position: relative;
            padding-right: 2.5rem; }
            body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li > .dropdown > li.menu-item-has-children > a:after {
              position: absolute;
              top: 0.9375rem;
              right: 0.9375rem; }
            body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li > .dropdown > li.menu-item-has-children > a:hover, body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li > .dropdown > li.menu-item-has-children > a:hover:after {
              color: #fefefe; }
          body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li > .dropdown > li.menu-item-has-children .dropdown {
            display: none;
            margin: 0; }
            body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li > .dropdown > li.menu-item-has-children .dropdown li {
              padding: 0; }
              body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li > .dropdown > li.menu-item-has-children .dropdown li:before {
                display: none; }
              body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li > .dropdown > li.menu-item-has-children .dropdown li a {
                border-bottom: none; }
          body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li > .dropdown > li.menu-item-has-children.opened .dropdown {
            display: block; }
          body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li > .dropdown > li.menu-item-has-children.opened > a:after {
            -webkit-transform: rotate(0deg);
                -ms-transform: rotate(0deg);
                    transform: rotate(0deg); }
      body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li.menu-item-has-children > a:after,
      body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li li.menu-item-has-children > a:after {
        content: "\e901";
        font-family: 'icomoon', sans-serif;
        font-size: 0.625rem;
        font-weight: 400;
        -webkit-transform: rotate(180deg);
            -ms-transform: rotate(180deg);
                transform: rotate(180deg);
        display: inline-block;
        margin-left: 0.4375rem;
        color: #765BA7; }
      body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li:hover > a:after {
        -webkit-transform: rotate(0deg);
            -ms-transform: rotate(0deg);
                transform: rotate(0deg); }
      body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li:hover .dropdown {
        display: block; }
      body .header #main-menu-wrapper .menu-secondary-menu-container > ul > li.wide-menu .dropdown {
        min-width: 21.25rem; }
  body .header #main-menu-wrapper #menu-selection-wrapper {
    background: #fff;
    padding: 5rem 0 10.9375rem 0; }
    body .header #main-menu-wrapper #menu-selection-wrapper .menu-selection-wrapper-inner {
      max-width: 75.625rem;
      margin: 0 auto;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      body .header #main-menu-wrapper #menu-selection-wrapper .menu-selection-wrapper-inner .menu-card {
        width: 23.5625rem;
        -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
                flex-shrink: 0;
        border-radius: 1.875rem;
        padding: 2.8125rem 2.8125rem 6.25rem 2.8125rem;
        position: relative;
        border-bottom: none; }
        body .header #main-menu-wrapper #menu-selection-wrapper .menu-selection-wrapper-inner .menu-card h3 {
          font-family: 'Montserrat', sans-serif;
          font-weight: 700;
          font-size: 2rem;
          line-height: 2.6875rem;
          color: #fff;
          margin-bottom: 1.875rem; }
        body .header #main-menu-wrapper #menu-selection-wrapper .menu-selection-wrapper-inner .menu-card p {
          color: #fff; }
        body .header #main-menu-wrapper #menu-selection-wrapper .menu-selection-wrapper-inner .menu-card span {
          width: 2.6875rem;
          height: 2.6875rem;
          border: 3px solid #fff;
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -webkit-align-items: center;
              -ms-flex-align: center;
                  align-items: center;
          -webkit-box-pack: center;
          -webkit-justify-content: center;
              -ms-flex-pack: center;
                  justify-content: center;
          border-radius: 100%;
          position: absolute;
          right: 2.5rem;
          bottom: 2.5rem;
          color: #fff;
          -webkit-transition: all 0.2s linear;
          transition: all 0.2s linear; }
          body .header #main-menu-wrapper #menu-selection-wrapper .menu-selection-wrapper-inner .menu-card span i {
            font-size: 1.0625rem; }
        body .header #main-menu-wrapper #menu-selection-wrapper .menu-selection-wrapper-inner .menu-card:hover {
          -webkit-box-shadow: 0.1875rem 0.1875rem 0.375rem rgba(0, 0, 0, 0.34);
                  box-shadow: 0.1875rem 0.1875rem 0.375rem rgba(0, 0, 0, 0.34); }
          body .header #main-menu-wrapper #menu-selection-wrapper .menu-selection-wrapper-inner .menu-card:hover span {
            background: #fff; }
        body .header #main-menu-wrapper #menu-selection-wrapper .menu-selection-wrapper-inner .menu-card.purple {
          background: #765BA7; }
          body .header #main-menu-wrapper #menu-selection-wrapper .menu-selection-wrapper-inner .menu-card.purple:hover span {
            color: #765BA7; }
        body .header #main-menu-wrapper #menu-selection-wrapper .menu-selection-wrapper-inner .menu-card.red {
          background: #BA3057; }
          body .header #main-menu-wrapper #menu-selection-wrapper .menu-selection-wrapper-inner .menu-card.red:hover span {
            color: #BA3057; }
        body .header #main-menu-wrapper #menu-selection-wrapper .menu-selection-wrapper-inner .menu-card.teal {
          background: #00809A; }
          body .header #main-menu-wrapper #menu-selection-wrapper .menu-selection-wrapper-inner .menu-card.teal:hover span {
            color: #00809A; }
  body .header #main-menu-wrapper .modal-menu ul.menu {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    body .header #main-menu-wrapper .modal-menu ul.menu > li {
      -webkit-flex-basis: 33.33%;
          -ms-flex-preferred-size: 33.33%;
              flex-basis: 33.33%; }
      body .header #main-menu-wrapper .modal-menu ul.menu > li > a {
        display: none; }
    body .header #main-menu-wrapper .modal-menu ul.menu li:before {
      display: none; }
    body .header #main-menu-wrapper .modal-menu ul.menu ul.sub-menu {
      margin: 0;
      display: block; }
    body .header #main-menu-wrapper .modal-menu ul.menu li.menu-item-has-children > a {
      font-weight: bold; }
  body .header #main-menu-wrapper .modal-menu {
    width: 75rem;
    border-radius: 1.875rem;
    -webkit-box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
            box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
    padding: 0;
    border: none;
    background: #F8F8F8;
    top: 10.3125rem !important;
    position: absolute; }
    body .header #main-menu-wrapper .modal-menu .modal-title {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      padding: 2.5rem;
      position: relative;
      z-index: 2; }
      body .header #main-menu-wrapper .modal-menu .modal-title h3 {
        margin: 0;
        color: #fff; }
      body .header #main-menu-wrapper .modal-menu .modal-title .close-button {
        position: relative;
        width: 2.375rem;
        height: 2.375rem;
        border: 3px solid #fff;
        border-radius: 100%;
        line-height: 2.375rem;
        text-align: center;
        color: #fff;
        font-weight: 400;
        font-size: 1rem;
        -webkit-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
                transform: rotate(45deg); }
        body .header #main-menu-wrapper .modal-menu .modal-title .close-button:hover {
          background: #fff; }
        body .header #main-menu-wrapper .modal-menu .modal-title .close-button i {
          line-height: 2.375rem;
          position: absolute;
          left: 50%;
          top: 50%;
          -webkit-transform: translate(-50%, -50%);
              -ms-transform: translate(-50%, -50%);
                  transform: translate(-50%, -50%); }
    body .header #main-menu-wrapper .modal-menu .the-menu {
      padding: 2.5rem;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      min-height: 31.25rem; }
      body .header #main-menu-wrapper .modal-menu .the-menu .the-menu-content {
        width: 20.75rem;
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        background: #F5EAED;
        z-index: 1;
        padding: 10.9375rem 1.875rem 2.8125rem 1.875rem; }
        body .header #main-menu-wrapper .modal-menu .the-menu .the-menu-content h6 {
          font-family: 'Montserrat', sans-serif;
          font-weight: 700;
          font-size: 1.25rem;
          line-height: 1.375rem; }
      body .header #main-menu-wrapper .modal-menu .the-menu .menu {
        margin: 0 -0.625rem; }
        body .header #main-menu-wrapper .modal-menu .the-menu .menu > li {
          padding: 0 0.625rem; }
          body .header #main-menu-wrapper .modal-menu .the-menu .menu > li .sub-menu {
            width: 16.25rem; }
            body .header #main-menu-wrapper .modal-menu .the-menu .menu > li .sub-menu li {
              padding-left: 0; }
              body .header #main-menu-wrapper .modal-menu .the-menu .menu > li .sub-menu li a {
                font-family: 'Montserrat', sans-serif;
                font-weight: 500;
                color: #000000;
                font-size: 1.125rem;
                border-bottom: 2px solid transparent;
                padding: 0;
                display: inline; }
              body .header #main-menu-wrapper .modal-menu .the-menu .menu > li .sub-menu li.menu-item-has-children:not(:last-of-type) {
                margin-bottom: 3.75rem; }
              body .header #main-menu-wrapper .modal-menu .the-menu .menu > li .sub-menu li.menu-item-has-children > a {
                text-transform: uppercase;
                font-family: 'Montserrat', sans-serif;
                font-weight: 700;
                color: #000000;
                font-size: 1rem;
                padding: 0;
                display: inline-block;
                margin-bottom: 1.25rem;
                border-bottom: none; }
              body .header #main-menu-wrapper .modal-menu .the-menu .menu > li .sub-menu li .sub-menu {
                width: 16.5625rem; }
                body .header #main-menu-wrapper .modal-menu .the-menu .menu > li .sub-menu li .sub-menu li {
                  margin-bottom: 0.625rem;
                  padding-left: 0; }
          body .header #main-menu-wrapper .modal-menu .the-menu .menu > li.single-column > .sub-menu {
            width: 16.5625rem; }
            body .header #main-menu-wrapper .modal-menu .the-menu .menu > li.single-column > .sub-menu > li {
              margin-bottom: 0.625rem; }
              body .header #main-menu-wrapper .modal-menu .the-menu .menu > li.single-column > .sub-menu > li > a {
                text-transform: none;
                font-family: 'Montserrat', sans-serif;
                font-weight: 500;
                color: #000000 !important;
                font-size: 1.125rem;
                border-bottom: 2px solid transparent;
                padding: 0;
                display: inline; }
                body .header #main-menu-wrapper .modal-menu .the-menu .menu > li.single-column > .sub-menu > li > a:hover {
                  border-bottom: 2px solid #765BA7; }
    body .header #main-menu-wrapper .modal-menu.purple .modal-title {
      background: #765BA7; }
      body .header #main-menu-wrapper .modal-menu.purple .modal-title .close-button:hover {
        color: #765BA7; }
    body .header #main-menu-wrapper .modal-menu.purple .the-menu .the-menu-content {
      background: #EAE6F4; }
    body .header #main-menu-wrapper .modal-menu.purple .the-menu .menu li .sub-menu li a {
      color: #000; }
      body .header #main-menu-wrapper .modal-menu.purple .the-menu .menu li .sub-menu li a:hover {
        border-bottom: 2px solid #765BA7; }
    body .header #main-menu-wrapper .modal-menu.purple .the-menu .menu li .sub-menu li.menu-item-has-children > a {
      color: #765BA7; }
      body .header #main-menu-wrapper .modal-menu.purple .the-menu .menu li .sub-menu li.menu-item-has-children > a:hover {
        border: none; }
    body .header #main-menu-wrapper .modal-menu.red .modal-title {
      background: #C44368; }
      body .header #main-menu-wrapper .modal-menu.red .modal-title .close-button:hover {
        color: #C44368; }
    body .header #main-menu-wrapper .modal-menu.red .the-menu .the-menu-content {
      background: #F5EAED; }
    body .header #main-menu-wrapper .modal-menu.red .the-menu .menu li .sub-menu li a {
      color: #000; }
      body .header #main-menu-wrapper .modal-menu.red .the-menu .menu li .sub-menu li a:hover {
        border-bottom: 2px solid #C44368; }
    body .header #main-menu-wrapper .modal-menu.red .the-menu .menu li .sub-menu li.menu-item-has-children > a {
      color: #C44368; }
      body .header #main-menu-wrapper .modal-menu.red .the-menu .menu li .sub-menu li.menu-item-has-children > a:hover {
        border: none; }
    body .header #main-menu-wrapper .modal-menu.teal .modal-title {
      background: #027B93; }
      body .header #main-menu-wrapper .modal-menu.teal .modal-title .close-button:hover {
        color: #027B93; }
    body .header #main-menu-wrapper .modal-menu.teal .the-menu .the-menu-content {
      background: #DCEDF0; }
    body .header #main-menu-wrapper .modal-menu.teal .the-menu .menu li .sub-menu li a {
      color: #000; }
      body .header #main-menu-wrapper .modal-menu.teal .the-menu .menu li .sub-menu li a:hover {
        border-bottom: 2px solid #027B93; }
    body .header #main-menu-wrapper .modal-menu.teal .the-menu .menu li .sub-menu li.menu-item-has-children > a {
      color: #027B93; }
      body .header #main-menu-wrapper .modal-menu.teal .the-menu .menu li .sub-menu li.menu-item-has-children > a:hover {
        border: none; }

body.menu-expanded .header {
  bottom: 0;
  background: rgba(255, 255, 255, 0.96);
  max-height: 100vh;
  overflow-y: auto; }
  body.menu-expanded .header .header-inner {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    body.menu-expanded .header .header-inner .close-menu {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
    body.menu-expanded .header .header-inner .logo {
      margin: 0; }
      body.menu-expanded .header .header-inner .logo .color-logo {
        display: block; }
      body.menu-expanded .header .header-inner .logo .white-logo {
        display: none; }
    body.menu-expanded .header .header-inner .header-right-side .header-right-top-side {
      display: block !important; }
    body.menu-expanded .header .header-inner .header-right-side .header-right-bottom-side {
      display: none; }

body.menu-expanded #main-menu-wrapper {
  display: block;
  margin-top: 3.25rem; }

.ajax-container .no-results,
.ajax-container button.show-more {
  display: none; }

.ajax-container.no-results .no-results {
  display: initial; }

.ajax-container.has-more-results button.show-more {
  display: block; }

.ajax-container .show-more {
  margin: 5rem auto; }

.spotify-wrapper {
  display: none; }

.hamburger-menu {
  width: 2.0625rem;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  position: relative; }
  @media print, screen and (min-width: 48em) {
    .hamburger-menu {
      margin: 0.375rem 0 0 0; } }
  .hamburger-menu .toggle-menu {
    width: 1.875rem;
    height: 1.375rem;
    display: block;
    border-bottom: none; }
    @media print, screen and (min-width: 48em) {
      .hamburger-menu .toggle-menu {
        width: 2.0625rem;
        height: 1.5rem; } }
    .hamburger-menu .toggle-menu span {
      width: 1.875rem;
      height: 2px;
      background: #765BA7;
      position: absolute;
      top: 0;
      -webkit-transition: all 0.2s linear;
      transition: all 0.2s linear; }
      @media print, screen and (min-width: 48em) {
        .hamburger-menu .toggle-menu span {
          width: 2.0625rem;
          height: 3px;
          border-radius: 3px; } }
      .hamburger-menu .toggle-menu span:nth-of-type(2) {
        top: 0.625rem; }
        @media print, screen and (min-width: 48em) {
          .hamburger-menu .toggle-menu span:nth-of-type(2) {
            top: 0.75rem; } }
      .hamburger-menu .toggle-menu span:nth-of-type(3) {
        top: 1.25rem; }
        @media print, screen and (min-width: 48em) {
          .hamburger-menu .toggle-menu span:nth-of-type(3) {
            top: 1.5rem; } }

.contact-info {
  background: #FFC20E;
  padding: 0 1.25rem;
  height: 2.5rem;
  line-height: 1;
  position: relative; }
  @media print, screen and (min-width: 48em) {
    .contact-info {
      height: 2.625rem;
      border-radius: 1.3125rem;
      margin: 0 1.25rem 0 0.9375rem; } }
  .contact-info .contact-info-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 0.4375rem 0; }
    @media print, screen and (min-width: 48em) {
      .contact-info .contact-info-inner {
        padding: 0.625rem 0; } }
    .contact-info .contact-info-inner .phone,
    .contact-info .contact-info-inner .chat {
      line-height: 1;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
      .contact-info .contact-info-inner .phone i,
      .contact-info .contact-info-inner .chat i {
        color: #000000;
        font-size: 1.3125rem;
        margin-right: 0.375rem; }
      .contact-info .contact-info-inner .phone a,
      .contact-info .contact-info-inner .chat a {
        font-family: 'Montserrat', sans-serif;
        font-weight: 600;
        font-size: 1rem;
        line-height: 1;
        color: #000000;
        border-bottom: none; }
        @media print, screen and (min-width: 48em) {
          .contact-info .contact-info-inner .phone a,
          .contact-info .contact-info-inner .chat a {
            font-size: 1.125rem; } }
    .contact-info .contact-info-inner .phone {
      padding-right: 0.875rem;
      margin-right: 0.875rem;
      border-right: 1.5px solid rgba(0, 0, 0, 0.3); }
  .contact-info .learn-more {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: #FFC20E;
    top: 2.5rem;
    z-index: 99; }
    @media print, screen and (min-width: 48em) {
      .contact-info .learn-more {
        margin-top: 0.125rem;
        border-radius: 0 0 1.3125rem 1.3125rem; } }
    .contact-info .learn-more a {
      font-family: 'Montserrat', sans-serif;
      font-weight: 600;
      font-size: 1rem;
      border-top: 1.5px solid rgba(0, 0, 0, 0.3);
      color: #000000;
      margin: 0 1.25rem;
      padding: 0.4375rem 0;
      display: block;
      line-height: 1.375rem;
      border-bottom: none; }
      @media print, screen and (min-width: 48em) {
        .contact-info .learn-more a {
          line-height: 1;
          font-size: 1.125rem;
          padding: 0.625rem 0 0.875rem 0; } }
  @media print, screen and (min-width: 48em) {
    .contact-info:hover {
      border-radius: 1.3125rem 1.3125rem 0 0; } }
  .contact-info:hover .learn-more {
    display: block; }

.search-form form {
  width: 17.25rem;
  position: relative; }
  .search-form form input {
    width: 0;
    visibility: hidden;
    height: 2.625rem;
    border: none;
    -webkit-box-shadow: none;
            box-shadow: none;
    border-radius: 1.3125rem;
    background: #F8F8F8;
    padding: 0 0 0 1.3125rem;
    margin: 0; }
    .search-form form input.expanded {
      width: 17.25rem;
      visibility: visible; }
  .search-form form .toggle-search {
    position: absolute;
    right: 0;
    top: 0;
    width: 2.625rem;
    height: 2.625rem;
    border-radius: 100%;
    background: #EDEDED; }

.search-form.expanded .toggle-search {
  background: none; }

.not-found {
  padding: 3.75rem 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    .not-found {
      padding: 6.25rem 0; } }

.search-results-page {
  padding: 2.5rem 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    .search-results-page {
      padding: 1.875rem 0 3.125rem 0; } }
  .search-results-page .page-title-wrapper {
    margin-bottom: 1.875rem; }
  .search-results-page .search-results-wrapper .post-details {
    padding: 1.875rem 0;
    border-bottom: 1px solid #ddd; }
    @media print, screen and (min-width: 48em) {
      .search-results-page .search-results-wrapper .post-details {
        padding: 1.875rem 0; } }
    .search-results-page .search-results-wrapper .post-details h6 a {
      color: #765BA7;
      border-bottom: 2px solid transparent;
      font-size: 1.125rem;
      line-height: 2rem; }
      .search-results-page .search-results-wrapper .post-details h6 a:hover {
        color: #765BA7;
        border-color: #765BA7; }

.pagination {
  margin: 2.5rem 1.875rem 5rem 1.875rem; }
  @media print, screen and (min-width: 48em) {
    .pagination {
      margin: 2.5rem 0 5rem 0; } }
  .pagination .page-numbers {
    display: none; }
    .pagination .page-numbers.next {
      height: 2.4375rem;
      border: 2px solid #765BA7;
      background: #765BA7;
      color: #fff;
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: 1.125rem;
      border-radius: 1.25rem;
      display: -webkit-inline-box;
      display: -webkit-inline-flex;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      padding: 0 1.5625rem; }
      .pagination .page-numbers.next:hover, .pagination .page-numbers.next:focus {
        background: none;
        color: #765BA7; }

@media print, screen and (min-width: 48em) {
  #login-page .login-page-container {
    max-width: 75.3125rem;
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 100vh; } }

@media print, screen and (min-width: 48em) {
  #login-page .login-page-container .form-container {
    width: 55%;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 3.75rem 10.3125rem 0 0; } }

#login-page .login-page-container .form-container .logo {
  padding: 0.625rem 1.5625rem;
  margin-bottom: 2.1875rem; }
  @media print, screen and (min-width: 48em) {
    #login-page .login-page-container .form-container .logo {
      padding: 0;
      margin-bottom: auto; } }
  #login-page .login-page-container .form-container .logo a {
    border-bottom: none; }
    #login-page .login-page-container .form-container .logo a img {
      width: 15rem;
      height: auto; }
      @media print, screen and (min-width: 48em) {
        #login-page .login-page-container .form-container .logo a img {
          width: 17.3125rem; } }

#login-page .login-page-container .form-container .wpum-form {
  padding: 0 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    #login-page .login-page-container .form-container .wpum-form {
      padding: 0; } }
  #login-page .login-page-container .form-container .wpum-form h2 {
    margin-bottom: 1.875rem; }
  #login-page .login-page-container .form-container .wpum-form fieldset .field input[type="text"],
  #login-page .login-page-container .form-container .wpum-form fieldset .field input[type="password"],
  #login-page .login-page-container .form-container .wpum-form fieldset .field input[type="email"] {
    height: 3.4375rem;
    background: #EDEDED;
    border: none;
    -webkit-box-shadow: none;
            box-shadow: none;
    border-radius: 2.1875rem;
    padding: 0 1.5625rem;
    color: #000;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 1rem; }
    #login-page .login-page-container .form-container .wpum-form fieldset .field input[type="text"]::-webkit-input-placeholder,
    #login-page .login-page-container .form-container .wpum-form fieldset .field input[type="password"]::-webkit-input-placeholder,
    #login-page .login-page-container .form-container .wpum-form fieldset .field input[type="email"]::-webkit-input-placeholder {
      color: #000;
      opacity: 1; }
    #login-page .login-page-container .form-container .wpum-form fieldset .field input[type="text"]::-moz-placeholder,
    #login-page .login-page-container .form-container .wpum-form fieldset .field input[type="password"]::-moz-placeholder,
    #login-page .login-page-container .form-container .wpum-form fieldset .field input[type="email"]::-moz-placeholder {
      color: #000;
      opacity: 1; }
    #login-page .login-page-container .form-container .wpum-form fieldset .field input[type="text"]:-ms-input-placeholder,
    #login-page .login-page-container .form-container .wpum-form fieldset .field input[type="password"]:-ms-input-placeholder,
    #login-page .login-page-container .form-container .wpum-form fieldset .field input[type="email"]:-ms-input-placeholder {
      color: #000;
      opacity: 1; }
    #login-page .login-page-container .form-container .wpum-form fieldset .field input[type="text"]::-ms-input-placeholder,
    #login-page .login-page-container .form-container .wpum-form fieldset .field input[type="password"]::-ms-input-placeholder,
    #login-page .login-page-container .form-container .wpum-form fieldset .field input[type="email"]::-ms-input-placeholder {
      color: #000;
      opacity: 1; }
    #login-page .login-page-container .form-container .wpum-form fieldset .field input[type="text"]::placeholder,
    #login-page .login-page-container .form-container .wpum-form fieldset .field input[type="password"]::placeholder,
    #login-page .login-page-container .form-container .wpum-form fieldset .field input[type="email"]::placeholder {
      color: #000;
      opacity: 1; }
  #login-page .login-page-container .form-container .wpum-form .submit-field {
    margin-top: 0.625rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }

#login-page .login-page-container .form-container .wpum-action-links {
  margin-bottom: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  list-style: none;
  padding: 0 1.5625rem 1.875rem 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    #login-page .login-page-container .form-container .wpum-action-links {
      padding: 0; } }
  #login-page .login-page-container .form-container .wpum-action-links li {
    display: block; }
    #login-page .login-page-container .form-container .wpum-action-links li:before {
      display: none; }
    #login-page .login-page-container .form-container .wpum-action-links li a {
      border-bottom: none;
      color: #000;
      font-family: 'Montserrat', sans-serif;
      font-weight: 500;
      font-size: 1rem; }

#login-page .login-page-container .form-text {
  background: #765BA7; }
  @media print, screen and (min-width: 48em) {
    #login-page .login-page-container .form-text {
      width: 45%;
      position: relative;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; } }
  @media print, screen and (min-width: 48em) {
    #login-page .login-page-container .form-text:after {
      content: '';
      position: absolute;
      top: 0;
      right: -125rem;
      width: 125rem;
      height: 100%;
      background: #765BA7; } }
  #login-page .login-page-container .form-text .form-text-inner {
    padding: 3.75rem 1.5625rem 6.25rem 1.5625rem; }
    @media print, screen and (min-width: 48em) {
      #login-page .login-page-container .form-text .form-text-inner {
        padding: 0 0 0 3.75rem; } }
    #login-page .login-page-container .form-text .form-text-inner h2, #login-page .login-page-container .form-text .form-text-inner p {
      color: #fff; }
    #login-page .login-page-container .form-text .form-text-inner .button {
      color: #fff;
      border-color: #fff; }
      #login-page .login-page-container .form-text .form-text-inner .button:hover {
        color: #765BA7;
        background: #fff;
        border-color: #fff; }

body.logged-in #login-page .form-container {
  display: block;
  width: 100%; }
  body.logged-in #login-page .form-container .wpum-already-logged-in {
    margin-top: 5rem; }

body.logged-in #login-page .form-text {
  display: none; }

.wpum-form fieldset.fieldset-privacy label {
  position: relative;
  padding-left: 1.875rem;
  margin-top: 1.25rem; }
  .wpum-form fieldset.fieldset-privacy label input {
    position: absolute;
    top: 0.4375rem;
    left: 0;
    margin: 0; }
  .wpum-form fieldset.fieldset-privacy label small.description {
    display: inline;
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.125rem; }

#video_modal {
  background: rgba(255, 255, 255, 0.8); }
  #video_modal .close-button {
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg); }
  #video_modal .video-reveal .overlay-video {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 100%; }
  #video_modal .close-button {
    color: #765BA7;
    border: 2px solid #765BA7;
    border-radius: 100%;
    height: 2.5rem;
    width: 2.5rem; }
    #video_modal .close-button .icon {
      font-size: 1.25rem;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
    #video_modal .close-button:hover {
      background: #765BA7;
      color: #fefefe; }

.admin-bar #video_modal {
  padding-top: 3.125rem; }
  .admin-bar #video_modal .close-button {
    top: 4.375rem; }

.loading:after {
  content: " ";
  display: block;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  border: 6px solid #765BA7;
  border-color: #765BA7 transparent #765BA7 transparent;
  -webkit-animation: lds-dual-ring 1.2s linear infinite;
          animation: lds-dual-ring 1.2s linear infinite;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

@-webkit-keyframes lds-dual-ring {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes lds-dual-ring {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.reveal-overlay {
  z-index: 999999; }

#quiz-funnel-modal {
  max-width: 100%;
  width: 23.4375rem;
  height: auto;
  padding: 0;
  border: none;
  border-radius: 1.25rem;
  /* Base for label styling */
  /* checkbox aspect */
  /* checked mark aspect */
  /* checked mark aspect changes */
  /* disabled checkbox */
  /* accessibility */ }
  @media print, screen and (min-width: 48em) {
    #quiz-funnel-modal {
      max-width: 98%;
      width: 86rem;
      height: 48.0625rem;
      overflow: hidden; } }
  #quiz-funnel-modal .logo {
    position: absolute;
    padding: 1.25rem 1.5rem 1.875rem;
    top: 0;
    left: 0;
    right: 0;
    z-index: 20;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.9)), to(rgba(0, 0, 0, 0)));
    background-image: linear-gradient(rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0)); }
    @media print, screen and (min-width: 48em) {
      #quiz-funnel-modal .logo {
        padding: 0;
        top: 5rem;
        left: 3.6875rem;
        right: auto;
        background: none; } }
    #quiz-funnel-modal .logo img {
      width: 15rem;
      height: auto; }
      @media print, screen and (min-width: 48em) {
        #quiz-funnel-modal .logo img {
          width: 17.3125rem; } }
      #quiz-funnel-modal .logo img.colour-logo {
        display: none; }
        @media print, screen and (min-width: 48em) {
          #quiz-funnel-modal .logo img.colour-logo {
            display: block; } }
      @media print, screen and (min-width: 48em) {
        #quiz-funnel-modal .logo img.white-logo {
          display: none; } }
  #quiz-funnel-modal .close-button {
    height: 1.9375rem;
    width: 1.9375rem;
    border: 0.125rem solid #fefefe;
    border-radius: 100%;
    color: #fefefe;
    font-size: 0.9375rem;
    right: 1.5625rem;
    top: 1.875rem;
    z-index: 25; }
    @media print, screen and (min-width: 48em) {
      #quiz-funnel-modal .close-button {
        border: 0.1875rem solid #fefefe;
        height: 2.6875rem;
        width: 2.6875rem;
        right: 1.5625rem;
        top: 1.875rem;
        font-size: 1.0625rem; } }
    #quiz-funnel-modal .close-button:hover, #quiz-funnel-modal .close-button:active {
      color: #765BA7;
      background: #fefefe; }
    #quiz-funnel-modal .close-button:after {
      /* use !important to prevent issues with browser extensions that change fonts */
      font-family: 'icomoon' !important;
      speak: never;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      /* Better Font Rendering =========== */
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      content: "\e905";
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%) rotate(45deg);
          -ms-transform: translate(-50%, -50%) rotate(45deg);
              transform: translate(-50%, -50%) rotate(45deg);
      display: block; }
  @media print, screen and (min-width: 48em) {
    #quiz-funnel-modal .bg-image img {
      height: 48.0625rem;
      width: auto;
      float: right; } }
  #quiz-funnel-modal .shape-bg:before, #quiz-funnel-modal .shape-bg:after {
    content: '';
    position: absolute;
    left: -10.9375rem;
    top: 19.5rem;
    -webkit-transform: rotate(-215deg);
        -ms-transform: rotate(-215deg);
            transform: rotate(-215deg);
    height: 35.4375rem;
    width: 38.375rem;
    background: url("../img/white-shape.svg") no-repeat;
    background-size: 100% 100%;
    z-index: 1;
    display: block; }
    @media print, screen and (min-width: 48em) {
      #quiz-funnel-modal .shape-bg:before, #quiz-funnel-modal .shape-bg:after {
        left: -16rem;
        top: -2.6875rem;
        height: 53.8125rem;
        width: 58.3125rem;
        -webkit-transform: rotate(-348deg);
            -ms-transform: rotate(-348deg);
                transform: rotate(-348deg); } }
  #quiz-funnel-modal .shape-bg:before {
    background-image: url("../img/blue-shape.svg");
    -webkit-transform: rotate(-231deg);
        -ms-transform: rotate(-231deg);
            transform: rotate(-231deg);
    left: -7.8125rem;
    bottom: -1.25rem; }
    @media print, screen and (min-width: 48em) {
      #quiz-funnel-modal .shape-bg:before {
        -webkit-transform: rotate(-323deg);
            -ms-transform: rotate(-323deg);
                transform: rotate(-323deg);
        left: -12.625rem; } }
  #quiz-funnel-modal .gform_wrapper.gravity-theme form,
  #quiz-funnel-modal .confirmation-wrapper {
    background: #765BA7; }
    #quiz-funnel-modal .gform_wrapper.gravity-theme form:before, #quiz-funnel-modal .gform_wrapper.gravity-theme form:after,
    #quiz-funnel-modal .confirmation-wrapper:before,
    #quiz-funnel-modal .confirmation-wrapper:after {
      display: none;
      content: '';
      position: absolute;
      left: -16rem;
      top: -2.7rem;
      -webkit-transform: rotate(-348deg);
          -ms-transform: rotate(-348deg);
              transform: rotate(-348deg);
      height: 53.8125rem;
      width: 58.3125rem;
      background: url("../img/white-shape.svg?v=1.2") no-repeat;
      background-size: 100% 100%;
      z-index: 1; }
      @media print, screen and (min-width: 48em) {
        #quiz-funnel-modal .gform_wrapper.gravity-theme form:before, #quiz-funnel-modal .gform_wrapper.gravity-theme form:after,
        #quiz-funnel-modal .confirmation-wrapper:before,
        #quiz-funnel-modal .confirmation-wrapper:after {
          left: -16rem;
          top: -2.7rem;
          -webkit-transform: rotate(-178);
              -ms-transform: rotate(-178);
                  transform: rotate(-178);
          height: 53.8125rem;
          width: 58.3125rem;
          display: block; } }
    #quiz-funnel-modal .gform_wrapper.gravity-theme form:before,
    #quiz-funnel-modal .confirmation-wrapper:before {
      background-image: url("../img/blue-shape.svg");
      -webkit-transform: rotate(-323deg);
          -ms-transform: rotate(-323deg);
              transform: rotate(-323deg);
      left: -12.6rem;
      display: none; }
      @media print, screen and (min-width: 48em) {
        #quiz-funnel-modal .gform_wrapper.gravity-theme form:before,
        #quiz-funnel-modal .confirmation-wrapper:before {
          -webkit-transform: rotate(-323deg);
              -ms-transform: rotate(-323deg);
                  transform: rotate(-323deg);
          left: -12.6rem;
          display: block; } }
  #quiz-funnel-modal .gform_wrapper.gravity-theme form:before {
    background-image: url("../img/yellow-shape.svg"); }
  @media print, screen and (max-width: 47.99875em) {
    #quiz-funnel-modal .confirmation-wrapper {
      overflow: hidden; } }
  #quiz-funnel-modal .confirmation-wrapper:before {
    background-image: url("../img/green-shape.svg"); }
  #quiz-funnel-modal .landing-page {
    position: relative;
    background: #fefefe;
    overflow: hidden; }
    #quiz-funnel-modal .landing-page img.desktop {
      display: none; }
      @media print, screen and (min-width: 48em) {
        #quiz-funnel-modal .landing-page img.desktop {
          display: block; } }
    @media print, screen and (min-width: 48em) {
      #quiz-funnel-modal .landing-page img.mobile {
        display: none; } }
    #quiz-funnel-modal .landing-page .content {
      position: relative;
      z-index: 10;
      padding: 0 1.5625rem 2.5rem; }
      @media print, screen and (min-width: 48em) {
        #quiz-funnel-modal .landing-page .content {
          position: absolute;
          z-index: 10;
          width: 33.75rem;
          bottom: 3.9375rem;
          left: 5.5rem;
          padding: 0; } }
    #quiz-funnel-modal .landing-page h2 {
      font-size: 1.6875rem;
      line-height: 2.1875rem;
      padding-right: 4.375rem;
      margin-bottom: 1.125rem; }
      @media print, screen and (min-width: 48em) {
        #quiz-funnel-modal .landing-page h2 {
          font-size: 2.375rem;
          line-height: 3.25rem;
          padding: 0;
          margin-bottom: 2.25rem; } }
    #quiz-funnel-modal .landing-page p {
      font-family: 'Montserrat', sans-serif;
      font-weight: 500;
      font-size: 1.125rem;
      line-height: 1.75rem;
      margin-bottom: 1.75rem; }
      @media print, screen and (min-width: 48em) {
        #quiz-funnel-modal .landing-page p {
          font-weight: 600;
          line-height: 2rem;
          margin-bottom: 1.9375rem; } }
    #quiz-funnel-modal .landing-page .take-quiz {
      position: relative;
      left: -1.5625rem;
      width: 21.875rem;
      background: #765BA7;
      font-size: 1.25rem;
      line-height: 1.5625rem;
      padding: 1rem 7.5rem 1rem 1.5625rem;
      border-radius: 0 6.25rem 6.25rem 0;
      color: #fefefe;
      margin-bottom: 2.3125rem;
      text-align: left;
      font-family: 'Montserrat', sans-serif;
      font-weight: 600;
      cursor: pointer; }
      @media print, screen and (min-width: 48em) {
        #quiz-funnel-modal .landing-page .take-quiz {
          left: -5.5rem;
          width: 38.8125rem;
          font-size: 1.8125rem;
          line-height: 2.1875rem;
          padding: 2.5rem 5.5rem; } }
      #quiz-funnel-modal .landing-page .take-quiz:before {
        display: block;
        width: 2.875rem;
        height: 2.875rem;
        position: absolute;
        top: 50%;
        right: 1.5625rem;
        -webkit-transform: translate(0%, -50%) rotate(90deg);
            -ms-transform: translate(0%, -50%) rotate(90deg);
                transform: translate(0%, -50%) rotate(90deg);
        border-radius: 100%;
        border: 0.1875rem solid #fefefe;
        content: ''; }
        @media print, screen and (min-width: 48em) {
          #quiz-funnel-modal .landing-page .take-quiz:before {
            width: 3.375rem;
            height: 3.375rem;
            right: 3.125rem; } }
      #quiz-funnel-modal .landing-page .take-quiz:after {
        /* use !important to prevent issues with browser extensions that change fonts */
        font-family: 'icomoon' !important;
        speak: never;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        /* Better Font Rendering =========== */
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        content: "\e901";
        color: #fefefe;
        font-size: 1rem;
        top: 50%;
        right: 3rem;
        -webkit-transform: translate(50%, -50%) rotate(90deg);
            -ms-transform: translate(50%, -50%) rotate(90deg);
                transform: translate(50%, -50%) rotate(90deg);
        display: block;
        position: absolute; }
        @media print, screen and (min-width: 48em) {
          #quiz-funnel-modal .landing-page .take-quiz:after {
            font-size: 1.1875rem;
            right: 4.8125rem; } }
      #quiz-funnel-modal .landing-page .take-quiz:hover:before {
        background: #fefefe; }
      #quiz-funnel-modal .landing-page .take-quiz:hover:after {
        color: #765BA7; }
    #quiz-funnel-modal .landing-page .button {
      margin-bottom: 0; }
  #quiz-funnel-modal .quiz-page {
    display: none;
    position: relative;
    z-index: 10; }
  #quiz-funnel-modal.show-quiz .quiz-page {
    display: block; }
  #quiz-funnel-modal.show-quiz .landing-page {
    display: none; }
  #quiz-funnel-modal.show-quiz .logo {
    background: none;
    position: relative; }
    @media print, screen and (min-width: 48em) {
      #quiz-funnel-modal.show-quiz .logo {
        position: absolute; } }
    #quiz-funnel-modal.show-quiz .logo img.white-logo {
      display: none; }
    #quiz-funnel-modal.show-quiz .logo img.colour-logo {
      display: block; }
  @media print, screen and (max-width: 47.99875em) {
    #quiz-funnel-modal.show-quiz .close-button {
      color: #765BA7;
      border-color: #765BA7; } }
  @media print, screen and (max-width: 47.99875em) {
    #quiz-funnel-modal.show-quiz .close-button:hover {
      color: #fefefe;
      background: #765BA7; } }
  #quiz-funnel-modal .gf_progressbar_wrapper {
    display: none; }
  #quiz-funnel-modal .gform_confirmation_wrapper,
  #quiz-funnel-modal .gform_wrapper.gravity-theme {
    background: #765BA7;
    overflow: hidden; }
  #quiz-funnel-modal .gform_wrapper.gravity-theme form {
    position: relative; }
    @media print, screen and (min-width: 48em) {
      #quiz-funnel-modal .gform_wrapper.gravity-theme form {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        min-height: 48.0625rem;
        padding: 9rem 5.0625rem 6.25rem;
        -webkit-flex-wrap: nowrap;
            -ms-flex-wrap: nowrap;
                flex-wrap: nowrap;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row; } }
    #quiz-funnel-modal .gform_wrapper.gravity-theme form .gform_page {
      position: relative;
      z-index: 20;
      background: #765BA7; }
      @media print, screen and (min-width: 48em) {
        #quiz-funnel-modal .gform_wrapper.gravity-theme form .gform_page {
          background: none;
          position: initial; } }
    #quiz-funnel-modal .gform_wrapper.gravity-theme form legend,
    #quiz-funnel-modal .gform_wrapper.gravity-theme form .ginput_container {
      position: relative;
      z-index: 5; }
      @media print, screen and (max-width: 47.99875em) {
        #quiz-funnel-modal .gform_wrapper.gravity-theme form legend,
        #quiz-funnel-modal .gform_wrapper.gravity-theme form .ginput_container {
          padding: 0 1.5625rem; } }
      @media print, screen and (min-width: 48em) {
        #quiz-funnel-modal .gform_wrapper.gravity-theme form legend,
        #quiz-funnel-modal .gform_wrapper.gravity-theme form .ginput_container {
          width: 50%;
          display: inline-block; } }
    #quiz-funnel-modal .gform_wrapper.gravity-theme form legend {
      font-family: 'Montserrat', sans-serif;
      font-weight: 600;
      margin-bottom: 0;
      font-size: 1.25rem;
      line-height: 1.75rem;
      color: #765BA7; }
      @media print, screen and (max-width: 47.99875em) {
        #quiz-funnel-modal .gform_wrapper.gravity-theme form legend {
          padding: 2.5rem 2.1875rem 1.875rem 1.5625rem;
          position: relative;
          z-index: 10; } }
      @media print, screen and (min-width: 48em) {
        #quiz-funnel-modal .gform_wrapper.gravity-theme form legend {
          float: left;
          padding-right: 7.5rem;
          font-size: 1.8125rem;
          line-height: 2.5rem;
          font-weight: 700; } }
      @media print, screen and (max-width: 47.99875em) {
        #quiz-funnel-modal .gform_wrapper.gravity-theme form legend:before {
          content: '';
          display: block;
          background: #fefefe;
          top: 0;
          left: 0;
          right: 0;
          bottom: 18.75rem;
          position: absolute; } }
    @media print, screen and (max-width: 47.99875em) {
      #quiz-funnel-modal .gform_wrapper.gravity-theme form .ginput_container {
        background: #765BA7;
        padding-top: 9.375rem;
        padding-bottom: 2.5rem;
        position: relative;
        z-index: 5; } }
    @media print, screen and (min-width: 48em) {
      #quiz-funnel-modal .gform_wrapper.gravity-theme form .ginput_container {
        padding-left: 6.25rem; } }
    #quiz-funnel-modal .gform_wrapper.gravity-theme form .ginput_container:before, #quiz-funnel-modal .gform_wrapper.gravity-theme form .ginput_container:after {
      content: '';
      position: absolute;
      left: -10rem;
      top: -31.25rem;
      height: 35.4375rem;
      width: 38.375rem;
      background: url("../img/white-shape.svg?v=1.2") no-repeat;
      background-size: 100% 100%;
      z-index: 1; }
      @media print, screen and (min-width: 48em) {
        #quiz-funnel-modal .gform_wrapper.gravity-theme form .ginput_container:before, #quiz-funnel-modal .gform_wrapper.gravity-theme form .ginput_container:after {
          display: none; } }
    #quiz-funnel-modal .gform_wrapper.gravity-theme form .ginput_container:before {
      background-image: url("../img/yellow-shape.svg");
      -webkit-transform: rotate(-212deg);
          -ms-transform: rotate(-212deg);
              transform: rotate(-212deg);
      left: -7.5rem;
      top: -30rem; }
      @media print, screen and (min-width: 48em) {
        #quiz-funnel-modal .gform_wrapper.gravity-theme form .ginput_container:before {
          display: none; } }
    #quiz-funnel-modal .gform_wrapper.gravity-theme form label {
      color: #fefefe;
      font-family: 'Montserrat', sans-serif;
      font-weight: 500;
      font-size: 1.125rem;
      line-height: 1.75rem; }
      @media print, screen and (min-width: 48em) {
        #quiz-funnel-modal .gform_wrapper.gravity-theme form label {
          font-weight: 600; } }
    #quiz-funnel-modal .gform_wrapper.gravity-theme form .gchoice {
      margin-bottom: 1.25rem; }
  #quiz-funnel-modal .gform_wrapper.gravity-theme .gform_page_footer {
    margin: 0;
    padding: 0 1.5625rem 2.5rem;
    position: relative;
    z-index: 20; }
    @media print, screen and (min-width: 48em) {
      #quiz-funnel-modal .gform_wrapper.gravity-theme .gform_page_footer {
        padding: 0;
        position: initial; } }
    #quiz-funnel-modal .gform_wrapper.gravity-theme .gform_page_footer:after {
      display: block;
      content: '';
      clear: both; }
    #quiz-funnel-modal .gform_wrapper.gravity-theme .gform_page_footer img {
      display: none; }
    #quiz-funnel-modal .gform_wrapper.gravity-theme .gform_page_footer button {
      margin: 0;
      z-index: 10;
      height: 2.8125rem;
      width: 2.8125rem;
      display: block;
      border-radius: 100%;
      border: 3px solid #fefefe;
      -webkit-box-shadow: none !important;
              box-shadow: none !important;
      font-size: 0.9375rem;
      padding: 0; }
      @media print, screen and (min-width: 48em) {
        #quiz-funnel-modal .gform_wrapper.gravity-theme .gform_page_footer button {
          position: absolute;
          bottom: 2.25rem;
          height: 3.375rem;
          width: 3.375rem;
          font-size: 1rem; } }
      #quiz-funnel-modal .gform_wrapper.gravity-theme .gform_page_footer button:before {
        /* use !important to prevent issues with browser extensions that change fonts */
        font-family: 'icomoon' !important;
        speak: never;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        /* Better Font Rendering =========== */
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        position: absolute;
        top: 50%;
        left: 50%;
        content: '\e901';
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%); }
      #quiz-funnel-modal .gform_wrapper.gravity-theme .gform_page_footer button.gform_previous_button {
        color: #765BA7;
        border-color: #765BA7;
        -webkit-transform: rotate(-90deg);
            -ms-transform: rotate(-90deg);
                transform: rotate(-90deg); }
        @media print, screen and (max-width: 47.99875em) {
          #quiz-funnel-modal .gform_wrapper.gravity-theme .gform_page_footer button.gform_previous_button {
            float: left;
            color: #fefefe;
            border-color: #fefefe;
            background: transparent; } }
        @media print, screen and (min-width: 48em) {
          #quiz-funnel-modal .gform_wrapper.gravity-theme .gform_page_footer button.gform_previous_button {
            left: 5.0625rem; } }
        #quiz-funnel-modal .gform_wrapper.gravity-theme .gform_page_footer button.gform_previous_button:hover {
          background: #765BA7;
          color: #fefefe; }
          @media print, screen and (max-width: 47.99875em) {
            #quiz-funnel-modal .gform_wrapper.gravity-theme .gform_page_footer button.gform_previous_button:hover {
              background: #fefefe;
              color: #765BA7; } }
      #quiz-funnel-modal .gform_wrapper.gravity-theme .gform_page_footer button.gform_next_button, #quiz-funnel-modal .gform_wrapper.gravity-theme .gform_page_footer button.gform_submit_button {
        color: #fefefe;
        -webkit-transform: rotate(90deg);
            -ms-transform: rotate(90deg);
                transform: rotate(90deg); }
        @media print, screen and (max-width: 47.99875em) {
          #quiz-funnel-modal .gform_wrapper.gravity-theme .gform_page_footer button.gform_next_button, #quiz-funnel-modal .gform_wrapper.gravity-theme .gform_page_footer button.gform_submit_button {
            float: right; } }
        @media print, screen and (min-width: 48em) {
          #quiz-funnel-modal .gform_wrapper.gravity-theme .gform_page_footer button.gform_next_button, #quiz-funnel-modal .gform_wrapper.gravity-theme .gform_page_footer button.gform_submit_button {
            right: 5.0625rem; } }
        #quiz-funnel-modal .gform_wrapper.gravity-theme .gform_page_footer button.gform_next_button:hover, #quiz-funnel-modal .gform_wrapper.gravity-theme .gform_page_footer button.gform_submit_button:hover {
          background: #fefefe;
          color: #765BA7; }
  #quiz-funnel-modal .confirmation-wrapper {
    position: relative;
    background: #765BA7; }
    @media print, screen and (min-width: 48em) {
      #quiz-funnel-modal .confirmation-wrapper {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        min-height: 48.0625rem;
        padding: 8.75rem 5.0625rem 6rem;
        -webkit-flex-wrap: nowrap;
            -ms-flex-wrap: nowrap;
                flex-wrap: nowrap;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row; } }
    #quiz-funnel-modal .confirmation-wrapper > div {
      position: relative;
      z-index: 5; }
      @media print, screen and (min-width: 48em) {
        #quiz-funnel-modal .confirmation-wrapper > div {
          -webkit-flex-basis: 50%;
              -ms-flex-preferred-size: 50%;
                  flex-basis: 50%; } }
    #quiz-funnel-modal .confirmation-wrapper .confirmation-message {
      position: relative;
      z-index: 20; }
      @media print, screen and (max-width: 47.99875em) {
        #quiz-funnel-modal .confirmation-wrapper .confirmation-message {
          padding: 1.25rem 1.5625rem 4.1875rem; } }
      @media print, screen and (min-width: 48em) {
        #quiz-funnel-modal .confirmation-wrapper .confirmation-message {
          padding-right: 7.5rem; } }
      #quiz-funnel-modal .confirmation-wrapper .confirmation-message,
      #quiz-funnel-modal .confirmation-wrapper .confirmation-message p {
        color: #000000;
        font-size: 1.125rem;
        line-height: 1.75rem;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500; }
        @media print, screen and (min-width: 48em) {
          #quiz-funnel-modal .confirmation-wrapper .confirmation-message,
          #quiz-funnel-modal .confirmation-wrapper .confirmation-message p {
            line-height: 2rem; } }
      #quiz-funnel-modal .confirmation-wrapper .confirmation-message h3 {
        color: #765BA7;
        font-size: 1.6875rem;
        font-family: 'Montserrat', sans-serif;
        font-weight: 600;
        line-height: 2.1875rem;
        margin-bottom: 1.25rem; }
        @media print, screen and (min-width: 48em) {
          #quiz-funnel-modal .confirmation-wrapper .confirmation-message h3 {
            font-size: 2.9375rem;
            line-height: 3.8125rem; } }
        #quiz-funnel-modal .confirmation-wrapper .confirmation-message h3:after {
          position: absolute;
          top: 0;
          bottom: 25rem;
          left: 0;
          right: 0;
          content: '';
          display: block;
          background: #fefefe;
          z-index: -1; }
      #quiz-funnel-modal .confirmation-wrapper .confirmation-message:before, #quiz-funnel-modal .confirmation-wrapper .confirmation-message:after {
        content: '';
        position: absolute;
        left: -10rem;
        bottom: 0;
        height: 35.4375rem;
        width: 38.375rem;
        background: url("../img/white-shape.svg?v=1.2") no-repeat;
        background-size: 100% 100%;
        z-index: -1; }
        @media print, screen and (min-width: 48em) {
          #quiz-funnel-modal .confirmation-wrapper .confirmation-message:before, #quiz-funnel-modal .confirmation-wrapper .confirmation-message:after {
            display: none; } }
      #quiz-funnel-modal .confirmation-wrapper .confirmation-message:before {
        background-image: url("../img/green-shape.svg");
        -webkit-transform: rotate(-212deg);
            -ms-transform: rotate(-212deg);
                transform: rotate(-212deg);
        left: -7.5rem;
        bottom: -1.25rem; }
        @media print, screen and (min-width: 48em) {
          #quiz-funnel-modal .confirmation-wrapper .confirmation-message:before {
            display: none; } }
    #quiz-funnel-modal .confirmation-wrapper .funnel-wrapper {
      position: static; }
      @media print, screen and (max-width: 47.99875em) {
        #quiz-funnel-modal .confirmation-wrapper .funnel-wrapper {
          padding: 5.8125rem 1.5rem 0; } }
      @media print, screen and (min-width: 48em) {
        #quiz-funnel-modal .confirmation-wrapper .funnel-wrapper {
          padding-left: 6.25rem; } }
      #quiz-funnel-modal .confirmation-wrapper .funnel-wrapper ul {
        border-top: 1px solid #fefefe;
        margin: 0;
        padding: 0; }
      #quiz-funnel-modal .confirmation-wrapper .funnel-wrapper li {
        margin: 0;
        padding: 0;
        border-bottom: 1px solid #fefefe; }
        #quiz-funnel-modal .confirmation-wrapper .funnel-wrapper li:before {
          display: none; }
        #quiz-funnel-modal .confirmation-wrapper .funnel-wrapper li a {
          font-size: 1.125rem;
          color: #fefefe;
          font-family: 'Montserrat', sans-serif;
          font-weight: 500;
          display: block;
          line-height: 2rem;
          padding: 1.375rem 2.5rem 1.375rem 0;
          position: relative;
          text-decoration: underline; }
          @media print, screen and (min-width: 48em) {
            #quiz-funnel-modal .confirmation-wrapper .funnel-wrapper li a {
              text-decoration: none; } }
          #quiz-funnel-modal .confirmation-wrapper .funnel-wrapper li a span.plus-sign {
            position: absolute;
            top: 50%;
            right: 0;
            height: 1.625rem;
            width: 1.625rem;
            border: 0.125rem solid #fefefe;
            border-radius: 100%;
            -webkit-transform: translate(0, -50%);
                -ms-transform: translate(0, -50%);
                    transform: translate(0, -50%); }
            @media print, screen and (min-width: 48em) {
              #quiz-funnel-modal .confirmation-wrapper .funnel-wrapper li a span.plus-sign {
                display: none; } }
            #quiz-funnel-modal .confirmation-wrapper .funnel-wrapper li a span.plus-sign:after {
              /* use !important to prevent issues with browser extensions that change fonts */
              font-family: 'icomoon' !important;
              speak: never;
              font-style: normal;
              font-weight: normal;
              font-variant: normal;
              text-transform: none;
              line-height: 1;
              /* Better Font Rendering =========== */
              -webkit-font-smoothing: antialiased;
              -moz-osx-font-smoothing: grayscale;
              content: '\e909';
              color: #fefefe;
              position: absolute;
              top: 50%;
              left: 50%;
              -webkit-transform: translate(-50%, -50%);
                  -ms-transform: translate(-50%, -50%);
                      transform: translate(-50%, -50%);
              font-size: 0.9375rem; }
          #quiz-funnel-modal .confirmation-wrapper .funnel-wrapper li a:hover {
            text-decoration: underline; }
            #quiz-funnel-modal .confirmation-wrapper .funnel-wrapper li a:hover span.plus-sign {
              display: block; }
        @media print, screen and (max-width: 47.99875em) {
          #quiz-funnel-modal .confirmation-wrapper .funnel-wrapper li:last-of-type {
            border-bottom: none; } }
      #quiz-funnel-modal .confirmation-wrapper .funnel-wrapper a.button {
        font-size: 1rem;
        line-height: 1.25rem;
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        padding: 0.625rem 1.25rem;
        border-color: white;
        color: #fefefe;
        float: right; }
        @media print, screen and (max-width: 47.99875em) {
          #quiz-funnel-modal .confirmation-wrapper .funnel-wrapper a.button {
            margin-top: 2.375rem;
            margin-bottom: 3.3125rem; } }
        @media print, screen and (min-width: 48em) {
          #quiz-funnel-modal .confirmation-wrapper .funnel-wrapper a.button {
            position: absolute;
            bottom: 2.25rem;
            right: 5.0625rem; } }
        #quiz-funnel-modal .confirmation-wrapper .funnel-wrapper a.button:hover {
          background: #fefefe;
          color: #765BA7; }
      #quiz-funnel-modal .confirmation-wrapper .funnel-wrapper:after {
        clear: both;
        content: '';
        display: block; }
  #quiz-funnel-modal [type="radio"]:not(:checked),
  #quiz-funnel-modal [type="radio"]:checked {
    position: absolute;
    left: -9999px; }
  #quiz-funnel-modal [type="radio"]:not(:checked) + label,
  #quiz-funnel-modal [type="radio"]:checked + label {
    position: relative;
    padding: 0.125rem 0 0.125rem 3.75rem;
    cursor: pointer;
    margin: 0; }
  #quiz-funnel-modal [type="radio"]:not(:checked) + label:before,
  #quiz-funnel-modal [type="radio"]:checked + label:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 2rem;
    height: 2rem;
    border: none;
    background: #fff;
    border-radius: 100%; }
  #quiz-funnel-modal [type="radio"]:not(:checked) + label:after,
  #quiz-funnel-modal [type="radio"]:checked + label:after {
    content: '';
    position: absolute;
    left: 0.625rem;
    top: 0.625rem;
    width: 0.75rem;
    height: 0.75rem;
    border: none;
    background: #765BA7;
    border-radius: 100%;
    -webkit-transition: all .2s;
    transition: all .2s; }
  #quiz-funnel-modal [type="radio"]:not(:checked) + label:after {
    opacity: 0;
    -webkit-transform: scale(0);
        -ms-transform: scale(0);
            transform: scale(0); }
  #quiz-funnel-modal [type="radio"]:checked + label:after {
    opacity: 1;
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1); }
  #quiz-funnel-modal [type="radio"]:disabled:not(:checked) + label:before,
  #quiz-funnel-modal [type="radio"]:disabled:checked + label:before {
    -webkit-box-shadow: none;
            box-shadow: none;
    border-color: #bbb;
    background-color: #ddd; }
  #quiz-funnel-modal [type="radio"]:disabled:checked + label:after {
    color: #999; }
  #quiz-funnel-modal [type="radio"]:disabled + label {
    color: #aaa; }
  #quiz-funnel-modal [type="radio"]:checked:focus + label:before,
  #quiz-funnel-modal [type="radio"]:not(:checked):focus + label:before {
    border: 2px dotted blue; }

.header {
  padding: 1.25rem 0;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
  position: relative; }
  .header.landing {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.96);
    z-index: 100;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear; }
  .header .header-inner {
    max-width: 75.625rem;
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
    position: relative; }
    .header .header-inner .close-menu {
      position: absolute;
      right: -2.5rem;
      top: 0;
      display: none;
      width: 2.375rem;
      height: 2.375rem;
      border: 3px solid #7F7F7F;
      border-radius: 100%;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg);
      color: #7F7F7F; }
      .header .header-inner .close-menu:hover {
        background: #7F7F7F;
        color: #fff; }
    .header .header-inner .logo {
      min-width: 17.1875rem;
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0;
      margin-top: 1.875rem;
      -webkit-transition: all 0.2s linear;
      transition: all 0.2s linear;
      position: relative;
      z-index: 100; }
      .header .header-inner .logo a {
        border-bottom: none; }
        .header .header-inner .logo a img {
          width: auto;
          height: 4.125rem; }
          .header .header-inner .logo a img.white-logo {
            display: none; }
    .header .header-inner .header-right-side {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: end;
      -webkit-align-items: flex-end;
          -ms-flex-align: end;
              align-items: flex-end; }
      .header .header-inner .header-right-side .header-right-top-side {
        margin-bottom: 1.5625rem;
        margin-right: 1rem; }
        .header .header-inner .header-right-side .header-right-top-side .accessibility .dropdown > li > a {
          font-family: 'Montserrat', sans-serif;
          font-weight: 500;
          font-size: 1rem;
          text-transform: uppercase;
          color: #000000;
          border-bottom: 2px solid transparent;
          padding: 0.375rem 0;
          margin: 0 1.25rem; }
          .header .header-inner .header-right-side .header-right-top-side .accessibility .dropdown > li > a:hover {
            border-color: #765BA7; }
        .header .header-inner .header-right-side .header-right-top-side .accessibility .dropdown > li.is-dropdown-submenu-parent > a:after {
          border: none;
          font-family: 'icomoon', sans-serif;
          content: "\e901";
          font-size: 0.4375rem;
          width: auto;
          height: auto;
          -webkit-transform: rotate(180deg);
              -ms-transform: rotate(180deg);
                  transform: rotate(180deg);
          margin-top: -0.25rem;
          right: -1.0625rem; }
        .header .header-inner .header-right-side .header-right-top-side .accessibility .dropdown > li.is-dropdown-submenu-parent .is-dropdown-submenu {
          border-radius: 1.25rem;
          z-index: 1010;
          background: #F8F8F8;
          border: none;
          min-width: 15.625rem;
          padding: 1.5625rem;
          -webkit-box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
                  box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16); }
          .header .header-inner .header-right-side .header-right-top-side .accessibility .dropdown > li.is-dropdown-submenu-parent .is-dropdown-submenu li a {
            font-family: 'Montserrat', sans-serif;
            font-weight: 600;
            font-size: 1rem;
            text-transform: uppercase;
            color: #000000;
            border-bottom: 2px solid transparent;
            padding: 0;
            display: inline; }
            .header .header-inner .header-right-side .header-right-top-side .accessibility .dropdown > li.is-dropdown-submenu-parent .is-dropdown-submenu li a:hover {
              border-color: #765BA7; }
        .header .header-inner .header-right-side .header-right-top-side .accessibility .dropdown > li.is-dropdown-submenu-parent:hover > a:after {
          -webkit-transform: rotate(0deg);
              -ms-transform: rotate(0deg);
                  transform: rotate(0deg); }
        .header .header-inner .header-right-side .header-right-top-side .accessibility .dropdown > li.user-links > a {
          color: #765BA7;
          font-family: 'Montserrat', sans-serif;
          font-weight: 600; }
        .header .header-inner .header-right-side .header-right-top-side .accessibility .dropdown > li.user-links .is-dropdown-submenu {
          min-width: auto; }
          .header .header-inner .header-right-side .header-right-top-side .accessibility .dropdown > li.user-links .is-dropdown-submenu > li > a {
            color: #765BA7; }
        .header .header-inner .header-right-side .header-right-top-side .accessibility .dropdown > li:last-child > a {
          margin-right: 0; }
      .header .header-inner .header-right-side .header-right-bottom-side {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; }

.mobile-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: #fff; }
  .mobile-header .mobile-header-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0.9375rem 1.5625rem;
    -webkit-box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
            box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16); }
    .mobile-header .mobile-header-inner .logo a {
      border-bottom: none; }
      .mobile-header .mobile-header-inner .logo a img {
        width: 15rem;
        height: auto; }
  .mobile-header .mobile-header-content {
    display: none;
    padding: 0.9375rem 1.5625rem 0 1.5625rem;
    background: #fff; }
    .mobile-header .mobile-header-content .search-form {
      margin-bottom: 1.25rem; }
      .mobile-header .mobile-header-content .search-form form {
        width: 100%; }
        .mobile-header .mobile-header-content .search-form form input {
          background: #EDEDED; }
          .mobile-header .mobile-header-content .search-form form input.expanded {
            width: 100%;
            padding: 0 0 0 2.25rem; }
      .mobile-header .mobile-header-content .search-form.expanded .toggle-search {
        left: 0;
        right: auto; }
    .mobile-header .mobile-header-content .user-links {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      margin-bottom: 1.25rem; }
      .mobile-header .mobile-header-content .user-links a {
        color: #765BA7;
        font-family: 'Montserrat', sans-serif;
        font-weight: 600;
        font-size: 1rem;
        text-transform: uppercase;
        border-color: transparent; }
        .mobile-header .mobile-header-content .user-links a:hover {
          border-color: #765BA7; }
    .mobile-header .mobile-header-content .multilevel-menu .accordion {
      background: none;
      border: none; }
      .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item {
        border-bottom: none;
        margin-bottom: 0.9375rem; }
        .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item .accordion-title {
          color: #fff;
          font-family: 'Montserrat', sans-serif;
          font-weight: 700;
          font-size: 1.25rem;
          line-height: 1.25rem;
          border: none;
          text-decoration: none;
          padding: 1.25rem 1.5625rem;
          border-radius: 2.375rem; }
          .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item .accordion-title:hover, .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item .accordion-title:focus {
            text-decoration: none; }
          .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item .accordion-title:before {
            font-size: 0.4375rem;
            content: "\e901";
            font-family: 'icomoon', sans-serif;
            color: #fff;
            font-weight: 400;
            top: 1.5625rem;
            right: 0.9375rem;
            width: 1.625rem;
            height: 1.625rem;
            border-radius: 100%;
            background: none;
            border: 2px solid #fff;
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -webkit-align-items: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: center;
            -webkit-justify-content: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-transform: rotate(180deg);
                -ms-transform: rotate(180deg);
                    transform: rotate(180deg); }
        .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item .accordion-content {
          border: none;
          background: #F8F8F8;
          padding: 2.1875rem 0 1.25rem 0;
          border-radius: 0 0 1.875rem 1.875rem; }
          .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item .accordion-content ul.no-bullets {
            display: block; }
            .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item .accordion-content ul.no-bullets > li > a {
              display: none; }
            .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item .accordion-content ul.no-bullets li.menu-item-has-children > a {
              font-weight: bold; }
            .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item .accordion-content ul.no-bullets > li > .sub-menu {
              margin: 0; }
              .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item .accordion-content ul.no-bullets > li > .sub-menu > li {
                margin-bottom: 1.875rem;
                padding-left: 0; }
                .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item .accordion-content ul.no-bullets > li > .sub-menu > li > a {
                  text-transform: uppercase;
                  font-family: 'Montserrat', sans-serif;
                  font-weight: 700;
                  color: #000000;
                  font-size: 1.0625rem;
                  padding: 0;
                  display: inline-block;
                  margin-bottom: 1.25rem;
                  border-bottom: none; }
                .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item .accordion-content ul.no-bullets > li > .sub-menu > li > .sub-menu {
                  margin: 0; }
                  .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item .accordion-content ul.no-bullets > li > .sub-menu > li > .sub-menu > li {
                    margin-bottom: 0.625rem;
                    padding-left: 0; }
                    .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item .accordion-content ul.no-bullets > li > .sub-menu > li > .sub-menu > li > a {
                      font-family: 'Montserrat', sans-serif;
                      font-weight: 500;
                      color: #000000;
                      font-size: 1.0625rem;
                      border-bottom: 2px solid transparent;
                      padding: 0;
                      display: inline; }
            .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item .accordion-content ul.no-bullets > li.single-column > .sub-menu > li {
              margin-bottom: 0.625rem; }
              .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item .accordion-content ul.no-bullets > li.single-column > .sub-menu > li > a {
                text-transform: none;
                font-family: 'Montserrat', sans-serif;
                font-weight: 500;
                color: #000000 !important;
                font-size: 1.125rem;
                border-bottom: 2px solid transparent;
                padding: 0;
                display: inline; }
                .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item .accordion-content ul.no-bullets > li.single-column > .sub-menu > li > a:hover {
                  border-bottom: 2px solid #765BA7; }
        .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item.is-active .accordion-title {
          border-radius: 1.875rem 1.875rem 0 0; }
          .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item.is-active .accordion-title:before {
            -webkit-transform: rotate(0deg);
                -ms-transform: rotate(0deg);
                    transform: rotate(0deg); }
        .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item.purple .accordion-title {
          background: #765BA7; }
          .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item.purple .accordion-title:hover, .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item.purple .accordion-title:focus {
            background: #765BA7; }
        .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item.purple .accordion-content .no-bullets > li > .sub-menu > li > a {
          color: #765BA7; }
        .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item.purple .accordion-content .no-bullets > li > .sub-menu > li > .sub-menu > li > a:hover {
          border-bottom: 2px solid #765BA7; }
        .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item.red .accordion-title {
          background: #BA3057; }
          .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item.red .accordion-title:hover, .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item.red .accordion-title:focus {
            background: #BA3057; }
        .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item.red .accordion-content .no-bullets > li > .sub-menu > li > a {
          color: #BA3057; }
        .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item.red .accordion-content .no-bullets > li > .sub-menu > li > .sub-menu > li > a:hover {
          border-bottom: 2px solid #BA3057; }
        .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item.teal .accordion-title {
          background: #036F84; }
          .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item.teal .accordion-title:hover, .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item.teal .accordion-title:focus {
            background: #036F84; }
        .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item.teal .accordion-content .no-bullets > li > .sub-menu > li > a {
          color: #036F84; }
        .mobile-header .mobile-header-content .multilevel-menu .accordion .accordion-item.teal .accordion-content .no-bullets > li > .sub-menu > li > .sub-menu > li > a:hover {
          border-bottom: 2px solid #036F84; }
    .mobile-header .mobile-header-content .menu-with-submenus .accordion-menu .menu-item-has-children {
      background: #F8F8F8;
      border-radius: 2.375rem;
      border: none;
      margin-bottom: 0.9375rem; }
      .mobile-header .mobile-header-content .menu-with-submenus .accordion-menu .menu-item-has-children > a {
        border: none;
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 1rem;
        text-transform: uppercase;
        line-height: 1.125rem;
        text-decoration: none;
        display: block;
        padding: 1.25rem 2.8125rem 1.25rem 1.5625rem;
        color: #000; }
        .mobile-header .mobile-header-content .menu-with-submenus .accordion-menu .menu-item-has-children > a:after {
          font-size: 0.4375rem;
          content: "\e901";
          font-family: 'icomoon', sans-serif;
          color: #765BA7;
          font-weight: 400;
          top: 1rem;
          right: 0.9375rem;
          width: 1.625rem;
          height: 1.625rem;
          border-radius: 100%;
          background: none;
          border: 2px solid #765BA7;
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -webkit-align-items: center;
              -ms-flex-align: center;
                  align-items: center;
          -webkit-box-pack: center;
          -webkit-justify-content: center;
              -ms-flex-pack: center;
                  justify-content: center;
          -webkit-transform: rotate(180deg);
              -ms-transform: rotate(180deg);
                  transform: rotate(180deg);
          margin: 0; }
      .mobile-header .mobile-header-content .menu-with-submenus .accordion-menu .menu-item-has-children .submenu {
        padding: 0 1.5625rem 1.875rem 1.5625rem;
        margin: 0; }
        .mobile-header .mobile-header-content .menu-with-submenus .accordion-menu .menu-item-has-children .submenu .menu-item a {
          border: none;
          padding: 0.4375rem 0;
          font-family: 'Montserrat', sans-serif;
          font-weight: 500;
          font-size: 1.0625rem;
          line-height: 2rem; }
          .mobile-header .mobile-header-content .menu-with-submenus .accordion-menu .menu-item-has-children .submenu .menu-item a:after {
            top: 0.625rem;
            right: -0.625rem; }
        .mobile-header .mobile-header-content .menu-with-submenus .accordion-menu .menu-item-has-children .submenu .menu-item .is-accordion-submenu {
          padding: 0; }
      .mobile-header .mobile-header-content .menu-with-submenus .accordion-menu .menu-item-has-children[aria-expanded="true"] > a:after {
        -webkit-transform: rotate(0deg);
            -ms-transform: rotate(0deg);
                transform: rotate(0deg); }
      .mobile-header .mobile-header-content .menu-with-submenus .accordion-menu .menu-item-has-children[aria-expanded="true"] > a .submenu .menu-item > a:after {
        -webkit-transform: rotate(0deg);
            -ms-transform: rotate(0deg);
                transform: rotate(0deg); }
    .mobile-header .mobile-header-content .links-menu {
      background: #EDEDED;
      padding: 3.125rem 1.5625rem 5rem 1.5625rem;
      margin: 3.125rem -1.5625rem 0 -1.5625rem;
      text-align: center; }
      .mobile-header .mobile-header-content .links-menu > ul > li {
        margin: 0 0 1.25rem 0; }
        .mobile-header .mobile-header-content .links-menu > ul > li > a {
          font-family: 'Montserrat', sans-serif;
          font-weight: 700;
          font-size: 1rem;
          line-height: 1.25rem;
          text-transform: uppercase;
          color: #000;
          border-bottom: none;
          letter-spacing: 0.025rem;
          display: -webkit-inline-box;
          display: -webkit-inline-flex;
          display: -ms-inline-flexbox;
          display: inline-flex;
          -webkit-box-align: center;
          -webkit-align-items: center;
              -ms-flex-align: center;
                  align-items: center; }
          .mobile-header .mobile-header-content .links-menu > ul > li > a:after {
            content: "\e909";
            font-family: 'icomoon', sans-serif;
            color: #765BA7;
            font-size: 0.6875rem;
            font-weight: 500;
            margin-left: 0.625rem; }
      .mobile-header .mobile-header-content .links-menu .accessibility-links {
        margin-top: 1.875rem; }
        .mobile-header .mobile-header-content .links-menu .accessibility-links > ul {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -webkit-align-items: center;
              -ms-flex-align: center;
                  align-items: center;
          -webkit-box-pack: justify;
          -webkit-justify-content: space-between;
              -ms-flex-pack: justify;
                  justify-content: space-between; }
          .mobile-header .mobile-header-content .links-menu .accessibility-links > ul > li > a {
            font-family: 'Montserrat', sans-serif;
            font-weight: 500;
            font-size: 1rem;
            text-transform: uppercase;
            color: #000000;
            border-bottom: none; }
          .mobile-header .mobile-header-content .links-menu .accessibility-links > ul > li.is-dropdown-submenu-parent > a:after {
            border: none;
            font-family: 'icomoon', sans-serif;
            content: "\e901";
            font-size: 0.4375rem;
            width: auto;
            height: auto;
            -webkit-transform: rotate(180deg);
                -ms-transform: rotate(180deg);
                    transform: rotate(180deg);
            margin-top: -0.25rem; }
          .mobile-header .mobile-header-content .links-menu .accessibility-links > ul > li.is-dropdown-submenu-parent .is-dropdown-submenu {
            border-radius: 1.3125rem;
            z-index: 1010; }
            .mobile-header .mobile-header-content .links-menu .accessibility-links > ul > li.is-dropdown-submenu-parent .is-dropdown-submenu li a {
              font-family: 'Montserrat', sans-serif;
              font-weight: 500;
              font-size: 1rem;
              text-transform: uppercase;
              color: #000000;
              border-bottom: none; }

body.menu-expanded .mobile-header {
  height: 100vh;
  overflow-y: auto; }
  body.menu-expanded .mobile-header .mobile-header-inner .hamburger-menu .toggle-menu span {
    top: 0.9375rem;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
    width: 0.9125rem;
    background: #7F7F7F;
    left: 0.5rem; }
    body.menu-expanded .mobile-header .mobile-header-inner .hamburger-menu .toggle-menu span:nth-of-type(2) {
      width: 1.9375rem;
      height: 1.9375rem;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none;
      border: 2px solid #7F7F7F;
      border-radius: 100%;
      background: none;
      top: 0;
      left: 0; }
    body.menu-expanded .mobile-header .mobile-header-inner .hamburger-menu .toggle-menu span:nth-of-type(3) {
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg);
      width: 0.9125rem; }
  body.menu-expanded .mobile-header .mobile-header-content {
    display: block; }

.footer {
  background: #383739;
  padding: 2.8125rem 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    .footer {
      padding: 4.0625rem 0; } }
  .footer .footer-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media print, screen and (min-width: 48em) {
      .footer .footer-inner {
        max-width: 75.625rem;
        margin: 0 auto;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between; } }
    .footer .footer-inner .logo-wrapper {
      -webkit-box-ordinal-group: 2;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
      @media print, screen and (min-width: 48em) {
        .footer .footer-inner .logo-wrapper {
          width: 38.5rem;
          -webkit-flex-shrink: 0;
              -ms-flex-negative: 0;
                  flex-shrink: 0; } }
      .footer .footer-inner .logo-wrapper.show-for-small-only {
        -webkit-box-ordinal-group: 5;
        -webkit-order: 4;
            -ms-flex-order: 4;
                order: 4; }
      .footer .footer-inner .logo-wrapper .logo {
        margin-bottom: 2.5rem; }
        .footer .footer-inner .logo-wrapper .logo a {
          border-bottom: none; }
          .footer .footer-inner .logo-wrapper .logo a img {
            width: 100%;
            height: auto; }
            @media print, screen and (min-width: 48em) {
              .footer .footer-inner .logo-wrapper .logo a img {
                width: auto;
                height: 3.6875rem; } }
      @media print, screen and (min-width: 48em) {
        .footer .footer-inner .logo-wrapper .copyrights,
        .footer .footer-inner .logo-wrapper .disclaimer-text {
          max-width: 23.5625rem; } }
      .footer .footer-inner .logo-wrapper .copyrights p,
      .footer .footer-inner .logo-wrapper .disclaimer-text p {
        color: #D0D0D0;
        font-size: 0.875rem;
        margin: 0;
        line-height: 1.6875rem; }
    .footer .footer-inner .footer-menu-links {
      -webkit-box-ordinal-group: 4;
      -webkit-order: 3;
          -ms-flex-order: 3;
              order: 3; }
      @media print, screen and (min-width: 48em) {
        .footer .footer-inner .footer-menu-links {
          -webkit-box-ordinal-group: 3;
          -webkit-order: 2;
              -ms-flex-order: 2;
                  order: 2; } }
      .footer .footer-inner .footer-menu-links .footer-menu ul,
      .footer .footer-inner .footer-menu-links .footer-links ul {
        margin: 0;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; }
        @media print, screen and (min-width: 48em) {
          .footer .footer-inner .footer-menu-links .footer-menu ul,
          .footer .footer-inner .footer-menu-links .footer-links ul {
            display: block; } }
        .footer .footer-inner .footer-menu-links .footer-menu ul li,
        .footer .footer-inner .footer-menu-links .footer-links ul li {
          line-height: 1.6; }
          .footer .footer-inner .footer-menu-links .footer-menu ul li a,
          .footer .footer-inner .footer-menu-links .footer-links ul li a {
            color: #fff;
            font-family: 'Montserrat', sans-serif;
            font-weight: 500;
            font-size: 0.875rem;
            border-bottom: none; }
            .footer .footer-inner .footer-menu-links .footer-menu ul li a:after,
            .footer .footer-inner .footer-menu-links .footer-links ul li a:after {
              content: "|";
              margin: 0 0.8125rem; }
              @media print, screen and (min-width: 48em) {
                .footer .footer-inner .footer-menu-links .footer-menu ul li a:after,
                .footer .footer-inner .footer-menu-links .footer-links ul li a:after {
                  display: none; } }
          .footer .footer-inner .footer-menu-links .footer-menu ul li:last-child a:after,
          .footer .footer-inner .footer-menu-links .footer-links ul li:last-child a:after {
            display: none; }
      @media print, screen and (min-width: 48em) {
        .footer .footer-inner .footer-menu-links .footer-menu {
          margin: 0 0 2.875rem 0; } }
    .footer .footer-inner .social-wrapper {
      -webkit-box-ordinal-group: 3;
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2; }
      @media print, screen and (min-width: 48em) {
        .footer .footer-inner .social-wrapper {
          -webkit-box-ordinal-group: 4;
          -webkit-order: 3;
              -ms-flex-order: 3;
                  order: 3; } }
      .footer .footer-inner .social-wrapper .social {
        margin-bottom: 2.1875rem; }
        .footer .footer-inner .social-wrapper .social h6 {
          color: #fff;
          font-family: 'Montserrat', sans-serif;
          font-weight: 700;
          font-size: 0.875rem;
          line-height: 1.8125rem; }
        .footer .footer-inner .social-wrapper .social ul {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          margin: 0;
          list-style: none; }
          .footer .footer-inner .social-wrapper .social ul li a {
            color: #fff;
            margin-right: 1.5625rem;
            font-size: 1.375rem;
            border-bottom: none; }
      .footer .footer-inner .social-wrapper .donate-button {
        margin-bottom: 2.5rem; }
        .footer .footer-inner .social-wrapper .donate-button a {
          border-color: #fff;
          color: #fff; }
          .footer .footer-inner .social-wrapper .donate-button a:hover {
            border-color: #765BA7;
            background: #765BA7; }
    .footer .footer-inner .design-by {
      margin: 0 0 2.5rem 0; }
      @media print, screen and (min-width: 48em) {
        .footer .footer-inner .design-by {
          margin: 0; } }
      .footer .footer-inner .design-by p {
        font-size: 0.875rem;
        line-height: 1.8125rem;
        color: #fff;
        font-family: 'Montserrat', sans-serif;
        font-weight: 400; }
        .footer .footer-inner .design-by p a {
          color: #fff;
          border-bottom: 1px solid #fff;
          font-size: 0.875rem;
          line-height: 1.8125rem; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #fff; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("../fonts/slick.eot");
  src: url("../fonts/slick.eot?#iefix") format("embedded-opentype"), url("../fonts/slick.woff") format("woff"), url("../fonts/slick.ttf") format("truetype"), url("../fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 1.75rem;
  width: 1.75rem;
  line-height: 1.75rem;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
  text-align: center; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: 1.5625rem;
  z-index: 55;
  position: relative; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "\e903";
    font-family: 'icomoon';
    font-size: 1.875rem;
    position: absolute;
    display: block; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: 1.5625rem; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "\e903";
    font-family: 'icomoon';
    font-size: 1.875rem;
    display: block;
    position: absolute; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

.select2-container {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  margin: 0;
  position: relative;
  vertical-align: middle; }
  .select2-container .select2-selection--single {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    cursor: pointer;
    display: block;
    height: 28px;
    -moz-user-select: none;
     -ms-user-select: none;
         user-select: none;
    -webkit-user-select: none; }
    .select2-container .select2-selection--single .select2-selection__rendered {
      display: block;
      padding-left: 8px;
      padding-right: 20px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap; }
    .select2-container .select2-selection--single .select2-selection__clear {
      background-color: transparent;
      border: none;
      font-size: 1em; }
  .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
    padding-right: 8px;
    padding-left: 20px; }
  .select2-container .select2-selection--multiple {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    cursor: pointer;
    display: block;
    min-height: 32px;
    -moz-user-select: none;
     -ms-user-select: none;
         user-select: none;
    -webkit-user-select: none; }
    .select2-container .select2-selection--multiple .select2-selection__rendered {
      display: inline;
      list-style: none;
      padding: 0; }
    .select2-container .select2-selection--multiple .select2-selection__clear {
      background-color: transparent;
      border: none;
      font-size: 1em; }
  .select2-container .select2-search--inline .select2-search__field {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border: none;
    font-size: 100%;
    margin-top: 5px;
    margin-left: 5px;
    padding: 0;
    max-width: 100%;
    resize: none;
    height: 18px;
    vertical-align: bottom;
    font-family: sans-serif;
    overflow: hidden;
    word-break: keep-all; }
    .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
      -webkit-appearance: none; }

.select2-dropdown {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  position: absolute;
  left: -100000px;
  width: 100%;
  z-index: 1051; }

.select2-results {
  display: block; }

.select2-results__options {
  list-style: none;
  margin: 0;
  padding: 0; }

.select2-results__option {
  padding: 6px;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none; }

.select2-results__option--selectable {
  cursor: pointer; }

.select2-container--open .select2-dropdown {
  left: 0; }

.select2-container--open .select2-dropdown--above {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--open .select2-dropdown--below {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-search--dropdown {
  display: block;
  padding: 4px; }
  .select2-search--dropdown .select2-search__field {
    padding: 4px;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
      -webkit-appearance: none; }
  .select2-search--dropdown.select2-search--hide {
    display: none; }

.select2-close-mask {
  border: 0;
  margin: 0;
  padding: 0;
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  min-height: 100%;
  min-width: 100%;
  height: auto;
  width: auto;
  opacity: 0;
  z-index: 99;
  background-color: #fff;
  filter: alpha(opacity=0); }

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

.select2-container--default .select2-selection--single {
  background-color: #fff;
  border: 1px solid #aaa;
  border-radius: 4px; }
  .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 28px; }
  .select2-container--default .select2-selection--single .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold;
    height: 26px;
    margin-right: 20px;
    padding-right: 0px; }
  .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #999; }
  .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 26px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 20px; }
    .select2-container--default .select2-selection--single .select2-selection__arrow b {
      border-color: #888 transparent transparent transparent;
      border-style: solid;
      border-width: 5px 4px 0 4px;
      height: 0;
      left: 50%;
      margin-left: -4px;
      margin-top: -2px;
      position: absolute;
      top: 50%;
      width: 0; }

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left; }

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  left: 1px;
  right: auto; }

.select2-container--default.select2-container--disabled .select2-selection--single {
  background-color: #eee;
  cursor: default; }
  .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
    display: none; }

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px; }

.select2-container--default .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text;
  padding-bottom: 5px;
  padding-right: 5px;
  position: relative; }
  .select2-container--default .select2-selection--multiple.select2-selection--clearable {
    padding-right: 25px; }
  .select2-container--default .select2-selection--multiple .select2-selection__clear {
    cursor: pointer;
    font-weight: bold;
    height: 20px;
    margin-right: 10px;
    margin-top: 5px;
    position: absolute;
    right: 0;
    padding: 1px; }
  .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    border-radius: 4px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: inline-block;
    margin-left: 5px;
    margin-top: 5px;
    padding: 0;
    padding-left: 20px;
    position: relative;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
    white-space: nowrap; }
  .select2-container--default .select2-selection--multiple .select2-selection__choice__display {
    cursor: default;
    padding-left: 2px;
    padding-right: 5px; }
  .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    background-color: transparent;
    border: none;
    border-right: 1px solid #aaa;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    color: #999;
    cursor: pointer;
    font-size: 1em;
    font-weight: bold;
    padding: 0 4px;
    position: absolute;
    left: 0;
    top: 0; }
    .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover, .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:focus {
      background-color: #f1f1f1;
      color: #333;
      outline: none; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__display {
  padding-left: 5px;
  padding-right: 2px; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  border-left: 1px solid #aaa;
  border-right: none;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__clear {
  float: left;
  margin-left: 10px;
  margin-right: auto; }

.select2-container--default.select2-container--focus .select2-selection--multiple {
  border: solid black 1px;
  outline: 0; }

.select2-container--default.select2-container--disabled .select2-selection--multiple {
  background-color: #eee;
  cursor: default; }

.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
  display: none; }

.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa; }

.select2-container--default .select2-search--inline .select2-search__field {
  background: transparent;
  border: none;
  outline: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-appearance: textfield; }

.select2-container--default .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto; }

.select2-container--default .select2-results__option .select2-results__option {
  padding-left: 1em; }
  .select2-container--default .select2-results__option .select2-results__option .select2-results__group {
    padding-left: 0; }
  .select2-container--default .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -1em;
    padding-left: 2em; }
    .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
      margin-left: -2em;
      padding-left: 3em; }
      .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
        margin-left: -3em;
        padding-left: 4em; }
        .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
          margin-left: -4em;
          padding-left: 5em; }
          .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
            margin-left: -5em;
            padding-left: 6em; }

.select2-container--default .select2-results__option--group {
  padding: 0; }

.select2-container--default .select2-results__option--disabled {
  color: #999; }

.select2-container--default .select2-results__option--selected {
  background-color: #ddd; }

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: #5897fb;
  color: white; }

.select2-container--default .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px; }

.select2-container--classic .select2-selection--single {
  background-color: #f7f7f7;
  border: 1px solid #aaa;
  border-radius: 4px;
  outline: 0;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, white), to(#eeeeee));
  background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
  .select2-container--classic .select2-selection--single:focus {
    border: 1px solid #5897fb; }
  .select2-container--classic .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 28px; }
  .select2-container--classic .select2-selection--single .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold;
    height: 26px;
    margin-right: 20px; }
  .select2-container--classic .select2-selection--single .select2-selection__placeholder {
    color: #999; }
  .select2-container--classic .select2-selection--single .select2-selection__arrow {
    background-color: #ddd;
    border: none;
    border-left: 1px solid #aaa;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    height: 26px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 20px;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eeeeee), to(#cccccc));
    background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }
    .select2-container--classic .select2-selection--single .select2-selection__arrow b {
      border-color: #888 transparent transparent transparent;
      border-style: solid;
      border-width: 5px 4px 0 4px;
      height: 0;
      left: 50%;
      margin-left: -4px;
      margin-top: -2px;
      position: absolute;
      top: 50%;
      width: 0; }

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left; }

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  border: none;
  border-right: 1px solid #aaa;
  border-radius: 0;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  left: 1px;
  right: auto; }

.select2-container--classic.select2-container--open .select2-selection--single {
  border: 1px solid #5897fb; }
  .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
    background: transparent;
    border: none; }
    .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
      border-color: transparent transparent #888 transparent;
      border-width: 0 4px 5px 4px; }

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background-image: -webkit-gradient(linear, left top, left bottom, from(white), color-stop(50%, #eeeeee));
  background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eeeeee), to(white));
  background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }

.select2-container--classic .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text;
  outline: 0;
  padding-bottom: 5px;
  padding-right: 5px; }
  .select2-container--classic .select2-selection--multiple:focus {
    border: 1px solid #5897fb; }
  .select2-container--classic .select2-selection--multiple .select2-selection__clear {
    display: none; }
  .select2-container--classic .select2-selection--multiple .select2-selection__choice {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    border-radius: 4px;
    display: inline-block;
    margin-left: 5px;
    margin-top: 5px;
    padding: 0; }
  .select2-container--classic .select2-selection--multiple .select2-selection__choice__display {
    cursor: default;
    padding-left: 2px;
    padding-right: 5px; }
  .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
    background-color: transparent;
    border: none;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    color: #888;
    cursor: pointer;
    font-size: 1em;
    font-weight: bold;
    padding: 0 4px; }
    .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
      color: #555;
      outline: none; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__display {
  padding-left: 5px;
  padding-right: 2px; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px; }

.select2-container--classic.select2-container--open .select2-selection--multiple {
  border: 1px solid #5897fb; }

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--classic .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa;
  outline: 0; }

.select2-container--classic .select2-search--inline .select2-search__field {
  outline: 0;
  -webkit-box-shadow: none;
          box-shadow: none; }

.select2-container--classic .select2-dropdown {
  background-color: white;
  border: 1px solid transparent; }

.select2-container--classic .select2-dropdown--above {
  border-bottom: none; }

.select2-container--classic .select2-dropdown--below {
  border-top: none; }

.select2-container--classic .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto; }

.select2-container--classic .select2-results__option--group {
  padding: 0; }

.select2-container--classic .select2-results__option--disabled {
  color: grey; }

.select2-container--classic .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: #3875d7;
  color: white; }

.select2-container--classic .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px; }

.select2-container--classic.select2-container--open .select2-dropdown {
  border-color: #5897fb; }

.intro-slider {
  margin-bottom: 5rem; }
  @media print, screen and (min-width: 48em) {
    .intro-slider {
      margin-top: 1.875rem; } }
  @media print, screen and (min-width: 48em) {
    .intro-slider .block-inner {
      max-width: 75.625rem;
      margin: 0 auto;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  @media print, screen and (min-width: 48em) {
    .intro-slider .block-inner .intro-slider-wrapper {
      width: 55.75rem;
      min-height: 43.5625rem;
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0;
      margin: 0 2.1875rem 0 0; } }
  .intro-slider .block-inner .intro-slider-wrapper .slide .wysiwyg {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    background: #765BA7;
    padding: 1.5625rem 1.5625rem 5rem 1.5625rem; }
    @media print, screen and (min-width: 48em) {
      .intro-slider .block-inner .intro-slider-wrapper .slide .wysiwyg {
        min-height: 43.5625rem;
        padding: 2.5rem 6.25rem;
        border-radius: 1.5625rem;
        overflow: hidden; } }
    .intro-slider .block-inner .intro-slider-wrapper .slide .wysiwyg h1 {
      color: #fff; }
    .intro-slider .block-inner .intro-slider-wrapper .slide .wysiwyg a {
      color: #fefefe;
      text-decoration: underline; }
  .intro-slider .block-inner .intro-slider-wrapper .slide .story {
    position: relative;
    z-index: 1;
    min-height: 33.75rem; }
    @media print, screen and (min-width: 48em) {
      .intro-slider .block-inner .intro-slider-wrapper .slide .story {
        min-height: 43.5625rem;
        overflow: hidden;
        border-radius: 1.5625rem; } }
    .intro-slider .block-inner .intro-slider-wrapper .slide .story > img {
      height: 15.5rem;
      width: 100%;
      -o-object-fit: cover;
         object-fit: cover;
      position: absolute;
      inset: 0;
      z-index: 2; }
      @media print, screen and (min-width: 48em) {
        .intro-slider .block-inner .intro-slider-wrapper .slide .story > img {
          min-height: 43.5625rem; } }
    .intro-slider .block-inner .intro-slider-wrapper .slide .story .story-details {
      position: absolute;
      top: 15.5rem;
      left: 0;
      right: 0;
      background: #765BA7;
      z-index: 3;
      padding: 1.5625rem 1.5625rem 5rem 1.5625rem; }
      @media print, screen and (min-width: 48em) {
        .intro-slider .block-inner .intro-slider-wrapper .slide .story .story-details {
          top: auto;
          bottom: 0;
          padding: 2.1875rem 2.1875rem 2.1875rem 3.75rem;
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: justify;
          -webkit-justify-content: space-between;
              -ms-flex-pack: justify;
                  justify-content: space-between; } }
      .intro-slider .block-inner .intro-slider-wrapper .slide .story .story-details .story-title {
        width: 18.75rem;
        -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
                flex-shrink: 0; }
        .intro-slider .block-inner .intro-slider-wrapper .slide .story .story-details .story-title h2 {
          color: #fff; }
      .intro-slider .block-inner .intro-slider-wrapper .slide .story .story-details .story-info p {
        color: #fff; }
      .intro-slider .block-inner .intro-slider-wrapper .slide .story .story-details .story-cta {
        margin: 0.625rem 0 0 0; }
        .intro-slider .block-inner .intro-slider-wrapper .slide .story .story-details .story-cta a {
          border-color: #fff;
          color: #fff; }
          .intro-slider .block-inner .intro-slider-wrapper .slide .story .story-details .story-cta a:hover {
            background: #fff;
            color: #765BA7; }
  .intro-slider .block-inner .intro-slider-wrapper .slick-dots {
    bottom: 2.5rem;
    left: 1.5625rem;
    width: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media print, screen and (min-width: 48em) {
      .intro-slider .block-inner .intro-slider-wrapper .slick-dots {
        bottom: auto;
        top: 50%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        left: 1.875rem;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%); } }
    .intro-slider .block-inner .intro-slider-wrapper .slick-dots li {
      display: block;
      width: 2.5rem;
      height: 5px;
      margin: 0 0.4375rem; }
      @media print, screen and (min-width: 48em) {
        .intro-slider .block-inner .intro-slider-wrapper .slick-dots li {
          height: 2.5rem;
          width: 5px;
          margin: 0.625rem 0; } }
      .intro-slider .block-inner .intro-slider-wrapper .slick-dots li:before {
        display: none; }
      .intro-slider .block-inner .intro-slider-wrapper .slick-dots li button {
        width: 2.5rem;
        height: 5px; }
        @media print, screen and (min-width: 48em) {
          .intro-slider .block-inner .intro-slider-wrapper .slick-dots li button {
            height: 2.5rem;
            width: 5px; } }
        .intro-slider .block-inner .intro-slider-wrapper .slick-dots li button:before {
          content: '';
          width: 2.5rem;
          height: 5px;
          border: none;
          border-radius: 3px;
          background: rgba(255, 255, 255, 0.4);
          opacity: 1; }
          @media print, screen and (min-width: 48em) {
            .intro-slider .block-inner .intro-slider-wrapper .slick-dots li button:before {
              height: 2.5rem;
              width: 5px; } }
      .intro-slider .block-inner .intro-slider-wrapper .slick-dots li.slick-active button:before {
        background: white; }
  .intro-slider .block-inner .block-details {
    padding: 1.5625rem; }
    .intro-slider .block-inner .block-details .item-wrapper h5 {
      font-family: 'Montserrat', sans-serif;
      font-weight: 600;
      font-size: 1.5rem;
      line-height: 1.8125rem;
      color: #765BA7; }
      @media print, screen and (min-width: 48em) {
        .intro-slider .block-inner .block-details .item-wrapper h5 {
          font-size: 1.5rem;
          line-height: 1.9375rem; } }
    .intro-slider .block-inner .block-details .item-wrapper p {
      color: #000000; }
    .intro-slider .block-inner .block-details .item-wrapper:first-child {
      margin: 0 0 2.5rem 0; }
      @media print, screen and (min-width: 48em) {
        .intro-slider .block-inner .block-details .item-wrapper:first-child {
          margin: 3.4375rem 0 5rem 0; } }

.quick-links {
  margin-bottom: 6.875rem; }
  @media print, screen and (min-width: 48em) {
    .quick-links {
      margin-top: 5rem;
      margin-bottom: 5rem; } }
  .quick-links .block-inner {
    margin: 0 1.5625rem; }
    @media print, screen and (min-width: 48em) {
      .quick-links .block-inner {
        max-width: 75.625rem;
        margin: 0 auto; } }
    @media print, screen and (min-width: 48em) {
      .quick-links .block-inner .cards {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        margin: 0 -1.125rem 10.625rem -1.125rem; } }
    .quick-links .block-inner .cards .card {
      min-height: 26.5rem;
      margin: 0 0 1.875rem 0; }
      @media print, screen and (min-width: 48em) {
        .quick-links .block-inner .cards .card {
          height: auto;
          margin: 0 1.125rem;
          -webkit-flex-shrink: 0;
              -ms-flex-negative: 0;
                  flex-shrink: 0;
          width: 36.4375rem; } }
      .quick-links .block-inner .cards .card > img {
        height: 11.75rem; }
        @media print, screen and (min-width: 48em) {
          .quick-links .block-inner .cards .card > img {
            height: 25.375rem; } }
      @media print, screen and (min-width: 48em) {
        .quick-links .block-inner .cards .card .card-info .card-info-inner p {
          padding-right: 3.125rem; } }
      .quick-links .block-inner .cards .card .card-info .card-info-inner .card-cta {
        top: 8.75rem; }
        @media print, screen and (min-width: 48em) {
          .quick-links .block-inner .cards .card .card-info .card-info-inner .card-cta {
            top: auto; } }
    @media print, screen and (min-width: 48em) {
      .quick-links .block-inner .quick-links-list {
        width: 33.875rem;
        margin: 0 auto; } }
    .quick-links .block-inner .quick-links-list .block-details {
      margin-bottom: 2.5rem; }
      @media print, screen and (min-width: 48em) {
        .quick-links .block-inner .quick-links-list .block-details {
          text-align: center; } }
      .quick-links .block-inner .quick-links-list .block-details h2 {
        color: #765BA7;
        margin-bottom: 2.5rem; }

.latest-posts {
  padding: 3.75rem 1.5625rem;
  background: #F6F4F9; }
  @media print, screen and (min-width: 48em) {
    .latest-posts {
      padding: 4.6875rem 0 8.4375rem 0; } }
  @media print, screen and (min-width: 48em) {
    .latest-posts .block-inner {
      max-width: 75.625rem;
      margin: 0 auto; } }
  .latest-posts .block-inner .block-title {
    text-align: center;
    margin-bottom: 3.75rem; }
    .latest-posts .block-inner .block-title h2 {
      color: #765BA7; }
  @media print, screen and (min-width: 48em) {
    .latest-posts .block-inner .posts {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      margin: 0 -1.125rem; } }
  .latest-posts .block-inner .posts .card {
    display: block;
    height: auto;
    margin: 0 0 1.875rem 0; }
    @media print, screen and (min-width: 48em) {
      .latest-posts .block-inner .posts .card {
        width: 23.5625rem;
        margin: 0 1.125rem; } }
    .latest-posts .block-inner .posts .card > img {
      height: 13.0625rem;
      bottom: 0; }
      @media print, screen and (min-width: 48em) {
        .latest-posts .block-inner .posts .card > img {
          height: 19.0625rem; } }
    .latest-posts .block-inner .posts .card .card-info .card-info-inner {
      padding: 1.5625rem 1.875rem; }
      @media print, screen and (min-width: 48em) {
        .latest-posts .block-inner .posts .card .card-info .card-info-inner {
          padding: 1.5625rem 3.75rem 1.5625rem 1.875rem; } }
      .latest-posts .block-inner .posts .card .card-info .card-info-inner h5 {
        margin-bottom: 0.9375rem; }
    .latest-posts .block-inner .posts .card:hover {
      -webkit-box-shadow: 0.25rem 0.25rem 0.375rem rgba(0, 0, 0, 0.31);
              box-shadow: 0.25rem 0.25rem 0.375rem rgba(0, 0, 0, 0.31); }
    .latest-posts .block-inner .posts .card.transparent {
      height: 26rem; }
      @media print, screen and (min-width: 48em) {
        .latest-posts .block-inner .posts .card.transparent {
          height: auto; } }
      .latest-posts .block-inner .posts .card.transparent > img {
        height: 26rem;
        bottom: 0; }
        @media print, screen and (min-width: 48em) {
          .latest-posts .block-inner .posts .card.transparent > img {
            height: 100%; } }
      .latest-posts .block-inner .posts .card.transparent .card-info .card-info-inner .card-cta {
        top: auto;
        width: 2.6875rem;
        height: 2.6875rem;
        bottom: 1.5625rem !important; }
        @media print, screen and (min-width: 48em) {
          .latest-posts .block-inner .posts .card.transparent .card-info .card-info-inner .card-cta {
            bottom: 1.5625rem; } }

.page-banner .page-banner-inner {
  position: relative; }
  @media print, screen and (min-width: 48em) {
    .page-banner .page-banner-inner {
      margin: 1.25rem auto 0 auto;
      max-width: 79.6875rem; } }
  .page-banner .page-banner-inner:after {
    content: '';
    background: black;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.81)), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.81) 0%, rgba(255, 255, 255, 0) 100%);
    position: absolute;
    top: 7.875rem;
    left: 0;
    right: 0;
    height: 5.9375rem; }
    @media print, screen and (min-width: 48em) {
      .page-banner .page-banner-inner:after {
        border-radius: 1.875rem 1.875rem 0 0;
        height: 13.0625rem;
        background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.81)), to(rgba(255, 255, 255, 0)));
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.81) 0%, rgba(255, 255, 255, 0) 100%);
        top: 0; } }

.page-banner img {
  height: 13.8125rem;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover; }
  @media print, screen and (min-width: 48em) {
    .page-banner img {
      height: 33.625rem;
      border-radius: 1.875rem 1.875rem 0 0; } }

.page-banner .page-banner-title {
  background: #765BA7;
  padding: 1.25rem 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    .page-banner .page-banner-title {
      padding: 2.1875rem 2.5rem;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      position: relative;
      border-radius: 0 0 1.875rem 1.875rem; } }
  .page-banner .page-banner-title h2 {
    color: #fff;
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 1.5rem;
    line-height: 1.8125rem; }
    @media print, screen and (min-width: 48em) {
      .page-banner .page-banner-title h2 {
        max-width: 62.1875rem;
        font-size: 2.375rem;
        line-height: 3.25rem; } }
  .page-banner .page-banner-title .favourites-icon {
    position: absolute;
    right: 1.5625rem;
    top: 12.5rem;
    z-index: 3; }
    @media print, screen and (min-width: 48em) {
      .page-banner .page-banner-title .favourites-icon {
        top: auto;
        right: 2.5rem;
        bottom: 2.1875rem; } }

.page-banner .breadcrumbs {
  margin: 1.875rem 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    .page-banner .breadcrumbs {
      margin: 1.875rem 0 5rem 0; } }

.leadership-members {
  margin: 2.5rem 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    .leadership-members {
      margin: 5rem 0; } }
  .leadership-members .block-title {
    margin: 0 0 1.875rem 0; }
    @media print, screen and (min-width: 48em) {
      .leadership-members .block-title {
        margin: 0 0 3.125rem 0; } }
    .leadership-members .block-title h4 {
      color: #765BA7; }
  @media print, screen and (min-width: 48em) {
    .leadership-members .members {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      margin: 0 -1.0625rem; } }
  .leadership-members .members a.member-card {
    border-bottom: none; }
    .leadership-members .members a.member-card:hover .member-photo:after {
      content: '';
      position: absolute;
      inset: 0;
      background: rgba(0, 0, 0, 0.3);
      z-index: 3; }
    .leadership-members .members a.member-card:hover .member-photo:before {
      content: "\e909";
      font-family: 'icomoon', sans-serif;
      width: 2.75rem;
      height: 2.75rem;
      border-radius: 100%;
      border: 3px solid #fff;
      color: #fff;
      position: absolute;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      z-index: 4;
      font-size: 1.375rem; }

.member-card {
  width: 15rem;
  display: block;
  margin: 0 0 1.875rem 0; }
  @media print, screen and (min-width: 48em) {
    .member-card {
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0;
      width: 23.5625rem;
      margin: 0 1.0625rem 2.8125rem 1.0625rem; } }
  .member-card .member-photo {
    margin-bottom: 1.5625rem;
    position: relative;
    height: 11.9375rem;
    border-radius: 1.875rem;
    overflow: hidden; }
    @media print, screen and (min-width: 48em) {
      .member-card .member-photo {
        height: 17.5rem; } }
    .member-card .member-photo img {
      width: 100%;
      height: 11.9375rem;
      -o-object-fit: cover;
         object-fit: cover; }
      @media print, screen and (min-width: 48em) {
        .member-card .member-photo img {
          height: 17.5rem; } }
  .member-card .card-info h5 {
    color: #765BA7; }
  .member-card .card-info .member-position p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600; }

#member-modal {
  border-radius: 1.875rem;
  padding: 0;
  -webkit-box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
          box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
  border: none;
  left: 15px;
  right: 15px;
  width: calc(100% - 30px);
  top: 6.25rem !important; }
  @media print, screen and (min-width: 48em) {
    #member-modal {
      width: 75rem;
      padding: 6.5625rem 4.6875rem; } }
  #member-modal .close-button {
    right: 1.5625rem;
    top: 1.5625rem;
    width: 1.9375rem;
    height: 1.9375rem;
    border-radius: 100%;
    border: 3px solid #7F7F7F;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media print, screen and (min-width: 48em) {
      #member-modal .close-button {
        right: 2.5rem;
        top: 2.5rem;
        width: 2.375rem;
        height: 2.375rem; } }
    #member-modal .close-button i {
      font-size: 0.875rem;
      font-weight: 300; }
      @media print, screen and (min-width: 48em) {
        #member-modal .close-button i {
          font-size: 1.125rem; } }
    #member-modal .close-button:hover {
      background: #7F7F7F; }
      #member-modal .close-button:hover i {
        color: #fff; }
  @media print, screen and (min-width: 48em) {
    #member-modal .modal-inner .member-details {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }
  @media print, screen and (max-width: 47.99875em) {
    #member-modal .modal-inner .member-details .member-card {
      width: 100%; } }
  @media print, screen and (max-width: 47.99875em) {
    #member-modal .modal-inner .member-details .member-card .member-photo {
      width: 100%;
      border-radius: 1.875rem 1.875rem 0 0; } }
  @media print, screen and (max-width: 47.99875em) {
    #member-modal .modal-inner .member-details .member-card .member-photo img {
      width: 100%;
      height: 12.8125rem; } }
  @media print, screen and (max-width: 47.99875em) {
    #member-modal .modal-inner .member-details .member-card .card-info {
      padding: 0 1.875rem; } }
  #member-modal .modal-inner .member-details .member-bio {
    margin: 0 1.875rem; }
    @media print, screen and (min-width: 48em) {
      #member-modal .modal-inner .member-details .member-bio {
        margin: 0 0 0 2.8125rem; } }
    #member-modal .modal-inner .member-details .member-bio p strong {
      font-family: 'Montserrat', sans-serif;
      font-weight: 600; }

.team-members {
  margin: 2.5rem 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    .team-members {
      margin: 5rem 0; } }
  .team-members .block-title {
    margin: 0 0 1.875rem 0; }
    @media print, screen and (min-width: 48em) {
      .team-members .block-title {
        margin: 0 0 3.125rem 0; } }
    .team-members .block-title h4 {
      color: #765BA7; }
  @media print, screen and (min-width: 48em) {
    .team-members .members {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      margin: 0 -1.0625rem; } }
  .team-members .members .member-wrapper {
    margin: 0 0 2.1875rem 0;
    background: #F8F8F8;
    border-radius: 1.875rem;
    padding: 2.1875rem; }
    @media print, screen and (min-width: 48em) {
      .team-members .members .member-wrapper {
        width: 36.4375rem;
        margin: 0 1.0625rem 2.1875rem 1.0625rem; } }
    .team-members .members .member-wrapper .member-name {
      border-bottom: 1px solid #D0D0D0;
      margin-bottom: 1.5625rem; }
      .team-members .members .member-wrapper .member-name h5 {
        color: #765BA7; }
      .team-members .members .member-wrapper .member-name .member-position p {
        font-family: 'Montserrat', sans-serif;
        font-weight: 600;
        color: #000; }
    .team-members .members .member-wrapper .member-details .member-bio {
      margin-bottom: 1.25rem; }
    .team-members .members .member-wrapper .member-details .member-phone p,
    .team-members .members .member-wrapper .member-details .member-email p {
      margin: 0; }
      .team-members .members .member-wrapper .member-details .member-phone p strong,
      .team-members .members .member-wrapper .member-details .member-email p strong {
        display: block; }
        @media print, screen and (min-width: 48em) {
          .team-members .members .member-wrapper .member-details .member-phone p strong,
          .team-members .members .member-wrapper .member-details .member-email p strong {
            display: inline;
            margin-right: 0.4375rem; } }
      .team-members .members .member-wrapper .member-details .member-phone p a,
      .team-members .members .member-wrapper .member-details .member-email p a {
        border-bottom: 2px solid #765BA7;
        color: #000; }
        .team-members .members .member-wrapper .member-details .member-phone p a:hover,
        .team-members .members .member-wrapper .member-details .member-email p a:hover {
          color: #765BA7; }
      .team-members .members .member-wrapper .member-details .member-phone p span,
      .team-members .members .member-wrapper .member-details .member-email p span {
        margin-left: 0.4375rem; }
    .team-members .members .member-wrapper .member-details .member-phone {
      margin-bottom: 0.625rem; }

.content-cards {
  padding: 4.375rem 1.5625rem 2.5rem 1.5625rem;
  background: #F0EEF6; }
  @media print, screen and (min-width: 48em) {
    .content-cards {
      padding: 5rem 0 6.875rem 0; } }
  @media print, screen and (min-width: 48em) {
    .content-cards .block-inner {
      max-width: 75.625rem;
      margin: 0 auto; } }
  .content-cards .block-inner .block-title {
    margin-bottom: 1.875rem; }
    .content-cards .block-inner .block-title h3 {
      color: #765BA7; }
  @media print, screen and (min-width: 48em) {
    .content-cards .block-inner .cards {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      margin: 0 -1.125rem; } }
  .content-cards .block-inner .cards .card {
    min-height: 26.5rem;
    margin: 0 0 1.875rem 0; }
    @media print, screen and (min-width: 48em) {
      .content-cards .block-inner .cards .card {
        height: auto;
        margin: 0 1.125rem;
        -webkit-flex-basis: 50%;
            -ms-flex-preferred-size: 50%;
                flex-basis: 50%; } }
    .content-cards .block-inner .cards .card > img {
      height: 11.75rem; }
      @media print, screen and (min-width: 48em) {
        .content-cards .block-inner .cards .card > img {
          height: 25.375rem; } }
    @media print, screen and (min-width: 48em) {
      .content-cards .block-inner .cards .card .card-info .card-info-inner p {
        padding-right: 3.125rem; } }
    .content-cards .block-inner .cards .card .card-info .card-info-inner .card-cta {
      top: 8.75rem; }
      @media print, screen and (min-width: 48em) {
        .content-cards .block-inner .cards .card .card-info .card-info-inner .card-cta {
          top: auto; } }
    .content-cards .block-inner .cards .card.transparent, .content-cards .block-inner .cards .card.full_transparent {
      height: 17.0625rem;
      margin: 0 0 1.875rem 0; }
      @media print, screen and (min-width: 48em) {
        .content-cards .block-inner .cards .card.transparent, .content-cards .block-inner .cards .card.full_transparent {
          height: 29.625rem;
          margin: 0 1.125rem; } }
      .content-cards .block-inner .cards .card.transparent > img, .content-cards .block-inner .cards .card.full_transparent > img {
        height: 17.0625rem; }
        @media print, screen and (min-width: 48em) {
          .content-cards .block-inner .cards .card.transparent > img, .content-cards .block-inner .cards .card.full_transparent > img {
            height: 29.625rem; } }
      .content-cards .block-inner .cards .card.transparent .card-info, .content-cards .block-inner .cards .card.full_transparent .card-info {
        top: auto;
        bottom: 0; }
        .content-cards .block-inner .cards .card.transparent .card-info .card-info-inner, .content-cards .block-inner .cards .card.full_transparent .card-info .card-info-inner {
          padding: 1.25rem 1.5625rem; }
          @media print, screen and (min-width: 48em) {
            .content-cards .block-inner .cards .card.transparent .card-info .card-info-inner, .content-cards .block-inner .cards .card.full_transparent .card-info .card-info-inner {
              padding: 2.5rem 2.8125rem; } }
          .content-cards .block-inner .cards .card.transparent .card-info .card-info-inner h4, .content-cards .block-inner .cards .card.full_transparent .card-info .card-info-inner h4 {
            padding-right: 3.125rem; }
          .content-cards .block-inner .cards .card.transparent .card-info .card-info-inner .card-cta, .content-cards .block-inner .cards .card.full_transparent .card-info .card-info-inner .card-cta {
            top: auto;
            right: 0.9375rem;
            bottom: 1.25rem; }
            @media print, screen and (min-width: 48em) {
              .content-cards .block-inner .cards .card.transparent .card-info .card-info-inner .card-cta, .content-cards .block-inner .cards .card.full_transparent .card-info .card-info-inner .card-cta {
                right: 2.1875rem;
                bottom: 2.5rem;
                width: 3.375rem;
                height: 3.375rem; } }
            .content-cards .block-inner .cards .card.transparent .card-info .card-info-inner .card-cta i, .content-cards .block-inner .cards .card.full_transparent .card-info .card-info-inner .card-cta i {
              font-size: 1.125rem; }
              @media print, screen and (min-width: 48em) {
                .content-cards .block-inner .cards .card.transparent .card-info .card-info-inner .card-cta i, .content-cards .block-inner .cards .card.full_transparent .card-info .card-info-inner .card-cta i {
                  font-size: 1.5rem; } }

.contact-block {
  margin: 2.5rem 1.5625rem 4.6875rem 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    .contact-block {
      margin: 5rem 0; } }
  .contact-block .block-wrapper {
    background: #765BA7;
    border-radius: 1.875rem;
    overflow: hidden; }
    @media print, screen and (min-width: 48em) {
      .contact-block .block-wrapper {
        margin: 0 auto;
        max-width: 75.625rem;
        border-radius: 1.875rem; } }
    @media print, screen and (min-width: 48em) {
      .contact-block .block-wrapper .block-details {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; } }
    .contact-block .block-wrapper .block-details .contact-content {
      padding: 1.875rem 1.875rem 2.5rem 1.875rem; }
      @media print, screen and (min-width: 48em) {
        .contact-block .block-wrapper .block-details .contact-content {
          padding: 3.125rem; } }
      .contact-block .block-wrapper .block-details .contact-content h1, .contact-block .block-wrapper .block-details .contact-content h2, .contact-block .block-wrapper .block-details .contact-content h3, .contact-block .block-wrapper .block-details .contact-content h4, .contact-block .block-wrapper .block-details .contact-content h5, .contact-block .block-wrapper .block-details .contact-content p {
        color: #fff; }
        .contact-block .block-wrapper .block-details .contact-content h1 a, .contact-block .block-wrapper .block-details .contact-content h2 a, .contact-block .block-wrapper .block-details .contact-content h3 a, .contact-block .block-wrapper .block-details .contact-content h4 a, .contact-block .block-wrapper .block-details .contact-content h5 a, .contact-block .block-wrapper .block-details .contact-content p a {
          color: #fff; }
      .contact-block .block-wrapper .block-details .contact-content .button {
        background: none;
        color: #fff;
        border-color: #fff;
        margin: 0.625rem 0 0 0; }
        .contact-block .block-wrapper .block-details .contact-content .button:hover {
          background: #fff;
          color: #765BA7; }
    @media print, screen and (min-width: 48em) {
      .contact-block .block-wrapper .block-details .image {
        width: 42.875rem;
        min-height: 33.875rem;
        -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
                flex-shrink: 0;
        position: relative;
        height: 100%; } }
    .contact-block .block-wrapper .block-details .image img {
      width: 100%;
      height: 13.125rem;
      -o-object-position: top;
         object-position: top;
      -o-object-fit: cover;
         object-fit: cover; }
      @media print, screen and (min-width: 48em) {
        .contact-block .block-wrapper .block-details .image img {
          position: Absolute;
          inset: 0;
          height: 100%; } }

.job-opportunities {
  padding: 2.5rem 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    .job-opportunities {
      padding: 5rem 0 0 0; } }
  @media print, screen and (min-width: 48em) {
    .job-opportunities .block-inner {
      max-width: 75.3125rem;
      margin: 0 auto; } }
  .job-opportunities .block-inner .block-title h4 {
    color: #765BA7;
    margin-bottom: 2.5rem; }
  .job-opportunities .block-inner .opportunities {
    margin-bottom: 3.125rem; }
    @media print, screen and (min-width: 48em) {
      .job-opportunities .block-inner .opportunities {
        margin-bottom: 6.25rem; } }
    .job-opportunities .block-inner .opportunities .career-item {
      background: #F0EEF6;
      border-radius: 1.875rem;
      margin-bottom: 3.4375rem;
      position: relative;
      padding: 6.5625rem 2.8125rem 2.8125rem 2.8125rem; }
      .job-opportunities .block-inner .opportunities .career-item .deadline {
        position: absolute;
        left: 0;
        top: 2.5rem;
        background: #765BA7;
        height: 2.3125rem;
        border-radius: 0 1.0625rem 1.0625rem 0;
        padding: 0 2.1875rem;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        color: #fff;
        font-family: 'Montserrat', sans-serif;
        font-weight: 600;
        font-size: 1rem; }
        .job-opportunities .block-inner .opportunities .career-item .deadline span {
          margin-right: 0.4375rem; }
      .job-opportunities .block-inner .opportunities .career-item .title h5 {
        margin-bottom: 0.9375rem; }
        .job-opportunities .block-inner .opportunities .career-item .title h5 a {
          color: #765BA7;
          border-bottom: none; }
      .job-opportunities .block-inner .opportunities .career-item .view-more {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; }
        .job-opportunities .block-inner .opportunities .career-item .view-more .more-link {
          text-transform: uppercase;
          font-family: 'Montserrat', sans-serif;
          font-weight: 700;
          font-size: 1rem;
          letter-spacing: 0.025rem;
          color: #765BA7;
          margin-right: 1.25rem;
          border-bottom: 2px solid transparent; }
          .job-opportunities .block-inner .opportunities .career-item .view-more .more-link:hover, .job-opportunities .block-inner .opportunities .career-item .view-more .more-link:focus {
            color: #765BA7;
            border-color: #765BA7; }
        .job-opportunities .block-inner .opportunities .career-item .view-more .favorite a {
          height: 1.9375rem;
          width: 1.9375rem;
          border-radius: 100%;
          border: 2px solid #765BA7;
          color: #765BA7;
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -webkit-align-items: center;
              -ms-flex-align: center;
                  align-items: center;
          -webkit-box-pack: center;
          -webkit-justify-content: center;
              -ms-flex-pack: center;
                  justify-content: center; }
          .job-opportunities .block-inner .opportunities .career-item .view-more .favorite a i {
            font-size: 0.9375rem; }
      .job-opportunities .block-inner .opportunities .career-item:hover {
        -webkit-box-shadow: 0.1875rem 0.1875rem 0.375rem rgba(0, 0, 0, 0.25);
                box-shadow: 0.1875rem 0.1875rem 0.375rem rgba(0, 0, 0, 0.25); }
        .job-opportunities .block-inner .opportunities .career-item:hover .view-more .more-link {
          border-color: #765BA7; }

.image-text {
  margin: 2.5rem 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    .image-text {
      margin: 5rem 0; } }
  @media print, screen and (min-width: 48em) {
    .image-text .image-text-container {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; } }
  .image-text .image-text-container .text-content h4 {
    color: #765BA7;
    margin: 0 0 1.25rem 0; }
  .image-text .image-text-container .image-wrapper {
    margin: 0 0 2.1875rem 0; }
    @media print, screen and (min-width: 48em) {
      .image-text .image-text-container .image-wrapper {
        width: 36.4375rem;
        margin: 0 2.1875rem 0 0;
        -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
                flex-shrink: 0; } }
    .image-text .image-text-container .image-wrapper img {
      width: 100%;
      height: 15rem;
      border-radius: 1.875rem 1.875rem 0 0;
      -o-object-fit: cover;
         object-fit: cover; }
      @media print, screen and (min-width: 48em) {
        .image-text .image-text-container .image-wrapper img {
          width: 36.4375rem;
          height: 30.4375rem; } }
  .image-text .image-text-container.right {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
    @media print, screen and (min-width: 48em) {
      .image-text .image-text-container.right .image-wrapper {
        margin-left: 2.1875rem;
        margin-right: 0; } }

.useful-pages {
  margin: 5rem 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    .useful-pages {
      margin: 5rem 0; } }
  @media print, screen and (min-width: 48em) {
    .useful-pages .block-wrapper {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }
  @media print, screen and (min-width: 48em) {
    .useful-pages .block-wrapper .block-content {
      width: 50%;
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0; } }
  .useful-pages .block-wrapper .block-content h3 {
    color: #765BA7;
    margin-bottom: 1.875rem; }
  @media print, screen and (min-width: 48em) {
    .useful-pages .block-wrapper .block-content p {
      max-width: 29.9375rem; } }
  @media print, screen and (min-width: 48em) {
    .useful-pages .block-wrapper .block-links {
      width: 50%;
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0;
      padding-left: 2.1875rem; } }
  .useful-pages .block-wrapper .block-links ul {
    margin: 0; }
    .useful-pages .block-wrapper .block-links ul li {
      border-bottom: 1px solid #DED8EA;
      padding: 1.375rem 2.1875rem 1.375rem 0;
      position: relative; }
      @media print, screen and (min-width: 48em) {
        .useful-pages .block-wrapper .block-links ul li {
          padding: 1.75rem 2.1875rem 1.75rem 0; } }
      .useful-pages .block-wrapper .block-links ul li:first-child {
        border-top: 1px solid #DED8EA; }
      .useful-pages .block-wrapper .block-links ul li a {
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        font-size: 1.125rem;
        line-height: 2rem;
        color: #000;
        border-bottom: 2px solid transparent;
        margin-right: 2.1875rem;
        display: inline;
        -webkit-box-decoration-break: clone;
                box-decoration-break: clone;
        position: relative; }
      .useful-pages .block-wrapper .block-links ul li:after {
        position: absolute;
        right: 0;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
        content: "\e909";
        font-family: 'icomoon', sans-serif;
        width: 1.6875rem;
        height: 1.6875rem;
        line-height: 1.4375rem;
        border-radius: 100%;
        border: 2px solid #765BA7;
        text-align: center;
        font-size: 0.6875rem;
        font-weight: 600;
        color: #765BA7;
        display: block; }
        @media print, screen and (min-width: 48em) {
          .useful-pages .block-wrapper .block-links ul li:after {
            display: none; } }
      .useful-pages .block-wrapper .block-links ul li:hover a {
        border-color: #765BA7; }
      .useful-pages .block-wrapper .block-links ul li:hover:after {
        display: inline-block; }

.reading-content {
  margin: 2.5rem 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    .reading-content {
      margin: 5rem 0; } }
  .reading-content .image-text-container {
    position: relative; }
    @media print, screen and (min-width: 48em) {
      .reading-content .image-text-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -webkit-flex-direction: row-reverse;
            -ms-flex-direction: row-reverse;
                flex-direction: row-reverse;
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
            -ms-flex-align: start;
                align-items: flex-start; } }
    @media print, screen and (min-width: 48em) {
      .reading-content .image-text-container .image-wrapper {
        margin-left: 2.1875rem;
        margin-right: 0; } }
    .reading-content .image-text-container .image-wrapper .card {
      min-height: 19.75rem; }
      @media print, screen and (min-width: 48em) {
        .reading-content .image-text-container .image-wrapper .card {
          min-height: 32.9375rem; } }
      @media print, screen and (min-width: 48em) {
        .reading-content .image-text-container .image-wrapper .card img {
          height: 24.125rem;
          width: 100%;
          -o-object-fit: cover;
             object-fit: cover;
          border-radius: 0; } }
      .reading-content .image-text-container .image-wrapper .card .card-info .card-info-inner {
        padding: 1.5625rem 1.25rem; }
        @media print, screen and (min-width: 48em) {
          .reading-content .image-text-container .image-wrapper .card .card-info .card-info-inner {
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: justify;
            -webkit-justify-content: space-between;
                -ms-flex-pack: justify;
                    justify-content: space-between;
            -webkit-box-align: center;
            -webkit-align-items: center;
                -ms-flex-align: center;
                    align-items: center;
            padding: 1.5625rem 2.8125rem; } }
        .reading-content .image-text-container .image-wrapper .card .card-info .card-info-inner h2 {
          font-family: 'Montserrat', sans-serif;
          font-weight: 600;
          font-size: 1.25rem;
          line-height: 1.5625rem; }
          @media print, screen and (min-width: 48em) {
            .reading-content .image-text-container .image-wrapper .card .card-info .card-info-inner h2 {
              font-size: 2.375rem;
              line-height: 3.25rem;
              width: 50%; } }
        @media print, screen and (max-width: 47.99875em) {
          .reading-content .image-text-container .image-wrapper .card .card-info .card-info-inner p strong {
            display: inline;
            font-family: 'Montserrat', sans-serif;
            font-weight: 500; } }
      .reading-content .image-text-container .image-wrapper .card:hover {
        -webkit-box-shadow: none;
                box-shadow: none; }
        .reading-content .image-text-container .image-wrapper .card:hover > img {
          -webkit-transform: scale(1);
              -ms-transform: scale(1);
                  transform: scale(1); }
    .reading-content .image-text-container .text-content .block-label {
      background: #F0EEF6;
      border-radius: 0 1.375rem 1.375rem 0;
      display: -webkit-inline-box;
      display: -webkit-inline-flex;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      padding: 0 4.375rem 0 0;
      height: 2.6875rem;
      font-family: 'Montserrat', sans-serif;
      font-weight: 800;
      font-size: 1rem;
      text-transform: uppercase;
      letter-spacing: 0.0625rem;
      color: #533986;
      position: absolute;
      z-index: 3;
      top: -1.25rem; }
      @media print, screen and (min-width: 48em) {
        .reading-content .image-text-container .text-content .block-label {
          position: relative;
          margin: 0 0 3.125rem 0;
          top: 0; } }
      .reading-content .image-text-container .text-content .block-label:before {
        content: '';
        position: absolute;
        left: -125rem;
        width: 125rem;
        top: 0;
        bottom: 0;
        background: #F0EEF6; }

.form-block {
  position: relative;
  z-index: 1;
  padding: 2.5rem 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    .form-block {
      padding: 4.0625rem 0 3.125rem 0; } }
  .form-block.dark {
    background: #F0EEF6; }
    .form-block.dark .the-form .gform_wrapper form .gform-body .gform_fields .gfield .ginput_container input[type="text"],
    .form-block.dark .the-form .gform_wrapper form .gform-body .gform_fields .gfield .ginput_container input[type="email"],
    .form-block.dark .the-form .gform_wrapper form .gform-body .gform_fields .gfield .ginput_container input[type="tel"],
    .form-block.dark .the-form .gform_wrapper form .gform-body .gform_fields .gfield .ginput_container textarea {
      background: #fff; }
    .form-block.dark .the-form .gform_wrapper form .gform_footer {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
  .form-block .form-wrapper {
    position: relative;
    z-index: 3; }
    @media print, screen and (min-width: 48em) {
      .form-block .form-wrapper {
        max-width: 75.625rem;
        margin: 0 auto; } }
    .form-block .form-wrapper .form-title h4 {
      color: #765BA7;
      margin-bottom: 2.5rem; }
    .form-block .form-wrapper .the-form .gform_wrapper .gform_validation_errors {
      background: none;
      padding: 0;
      border: none;
      -webkit-box-shadow: none;
              box-shadow: none;
      margin-bottom: 1.875rem; }
    @media print, screen and (min-width: 48em) {
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield {
        margin-bottom: 0.625rem; } }
    .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield .gfield_label,
    .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield .gform-field-label {
      font-family: 'Montserrat', sans-serif;
      font-weight: 600;
      font-size: 1rem;
      color: #2D3344; }
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield .gfield_label .gfield_required .gfield_required_text,
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield .gform-field-label .gfield_required .gfield_required_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; }
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield .gfield_label .gfield_required:after,
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield .gform-field-label .gfield_required:after {
        content: '*';
        font-size: 1.25rem; }
    .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield input[type="text"],
    .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield input[type="email"],
    .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield input[type="tel"],
    .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield textarea {
      height: 3.375rem;
      border-radius: 1.6875rem;
      -webkit-box-shadow: none;
              box-shadow: none;
      padding: 0 1.5625rem;
      font-family: 'Montserrat', sans-serif;
      font-weight: 500;
      font-size: 1rem;
      border: none;
      background: #EDEDED; }
      @media print, screen and (min-width: 48em) {
        .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield input[type="text"],
        .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield input[type="email"],
        .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield input[type="tel"],
        .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield textarea {
          height: 4.375rem;
          border-radius: 0.625rem; } }
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield input[type="text"]::-webkit-input-placeholder,
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield input[type="email"]::-webkit-input-placeholder,
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield input[type="tel"]::-webkit-input-placeholder,
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield textarea::-webkit-input-placeholder {
        opacity: 1;
        color: #2D3344; }
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield input[type="text"]::-moz-placeholder,
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield input[type="email"]::-moz-placeholder,
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield input[type="tel"]::-moz-placeholder,
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield textarea::-moz-placeholder {
        opacity: 1;
        color: #2D3344; }
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield input[type="text"]:-ms-input-placeholder,
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield input[type="email"]:-ms-input-placeholder,
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield input[type="tel"]:-ms-input-placeholder,
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield textarea:-ms-input-placeholder {
        opacity: 1;
        color: #2D3344; }
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield input[type="text"]::-ms-input-placeholder,
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield input[type="email"]::-ms-input-placeholder,
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield input[type="tel"]::-ms-input-placeholder,
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield textarea::-ms-input-placeholder {
        opacity: 1;
        color: #2D3344; }
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield input[type="text"]::placeholder,
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield input[type="email"]::placeholder,
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield input[type="tel"]::placeholder,
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield textarea::placeholder {
        opacity: 1;
        color: #2D3344; }
    .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield select {
      height: 3.125rem;
      border-radius: 0.625rem;
      -webkit-box-shadow: none;
              box-shadow: none;
      padding: 0 0.9375rem;
      font-family: 'Montserrat', sans-serif;
      font-weight: 400;
      font-size: 1.125rem;
      border: 2px solid #eee;
      background-position: 99% center; }
    .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield textarea {
      padding: 1.5625rem;
      height: 13.5rem;
      resize: none; }
    .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-fileupload label {
      font-family: 'Montserrat', sans-serif;
      font-weight: 500;
      font-size: 1.125rem;
      color: #2D3344; }
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-fileupload label:before {
        content: "\e902";
        font-family: 'icomoon';
        color: #000;
        margin-right: 0.625rem; }
    .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-fileupload .gform_fileupload_rules {
      display: none; }
    .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-section {
      margin-top: 3.125rem; }
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-section .gsection_title {
        font-family: 'Montserrat', sans-serif;
        font-weight: 600;
        font-size: 1.1875rem;
        line-height: 1.625rem;
        color: #2D3344; }
        @media print, screen and (min-width: 48em) {
          .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-section .gsection_title {
            font-size: 1.25rem;
            line-height: 1.75rem; } }
    .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-html {
      margin-top: 3.125rem; }
    @media print, screen and (max-width: 47.99875em) {
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-name {
        margin-bottom: 0; } }
    .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-name .ginput_container .gform-grid-col {
      margin-bottom: 0.9375rem; }
      @media print, screen and (min-width: 48em) {
        .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-name .ginput_container .gform-grid-col {
          margin-bottom: 0; } }
    .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-product {
      margin-bottom: 1.875rem; }
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-product .ginput_container_singleproduct input {
        height: 3.125rem;
        border-radius: 0.625rem;
        -webkit-box-shadow: none;
                box-shadow: none;
        padding: 0 0.3125rem 0 0.9375rem;
        font-family: 'Montserrat', sans-serif;
        font-weight: 400;
        font-size: 1.125rem;
        border: 2px solid #eee; }
        .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-product .ginput_container_singleproduct input::-webkit-input-placeholder {
          opacity: 1;
          color: #2D3344; }
        .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-product .ginput_container_singleproduct input::-moz-placeholder {
          opacity: 1;
          color: #2D3344; }
        .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-product .ginput_container_singleproduct input:-ms-input-placeholder {
          opacity: 1;
          color: #2D3344; }
        .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-product .ginput_container_singleproduct input::-ms-input-placeholder {
          opacity: 1;
          color: #2D3344; }
        .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-product .ginput_container_singleproduct input::placeholder {
          opacity: 1;
          color: #2D3344; }
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-product .ginput_container_singleproduct .gform-field-label {
        font-family: 'Montserrat', sans-serif;
        font-weight: 400;
        font-size: 1rem;
        color: #2D3344; }
        .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-product .ginput_container_singleproduct .gform-field-label.ginput_product_price {
          color: #901A3D; }
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-product .gfield_description {
        font-family: 'Montserrat', sans-serif;
        font-weight: 400;
        font-size: 1rem;
        color: #565f81; }
    @media print, screen and (max-width: 47.99875em) {
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-consent .ginput_container_consent {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; } }
    @media print, screen and (max-width: 47.99875em) {
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-consent .ginput_container_consent input {
        width: 1.25rem;
        -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
                flex-shrink: 0;
        margin-right: 0.625rem; } }
    .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-consent .ginput_container_consent label {
      font-family: 'Montserrat', sans-serif;
      font-weight: 600;
      font-size: 1rem; }
      @media print, screen and (max-width: 47.99875em) {
        .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-consent .ginput_container_consent label {
          margin-top: 0.3125rem; } }
    @media print, screen and (min-width: 48em) {
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-radio, .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-checkbox {
        max-width: 49.75rem; } }
    .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-radio legend, .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-checkbox legend {
      border-bottom: 0.5px solid #765BA7;
      display: block;
      width: 100%;
      padding-bottom: 0.9375rem;
      font-family: 'Montserrat', sans-serif;
      font-weight: 500;
      font-size: 1rem;
      color: #000000; }
    @media print, screen and (min-width: 48em) {
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-radio .gfield_checkbox,
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-radio .gfield_radio, .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-checkbox .gfield_checkbox,
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-checkbox .gfield_radio {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; } }
    .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-radio .gchoice, .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-checkbox .gchoice {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      margin: 0 0 0.625rem 0; }
      @media print, screen and (min-width: 48em) {
        .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-radio .gchoice, .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-checkbox .gchoice {
          margin: 0 3.125rem 0 0; } }
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-radio .gchoice label, .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-checkbox .gchoice label {
        font-family: 'Montserrat', sans-serif;
        font-weight: 400;
        color: #000; }
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-radio .gchoice input, .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-checkbox .gchoice input {
        margin-bottom: 0;
        accent-color: #765BA7; }
    @media print, screen and (min-width: 48em) {
      .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield.gfield--type-select {
        width: 23.625rem; } }
    .form-block .form-wrapper .the-form .gform_wrapper form .gform-body .gform_fields .gfield .gfield_validation_message {
      background: none;
      padding: 0;
      border: none;
      font-family: 'Montserrat', sans-serif;
      font-weight: 400;
      font-size: 1.125rem; }
    .form-block .form-wrapper .the-form .gform_wrapper form .gform_footer {
      margin-top: 1.875rem;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
      @media print, screen and (min-width: 48em) {
        .form-block .form-wrapper .the-form .gform_wrapper form .gform_footer {
          -webkit-box-pack: end;
          -webkit-justify-content: flex-end;
              -ms-flex-pack: end;
                  justify-content: flex-end; } }
      .form-block .form-wrapper .the-form .gform_wrapper form .gform_footer input {
        height: 2.4375rem;
        border: 1px solid #765BA7;
        background: #765BA7;
        color: #fff;
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 1rem;
        border-radius: 1.25rem;
        display: -webkit-inline-box;
        display: -webkit-inline-flex;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 0 1.5625rem;
        letter-spacing: 0.025rem; }
        .form-block .form-wrapper .the-form .gform_wrapper form .gform_footer input:hover, .form-block .form-wrapper .the-form .gform_wrapper form .gform_footer input:focus {
          background: none;
          color: #765BA7; }

.affiliate-companies {
  margin: 2.5rem 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    .affiliate-companies {
      margin: 5rem 0; } }
  .affiliate-companies .block-title h3 {
    color: #765BA7;
    margin-bottom: 3.125rem; }
  @media print, screen and (min-width: 48em) {
    .affiliate-companies .logos {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      margin: 0 -1.0625rem; } }
  .affiliate-companies .logos .logo {
    margin: 0 0 1.5625rem 0; }
    @media print, screen and (min-width: 48em) {
      .affiliate-companies .logos .logo {
        width: 17.125rem;
        -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
                flex-shrink: 0;
        margin: 0 1.0625rem 2.1875rem 1.0625rem; } }
    .affiliate-companies .logos .logo img {
      width: 100%;
      height: 9.625rem;
      border-radius: 1.875rem;
      -o-object-fit: cover;
         object-fit: cover; }
      @media print, screen and (min-width: 48em) {
        .affiliate-companies .logos .logo img {
          max-width: 17.125rem;
          height: auto; } }

.video-content {
  margin: 2.5rem 1.5625rem;
  position: relative;
  padding-bottom: 3.75rem; }
  @media print, screen and (min-width: 48em) {
    .video-content {
      margin-top: 5rem;
      margin-bottom: 5rem;
      padding-bottom: 0; } }
  .video-content .block-content {
    margin-bottom: 3.4375rem; }
    .video-content .block-content h4 {
      color: #765BA7;
      margin-bottom: 2.1875rem; }
  @media print, screen and (min-width: 48em) {
    .video-content .videos-slider {
      margin: 0 -1.0625rem; } }
  @media print, screen and (min-width: 48em) {
    .video-content .videos-slider .video-item {
      width: 33.625rem;
      margin: 0 1.0625rem; } }
  .video-content .videos-slider .video-item .video-placeholder {
    position: relative;
    width: 100%;
    border-radius: 1.875rem;
    overflow: hidden;
    display: block;
    height: 13.125rem;
    z-index: 1;
    margin-bottom: 3.125rem;
    border-bottom: none; }
    @media print, screen and (min-width: 48em) {
      .video-content .videos-slider .video-item .video-placeholder {
        height: 22.8125rem; } }
    .video-content .videos-slider .video-item .video-placeholder:after {
      content: '';
      position: absolute;
      inset: 0;
      background: rgba(0, 0, 0, 0.26);
      z-index: 3; }
    .video-content .videos-slider .video-item .video-placeholder img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover;
      z-index: 2; }
    .video-content .videos-slider .video-item .video-placeholder .play-video {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      z-index: 4;
      color: #fff;
      font-size: 3.125rem; }
      @media print, screen and (min-width: 48em) {
        .video-content .videos-slider .video-item .video-placeholder .play-video {
          font-size: 5.625rem; } }
    .video-content .videos-slider .video-item .video-placeholder:hover:after {
      background: rgba(0, 0, 0, 0.4); }
  .video-content .videos-slider .video-item .video-details .video-title {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 1.5625rem; }
    .video-content .videos-slider .video-item .video-details .video-title h5 {
      margin: 0 3.4375rem 0 0; }
      .video-content .videos-slider .video-item .video-details .video-title h5 a {
        color: #765BA7;
        font-size: 1.5rem;
        line-height: 1.9375rem;
        border-bottom: none; }
    .video-content .videos-slider .video-item .video-details .video-title .add-to-favorite {
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0; }
  .video-content .videos-slider .video-item .video-details .video-duration {
    margin-bottom: 1.5625rem; }
    .video-content .videos-slider .video-item .video-details .video-duration span {
      font-family: 'Montserrat', sans-serif;
      font-weight: 500;
      font-size: 1rem; }
  .video-content .videos-slider .video-item .video-details .video-description h6 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    margin-bottom: 0.9375rem;
    color: #000;
    text-transform: uppercase;
    letter-spacing: 0.0125rem; }
  .video-content .videos-slider .video-item .video-details .video-description ul {
    margin: 0; }

.video-content .slick-track,
.audio-content .slick-track {
  margin-left: 0;
  margin-right: 0; }

.video-content .slick-arrow,
.audio-content .slick-arrow {
  top: auto;
  bottom: -2.5rem;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none; }
  @media print, screen and (min-width: 48em) {
    .video-content .slick-arrow,
    .audio-content .slick-arrow {
      bottom: auto;
      top: 10rem;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; } }

.video-content .slick-arrow,
.audio-content .slick-arrow {
  position: absolute;
  width: 2.5rem;
  height: 2.5rem;
  display: block; }
  @media print, screen and (min-width: 48em) {
    .video-content .slick-arrow,
    .audio-content .slick-arrow {
      width: 3.6875rem;
      height: 3.6875rem; } }
  .video-content .slick-arrow:before,
  .audio-content .slick-arrow:before {
    font-family: 'icomoon', sans-serif;
    width: 2.5rem;
    height: 2.5rem;
    background: none;
    border-radius: 100%;
    border: 3px solid #765BA7;
    color: #765BA7;
    line-height: normal;
    font-size: 1.25rem;
    font-weight: bold;
    opacity: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media print, screen and (min-width: 48em) {
      .video-content .slick-arrow:before,
      .audio-content .slick-arrow:before {
        font-size: 2.5rem;
        width: 3.6875rem;
        height: 3.6875rem;
        border: none; } }
  .video-content .slick-arrow.slick-next,
  .audio-content .slick-arrow.slick-next {
    right: calc(50% - 3.75rem); }
    @media print, screen and (min-width: 48em) {
      .video-content .slick-arrow.slick-next,
      .audio-content .slick-arrow.slick-next {
        right: -2.8125rem; } }
    .video-content .slick-arrow.slick-next:before,
    .audio-content .slick-arrow.slick-next:before {
      content: "\e904"; }
  .video-content .slick-arrow.slick-prev,
  .audio-content .slick-arrow.slick-prev {
    left: calc(50% - 3.75rem); }
    @media print, screen and (min-width: 48em) {
      .video-content .slick-arrow.slick-prev,
      .audio-content .slick-arrow.slick-prev {
        left: -2.8125rem; } }
    .video-content .slick-arrow.slick-prev:before,
    .audio-content .slick-arrow.slick-prev:before {
      content: "\e904";
      -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
              transform: rotate(180deg); }
  .video-content .slick-arrow.slick-disabled:before,
  .audio-content .slick-arrow.slick-disabled:before {
    background: none;
    border-color: rgba(146, 219, 232, 0.31); }
  .video-content .slick-arrow:hover:before,
  .audio-content .slick-arrow:hover:before {
    background: #765BA7;
    color: #fff; }
    @media print, screen and (min-width: 48em) {
      .video-content .slick-arrow:hover:before,
      .audio-content .slick-arrow:hover:before {
        background: none;
        color: #765BA7; } }

.resources-library {
  background: #F8F8F8;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem; }
  @media print, screen and (min-width: 48em) {
    .resources-library {
      margin-top: 0;
      margin-bottom: 2.1875rem; } }
  .resources-library .block-wrapper {
    margin: 0 1.5625rem; }
    @media print, screen and (min-width: 48em) {
      .resources-library .block-wrapper {
        max-width: 75.625rem;
        margin: 0 auto; } }
    @media print, screen and (min-width: 48em) {
      .resources-library .block-wrapper .block-wrapper-inner {
        max-width: 68.75rem;
        padding: 0 1.875rem; } }
    .resources-library .block-wrapper .block-wrapper-inner .block-label {
      margin-top: 2.5rem; }
    .resources-library .block-wrapper .block-wrapper-inner .resources-title {
      padding-bottom: 2.1875rem;
      border-bottom: 3px solid #B4B4B4; }
      .resources-library .block-wrapper .block-wrapper-inner .resources-title h4 {
        color: #765BA7;
        margin-bottom: 1.5625rem; }
    .resources-library .block-wrapper .load-more-wrapper {
      padding: 0 0 2.1875rem 0;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; }
  .resources-library button.show-more {
    margin: 0 auto 0.625rem;
    display: none; }
  .resources-library .hidden {
    display: none; }
  .resources-library.has-more-results button.show-more {
    display: block; }
  .resources-library.show-more button.show-more {
    display: none; }
  .resources-library.show-more .hidden {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }

.audio-content {
  margin: 5rem 1.5625rem;
  position: relative; }
  @media print, screen and (min-width: 48em) {
    .audio-content {
      margin: 5rem 0; } }
  .audio-content .listen-label {
    position: absolute;
    top: -0.625rem;
    z-index: 10; }
    @media print, screen and (min-width: 48em) {
      .audio-content .listen-label {
        top: 3.75rem; } }
  .audio-content .audio-slider {
    position: relative;
    z-index: 5; }
  .audio-content .block-content {
    background: #F8F8F8;
    border-radius: 1.875rem 1.875rem 0.75rem 1.875rem;
    margin: 0.625rem 0; }
    @media print, screen and (min-width: 48em) {
      .audio-content .block-content {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; } }
    .audio-content .block-content .image-content {
      position: relative; }
      @media print, screen and (min-width: 48em) {
        .audio-content .block-content .image-content {
          width: 50%;
          -webkit-flex-shrink: 0;
              -ms-flex-negative: 0;
                  flex-shrink: 0; } }
      .audio-content .block-content .image-content img {
        width: 100%;
        height: 12.875rem;
        -o-object-fit: cover;
           object-fit: cover;
        border-radius: 1.875rem 1.875rem 0 0; }
        @media print, screen and (min-width: 48em) {
          .audio-content .block-content .image-content img {
            height: 100%;
            border-radius: 1.875rem 0 0 1.875rem; } }
    .audio-content .block-content .audio-details {
      padding: 2.1875rem;
      position: relative; }
      .audio-content .block-content .audio-details .favourites-icon {
        position: absolute;
        top: -0.9375rem;
        right: 1.5625rem; }
      .audio-content .block-content .audio-details .audio-head {
        margin-bottom: 1.875rem; }
        .audio-content .block-content .audio-details .audio-head .play, .audio-content .block-content .audio-details .audio-head .pause {
          font-size: 3.625rem;
          color: #765BA7;
          border-bottom: none; }
        .audio-content .block-content .audio-details .audio-head .pause {
          cursor: not-allowed;
          color: #7F7F7F;
          display: none; }
      .audio-content .block-content .audio-details .audio-date {
        margin-bottom: 1.5625rem; }
        .audio-content .block-content .audio-details .audio-date p {
          color: #000;
          margin: 0; }
      .audio-content .block-content .audio-details .audio-title {
        margin-bottom: 2.5rem; }
        .audio-content .block-content .audio-details .audio-title h5 {
          color: #765BA7;
          margin: 0; }
      .audio-content .block-content .audio-details .audio-description h6 {
        text-transform: uppercase;
        letter-spacing: 0.025rem;
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 1rem; }
  .audio-content .audio-slide.playing .audio-details .audio-head .play, .audio-content.playing .audio-details .audio-head .play {
    cursor: not-allowed;
    color: #7F7F7F;
    display: none; }
  .audio-content .audio-slide.playing .audio-details .audio-head .pause, .audio-content.playing .audio-details .audio-head .pause {
    color: #765BA7;
    cursor: pointer;
    display: block; }
  .audio-content .slider {
    background: #EDEDED;
    height: 0.75rem;
    top: 0;
    right: 0;
    left: 0;
    position: absolute;
    margin: 0; }
    @media print, screen and (min-width: 48em) {
      .audio-content .slider {
        border-radius: 0 0 0.75rem 0;
        top: auto;
        bottom: 0; } }
    .audio-content .slider .slider-fill {
      background: #765BA7;
      height: 0.75rem; }
    .audio-content .slider .slider-handle {
      height: 2.25rem;
      width: 2.25rem;
      background: #765BA7;
      border: 3px solid #fefefe;
      border-radius: 100%; }
  @media print, screen and (min-width: 48em) {
    .audio-content .slick-arrow.slick-next {
      right: -4.0625rem; } }
  @media print, screen and (min-width: 48em) {
    .audio-content .slick-arrow.slick-prev {
      left: -4.0625rem; } }

.archive-block {
  padding: 0 1.5625rem 2.5rem 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    .archive-block {
      padding: 0 0 2.5rem 0; } }
  .archive-block .search-form {
    position: relative;
    height: 2.625rem;
    background: #F8F8F8;
    border-radius: 1.3125rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 2.1875rem; }
    @media print, screen and (min-width: 48em) {
      .archive-block .search-form {
        height: 3.875rem;
        border-radius: 1.9375rem; } }
    .archive-block .search-form input {
      background: none;
      -webkit-box-shadow: none;
              box-shadow: none;
      border: none;
      height: 2.625rem;
      line-height: 2.625rem;
      padding: 0;
      margin: 0; }
      @media print, screen and (min-width: 48em) {
        .archive-block .search-form input {
          height: 3.875rem;
          line-height: 3.875rem; } }
      .archive-block .search-form input::-webkit-input-placeholder {
        opacity: 1;
        color: #000;
        font-size: 1rem;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500; }
      .archive-block .search-form input::-moz-placeholder {
        opacity: 1;
        color: #000;
        font-size: 1rem;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500; }
      .archive-block .search-form input:-ms-input-placeholder {
        opacity: 1;
        color: #000;
        font-size: 1rem;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500; }
      .archive-block .search-form input::-ms-input-placeholder {
        opacity: 1;
        color: #000;
        font-size: 1rem;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500; }
      .archive-block .search-form input::placeholder {
        opacity: 1;
        color: #000;
        font-size: 1rem;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500; }
    .archive-block .search-form i {
      font-size: 1.375rem;
      color: #000000;
      margin: 0 1.875rem 0 0.9375rem; }
    .archive-block .search-form button {
      display: none; }
      @media print, screen and (min-width: 48em) {
        .archive-block .search-form button {
          display: block;
          margin: 0.625rem;
          width: auto;
          -webkit-flex-shrink: 0;
              -ms-flex-negative: 0;
                  flex-shrink: 0;
          background: #765BA7;
          color: #fff; } }
  @media print, screen and (min-width: 48em) {
    .archive-block .filters {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      margin: 0 -1rem 2.1875rem -1rem; } }
  .archive-block .filters .filter {
    margin: 0 0 1.875rem 0; }
    @media print, screen and (min-width: 48em) {
      .archive-block .filters .filter {
        width: 23.8125rem;
        -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
                flex-shrink: 0;
        margin: 0 1rem; } }
  @media print, screen and (min-width: 48em) {
    .archive-block .posts-container {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      margin: 0 -1rem; } }
  .archive-block .post-item {
    margin: 0 0 1.875rem 0; }
    @media print, screen and (min-width: 48em) {
      .archive-block .post-item {
        width: 23.8125rem;
        -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
                flex-shrink: 0;
        margin: 0 1rem 3.125rem 1rem; } }
    .archive-block .post-item .post-item-image {
      display: block;
      position: relative;
      height: 13.9375rem;
      margin-bottom: 1.375rem;
      border-bottom: none; }
      @media print, screen and (min-width: 48em) {
        .archive-block .post-item .post-item-image {
          height: 16.5rem; } }
    .archive-block .post-item .post-label {
      position: absolute;
      left: 0;
      top: 1.875rem;
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: 1rem;
      text-transform: uppercase;
      letter-spacing: 0.025rem;
      background: #fff;
      color: #765BA7;
      border-radius: 0 1.1875rem 1.1875rem 0;
      height: 2.4375rem;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      padding: 0 1.25rem 0 0.625rem;
      z-index: 5; }
    .archive-block .post-item img {
      width: 100%;
      height: 13.9375rem;
      -o-object-fit: cover;
         object-fit: cover;
      border-radius: 1.875rem; }
      @media print, screen and (min-width: 48em) {
        .archive-block .post-item img {
          height: 16.5rem; } }
    .archive-block .post-item .post-date {
      margin-bottom: 1.25rem;
      font-family: 'Montserrat', sans-serif;
      font-weight: 500;
      font-size: 1rem;
      display: none; }
    .archive-block .post-item h5 {
      color: #765BA7; }
    .archive-block .post-item .read-more {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
      .archive-block .post-item .read-more .more-link {
        margin-right: 1.25rem;
        color: #765BA7;
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 1rem;
        line-height: 1;
        text-transform: uppercase;
        letter-spacing: 0.025rem;
        border-bottom: 3px solid transparent; }
    .archive-block .post-item:hover .post-item-image:after {
      content: '';
      position: absolute;
      inset: 0;
      background: rgba(0, 0, 0, 0.3);
      z-index: 3;
      border-radius: 1.875rem; }
    .archive-block .post-item:hover .post-item-image:before {
      content: "\e909";
      font-family: 'icomoon', sans-serif;
      width: 2.75rem;
      height: 2.75rem;
      border-radius: 100%;
      border: 3px solid #fff;
      color: #fff;
      position: absolute;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      z-index: 4;
      font-size: 1.375rem; }
    .archive-block .post-item:hover .post-item-details .read-more .more-link {
      border-color: #765BA7; }

.accordion-content-block {
  margin: 5rem 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    .accordion-content-block {
      max-width: 75.625rem;
      margin: 0 auto;
      margin-top: 5rem;
      margin-bottom: 5rem; } }
  .accordion-content-block .accordion-wrapper .block-title {
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 48em) {
      .accordion-content-block .accordion-wrapper .block-title {
        margin-bottom: 1.875rem; } }
  .accordion-content-block .accordion-wrapper .accordion {
    background: none; }
    .accordion-content-block .accordion-wrapper .accordion .accordion-item {
      border: none;
      background: #F8F8F8;
      margin-bottom: 0.9375rem;
      padding: 1.25rem 1.5625rem;
      border-radius: 1.0625rem; }
      .accordion-content-block .accordion-wrapper .accordion .accordion-item:before {
        display: none; }
      .accordion-content-block .accordion-wrapper .accordion .accordion-item .accordion-title {
        color: #765BA7;
        font-family: 'Montserrat', sans-serif;
        font-weight: 600;
        font-size: 1.5rem;
        line-height: 1.9375rem;
        letter-spacing: 0.0125rem;
        border: none;
        text-decoration: none;
        padding: 0 1.875rem 0 0; }
        @media print, screen and (min-width: 48em) {
          .accordion-content-block .accordion-wrapper .accordion .accordion-item .accordion-title {
            font-size: 1.25rem; } }
        .accordion-content-block .accordion-wrapper .accordion .accordion-item .accordion-title:hover, .accordion-content-block .accordion-wrapper .accordion .accordion-item .accordion-title:focus {
          background: none;
          text-decoration: none; }
        .accordion-content-block .accordion-wrapper .accordion .accordion-item .accordion-title:before {
          font-size: 0.75rem;
          font-weight: 700;
          content: "\e904";
          font-family: 'icomoon';
          width: 1.6875rem;
          height: 1.6875rem;
          border-radius: 100%;
          border: 2px solid #765BA7;
          top: 0.125rem;
          right: 0;
          background: none;
          color: #765BA7;
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -webkit-align-items: center;
              -ms-flex-align: center;
                  align-items: center;
          -webkit-box-pack: center;
          -webkit-justify-content: center;
              -ms-flex-pack: center;
                  justify-content: center;
          margin-top: 0;
          -webkit-transform: rotate(90deg);
              -ms-transform: rotate(90deg);
                  transform: rotate(90deg); }
      .accordion-content-block .accordion-wrapper .accordion .accordion-item .accordion-content {
        border: none;
        background: none;
        padding: 1.875rem 0 0 0; }
        @media print, screen and (min-width: 48em) {
          .accordion-content-block .accordion-wrapper .accordion .accordion-item .accordion-content .wysiwyg {
            padding-right: 2.5rem; } }
        .accordion-content-block .accordion-wrapper .accordion .accordion-item .accordion-content .wysiwyg p,
        .accordion-content-block .accordion-wrapper .accordion .accordion-item .accordion-content .wysiwyg ul li {
          font-size: 1rem;
          line-height: 1.8125rem; }
        .accordion-content-block .accordion-wrapper .accordion .accordion-item .accordion-content .wysiwyg ul {
          margin-bottom: 1.875rem; }
      .accordion-content-block .accordion-wrapper .accordion .accordion-item.is-active .accordion-title {
        background: none; }
        .accordion-content-block .accordion-wrapper .accordion .accordion-item.is-active .accordion-title:before {
          -webkit-transform: rotate(-90deg);
              -ms-transform: rotate(-90deg);
                  transform: rotate(-90deg); }

.resources-card .accordion-wrapper .accordion .accordion-item {
  padding: 1.25rem 1.5625rem 3.125rem 1.5625rem; }
  .resources-card .accordion-wrapper .accordion .accordion-item .accordion-title {
    position: static;
    padding: 0; }
    .resources-card .accordion-wrapper .accordion .accordion-item .accordion-title:before {
      font-size: 0.75rem;
      font-weight: 700;
      content: "\e904";
      font-family: 'icomoon';
      width: 1.6875rem;
      height: 1.6875rem;
      border-radius: 100%;
      border: 2px solid #765BA7;
      bottom: 1.875rem;
      top: auto;
      background: none;
      color: #765BA7;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin-top: 0;
      -webkit-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
              transform: rotate(90deg);
      right: 1.5625rem; }
    .resources-card .accordion-wrapper .accordion .accordion-item .accordion-title:after {
      content: attr(data-more-text);
      position: absolute;
      right: 2.5rem;
      bottom: 1.75rem;
      display: inline;
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: 1rem;
      text-transform: uppercase;
      right: 4.0625rem; }
  .resources-card .accordion-wrapper .accordion .accordion-item .accordion-content .wysiwyg p,
  .resources-card .accordion-wrapper .accordion .accordion-item .accordion-content .wysiwyg ul li {
    font-size: 1.125rem;
    line-height: 2rem; }
  .resources-card .accordion-wrapper .accordion .accordion-item.is-active {
    position: relative;
    padding: 1.25rem 1.5625rem 1.875rem 1.5625rem; }
    .resources-card .accordion-wrapper .accordion .accordion-item.is-active .accordion-title {
      position: static;
      padding: 0; }
      .resources-card .accordion-wrapper .accordion .accordion-item.is-active .accordion-title:before {
        -webkit-transform: rotate(-90deg);
            -ms-transform: rotate(-90deg);
                transform: rotate(-90deg); }
      .resources-card .accordion-wrapper .accordion .accordion-item.is-active .accordion-title:after {
        content: attr(data-less-text); }
    .resources-card .accordion-wrapper .accordion .accordion-item.is-active .accordion-content {
      padding: 0 0 3.125rem 0; }
  .resources-card .accordion-wrapper .accordion .accordion-item.no-more .accordion-title:before, .resources-card .accordion-wrapper .accordion .accordion-item.no-more .accordion-title:after {
    display: none; }

.case-study-block .read-more {
  text-align: right;
  right: 2.5rem; }
  .case-study-block .read-more a {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    text-transform: uppercase;
    border-bottom: none;
    color: #765BA7;
    display: inline-block;
    position: relative;
    padding-right: 2.5rem; }
    .case-study-block .read-more a:after {
      font-size: 0.75rem;
      font-weight: 700;
      content: "\e904";
      font-family: 'icomoon';
      width: 1.6875rem;
      height: 1.6875rem;
      border-radius: 100%;
      border: 2px solid #765BA7;
      bottom: 1.875rem;
      top: auto;
      right: 0;
      background: none;
      color: #765BA7;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin-top: 0;
      position: absolute;
      top: 0.0625rem;
      right: 0; }

.case-study-block .accordion-wrapper .accordion .accordion-item.case-study {
  padding-bottom: 1.75rem; }

.subscribe-block {
  min-height: 16.6875rem;
  padding: 0 1.5625rem; }
  @media print, screen and (min-width: 48em) {
    .subscribe-block {
      padding: 0; } }
  .subscribe-block ul.tabs {
    border: 2px solid #765BA7;
    border-radius: 1.25rem;
    overflow: hidden;
    margin-bottom: 3.9375rem; }
    @media print, screen and (min-width: 48em) {
      .subscribe-block ul.tabs {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; } }
    .subscribe-block ul.tabs li.tabs-title {
      padding: 0;
      border: none;
      float: none; }
      @media print, screen and (min-width: 48em) {
        .subscribe-block ul.tabs li.tabs-title {
          -webkit-flex-basis: 50%;
              -ms-flex-preferred-size: 50%;
                  flex-basis: 50%; } }
      .subscribe-block ul.tabs li.tabs-title:before {
        display: none; }
      .subscribe-block ul.tabs li.tabs-title a {
        font-family: 'Montserrat', sans-serif;
        font-weight: 600;
        border: none;
        padding: 1.625rem;
        font-size: 1.8125rem;
        line-height: 2.1875rem;
        color: #765BA7;
        text-align: center;
        border-bottom: 2px solid #765BA7; }
        @media print, screen and (min-width: 48em) {
          .subscribe-block ul.tabs li.tabs-title a {
            border-right: 2px solid #765BA7;
            border-bottom: none; } }
        .subscribe-block ul.tabs li.tabs-title a:hover, .subscribe-block ul.tabs li.tabs-title a:active {
          background: #765BA7;
          color: #fefefe; }
      .subscribe-block ul.tabs li.tabs-title.is-active a {
        background: #765BA7;
        color: #fefefe; }
      .subscribe-block ul.tabs li.tabs-title:last-of-type a {
        border-right: 0;
        border-bottom: 0; }
  .subscribe-block .tabs-content {
    border: none;
    margin-bottom: 4.375rem; }
  .subscribe-block .tabs-panel {
    padding: 0; }
  .subscribe-block .gform_wrapper.gravity-theme {
    /* Base for label styling */
    /* checkbox aspect */
    /* checked mark aspect */
    /* checked mark aspect changes */
    /* disabled checkbox */
    /* accessibility */ }
    @media print, screen and (max-width: 47.99875em) {
      .subscribe-block .gform_wrapper.gravity-theme .gform_fields {
        display: block; } }
    .subscribe-block .gform_wrapper.gravity-theme .gform-body {
      margin-bottom: 1.875rem; }
    @media print, screen and (max-width: 47.99875em) {
      .subscribe-block .gform_wrapper.gravity-theme .gfield {
        margin-bottom: 0.625rem; } }
    .subscribe-block .gform_wrapper.gravity-theme .gfield.gfield--type-checkbox {
      margin-bottom: 2.5rem; }
    .subscribe-block .gform_wrapper.gravity-theme .gfield_label {
      font-family: 'Montserrat', sans-serif;
      font-weight: 600;
      color: #765BA7;
      font-size: 1.5rem;
      line-height: 1.9375rem; }
    .subscribe-block .gform_wrapper.gravity-theme .gfield_description {
      font-family: 'Montserrat', sans-serif;
      font-weight: 500;
      font-size: 1.125rem;
      line-height: 2rem; }
    .subscribe-block .gform_wrapper.gravity-theme .gfield_checkbox {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      position: relative; }
    .subscribe-block .gform_wrapper.gravity-theme .gchoice {
      margin-right: 2.875rem; }
    .subscribe-block .gform_wrapper.gravity-theme input[type="text"],
    .subscribe-block .gform_wrapper.gravity-theme input[type="email"],
    .subscribe-block .gform_wrapper.gravity-theme input[type="password"],
    .subscribe-block .gform_wrapper.gravity-theme .select2-container .selection .select2-selection {
      font-family: 'Montserrat', sans-serif;
      font-weight: 500;
      font-size: 1.125rem;
      line-height: 2rem;
      color: #0a0a0a;
      background: #EDEDED;
      border-radius: 0.625rem;
      padding: 1.0625rem 1.625rem;
      height: auto;
      border: none; }
      .subscribe-block .gform_wrapper.gravity-theme input[type="text"]::-webkit-input-placeholder,
      .subscribe-block .gform_wrapper.gravity-theme input[type="email"]::-webkit-input-placeholder,
      .subscribe-block .gform_wrapper.gravity-theme input[type="password"]::-webkit-input-placeholder,
      .subscribe-block .gform_wrapper.gravity-theme .select2-container .selection .select2-selection::-webkit-input-placeholder {
        color: #0a0a0a;
        opacity: 1; }
      .subscribe-block .gform_wrapper.gravity-theme input[type="text"]::-moz-placeholder,
      .subscribe-block .gform_wrapper.gravity-theme input[type="email"]::-moz-placeholder,
      .subscribe-block .gform_wrapper.gravity-theme input[type="password"]::-moz-placeholder,
      .subscribe-block .gform_wrapper.gravity-theme .select2-container .selection .select2-selection::-moz-placeholder {
        color: #0a0a0a;
        opacity: 1; }
      .subscribe-block .gform_wrapper.gravity-theme input[type="text"]:-ms-input-placeholder,
      .subscribe-block .gform_wrapper.gravity-theme input[type="email"]:-ms-input-placeholder,
      .subscribe-block .gform_wrapper.gravity-theme input[type="password"]:-ms-input-placeholder,
      .subscribe-block .gform_wrapper.gravity-theme .select2-container .selection .select2-selection:-ms-input-placeholder {
        color: #0a0a0a;
        opacity: 1; }
      .subscribe-block .gform_wrapper.gravity-theme input[type="text"]::-ms-input-placeholder,
      .subscribe-block .gform_wrapper.gravity-theme input[type="email"]::-ms-input-placeholder,
      .subscribe-block .gform_wrapper.gravity-theme input[type="password"]::-ms-input-placeholder,
      .subscribe-block .gform_wrapper.gravity-theme .select2-container .selection .select2-selection::-ms-input-placeholder {
        color: #0a0a0a;
        opacity: 1; }
      .subscribe-block .gform_wrapper.gravity-theme input[type="text"]::placeholder,
      .subscribe-block .gform_wrapper.gravity-theme input[type="email"]::placeholder,
      .subscribe-block .gform_wrapper.gravity-theme input[type="password"]::placeholder,
      .subscribe-block .gform_wrapper.gravity-theme .select2-container .selection .select2-selection::placeholder {
        color: #0a0a0a;
        opacity: 1; }
    .subscribe-block .gform_wrapper.gravity-theme .select2-container.select2-container--open .select2-selection {
      border-radius: 0.625rem !important; }
    .subscribe-block .gform_wrapper.gravity-theme .select2-container--default .select2-selection--single .select2-selection__rendered {
      padding: 0;
      margin: 0;
      line-height: 2rem; }
    .subscribe-block .gform_wrapper.gravity-theme .select2-container .selection .select2-selection .select2-selection__arrow {
      top: 50%;
      -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
              transform: translate(0, -50%);
      height: auto; }
    .subscribe-block .gform_wrapper.gravity-theme [type="checkbox"]:not(:checked),
    .subscribe-block .gform_wrapper.gravity-theme [type="checkbox"]:checked {
      position: absolute;
      left: -9999px; }
    .subscribe-block .gform_wrapper.gravity-theme [type="checkbox"]:not(:checked) + label,
    .subscribe-block .gform_wrapper.gravity-theme [type="checkbox"]:checked + label {
      position: relative;
      padding-left: 2.5rem;
      cursor: pointer;
      font-family: 'Montserrat', sans-serif;
      font-weight: 500;
      font-size: 1rem;
      line-height: 1.5rem;
      text-transform: uppercase;
      margin: 0;
      max-width: 100%; }
    .subscribe-block .gform_wrapper.gravity-theme [type="checkbox"]:not(:checked) + label:before,
    .subscribe-block .gform_wrapper.gravity-theme [type="checkbox"]:checked + label:before {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      width: 1.5rem;
      height: 1.5rem;
      border: none;
      background: #fff;
      border-radius: 0.1875rem;
      border: 2px solid #765BA7; }
    .subscribe-block .gform_wrapper.gravity-theme [type="checkbox"]:not(:checked) + label:after,
    .subscribe-block .gform_wrapper.gravity-theme [type="checkbox"]:checked + label:after {
      content: '';
      position: absolute;
      left: 0.375rem;
      top: 0.375rem;
      width: 0.75rem;
      height: 0.75rem;
      border: none;
      background: #765BA7;
      border-radius: 0.1875rem;
      -webkit-transition: all .2s;
      transition: all .2s; }
    .subscribe-block .gform_wrapper.gravity-theme [type="checkbox"]:not(:checked) + label:after {
      opacity: 0;
      -webkit-transform: scale(0);
          -ms-transform: scale(0);
              transform: scale(0); }
    .subscribe-block .gform_wrapper.gravity-theme [type="checkbox"]:checked + label:after {
      opacity: 1;
      -webkit-transform: scale(1);
          -ms-transform: scale(1);
              transform: scale(1); }
    .subscribe-block .gform_wrapper.gravity-theme [type="checkbox"]:disabled:not(:checked) + label:before,
    .subscribe-block .gform_wrapper.gravity-theme [type="checkbox"]:disabled:checked + label:before {
      -webkit-box-shadow: none;
              box-shadow: none;
      border-color: #bbb;
      background-color: #ddd; }
    .subscribe-block .gform_wrapper.gravity-theme [type="checkbox"]:disabled:checked + label:after {
      color: #999; }
    .subscribe-block .gform_wrapper.gravity-theme [type="checkbox"]:disabled + label {
      color: #aaa; }
    .subscribe-block .gform_wrapper.gravity-theme [type="checkbox"]:checked:focus + label:before,
    .subscribe-block .gform_wrapper.gravity-theme [type="checkbox"]:not(:checked):focus + label:before {
      border: 2px dotted blue; }
    .subscribe-block .gform_wrapper.gravity-theme .gform_footer {
      padding: 0; }
      .subscribe-block .gform_wrapper.gravity-theme .gform_footer,
      .subscribe-block .gform_wrapper.gravity-theme .gform_footer input {
        margin: 0; }
  .subscribe-block .button {
    background: #765BA7;
    color: #fefefe; }
    .subscribe-block .button:hover {
      color: #765BA7;
      background: #fefefe; }
  .subscribe-block .callout {
    background: #F0EEF6;
    border-radius: 1.25rem;
    margin: 4rem 0 0;
    border: none;
    padding: 1.5625rem; }
    @media print, screen and (min-width: 48em) {
      .subscribe-block .callout {
        padding: 3.125rem; } }
    .subscribe-block .callout, .subscribe-block .callout p {
      font-size: 1.125rem;
      line-height: 2rem; }
    .subscribe-block .callout h3 {
      font-size: 1.5rem;
      line-height: 1.9375rem;
      margin-bottom: 1.5rem; }
    .subscribe-block .callout a.button {
      margin-top: 2.25rem;
      display: inline-block;
      position: relative; }
      .subscribe-block .callout a.button:after {
        /* use !important to prevent issues with browser extensions that change fonts */
        font-family: 'icomoon' !important;
        speak: never;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        /* Better Font Rendering =========== */
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        content: "\e91a";
        display: inline-block;
        margin-left: 0.625rem; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsImdsb2JhbC9fZ2xvYmFsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3ZlbmRvci9ub3JtYWxpemUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jb2x1bW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NsaWRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsImdsb2JhbC9fdHlwb2dyYXBoeS5zY3NzIiwiZ2xvYmFsL19pY29ucy5zY3NzIiwiY29udHJhc3QvX2hpZ2gtY29udHJhc3Quc2NzcyIsImNvbnRyYXN0L19sb3ctY29udHJhc3Quc2NzcyIsImNvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCJjb21wb25lbnRzL19hY2NvcmRpb25zLnNjc3MiLCJjb21wb25lbnRzL19zZWxlY3QyLnNjc3MiLCJjb21wb25lbnRzL19xdW90ZS5zY3NzIiwiY29tcG9uZW50cy9fbmV3c2xldHRlci13cmFwcGVyLnNjc3MiLCJjb21wb25lbnRzL19jYXJkLnNjc3MiLCJjb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiY29tcG9uZW50cy9fZml4ZWQtaGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19pbm5lci1wYWdlcy5zY3NzIiwiY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzIiwiY29tcG9uZW50cy9fZXZlbnRzLnNjc3MiLCJjb21wb25lbnRzL19wYWdlLWluZm8uc2NzcyIsImNvbXBvbmVudHMvX3Jlc291cmNlcy5zY3NzIiwiY29tcG9uZW50cy9fc2luZ2xlLnNjc3MiLCJjb21wb25lbnRzL19tYWluLW1lbnUuc2NzcyIsImNvbXBvbmVudHMvX2FqYXgtY29udGFpbmVyLnNjc3MiLCJjb21wb25lbnRzL19zcG90aWZ5LnNjc3MiLCJjb21wb25lbnRzL19oYW1idXJnZXItbWVudS5zY3NzIiwiY29tcG9uZW50cy9fY29udGFjdC1pbmZvLnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXItc2VhcmNoLnNjc3MiLCJjb21wb25lbnRzL180MDQuc2NzcyIsImNvbXBvbmVudHMvX3NlYXJjaC1yZXN1bHRzLnNjc3MiLCJjb21wb25lbnRzL19sb2dpbi5zY3NzIiwiY29tcG9uZW50cy9fdmlkZW8tcmV2ZWFsLnNjc3MiLCJjb21wb25lbnRzL19xdWl6LnNjc3MiLCJsYXlvdXQvX2hlYWRlci5zY3NzIiwibGF5b3V0L19tb2JpbGUtaGVhZGVyLnNjc3MiLCJsYXlvdXQvX2Zvb3Rlci5zY3NzIiwicGx1Z2lucy9fc2xpY2suc2NzcyIsInBsdWdpbnMvX3NsaWNrLXRoZW1lLnNjc3MiLCJwbHVnaW5zL3NlbGVjdDIvY29yZS5zY3NzIiwicGx1Z2lucy9zZWxlY3QyL19zaW5nbGUuc2NzcyIsInBsdWdpbnMvc2VsZWN0Mi9fbXVsdGlwbGUuc2NzcyIsInBsdWdpbnMvc2VsZWN0Mi9fZHJvcGRvd24uc2NzcyIsInBsdWdpbnMvc2VsZWN0Mi90aGVtZS9kZWZhdWx0L2xheW91dC5zY3NzIiwicGx1Z2lucy9zZWxlY3QyL3RoZW1lL2RlZmF1bHQvX3NpbmdsZS5zY3NzIiwicGx1Z2lucy9zZWxlY3QyL3RoZW1lL2RlZmF1bHQvX211bHRpcGxlLnNjc3MiLCJwbHVnaW5zL3NlbGVjdDIvdGhlbWUvY2xhc3NpYy9sYXlvdXQuc2NzcyIsInBsdWdpbnMvc2VsZWN0Mi90aGVtZS9jbGFzc2ljL19zaW5nbGUuc2NzcyIsInBsdWdpbnMvc2VsZWN0Mi90aGVtZS9jbGFzc2ljL19kZWZhdWx0cy5zY3NzIiwicGx1Z2lucy9zZWxlY3QyL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCJwbHVnaW5zL3NlbGVjdDIvdGhlbWUvY2xhc3NpYy9fbXVsdGlwbGUuc2NzcyIsIi4uLy4uLy4uL2Jsb2Nrcy9pbnRyby1zbGlkZXIvc2Nzcy9zdHlsZS5zY3NzIiwiLi4vLi4vLi4vYmxvY2tzL3F1aWNrLWxpbmtzL3Njc3Mvc3R5bGUuc2NzcyIsIi4uLy4uLy4uL2Jsb2Nrcy9sYXRlc3QtcG9zdHMvc2Nzcy9zdHlsZS5zY3NzIiwiLi4vLi4vLi4vYmxvY2tzL3BhZ2UtYmFubmVyL3Njc3Mvc3R5bGUuc2NzcyIsIi4uLy4uLy4uL2Jsb2Nrcy9sZWFkZXJzaGlwLW1lbWJlcnMvc2Nzcy9zdHlsZS5zY3NzIiwiLi4vLi4vLi4vYmxvY2tzL3RlYW0tbWVtYmVycy9zY3NzL3N0eWxlLnNjc3MiLCIuLi8uLi8uLi9ibG9ja3MvY29udGVudC1jYXJkcy9zY3NzL3N0eWxlLnNjc3MiLCIuLi8uLi8uLi9ibG9ja3MvY29udGFjdC1ibG9jay9zY3NzL3N0eWxlLnNjc3MiLCIuLi8uLi8uLi9ibG9ja3Mvam9iLW9wcG9ydHVuaXRpZXMvc2Nzcy9zdHlsZS5zY3NzIiwiLi4vLi4vLi4vYmxvY2tzL2ltYWdlLXRleHQvc2Nzcy9zdHlsZS5zY3NzIiwiLi4vLi4vLi4vYmxvY2tzL3VzZWZ1bC1wYWdlcy9zY3NzL3N0eWxlLnNjc3MiLCIuLi8uLi8uLi9ibG9ja3MvcmVhZGluZy1jb250ZW50L3Njc3Mvc3R5bGUuc2NzcyIsIi4uLy4uLy4uL2Jsb2Nrcy9mb3JtLWJsb2NrL3Njc3Mvc3R5bGUuc2NzcyIsIi4uLy4uLy4uL2Jsb2Nrcy9hZmZpbGlhdGUtY29tcGFuaWVzL3Njc3Mvc3R5bGUuc2NzcyIsIi4uLy4uLy4uL2Jsb2Nrcy92aWRlby1jb250ZW50L3Njc3Mvc3R5bGUuc2NzcyIsIi4uLy4uLy4uL2Jsb2Nrcy9yZXNvdXJjZXMtbGlicmFyeS9zY3NzL3N0eWxlLnNjc3MiLCIuLi8uLi8uLi9ibG9ja3MvYXVkaW8tY29udGVudC9zY3NzL3N0eWxlLnNjc3MiLCIuLi8uLi8uLi9ibG9ja3MvYXJjaGl2ZS1ibG9jay9zY3NzL3N0eWxlLnNjc3MiLCIuLi8uLi8uLi9ibG9ja3MvYWNjb3JkaW9uLWNvbnRlbnQvc2Nzcy9zdHlsZS5zY3NzIiwiLi4vLi4vLi4vYmxvY2tzL3Jlc291cmNlcy1jYXJkL3Njc3Mvc3R5bGUuc2NzcyIsIi4uLy4uLy4uL2Jsb2Nrcy9jYXNlLXN0dWR5L3Njc3Mvc3R5bGUuc2NzcyIsIi4uLy4uLy4uL2Jsb2Nrcy9zdWJzY3JpYmUtYmxvY2svc2Nzcy9zdHlsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7RURNRTtBRU5GLHdHQUFZO0FDZ0xKO0VDbklOO0lBQ0UsV0FBVztJQUNYLFVBQVU7SUFDVixjQUFjLEVBQUEsRUFDZjs7QUNoREQsMkVBQUE7QUFRQTtFQUNFLGlCQUFpQjtFQUNqQiw4QkFBOEIsRUFBQTs7QUFRaEM7RUFDRSxTQUFTLEVBQUE7O0FBTVg7RUFDRSxjQUFjO0VBQ2QsZ0JBQWdCLEVBQUE7O0FBU2xCO0VBQ0UsK0JBQXVCO1VBQXZCLHVCQUF1QjtFQUN2QixTQUFTO0VBQ1QsaUJBQWlCLEVBQUE7O0FBTW5CO0VBQ0UsaUNBQWlDO0VBQ2pDLGNBQWMsRUFBQTs7QUFRaEI7RUFDRSw2QkFBNkIsRUFBQTs7QUFNL0I7RUFDRSxtQkFBbUI7RUFDbkIsMEJBQTBCO0VBQzFCLHlDQUFpQztVQUFqQyxpQ0FBaUMsRUFBQTs7QUFLbkM7O0VBRUUsbUJBQW1CLEVBQUE7O0FBTXJCOzs7RUFHRSxpQ0FBaUM7RUFDakMsY0FBYyxFQUFBOztBQUtoQjtFQUNFLGNBQWMsRUFBQTs7QUFNaEI7O0VBRUUsY0FBYztFQUNkLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsd0JBQXdCLEVBQUE7O0FBRzFCO0VBQ0UsZUFBZSxFQUFBOztBQUdqQjtFQUNFLFdBQVcsRUFBQTs7QUFR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Z0JUK0RlO0VTOURmLHlCVG9EYTtFU2xEYixvQlR1YXlCO0VTdGF6QixlTnVEdUQ7RU10RHZELG1CVHdEMkI7RVN2RDNCLGdCVGtDcUI7RVNqQ3JCLGNUNkNhO0VDcUViLHdPQUF5TjtFUTlHdk4sOEJBQThCO0VBQzlCLHVDQUEwRDtFQUMxRCw0QkFBNEI7RUFDNUIsd0JBQXdCO0VBRXhCLHFCQUF1RDtFQUl2RCwyRVRtYThEO0VTbmE5RCxtRVRtYThEO0VTbmE5RCwyRFRtYThEO0VTbmE5RCxvRlRtYThELEVBQUE7RUM1VGhFO0lGd0NBO01FckNJLHVXQUF1VyxFQUFBLEVRbkUxVztFQW5DRDtJQUNFLGFBQWE7SUFDYix5QlR5QmU7SVN4QmYseUJUMEJXO0lTekJYLG1DVHNCaUI7WVN0QmpCLDJCVHNCaUI7SVNuQmYsMkVUd1o0RDtJU3haNUQsbUVUd1o0RDtJU3haNUQsMkRUd1o0RDtJU3haNUQsb0ZUd1o0RCxFQUFBO0VTblpoRTtJQUNFLHlCVFlnQjtJU1hoQixtQlRnWitCLEVBQUE7RVM1WWpDO0lBQ0UsYUFBYSxFQUFBO0VBR2Y7SUFDRSxZQUFZO0lBQ1osc0JBQXNCLEVBQUE7RUFFeEI7SUFDRSxjQUFjO0lBQ2QsaUJBQWlCLEVBQUE7O0FDckNuQjtFQUNFLHFCVjhCWTtFVTdCWix5QkFBK0QsRUFBQTtFQUUvRDtJQUNFLGNWMEJVLEVBQUE7RVUzQlo7SUFDRSxjVjBCVSxFQUFBO0VVM0JaO0lBQ0UsY1YwQlUsRUFBQTtFVTNCWjtJQUNFLGNWMEJVLEVBQUE7RVUzQlo7SUFDRSxjVjBCVSxFQUFBOztBVUFaO0VBQ0UsY1ZEVSxFQUFBOztBVU1kO0VBekJBLGFBQWE7RUFDYixtQkFBZ0M7RUFDaEMsbUJQOEJ1RDtFTzVCdkQsa0JQNEJ1RDtFTzNCdkQsaUJWOEJ1QjtFVTdCdkIsY1ZhYyxFQUFBO0VVTWQ7SUFJSSxjQUFjLEVBQUE7O0FDOElsQjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CRSxTQUFTO0VBQ1QsVUFBVSxFQUFBOztBQUlaO0VBQ0UsbUJYbEYwQjtFV29GMUIsa0JBQWtCO0VBQ2xCLGdCWHRGc0I7RVd1RnRCLGtDWHJGeUMsRUFBQTs7QVd5RjNDOztFQUVFLGtCQUFrQjtFQUNsQixvQkFBb0IsRUFBQTs7QUFJdEI7O0VBRUUsaUJYbExxQjtFV21MckIsb0JBQW9CLEVBQUE7O0FidEx0QjtFYTJMRSxjWDVHaUI7RVc2R2pCLG9CQUFvQixFQUFBOztBQUl0Qjs7Ozs7O0VBTUUsbUVYek1xRTtFVzBNckUsa0JYaEpzQjtFV2lKdEIsbUJYdE15QjtFV3VNekIsY1hoSmtCO0VXaUpsQixrQ1g1SHNDLEVBQUE7RVdrSHhDOzs7Ozs7SUFhSSxjQUFjO0lBQ2QsY1h2TmUsRUFBQTs7QVdnT2I7RUFJSSxpQlIzTjZDO0VRdU83QyxnQlg3S1c7RVdxTFgsYUFBYTtFQU9iLHFCWDNMaUIsRUFBQTs7QVc0SnJCO0VBSUksa0JSM042QztFUXVPN0MsZ0JYN0tXO0VXcUxYLGFBQWE7RUFPYixxQlgzTGlCLEVBQUE7O0FXNEpyQjtFQUlJLG9CUjNONkM7RVF1TzdDLGdCWDdLVztFV3FMWCxhQUFhO0VBT2IscUJYM0xpQixFQUFBOztBVzRKckI7RUFJSSxtQlIzTjZDO0VRdU83QyxnQlg3S1c7RVdxTFgsYUFBYTtFQU9iLHFCWDNMaUIsRUFBQTs7QVc0SnJCO0VBSUksb0JSM042QztFUXVPN0MsZ0JYN0tXO0VXcUxYLGFBQWE7RUFPYixxQlgzTGlCLEVBQUE7O0FXNEpyQjtFQUlJLGVSM042QztFUXVPN0MsZ0JYN0tXO0VXcUxYLGFBQWE7RUFPYixxQlgzTGlCLEVBQUE7O0FKNkJyQjtFZStIQTtJQUlJLGVSM042QyxFQUFBO0VRdU5qRDtJQUlJLGlCUjNONkMsRUFBQTtFUXVOakQ7SUFJSSxvQlIzTjZDLEVBQUE7RVF1TmpEO0lBSUksb0JSM042QyxFQUFBO0VRdU5qRDtJQUlJLGtCUjNONkMsRUFBQTtFUXVOakQ7SUFJSSxlUjNONkMsRUFBQSxFUXdQaEQ7O0FieFJQO0VhK1JFLG9CQUFvQjtFQUNwQixjWGpSYztFV2tSZCxxQlgxS3lCO0VXNEt6QixlQUFlLEVBQUE7RUFMakI7SUFTSSxjWGpMMkQs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OztBSjNDdkQ7RUd4RkosVUNtSTJELEVBQUE7O0FKcENuRDtFTXpFTixrQkFBa0I7RUFDbEIsU0FIbUQsRUFBQTs7QU5pRjdDO0VNL0VOLGtCQUFrQjtFQUNsQixVQUhtRCxFQUFBOztBTjJGL0M7RU0zRE4sc0JGK0UyRCxFQUFBOztBSjNDdkQ7RUd4RkosZ0JDbUkyRCxFQUFBOztBSnBDbkQ7RU16RU4sa0JBQWtCO0VBQ2xCLGVBSG1ELEVBQUE7O0FOaUY3QztFTS9FTixrQkFBa0I7RUFDbEIsZ0JBSG1ELEVBQUE7O0FOMkYvQztFTTNETixnQkYrRTJELEVBQUE7O0FKM0N2RDtFR3hGSixnQkNtSTJELEVBQUE7O0FKcENuRDtFTXpFTixrQkFBa0I7RUFDbEIsZUFIbUQsRUFBQTs7QU5pRjdDO0VNL0VOLGtCQUFrQjtFQUNsQixnQkFIbUQsRUFBQTs7QU4yRi9DO0VNM0ROLHNCRitFMkQsRUFBQTs7QUozQ3ZEO0VHeEZKLFVDbUkyRCxFQUFBOztBSnBDbkQ7RU16RU4sa0JBQWtCO0VBQ2xCLFNBSG1ELEVBQUE7O0FOaUY3QztFTS9FTixrQkFBa0I7RUFDbEIsVUFIbUQsRUFBQTs7QU4yRi9DO0VNM0ROLHNCRitFMkQsRUFBQTs7QUozQ3ZEO0VHeEZKLGdCQ21JMkQsRUFBQTs7QUpwQ25EO0VNekVOLGtCQUFrQjtFQUNsQixlQUhtRCxFQUFBOztBTmlGN0M7RU0vRU4sa0JBQWtCO0VBQ2xCLGdCQUhtRCxFQUFBOztBTjJGL0M7RU0zRE4sZ0JGK0UyRCxFQUFBOztBSjNDdkQ7RUd4RkosZ0JDbUkyRCxFQUFBOztBSnBDbkQ7RU16RU4sa0JBQWtCO0VBQ2xCLGVBSG1ELEVBQUE7O0FOaUY3QztFTS9FTixrQkFBa0I7RUFDbEIsZ0JBSG1ELEVBQUE7O0FOMkYvQztFTTNETixzQkYrRTJELEVBQUE7O0FKM0N2RDtFR3hGSixXQ21JMkQsRUFBQTs7QUpwQnJEO0VNM0ROLHNCRitFMkQsRUFBQTs7QUpadkQ7RU8vR0YsV3ZCb0d1RDtFdUJuR3ZELFdBQXVCLEVBQUE7RVA4R3JCO0lPdkZBLFdBQVcsRUFBQTtFUHVGWDtJT25GQSxXQUFXLEVBQUE7RVBtRlg7SU8vRUEsV3ZCb0VxRCxFQUFBOztBZ0JXckQ7RU8vR0YsV3ZCb0d1RDtFdUJuR3ZELFVBQXVCLEVBQUE7RVA4R3JCO0lPdkZBLFdBQVcsRUFBQTtFUHVGWDtJT25GQSxXQUFXLEVBQUE7RVBtRlg7SU8vRUEsV3ZCb0VxRCxFQUFBOztBZ0JXckQ7RU8vR0YsV3ZCb0d1RDtFdUJuR3ZELGdCQUF1QixFQUFBO0VQOEdyQjtJT3ZGQSxXQUFXLEVBQUE7RVB1Rlg7SU9uRkEsV0FBVyxFQUFBO0VQbUZYO0lPL0VBLFd2Qm9FcUQsRUFBQTs7QWdCV3JEO0VPL0dGLFd2Qm9HdUQ7RXVCbkd2RCxVQUF1QixFQUFBO0VQOEdyQjtJT3ZGQSxXQUFXLEVBQUE7RVB1Rlg7SU9uRkEsV0FBVyxFQUFBO0VQbUZYO0lPL0VBLFd2Qm9FcUQsRUFBQTs7QWdCV3JEO0VPL0dGLFd2Qm9HdUQ7RXVCbkd2RCxVQUF1QixFQUFBO0VQOEdyQjtJT3ZGQSxXQUFXLEVBQUE7RVB1Rlg7SU9uRkEsV0FBVyxFQUFBO0VQbUZYO0lPL0VBLFd2Qm9FcUQsRUFBQTs7QWdCV3JEO0VPL0dGLFd2Qm9HdUQ7RXVCbkd2RCxnQkFBdUIsRUFBQTtFUDhHckI7SU92RkEsV0FBVyxFQUFBO0VQdUZYO0lPbkZBLFdBQVcsRUFBQTtFUG1GWDtJTy9FQSxXdkJvRXFELEVBQUE7O0FnQldyRDtFTy9HRixXdkJvR3VEO0V1Qm5HdkQsZ0JBQXVCLEVBQUE7RVA4R3JCO0lPdkZBLFdBQVcsRUFBQTtFUHVGWDtJT25GQSxXQUFXLEVBQUE7RVBtRlg7SU8vRUEsV3ZCb0VxRCxFQUFBOztBZ0JXckQ7RU8vR0YsV3ZCb0d1RDtFdUJuR3ZELFlBQXVCLEVBQUE7RVA4R3JCO0lPdkZBLFdBQVcsRUFBQTtFUHVGWDtJT25GQSxXQUFXLEVBQUE7RVBtRlg7SU8vRUEsV3ZCb0VxRCxFQUFBOztBZ0JpQnZEO0VFckhBLGdCZHVFUztFY3RFVCxlZHNFUyxFQUFBOztBWThDVDtFQUlJLGVBQWU7RUFDZixjQUFjLEVBQUE7O0FBSWxCO0VBQ0UsZUFBZTtFQUNmLGNBQWMsRUFBQTs7QUFHaEI7RUVuSUEsdUJBRnFDO0VBR3JDLHNCQUhxQyxFQUFBOztBRjJJbkM7RU1qSEYsa0JBQWtCO0VBQ2xCLGlCQUFpQixFQUFBO0VOZ0hmO0lNcEhBLFdBQVc7SUFDWCxXQUFXLEVBQUE7O0FOK0hYO0VNakhKLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YsY0FBYyxFQUFBO0VOK0dWO0lNdkpBLFd0QnNHcUQ7SXNCckdyRCxXQUFXLEVBQUE7RU5zSlg7SU1oSkUsWXRCZ0dvRCxFQUFBOztBSHFEcEQ7RW1CMUVGO0lHeEZKLGVDbUkyRCxFQUFBO0VKcENuRDtJTXpFTixrQkFBa0I7SUFDbEIsY0FIbUQsRUFBQTtFTmlGN0M7SU0vRU4sa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RU4yRi9DO0lNM0ROLGVGK0UyRCxFQUFBO0VKM0N2RDtJR3hGSixnQkNtSTJELEVBQUE7RUpwQ25EO0lNekVOLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VOaUY3QztJTS9FTixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RU4yRi9DO0lNM0ROLHFCRitFMkQsRUFBQTtFSjNDdkQ7SUd4RkosVUNtSTJELEVBQUE7RUpwQ25EO0lNekVOLGtCQUFrQjtJQUNsQixTQUhtRCxFQUFBO0VOaUY3QztJTS9FTixrQkFBa0I7SUFDbEIsVUFIbUQsRUFBQTtFTjJGL0M7SU0zRE4sc0JGK0UyRCxFQUFBO0VKM0N2RDtJR3hGSixnQkNtSTJELEVBQUE7RUpwQ25EO0lNekVOLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VOaUY3QztJTS9FTixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RU4yRi9DO0lNM0ROLGdCRitFMkQsRUFBQTtFSjNDdkQ7SUd4RkosZ0JDbUkyRCxFQUFBO0VKcENuRDtJTXpFTixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFTmlGN0M7SU0vRU4sa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VOMkYvQztJTTNETixzQkYrRTJELEVBQUE7RUozQ3ZEO0lHeEZKLFVDbUkyRCxFQUFBO0VKcENuRDtJTXpFTixrQkFBa0I7SUFDbEIsU0FIbUQsRUFBQTtFTmlGN0M7SU0vRU4sa0JBQWtCO0lBQ2xCLFVBSG1ELEVBQUE7RU4yRi9DO0lNM0ROLHNCRitFMkQsRUFBQTtFSjNDdkQ7SUd4RkosZ0JDbUkyRCxFQUFBO0VKcENuRDtJTXpFTixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFTmlGN0M7SU0vRU4sa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VOMkYvQztJTTNETixnQkYrRTJELEVBQUE7RUozQ3ZEO0lHeEZKLGdCQ21JMkQsRUFBQTtFSnBDbkQ7SU16RU4sa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RU5pRjdDO0lNL0VOLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFTjJGL0M7SU0zRE4sc0JGK0UyRCxFQUFBO0VKM0N2RDtJR3hGSixVQ21JMkQsRUFBQTtFSnBDbkQ7SU16RU4sa0JBQWtCO0lBQ2xCLFNBSG1ELEVBQUE7RU5pRjdDO0lNL0VOLGtCQUFrQjtJQUNsQixVQUhtRCxFQUFBO0VOMkYvQztJTTNETixzQkYrRTJELEVBQUE7RUozQ3ZEO0lHeEZKLGdCQ21JMkQsRUFBQTtFSnBDbkQ7SU16RU4sa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RU5pRjdDO0lNL0VOLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFTjJGL0M7SU0zRE4sZ0JGK0UyRCxFQUFBO0VKM0N2RDtJR3hGSixnQkNtSTJELEVBQUE7RUpwQ25EO0lNekVOLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VOaUY3QztJTS9FTixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RU4yRi9DO0lNM0ROLHNCRitFMkQsRUFBQTtFSjNDdkQ7SUd4RkosV0NtSTJELEVBQUE7RUpwQnJEO0lNM0ROLHNCRitFMkQsRUFBQTtFSlp2RDtJTy9HRixXdkJvR3VEO0l1Qm5HdkQsV0FBdUIsRUFBQTtJUDhHckI7TU92RkEsV0FBVyxFQUFBO0lQdUZYO01PbkZBLFdBQVcsRUFBQTtJUG1GWDtNTy9FQSxXdkJvRXFELEVBQUE7RWdCV3JEO0lPL0dGLFd2Qm9HdUQ7SXVCbkd2RCxVQUF1QixFQUFBO0lQOEdyQjtNT3ZGQSxXQUFXLEVBQUE7SVB1Rlg7TU9uRkEsV0FBVyxFQUFBO0lQbUZYO01PL0VBLFd2Qm9FcUQsRUFBQTtFZ0JXckQ7SU8vR0YsV3ZCb0d1RDtJdUJuR3ZELGdCQUF1QixFQUFBO0lQOEdyQjtNT3ZGQSxXQUFXLEVBQUE7SVB1Rlg7TU9uRkEsV0FBVyxFQUFBO0lQbUZYO01PL0VBLFd2Qm9FcUQsRUFBQTtFZ0JXckQ7SU8vR0YsV3ZCb0d1RDtJdUJuR3ZELFVBQXVCLEVBQUE7SVA4R3JCO01PdkZBLFdBQVcsRUFBQTtJUHVGWDtNT25GQSxXQUFXLEVBQUE7SVBtRlg7TU8vRUEsV3ZCb0VxRCxFQUFBO0VnQldyRDtJTy9HRixXdkJvR3VEO0l1Qm5HdkQsVUFBdUIsRUFBQTtJUDhHckI7TU92RkEsV0FBVyxFQUFBO0lQdUZYO01PbkZBLFdBQVcsRUFBQTtJUG1GWDtNTy9FQSxXdkJvRXFELEVBQUE7RWdCV3JEO0lPL0dGLFd2Qm9HdUQ7SXVCbkd2RCxnQkFBdUIsRUFBQTtJUDhHckI7TU92RkEsV0FBVyxFQUFBO0lQdUZYO01PbkZBLFdBQVcsRUFBQTtJUG1GWDtNTy9FQSxXdkJvRXFELEVBQUE7RWdCV3JEO0lPL0dGLFd2Qm9HdUQ7SXVCbkd2RCxnQkFBdUIsRUFBQTtJUDhHckI7TU92RkEsV0FBVyxFQUFBO0lQdUZYO01PbkZBLFdBQVcsRUFBQTtJUG1GWDtNTy9FQSxXdkJvRXFELEVBQUE7RWdCV3JEO0lPL0dGLFd2Qm9HdUQ7SXVCbkd2RCxZQUF1QixFQUFBO0lQOEdyQjtNT3ZGQSxXQUFXLEVBQUE7SVB1Rlg7TU9uRkEsV0FBVyxFQUFBO0lQbUZYO01PL0VBLFd2Qm9FcUQsRUFBQTtFZ0JpQnZEO0lFckhBLGdCZHVFUztJY3RFVCxlZHNFUyxFQUFBO0VZOENUO0lBSUksZUFBZTtJQUNmLGNBQWMsRUFBQTtFQUlsQjtJQUNFLGVBQWU7SUFDZixjQUFjLEVBQUE7RUFHaEI7SUVuSUEsd0JBRnFDO0lBR3JDLHVCQUhxQyxFQUFBO0VGMkluQztJTWpIRixrQkFBa0I7SUFDbEIsaUJBQWlCLEVBQUE7SU5nSGY7TU1wSEEsV0FBVztNQUNYLFdBQVcsRUFBQTtFTitIWDtJTWpISixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLGNBQWMsRUFBQTtJTitHVjtNTXZKQSxXdEJzR3FEO01zQnJHckQsV0FBVyxFQUFBO0lOc0pYO01NaEpFLFl0QmdHb0QsRUFBQSxFc0IvRnJEOztBekJvSkM7RW1CMUVGO0lHeEZKLGVDbUkyRCxFQUFBO0VKcENuRDtJTXpFTixrQkFBa0I7SUFDbEIsY0FIbUQsRUFBQTtFTmlGN0M7SU0vRU4sa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RU4yRi9DO0lNM0ROLGVGK0UyRCxFQUFBO0VKM0N2RDtJR3hGSixnQkNtSTJELEVBQUE7RUpwQ25EO0lNekVOLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VOaUY3QztJTS9FTixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RU4yRi9DO0lNM0ROLHFCRitFMkQsRUFBQTtFSjNDdkQ7SUd4RkosVUNtSTJELEVBQUE7RUpwQ25EO0lNekVOLGtCQUFrQjtJQUNsQixTQUhtRCxFQUFBO0VOaUY3QztJTS9FTixrQkFBa0I7SUFDbEIsVUFIbUQsRUFBQTtFTjJGL0M7SU0zRE4sc0JGK0UyRCxFQUFBO0VKM0N2RDtJR3hGSixnQkNtSTJELEVBQUE7RUpwQ25EO0lNekVOLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VOaUY3QztJTS9FTixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RU4yRi9DO0lNM0ROLGdCRitFMkQsRUFBQTtFSjNDdkQ7SUd4RkosZ0JDbUkyRCxFQUFBO0VKcENuRDtJTXpFTixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFTmlGN0M7SU0vRU4sa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VOMkYvQztJTTNETixzQkYrRTJELEVBQUE7RUozQ3ZEO0lHeEZKLFVDbUkyRCxFQUFBO0VKcENuRDtJTXpFTixrQkFBa0I7SUFDbEIsU0FIbUQsRUFBQTtFTmlGN0M7SU0vRU4sa0JBQWtCO0lBQ2xCLFVBSG1ELEVBQUE7RU4yRi9DO0lNM0ROLHNCRitFMkQsRUFBQTtFSjNDdkQ7SUd4RkosZ0JDbUkyRCxFQUFBO0VKcENuRDtJTXpFTixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFTmlGN0M7SU0vRU4sa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VOMkYvQztJTTNETixnQkYrRTJELEVBQUE7RUozQ3ZEO0lHeEZKLGdCQ21JMkQsRUFBQTtFSnBDbkQ7SU16RU4sa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RU5pRjdDO0lNL0VOLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFTjJGL0M7SU0zRE4sc0JGK0UyRCxFQUFBO0VKM0N2RDtJR3hGSixVQ21JMkQsRUFBQTtFSnBDbkQ7SU16RU4sa0JBQWtCO0lBQ2xCLFNBSG1ELEVBQUE7RU5pRjdDO0lNL0VOLGtCQUFrQjtJQUNsQixVQUhtRCxFQUFBO0VOMkYvQztJTTNETixzQkYrRTJELEVBQUE7RUozQ3ZEO0lHeEZKLGdCQ21JMkQsRUFBQTtFSnBDbkQ7SU16RU4sa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RU5pRjdDO0lNL0VOLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFTjJGL0M7SU0zRE4sZ0JGK0UyRCxFQUFBO0VKM0N2RDtJR3hGSixnQkNtSTJELEVBQUE7RUpwQ25EO0lNekVOLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VOaUY3QztJTS9FTixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RU4yRi9DO0lNM0ROLHNCRitFMkQsRUFBQTtFSjNDdkQ7SUd4RkosV0NtSTJELEVBQUE7RUpwQnJEO0lNM0ROLHNCRitFMkQsRUFBQTtFSlp2RDtJTy9HRixXdkJvR3VEO0l1Qm5HdkQsV0FBdUIsRUFBQTtJUDhHckI7TU92RkEsV0FBVyxFQUFBO0lQdUZYO01PbkZBLFdBQVcsRUFBQTtJUG1GWDtNTy9FQSxXdkJvRXFELEVBQUE7RWdCV3JEO0lPL0dGLFd2Qm9HdUQ7SXVCbkd2RCxVQUF1QixFQUFBO0lQOEdyQjtNT3ZGQSxXQUFXLEVBQUE7SVB1Rlg7TU9uRkEsV0FBVyxFQUFBO0lQbUZYO01PL0VBLFd2Qm9FcUQsRUFBQTtFZ0JXckQ7SU8vR0YsV3ZCb0d1RDtJdUJuR3ZELGdCQUF1QixFQUFBO0lQOEdyQjtNT3ZGQSxXQUFXLEVBQUE7SVB1Rlg7TU9uRkEsV0FBVyxFQUFBO0lQbUZYO01PL0VBLFd2Qm9FcUQsRUFBQTtFZ0JXckQ7SU8vR0YsV3ZCb0d1RDtJdUJuR3ZELFVBQXVCLEVBQUE7SVA4R3JCO01PdkZBLFdBQVcsRUFBQTtJUHVGWDtNT25GQSxXQUFXLEVBQUE7SVBtRlg7TU8vRUEsV3ZCb0VxRCxFQUFBO0VnQldyRDtJTy9HRixXdkJvR3VEO0l1Qm5HdkQsVUFBdUIsRUFBQTtJUDhHckI7TU92RkEsV0FBVyxFQUFBO0lQdUZYO01PbkZBLFdBQVcsRUFBQTtJUG1GWDtNTy9FQSxXdkJvRXFELEVBQUE7RWdCV3JEO0lPL0dGLFd2Qm9HdUQ7SXVCbkd2RCxnQkFBdUIsRUFBQTtJUDhHckI7TU92RkEsV0FBVyxFQUFBO0lQdUZYO01PbkZBLFdBQVcsRUFBQTtJUG1GWDtNTy9FQSxXdkJvRXFELEVBQUE7RWdCV3JEO0lPL0dGLFd2Qm9HdUQ7SXVCbkd2RCxnQkFBdUIsRUFBQTtJUDhHckI7TU92RkEsV0FBVyxFQUFBO0lQdUZYO01PbkZBLFdBQVcsRUFBQTtJUG1GWDtNTy9FQSxXdkJvRXFELEVBQUE7RWdCV3JEO0lPL0dGLFd2Qm9HdUQ7SXVCbkd2RCxZQUF1QixFQUFBO0lQOEdyQjtNT3ZGQSxXQUFXLEVBQUE7SVB1Rlg7TU9uRkEsV0FBVyxFQUFBO0lQbUZYO01PL0VBLFd2Qm9FcUQsRUFBQTtFZ0JpQnZEO0lFckhBLGdCZHVFUztJY3RFVCxlZHNFUyxFQUFBO0VZOENUO0lBSUksZUFBZTtJQUNmLGNBQWMsRUFBQTtFQUlsQjtJQUNFLGVBQWU7SUFDZixjQUFjLEVBQUE7RUFHaEI7SUVuSUEsd0JBRnFDO0lBR3JDLHVCQUhxQyxFQUFBO0VGMkluQztJTWpIRixrQkFBa0I7SUFDbEIsaUJBQWlCLEVBQUE7SU5nSGY7TU1wSEEsV0FBVztNQUNYLFdBQVcsRUFBQTtFTitIWDtJTWpISixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLGNBQWMsRUFBQTtJTitHVjtNTXZKQSxXdEJzR3FEO01zQnJHckQsV0FBVyxFQUFBO0lOc0pYO01NaEpFLFl0QmdHb0QsRUFBQSxFc0IvRnJEOztBTnNKTDtFRXRIRSxzQmQ0QnFELEVBQUE7RVkwRnZEO0lFbkhJLGdCQUFnQixFQUFBO0VyQmlIZDtJbUJFTjtNRXRIRSx1QmQ0QnFELEVBQUE7TVkwRnZEO1FFbkhJLGdCQUFnQixFQUFBLEVBQ2pCOztBTTRRSDtFQTFPQSxxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLGtCdkJzTWtDO0V1QjVMaEMsbUJ2QjJMdUI7RXVCeEx6Qiw2QnZCZ01tQztFdUIvTG5DLGdCdkJ0QmU7RXVCdUJmLHlFdkIwTXVFO0V1QjFNdkUsaUV2QjBNdUU7RXVCek12RSxvQnZCbUwwQjtFdUJsTDFCLGlCdkJpTWU7RXVCL0xmLHdCQUF3QjtFQUN4QixjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLGVBQWUsRUFBQTtFOUI0NkNmO0lRNTFDRSxVQUFVLEVBQUE7RXNCa0laO0lBTU0saUJ2QjlCTSxFQUFBO0V1QndCWjtJQU1NLGtCdkI3QlEsRUFBQTtFdUJ1QmQ7SUFNTSxrQnZCM0JRLEVBQUE7RXVCcUJkO0lBM01FLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZUFBZTtJQUNmLGNBQWMsRUFBQTtFQWlFaEI7SUFJRSx5QnZCbEljO0l1Qm1JZCxjdkJ4SFcsRUFBQTtFdUIySGI7SUFDRSx5QnZCK0Z1RTtJdUI5RnZFLGN2QjdIVyxFQUFBO0V1Qm1IYjtJQUlFLHlCdkJsSWM7SXVCbUlkLGN2QnhIVyxFQUFBO0V1QjJIYjtJQUNFLHlCQWJvRjtJQWNwRixjdkI3SFcsRUFBQTtFdUJtSGI7SUFJRSx5QnZCaklnQjtJdUJrSWhCLGN2QnhIVyxFQUFBO0V1QjJIYjtJQUNFLHlCQWJvRjtJQWNwRixjdkI3SFcsRUFBQTtFdUJtSGI7SUFJRSx5QnZCaEljO0l1QmlJZCxjdkJ6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QUFjO1FBQ2QsZUFBaUMsRUFBQSxFQUNsQztFNUIzR0Q7STRCbUNOO01BOEVNLGNBQWMsRUFBQTtNQTlFcEI7UUFpRlEsY0FBYztRQUNkLGVBQWlDLEVBQUEsRUFDbEM7O0FDM0xQO0VBWkEsa0JBQWtCO0VBQ2xCLFd6QjBRc0I7RXlCelF0QixjekJqQmlCO0V5QmtCakIsZUFBZSxFQUFBO0VoQzR2RGY7SVFwcERFLFVBQVUsRUFBQTtFd0J0R1o7SUFFRSxjekJyQlcsRUFBQTtFeUIwQmI7SUF4QkEsY3pCMFJjO0l5QnpSZCxXekI2UmE7SXlCNVJiLGdCekJnU1k7SXlCL1JaLGN6QmtTd0IsRUFBQTtFeUI3UXhCO0lBeEJBLFd6QjJSWTtJeUIxUlosV3pCOFJjO0l5QjdSZCxjekJpU1c7SXlCaFNYLGN6QmtTd0IsRUFBQTs7QTBCdFV4QjtFQVpBLHFCQUFxQjtFQUNyQiwwQjFCMGIrQjtFMEJ4Yi9CLGdCMUJtRGU7RTBCakRmLGlCMUJxYnNCO0UwQnBidEIsY0FBYztFQUNkLG1CQUFtQjtFQUNuQixlQUFlO0VBT2IsbUIxQmtCYztFMEJqQmQsYzFCNEJXLEVBQUE7RTBCaENiO0lBUU0sbUIxQmFVO0kwQlpWLGMxQnVCTyxFQUFBO0UwQmhDYjtJQVFNLG1CMUJjWTtJMEJiWixjMUJ1Qk8sRUFBQTtFMEJoQ2I7SUFRTSxtQjFCZVU7STBCZFYsYzFCc0JPLEVBQUE7RTBCL0JiO0lBUU0sbUIxQmdCVTtJMEJmVixjMUJzQk8sRUFBQTtFMEIvQmI7SUFRTSxtQjFCaUJRO0kwQmhCUixjMUJ1Qk8sRUFBQTs7QTJCekNiO0VBbkNBLFkzQjJqQm9CO0UyQjFqQnBCLG1CM0JnRmtCO0UyQi9FbEIsZ0IzQm9GZTtFMkJuRmYseUIzQnNFbUIsRUFBQTtFMkJ0Q25CO0lBTVEseUIzQndCUSxFQUFBO0UyQjlCaEI7SUFNUSx5QjNCeUJVLEVBQUE7RTJCL0JsQjtJQU1RLHlCM0IwQlEsRUFBQTtFMkJoQ2hCO0lBTVEseUIzQjJCUSxFQUFBO0UyQmpDaEI7SUFNUSx5QjNCNEJNLEVBQUE7O0EyQnJCZDtFQXhDQSxrQkFB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eERnQixFQUFBOztBRDRFZDtFQ3BDRiwwQkF2Q2tCO0VBdUNsQiw0QkF2Q2tCO01BdUNsQix1QkF2Q2tCO1VBdUNsQixvQkF2Q2tCLEVBQUE7O0FEK0VoQjtFQ3hCRiwyQkF2RGtCO01BdURsQiw0QkF2RGtCO1VBdURsQixtQkF2RGtCLEVBQUE7O0FEcUZsQjtFQy9DQSx3QkFuRGtCO0VBbURsQiwrQkFuRGtCO01BbURsQixxQkFuRGtCO1VBbURsQix1QkFuRGtCO0VBb0RsQix5QkF4Q2dCO0VBd0NoQiwyQkF4Q2dCO01Bd0NoQixzQkF4Q2dCO1VBd0NoQixtQkF4Q2dCO0VEd0ZkLDZCQUFxQjtNQUFyQiwwQkFBcUI7VUFBckIscUJBQXFCLEVBQUE7O0FBTW5CO0VDaENKLDRCRCtCZ0I7RUMvQmhCLGdCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7RUMvQmhCLGdCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7RUMvQmhCLGdCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7RUMvQmhCLGdCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7RUMvQmhCLGdCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7RUMvQmhCLGdCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBM0RtRVY7RTJEbEVGO0lDaENKLDRCRCtCZ0I7SUMvQmhCLGdCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtJQy9CaEIsZ0JEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO0lDL0JoQixnQkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7SUMvQmhCLGdCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtJQy9CaEIsZ0JEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO0lDL0JoQixnQkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQSxFQUdYOztBM0RnRUM7RTJEbEVGO0lDaENKLDRCRCtCZ0I7SUMvQmhCLGdCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtJQy9CaEIsZ0JEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO0lDL0JoQixnQkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7SUMvQmhCLGdCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtJQy9CaEIsZ0JEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO0lDL0JoQixnQkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQSxFQUdYOztBQS9GTDtFQ1lBLG9CQUFhO0VBQWIscUJBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWEsRUFBQTs7QURSYjtFQUNFLG1CQUFjO0VBQWQsc0JBQWM7TUFBZCxrQkFBYztVQUFkLGNBQWMsRUFBQTs7QUFHaEI7RUFDRSxtQkFBYztFQUFkLHNCQUFjO01BQWQsa0JBQWM7VUFBZCxjQUFjLEVBQUE7O0FBR2hCO0VBQ0UsbUJBQWM7RUFBZCxzQkFBYztNQUFkLGtCQUFjO1VBQWQsY0FBYyxFQUFBOztBQUlkO0VDc0RG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QUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpDM0I7RUdvQkEsbUNBRnlCO01BRXpCLCtCQUZ5QjtVQUV6QiwyQkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixnQ0FGeUI7TUFFekIsNEJBRnlCO1VBRXpCLHdCQUZ5QjtFQ3RCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpDM0I7RUdvQkEsb0NBRnlCO01BRXpCLGdDQUZ5QjtVQUV6Qiw0QkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixnQ0FGeUI7TUFFekIsNEJBRnlCO1VBRXpCLHdCQUZ5QjtFQ3RCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpDM0I7RUdvQkEsb0NBRnlCO01BRXpCLGdDQUZ5QjtVQUV6Qiw0QkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixVRmhDa0M7RUlFbEMsb0NBQTRCO0VBQTVCLDRCQUE0QixFQUFBOztBTFU1QjtFR29CQSxVRmhDcUMsRUFBQTs7QURBckM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLFVGL0JrQztFSUNsQyxvQ0FBNEI7RUFBNUIsNEJBQTRCLEVBQUE7O0FMVTVCO0VHb0JBLFVGL0JxQyxFQUFBOztBRERyQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsc0RHckNtQztVSHFDbkMsOENHckNtQztFSHFDbkMsNkJGNUJtRDtNRTRCbkQseUJGNUJtRDtVRTRCbkQscUJGNUJtRDtFTUlqRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBHN0I7RUdvQkEsbURHVDRDO1VIUzVDLDJDR1Q0QztFQ0oxQyxVQUEyQixFQUFBOztBUG5CN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHNER3BDcUM7VUhvQ3JDLDhDR3BDcUM7RUhvQ3JDLCtCRjNCcUQ7TUUyQnJELDJCRjNCcUQ7VUUyQnJELHVCRjNCcUQ7RU1HbkQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQTJCLEVBQUE7O0FQRzdCO0VHb0JBLG1ER1Q0QztVSFM1QywyQ0dUNEM7RUNKMUMsVUFBMkIsRUFBQTs7QVBuQjdCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixxREduQ2lDO1VIbUNqQyw2Q0duQ2lDO0VIbUNqQyxnQ0YxQnNEO01FMEJ0RCw0QkYxQnNEO1VFMEJ0RCx3QkYxQnNEO0VNRXBELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEc3QjtFR29CQSxtREdUNEM7VUhTNUMsMkNHVDRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbkI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIscURHbEMrQjtVSGtDL0IsNkNHbEMrQjtFSGtDL0IsOEJGekJvRDtNRXlCcEQsMEJGekJvRDtVRXlCcEQsc0JGekJvRDtFTUNsRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBHN0I7RUdvQkEsbURHVDRDO1VIUzVDLDJDR1Q0QztFQ0oxQyxVQUEyQixFQUFBOztBUG5CN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHNER3JDbUM7VUhxQ25DLDhDR3JDbUM7RUhxQ25DLGdDR0VlO01IRmYsNEJHRWU7VUhGZix3QkdFZTtFQzFCYix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBHN0I7RUdvQkEsbURHVDRDO1VIUzVDLDJDR1Q0QztFQ0oxQyxVQUEyQixFQUFBOztBUG5CN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHNER3BDcUM7VUhvQ3JDLDhDR3BDcUM7RUhvQ3JDLGdDR0VlO01IRmYsNEJHRWU7VUhGZix3QkdFZTtFQzFCYix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBHN0I7RUdvQkEsbURHVDRDO1VIUzVDLDJDR1Q0QztFQ0oxQyxVQUEyQixFQUFBOztBUG5CN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1A4QztVSE85QywyQ0dQOEM7RUhPOUMsNkJGdEJtRDtNRXNCbkQseUJGdEJtRDtVRXNCbkQscUJGdEJtRDtFTUZqRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVBHaEM7RUdvQkEscURHL0I4QjtVSCtCOUIsNkNHL0I4QjtFQ2tCNUIsVUFBOEIsRUFBQTs7QVBuQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtREdQOEM7VUhPOUMsMkNHUDhDO0VITzlDLCtCRnJCcUQ7TUVxQnJELDJCRnJCcUQ7VUVxQnJELHVCRnJCcUQ7RU1IbkQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FQR2hDO0VHb0JBLHFERzlCZ0M7VUg4QmhDLDZDRzlCZ0M7RUNpQjlCLFVBQThCLEVBQUE7O0FQbkJoQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUDhDO1VITzlDLDJDR1A4QztFSE85QyxnQ0ZwQnNEO01Fb0J0RCw0QkZwQnNEO1VFb0J0RCx3QkZwQnNEO0VNSnBELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEdoQztFR29CQSxzREc3QnNDO1VINkJ0Qyw4Q0c3QnNDO0VDZ0JwQyxVQUE4QixFQUFBOztBUG5CaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1A4QztVSE85QywyQ0dQOEM7RUhPOUMsOEJGbkJvRDtNRW1CcEQsMEJGbkJvRDtVRW1CcEQsc0JGbkJvRDtFTUxsRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVBHaEM7RUdvQkEsc0RHNUJvQztVSDRCcEMsOENHNUJvQztFQ2VsQyxVQUE4QixFQUFBOztBUG5CaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1A4QztVSE85QywyQ0dQOEM7RUhPOUMsZ0NHRWU7TUhGZiw0QkdFZTtVSEZmLHdCR0VlO0VDMUJiLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEdoQztFR29CQSxxREcvQjhCO1VIK0I5Qiw2Q0cvQjhCO0VDa0I1QixVQUE4QixFQUFBOztBUG5CaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1A4QztVSE85QywyQ0dQOEM7RUhPOUMsZ0NHRWU7TUhGZiw0QkdFZTtVSEZmLHdCR0VlO0VDMUJiLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEdoQztFR29CQSxxREc5QmdDO1VIOEJoQyw2Q0c5QmdDO0VDaUI5QixVQUE4QixFQUFBOztBUG5CaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLDZCQUZ5QjtNQUV6Qix5QkFGeUI7VUFFekIscUJBRnlCO0VLekJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVJNN0I7RUdvQkEsMkJBRnlCO01BRXpCLHVCQUZ5QjtVQUV6QixtQkFGeUI7RUtkdkIsVUFBMkIsRUFBQTs7QVJoQjdCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYiw2QkFGeUI7TUFFekIseUJBRnlCO1VBRXpCLHFCQUZ5QjtFS3pCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQTJCLEVBQUE7O0FSTTdCO0VHb0JBLDJCQUZ5QjtNQUV6Qix1QkFGeUI7VUFFekIsbUJBRnlCO0VLZHZCLFVBQTJCLEVBQUE7O0FSaEI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsMkJBRnlCO01BRXpCLHVCQUZ5QjtVQUV6QixtQkFGeUI7RUt6QnZCLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUk1oQztFR29CQSw2QkFGeUI7TUFFekIseUJBRnlCO1VBRXpCLHFCQUZ5QjtFS2R2QixVQUE4QixFQUFBOztBUmhCaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLDJCQUZ5QjtNQUV6Qix1QkFGeUI7VUFFekIsbUJBRnlCO0VLekJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVJNaEM7RUdvQkEsNkJBRnlCO01BRXpCLHlCQUZ5QjtVQUV6QixxQkFGeUI7RUtkdkIsVUFBOEIsRUFBQTs7QVJoQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixvQ0FGeUI7TUFFekIsZ0NBRnlCO1VBRXpCLDRCQUZ5QjtFTTFCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQTJCLEVBQUE7O0FUTzdCO0VHb0JBLDRCQUZ5QjtNQUV6Qix3QkFGeUI7VUFFekIsb0JBRnlCO0VNZnZCLFVBQTJCLEVBQUE7O0FUZjdCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYiw0QkFGeUI7TUFFekIsd0JBRnlCO1VBRXpCLG9CQUZ5QjtFTTFCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FUT2hDO0VHb0JBLG1DQUZ5QjtNQUV6QiwrQkFGeUI7VUFFekIsMkJBRnlCO0VNZnZCLFVBQThCLEVBQUE7O0FUZmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtQ0FGeUI7TUFFekIsK0JBRnlCO1VBRXpCLDJCQUZ5QjtFTTFCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQTJCLEVBQUE7O0FUTzdCO0VHb0JBLDRCQUZ5QjtNQUV6Qix3QkFGeUI7VUFFekIsb0JBRnlCO0VNZnZCLFVBQTJCLEVBQUE7O0FUZjdCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYiw0QkFGeUI7TUFFekIsd0JBRnlCO1VBRXpCLG9CQUZ5QjtFTTFCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FUT2hDO0VHb0JBLG9DQUZ5QjtNQUV6QixnQ0FGeUI7VUFFekIsNEJBRnlCO0VNZnZCLFVBQThCLEVBQUE7O0FSbUI5QjtFQUFZLDZDQUFzQztVQUF0QyxxQ0FBc0MsRUFBQTs7QUFBbEQ7RUFBWSw2Q0FBc0M7VUFBdEMscUNBQXNDLEVBQUE7O0FBTWxEO0VBQVkscURBQTZDO1VBQTdDLDZDQUE2QyxFQUFBOztBQUF6RDtFQUFZLG1EQUE2QztVQUE3QywyQ0FBNkMsRUFBQTs7QUFBekQ7RUFBWSxzREFBNkM7VUFBN0MsOENBQTZDLEVBQUE7O0FBQXpEO0VBQVksdURBQTZDO1VBQTdDLCtDQUE2QyxFQUFBOztBQUF6RDtFQUFZLDBEQUE2QztVQUE3QyxrREFBNkMsRUFBQTs7QUFBekQ7RUFBWSxzRkFBNkM7VUFBN0MsOEVBQTZDLEVBQUE7O0FBQXpEO0VBQVksdUZBQTZDO1VBQTdDLCtFQUE2QyxFQUFBOztBQUF6RDtFQUFZLHNGQUE2QztVQUE3Qyw4RUFBNkMsRUFBQTs7QUFNekQ7RUFBa0IsMENBQW1DO1VBQW5DLGtDQUFtQyxFQUFBOztBQUFyRDtFQUFrQiwwQ0FBbUM7VUFBbkMsa0NBQW1DLEVBQUE7O0FBUXpEO0VTdEVBLCtCQUE4QjtVQUE5Qix1QkFBOEIsRUFBQTs7QVBLOUI7RUFHSTtJQUdJLGlDQUFVO1lBQVYseUJBQVUsRUFBQTtFQUhkO0lBR0ksa0NBQVU7WUFBViwwQkFBVSxFQUFBLEVBQUE7O0FBTmxCO0VBR0k7SUFHSSxpQ0FBVTtZQUFWLHlCQUFVLEVBQUE7RUFIZDtJQUdJLGtDQUFVO1lBQVYsMEJBQVUsRUFBQSxFQUFBOztBRjREbEI7RVN2RUEscUNBQThCO1VBQTlCLDZCQUE4QixFQUFBOztBUEs5QjtFQUdJO0lBR0ksaUNBQVU7WUFBVix5QkFBVSxFQUFBO0VBSGQ7SUFHSSw0QkFBVTtZQUFWLG9CQUFVLEVBQUEsRUFBQTs7QUFObEI7RUFHSTtJQUdJLGlDQUFVO1lBQVYseUJBQVUsRUFBQTtFQUhkO0lBR0ksNEJBQVU7WUFBVixvQkFBVSxFQUFBLEVBQUE7O0FGNkRsQjtFU3hFQSxzQ0FBOEI7VUFBOUIsOEJBQThCLEVBQUE7O0FQSzlCO0VBR0k7SUFHSSw0QkFBVTtZQUFWLG9CQUFVLEVBQUE7RUFIZDtJQUdJLGlDQUFVO1lBQVYseUJBQVUsRUFBQSxFQUFBOztBQU5sQjtFQUdJO0lBR0ksNEJBQVU7WUFBVixvQkFBVSxFQUFBO0VBSGQ7SUFHSSxpQ0FBVTtZQUFWLHlCQUFVLEVBQUEsRUFBQTs7QUY4RGxCO0VTekVBLG1DQUE4QjtVQUE5QiwyQkFBOEIsRUFBQTs7QVBLOUI7RUFHSTtJQUdJLCtCQUFVO1lBQVYsdUJBQVUsRUFBQTtFQUhkO0lBR0ksZ0NBQVU7WUFBVix3QkFBVSxFQUFBO0VBSGQ7SUFHSSw0QkFBVTtZQUFWLG9CQUFVLEVBQUEsRUFBQTs7QUFObEI7RUFHSTtJQUdJLCtCQUFVO1lBQVYsdUJBQVUsRUFBQTtFQUhkO0lBR0ksZ0NBQVU7WUFBVix3QkFBVSxFQUFBO0VBSGQ7SUFHSSw0QkFBVTtZQUFWLG9CQUFVLEVBQUEsRUFBQTs7QUZnRWxCOzs7O0VBSUUsaUNDL0RZO1VEK0RaLHlCQy9EWSxFQUFBOztBRG9FZDtFQUFZLDJDQUFtQztVQUFuQyxtQ0FBbUMsRUFBQTs7QUFsQzNDO0VBc0NZLDRDQUFxQztVQUFyQyxvQ0FBcUMsRUFBQTs7QUF0Q2pEO0VBc0NZLDRDQUFxQztVQUFyQyxvQ0FBcUMsRUFBQTs7QUFoQ2pEO0VBc0NZLG9EQUE0QztVQUE1Qyw0Q0FBNEMsRUFBQTs7QUF0Q3hEO0VBc0NZLGtEQUE0QztVQUE1QywwQ0FBNEMsRUFBQTs7QUF0Q3hEO0VBc0NZLHFEQUE0QztVQUE1Qyw2Q0FBNEMsRUFBQTs7QUF0Q3hEO0VBc0NZLHNEQUE0QztVQUE1Qyw4Q0FBNEMsRUFBQTs7QUF0Q3hEO0VBc0NZLHlEQUE0QztVQUE1QyxpREFBNEMsRUFBQTs7QUF0Q3hEO0VBc0NZLHFGQUE0QztVQUE1Qyw2RUFBNEMsRUFBQTs7QUF0Q3hEO0VBc0NZLHNGQUE0QztVQUE1Qyw4RUFBNEMsRUFBQTs7QUF0Q3hEO0VBc0NZLHFGQUE0QztVQUE1Qyw2RUFBNEMsRUFBQTs7QUFoQ3hEO0VBc0NrQix5Q0FBa0M7VUFBbEMsaUNBQWtDLEVBQUE7O0FBdENwRDtFQXNDa0IseUNBQWtDO1VBQWxDLGlDQUFrQyxFQUFBOztBaEV4RjFEO0VBVEUseUNBQTRDO0VBQzVDLDBDQUE0QztFQUM1QyxnQkFBb0IsRUFBQTs7QUFVdEI7O0VBRUUsa0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQixpQkFBaUI7RUFDakIsb0JBQWE7RUFBYixxQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUFzQjtFQUF0Qiw2QkFBc0I7RUFBdEIsOEJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsdUJBQXVCLEVBQUE7O0E0QmlUdkI7RTVCN1NBLDJCQUFtQjtFQUFuQiw0QkFBbUI7RUFBbkIsMkJBQW1CO0VBQW5CLG9CQUFtQjtFQUNuQix5QkFBbUI7RUFBbkIsMkJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO0VBQXZCLCtCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBOUJ2QixxQ0FBcUM7RUFDckMsZ0JBOEJ5QjtFQUN6QixlUXFEdUQ7RVJwRHZELG9CUW9EdUQ7RVJuRHZELHdCUW1EdUQ7RVJsRHZELDRCUWtEdUQ7RVJqRHZELHNCUWlEdUQ7RVJoRHZELHlCQUF3QjtFQUN4QixjQUFhO0VBQ2IsZ0JBQWUsRUFBQTtFNEJtS2Y7STVCaEtFLG1CQUFrQjtJQUNsQixXQUFVO0lBQ1YsNERBQXFEO1lBQXJELG9EQUFxRCxFQUFBO0VBakJ6RDtJQXFCTSxnQlFxQ21EO0lScENuRCxpQlFvQ21EO0lSbkNuRCxtQkFBa0I7SUFDbEIsV0FBVTtJQUNWLGdCQUFnQjtJQUNoQixrQ0FBaUM7SUFDakMsbUJBQWtCO0lBQ2xCLHFCUThCbUQ7SVI3Qm5ELG1CQUFrQjtJQUNsQixvQlE0Qm1ELEVBQUE7RVIxRHpEO0lBa0NRLGNBQWE7SUFDYixnQkFBZSxFQUFBOztBQU12QjtFQUNFLGVBQWMsRUFBQTs7QUFHaEI7RUFFSSxzQlFnQlM7RVJmVCxjQUFhO0VBQ2IsV0FBVSxFQUFBO0VDaUdOO0lEckdSO01BTU0scUJBQW9CO01BQ3BCLFdBQVUsRUFBQSxFQXNCYjtFQTdCSDtJQVVNLDJCQUFtQjtJQUFuQiw0QkFBbUI7SUFBbkIsMkJBQW1CO0lBQW5CLG9CQUFtQjtJQUNuQix5QkFBbUI7SUFBbkIsMkJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO0lBQXZCLCtCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBcEYzQixxQ0FBcUM7SUFDckMsZ0JBb0Y2QjtJQUN6QixlUURtRDtJUkVuRCxvQlFGbUQ7SVJHbkQsd0JRSG1EO0lSSW5ELDRCUUptRDtJUktuRCxzQlFMbUQ7SVJNbkQseUJBQXdCO0lBQ3hCLGNBQWE7SUFDYixnQkFBZSxFQUFBO0lBckJyQjtNQXdCUSxtQkFBa0I7TUFDbEIsV0FBVTtNQUNWLDREQUFxRDtjQUFyRCxvREFBcUQsRUFBQTs7QUMyRXJEO0VEckVSO0lBRUksb0JRckJxRDtJUnNCckQsY0FBYyxFQUFBLEVBa0NqQjs7QUFyQ0Q7RUFNSSxpQlF6QnFELEVBQUE7RVB3RmpEO0lEckVSO01BUU0saUJRdEJPLEVBQUEsRVJ3QlY7O0FBVkg7RUFZSSxzQlEvQnFEO0VSZ0NyRCx1QlFoQ3FELEVBQUE7RVB3RmpEO0lEckVSO01BZU0sb0JRbENtRDtNUm1DbkQsY0FBYTtNQUNiLGVBQWMsRUFBQSxFQUVqQjs7QUFuQkg7RUFxQkksc0JReENxRDtFUnlDckQsdUJRekNxRCxFQUFBO0VQd0ZqRDtJRHJFUjtNQXdCTSxjQUFjO01BQ2QsZUFBYyxFQUFBLEVBRWpCOztBQTNCSDtFQTZCSSxzQlFoRHFEO0VSaURyRCx1QlFqRHFELEVBQUE7RVB3RmpEO0lEckVSO01BZ0NNLHVCUW5EbUQ7TVJvRG5ELGNBQWM7TUFDZCxlQUFjLEVBQUEsRUFFakI7O0FBR0g7RUFDSSxpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLG1CUTdEcUQsRUFBQTtFUjBEekQ7SUFNUSxZQUFZO0lBQ1osZVFqRWlEO0lSa0VqRCxzQlFsRWlEO0lSbUVqRCxtQlFuRWlEO0lSb0VqRCxTQUFTO0lBQ1QsY0FBYztJQUNkLHdCUXRFaUQ7SVJ1RWpELDhEQUErQztZQUEvQyxzREFBK0M7SUFDL0Msa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixRQUFRO0lBQ1IsaUJRM0VpRDtJUjRFakQsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixtQktwRk8sRUFBQTtFTGdFZjtJQXdCUSxxQlFsRmlEO0lSbUZqRCxxQlFuRmlELEVBQUE7SVIwRHpEO01BNEJZLGNBQWMsRUFBQTs7QUFLMUI7RUFDSSxrQkFBa0IsRUFBQTtFQUR0QjtJQUlRLGtCQUFrQjtJQUNsQixRQUFRO0lBQ1IsWVFqR2lELEVBQUE7O0FScUd6RDtFQUNFLGlCUXRHdUQ7RVJ1R3ZELGdCUXZHdUQ7RVJ3R3ZELG1CQUFrQjtFQUNsQix5QkFBd0I7RUFDeEIsY0FBYTtFQUNiLHNCUTNHdUQ7RVI0R3ZELGtCQUFrQjtFQUNsQixxQkFBcUIsRUFBQTtFQVJ2QjtJQVdJLG9CUWhIcUQ7SVJpSHJELGtCQUFrQjtJQUNsQixRQUFRO0lBQ1IsU0FBUztJQUNULHdDQUErQjtRQUEvQixvQ0FBK0I7WUFBL0IsZ0NBQStCLEVBQUE7RUFmbkM7SUFrQkksc0JBQXFCO0lBQ3JCLFdBQVUsRUFBQTtJQW5CZDtNQXFCTSxXQUFVLEVBQUE7RUFyQmhCO0lBeUJJLGNBQWEsRUFBQTs7QUFJakI7RUFDRSx1QlFuSXVEO0VSb0l2RCxtQkFBa0I7RUFDbEIsb0NRaElXO0VSaUlYLDJCQUFtQjtFQUFuQiw0QkFBbUI7RUFBbkIsMkJBQW1CO0VBQW5CLG9CQUFtQjtFQUNuQix5QkFBbUI7RUFBbkIsMkJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsdUJRbklXO0VSb0lYLGlCUXpJdUQ7RVJyRnZELHFDQUFxQztFQUNyQyxnQkE4TnlCO0VBQ3pCLGVRM0l1RDtFUjRJdkQseUJBQXlCO0VBQ3pCLHlCUTdJdUQ7RVI4SXZELGNBQWE7RUFDYixrQkFBaUIsRUFBQTtFQWJuQjtJQWVJLFdBQVU7SUFDVixrQkFBaUI7SUFDakIsYVFuSnFEO0lSb0pyRCxhUXBKcUQ7SVJxSnJELE1BQUs7SUFDTCxTQUFRO0lBQ1IsbUJBQWtCLEVBQUE7O0FBSXRCO0VBRVEsb0JRN0ppRDtFUjhKakQsc0JROUppRCxFQUFBOztBUmtLekQ7RUFFUSxzQlFwS2lELEVBQUE7RVJrS3pEO0lBS1ksZUFBZSxFQUFBOztBR3JPekI7RUh2QkEscUNBQXFDO0VBQ3JDLGdCMEVIeUI7RUFDekIsb0JsRXNGdUQ7RWtFckZ2RCxzQmxFcUZ1RDtFa0VwRnZELG1CQUFtQjtFQUNuQixXQUFVLEVBQUE7RXpFMktKO0lFdEpOO011RW5CRSxvQmxFaUZxRDtNa0VoRnJELGlCbEVnRnFELEVBQUEsRWtFOUV4RDs7QUFFRDtFMUVURSxxQ0FBcUM7RUFDckMsZ0IwRVN5QjtFQUN6QixtQmxFMEV1RDtFa0V6RXZELHNCbEV5RXVEO0VrRXhFdkQsY0FBYSxFQUFBO0V6RWdLUDtJeUVwS1I7TUFNSSxtQmxFc0VxRDtNa0VyRXJELG9CbEVxRXFELEVBQUEsRWtFbkV4RDs7QUFDRDtFMUVuQkUscUNBQXFDO0VBQ3JDLGdCMEVtQnlCO0VBQ3pCLG9CbEVnRXVEO0VrRS9EdkQsc0JsRStEdUQ7RWtFOUR2RCxjQUFhLEVBQUE7RXpFc0pQO0l5RTFKUjtNQU1JLG1CbEU0RHFEO01rRTNEckQscUJsRTJEcUQsRUFBQSxFa0V6RHhEOztBQUVEO0UxRTlCRSxxQ0FBcUM7RUFDckMsZ0IwRThCeUI7RUFDekIsaUJsRXFEdUQ7RWtFcER2RCxzQmxFb0R1RDtFa0VuRHZELGNBQWEsRUFBQTtFekUySVA7SXlFL0lSO01BTUksb0JsRWlEcUQsRUFBQSxFa0UvQ3hEOztBQUVEO0UxRXhDRSxxQ0FBcUM7RUFDckMsZ0IwRXdDeUI7RUFDekIsa0JsRTJDdUQ7RWtFMUN2RCxvQmxFMEN1RDtFa0V6Q3ZELGNBQWEsRUFBQTtFekVpSVA7SXlFcklSO01BTUksaUJsRXVDcUQ7TWtFdENyRCxzQmxFc0NxRCxFQUFBLEVrRXBDeEQ7O0FBRUQ7RTFFbkRFLHFDQUFxQztFQUNyQyxnQjBFbUR5QjtFQUN6QixtQmxFZ0N1RDtFa0UvQnZELHFCbEUrQnVELEVBQUE7O0FRbUt2RDtFaEJ4UEEscUNBQXFDO0VBQ3JDLGdCMEV5RHlCO0VBQ3pCLG1CbEUwQnVEO0VrRXpCdkQsaUJsRXlCdUQ7RWtFeEJ2RCxjQUFjLEVBQUE7RUFKaEI7SUFNSSxlbEVzQnFEO0lrRXJCckQsc0JsRXFCcUQsRUFBQTtFa0U1QnpEO0lBVUksV0FBVTtJQUNWLGdDQUErQixFQUFBO0lBWG5DO01BYU0sY0FBYTtNQUNiLHFCQUFvQixFQUFBOztBQUsxQjtFQUNFLGdCQUFlLEVBQUE7RUFEakI7STFFNUVFLHFDQUFxQztJQUNyQyxnQjBFOEUyQjtJQUN6QixtQmxFS3FEO0lrRUpyRCxpQmxFSXFEO0lrRUhyRCxrQkFBaUI7SUFDakIscUJsRUVxRCxFQUFBO0lrRVR6RDtNQVNNLFlBQVE7TUFDUixtQmxFRG1EO01rRUVuRCxPQUFNO01BQ04sa0JBQWlCO01BQ2pCLE1BQUssRUFBQTtFQWJYO0lBa0JNLGVBQWMsRUFBQTtJQWxCcEI7TUFvQlEsYUFBWSxFQUFBO0VBcEJwQjtJQXlCSSxVQUFVO0lBQ1Ysa0JBQWtCO0lBQ2xCLGVBQWUsRUFBQTs7QXZFbERqQjtFSHJEQSxxQ0FBcUM7RUFDckMsZ0IwRTJHeUI7RUFDekIsV0FBVTtFQUNWLGdDQUErQixFQUFBO0VBSGpDO0lBS0ksY0FBYTtJQUNiLHFCQUFvQixFQUFBOztBQUl4QjtFQUNFLDZCbEU1QlcsRUFBQTs7QW1FN0ZiO0VBQ0Usc0JBQXNCO0VBQ3RCLHdDQUF5QztFQUN6Qyx5U0FJMkQ7RUFDM0QsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQixtQkFBbUIsRUFBQTs7QTdFaXdKckI7RTZFN3ZKRSwrRUFBQTtFQUNBLGlDQUFpQztFQUNqQyxZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixvQkFBb0I7RUFDcEIsb0JBQW9CO0VBQ3BCLGNBQWM7RUFFZCxzQ0FBQTtFQUNBLG1DQUFtQztFQUNuQyxrQ0FBa0MsRUFBQTs7QUFHcEM7RUFDRSxnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7O0VBRUUsZ0JBQWdCLEVBQUE7O0FDOUdsQjtFQUVJLDhDQUFzQztVQUF0QyxzQ0FBc0MsRUFBQTtFQUYxQztJQUlNLCtCQUErQjtJQUFFLHFCQUFBO0lBQ2pDLHVCQUF1QixFQUFBOztBQ0w3QjtFQUVJLDZDQUFxQztVQUFyQyxxQ0FBcUMsRUFBQTtFQUZ6QztJQUlNLCtCQUErQjtJQUFFLHFCQUFBO0lBQ2pDLHVCQUF1QixFQUFBOztBQ0w3QjtFQUNFLG9CdEV1RnVEO0VzRXRGdkQsY0FBYSxFQUFBOztBQUVmOztFQUdJLGNBQWEsRUFBQTtFQUhqQjs7STlFREUscUNBQXFDO0lBQ3JDLGdCOEVLNkI7SUFDekIsbUJ0RThFbUQ7SXNFN0VuRCxjQUFhO0lBQ2IsOEJ0RTRFbUQsRUFBQTtJc0VwRnpEOztNQVVRLGNBQWE7TUFDYixtQnRFeUVpRDtNc0V4RWpELG1CQUFrQixFQUFBO0lBWjFCOztNQWVRLDhCdEVxRWlEO01SckZ2RCxxQ0FBcUM7TUFDckMsZ0I4RWdCK0IsRUFBQTtJQWhCakM7O01BbUJRLGVBQWMsRUFBQTs7QUN2QnRCO0VBR00sZ0JBQWU7RUFDZiwrQkFBOEIsRUFBQTtFQUpwQztJQU1RLGdDQUErQixFQUFBO0lBTnZDO01BUVUsY0FBYTtNL0VMckIscUNBQXFDO01BQ3JDLGdCK0VLaUM7TUFDekIsb0J2RThFK0M7TXVFN0UvQyxvQnZFNkUrQztNdUU1RS9DLFlBQVc7TUFDWCxxQkFBb0I7TUFDcEIsbUN2RStFRyxFQUFBO011RTdGYjtRQWlCWSxnQkFBZTtRQUNmLHFCQUFvQixFQUFBO01BbEJoQztRQXFCWSxldkVtRTZDO1F1RWxFN0MsZ0JBQWdCO1FBQ2hCLGtDQUFrQztRQUNsQyxjQUFhO1FBQ2IsZ0JBQWU7UUFDZixjdkU4RDZDO1F1RTdEN0MsUUFBTztRQUNQLFd2RTRENkM7UXVFM0Q3QyxZdkUyRDZDO1F1RTFEN0MsbUJBQWtCO1FBQ2xCLG1CQUFrQjtRQUNsQixvQkFBWTtRQUFaLHFCQUFZO1FBQVosb0JBQVk7UUFBWixhQUFZO1FBQ1oseUJBQW1CO1FBQW5CLDJCQUFtQjtZQUFuQixzQkFBbUI7Z0JBQW5CLG1CQUFtQjtRQUNuQix3QkFBdUI7UUFBdkIsK0JBQXVCO1lBQXZCLHFCQUF1QjtnQkFBdkIsdUJBQXVCLEVBQUE7SUFsQ25DO01Bc0NVLFlBQVk7TUFDWixnQkFBZ0I7TUFDaEIsdUJ2RXFERyxFQUFBO011RTdGYjtRQTJDWSxzQnZFNkM2QztRdUU1QzdDLGNBQWMsRUFBQTtJQTVDMUI7TUFrRFksZ0JBQWUsRUFBQTtNQWxEM0I7UUFvRGMsZ0JBQWdCO1FBQ2hCLHFCdkVtQzJDLEVBQUE7O0F1RXhGekQ7RUE4RE0sZ0JBQWUsRUFBQTtFQTlEckI7SUFnRVEsd0J2RXdCaUQ7SXVFdkJqRCxtQkFBa0I7SUFDbEIsdUJ2RXNCaUQsRUFBQTtJdUV4RnpEO01Bb0VVLGNBQWE7TS9FakVyQixxQ0FBcUM7TUFDckMsZ0IrRWlFaUM7TUFDekIsaUJ2RWtCK0M7TXVFakIvQyxvQnZFaUIrQztNdUVoQi9DLFlBQVc7TUFDWCxxQkFBb0I7TUFDcEIsb0JBQVk7TUFBWixxQkFBWTtNQUFaLG9CQUFZO01BQVosYUFBWTtNQUNaLDBDdkVhK0MsRUFBQTtNdUV4RnpEO1FBNkVZLGlCQUFnQjtRL0UxRTFCLHFDQUFxQztRQUNyQyxnQitFMEVtQztRQUN6QixvQnZFUzZDO1F1RVI3QyxjQUFhLEVBQUE7TUFoRnpCO1FBb0ZZLGdCQUFlO1FBQ2YscUJBQW9CLEVBQUE7TUFyRmhDO1FBd0ZZLGV2RUE2QztRdUVDN0MsZ0JBQWdCO1FBQ2hCLGtDQUFrQztRQUNsQyxjQUFhO1FBQ2IsZ0JBQWU7UUFDZixTdkVMNkM7UXVFTTdDLGV2RU42QztRdUVPN0MsV3ZFUDZDO1F1RVE3QyxZdkVSNkM7UXVFUzdDLG1CQUFrQjtRQUNsQixtQkFBa0I7UUFDbEIsb0JBQVk7UUFBWixxQkFBWTtRQUFaLG9CQUFZO1FBQVosYUFBWTtRQUNaLHlCQUFtQjtRQUFuQiwyQkFBbUI7WUFBbkIsc0JBQW1CO2dCQUFuQixtQkFBbUI7UUFDbkIsd0JBQXVCO1FBQXZCLCtCQUF1QjtZQUF2QixxQkFBdUI7Z0JBQXZCLHVCQUF1QixFQUFBO0lBckduQztNQXlHVSxZQUFZO01BQ1osZ0JBQWdCO01BQ2hCLHdDdkVuQitDLEVBQUE7TXVFeEZ6RDtRQThHWSxzQnZFdEI2QztRdUV1QjdDLGNBQWMsRUFBQTtNQS9HMUI7UUFtSGMsZ0JBQWUsRUFBQTtRQW5IN0I7VUFxSGdCLGdCQUFlO1VBQ2YsWUFBVztVQUNYLGdDQUErQixFQUFBO1VBdkgvQztZQXlIa0IsZ0JBQWUsRUFBQTtZQXpIakM7Y0EySG9CLHdCdkU5QlA7Y1IxRlgscUNBQXFDO2NBQ3JDLGdCK0V3SDJDO2NBQ3pCLG9CdkVyQ3FDO2N1RXNDckMsY0FBYSxFQUFBO2NBOUhqQztnQkFnSXNCLGlCQUFnQjtnQkFDaEIsb0J2RXpDbUM7Z0J1RTBDbkMsY0FBYSxFQUFBO1FBbEluQztVQXdJZ0IsZ0JBQWU7VUFDZixZQUFXLEVBQUE7VUF6STNCO1lBMklrQixnQkFBZSxFQUFBO1lBM0lqQztjQTZJb0IsY0FBYTtjQUNiLG1CdkVqRFA7Y3VFa0RPLGdDQUErQjtjL0U1SWpELHFDQUFxQztjQUNyQyxnQitFNEkyQztjQUN6QixvQnZFekRxQyxFQUFBO2N1RXhGekQ7Z0JBbUpzQixpQkFBZ0I7Z0IvRWhKcEMscUNBQXFDO2dCQUNyQyxnQitFZ0o2QyxFQUFBO2NBcEovQztnQkF1SnNCLGNBQWE7Z0JBQ2IsMkJBQW1CO2dCQUFuQiw0QkFBbUI7Z0JBQW5CLDJCQUFtQjtnQkFBbkIsb0JBQW1CO2dCQUNuQix5QkFBbUI7Z0JBQW5CLDJCQUFtQjtvQkFBbkIsc0JBQW1CO3dCQUFuQixtQkFBbUI7Z0JBQ25CLGNBQWE7Z0JBQ2IsVUFBUyxFQUFBO2dCQTNKL0I7a0JBNkp3QixZQUFXO2tCQUNYLGtCdkV0RWlDO2tCdUV1RWpDLHFCdkV2RWlDLEVBQUE7Z0J1RXhGekQ7a0JBa0t3QixnQ0FBK0IsRUFBQTtJQWxLdkQ7TUE4S1ksZ0JBQWUsRUFBQTtNQTlLM0I7UUFnTGMsZ0JBQWdCO1FBQ2hCLHFCdkV6RjJDLEVBQUE7O0F3RXhGekQ7RUFDRSxzQkFBcUIsRUFBQTtFQUR2QjtJQUlNLGlCeEVvRm1EO0l3RW5GbkQsd0J4RW1GbUQ7SXdFbEZuRCxnQkFBZTtJQUNmLHlCQUF3QjtJQUN4QixnQkFBZTtJQUNmLG9CQUFZO0lBQVoscUJBQVk7SUFBWixvQkFBWTtJQUFaLGFBQVk7SUFDWix5QkFBbUI7SUFBbkIsMkJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsa0J4RTZFbUQ7SVJyRnZELHFDQUFxQztJQUNyQyxnQmdGUTZCO0lBQ3pCLG1CeEUyRW1ELEVBQUE7SVB3RmpEO00rRWhMUjtRQWVRLG9CeEV5RWlEO1F3RXhFakQsZ0J4RXdFaUQ7UXdFdkVqRCx3QnhFdUVpRCxFQUFBLEV3RXpDcEQ7SUEvQ0w7TUFvQlEsY3hFb0VpRDtNd0VuRWpELGF4RW1FaUQsRUFBQTtNUHdGakQ7UStFaExSO1VBdUJVLGF4RWlFK0M7VXdFaEUvQyxTeEVnRStDLEVBQUEsRXdFakRsRDtNQXZDUDtRQTJCVSxnQkFBZ0I7UUFDaEIsc0JBQXNCO1FBQ3RCLG1CeEUyRCtDO1F3RTFEL0MsZ0JBQWU7UUFDZixjQUFhO1FBQ2IscUJBQW9CO1FBQ3BCLG1DQUEwQjtRQUExQiwyQkFBMEI7UUFDMUIsa0NBQXlCO1lBQXpCLDhCQUF5QjtnQkFBekIsMEJBQXlCLEVBQUE7TUFsQ25DO1FBcUNVLFlBQVcsRUFBQTtJQXJDckI7TUEyQ1ksK0JBQXNCO1VBQXRCLDJCQUFzQjtjQUF0Qix1QkFBc0IsRUFBQTtFQTNDbEM7SUFrREksdUJ4RXNDcUQ7SXdFckNyRCxZQUFXO0lBQ1gsZ0JBQWU7SUFDZixtQkFBa0I7SUFDbEIsNERBQXFEO1lBQXJELG9EQUFxRDtJQUNyRCxheEVpQ3FEO0l3RWhDckQsb0J4RXFDUyxFQUFBO0l3RTdGYjtNQTREVSxtQkFBa0I7TUFDbEIsNEJ4RTJCK0M7TVJyRnZELHFDQUFxQztNQUNyQyxnQmdGMERpQztNQUN6QixtQnhFeUIrQztNd0V4Qi9DLFdBQVUsRUFBQTtNQWhFcEI7UUFtRVksMkJBQTBCO1FBQzFCLFdBQVUsRUFBQTtNQXBFdEI7UUF1RVksMkJBQTBCO1FBQzFCLFdBQVUsRUFBQTtNQXhFdEI7UUEyRVksYUFBWSxFQUFBO0lBM0V4QjtNQWlGTSxrQ0FBc0M7TUFDdEMsb0J4RU1tRCxFQUFBO0V3RXhGekQ7SUF1Rk0sbUNBQXFDLEVBQUE7RUF2RjNDO0lBMEZNLG1DQUFzQyxFQUFBOztBQzFGNUM7RUFDRSx1Q3pFdUZ1RDtFeUV0RnZELHdCekVzRnVEO0V5RXJGdkQsbUJBQWtCO0VBQ2xCLFlBQVc7RUFDWCxrQnpFd0ZXO0V5RXZGWCxrQkFBaUIsRUFBQTtFaEYwS1g7SWdGaExSO01BUUksaUJ6RXFGUyxFQUFBLEV5RTlEWjtFQS9CRDtJQVdJLGdCQUFnQjtJQUNoQixrQ0FBaUM7SUFDakMsY0FBYTtJQUNiLG9CekUwRXFEO0l5RXpFckQsc0J6RXlFcUQ7SXlFeEVyRCxjQUFhLEVBQUE7SWhGZ0tUO01nRmhMUjtRQWtCTSxpQnpFc0VtRCxFQUFBLEV5RXBFdEQ7RUFwQkg7SUFzQkksY0FBYTtJakZuQmYscUNBQXFDO0lBQ3JDLGdCaUZtQjJCO0lBQ3pCLG9CekVnRXFEO0l5RS9EckQsc0J6RStEcUQsRUFBQTtJUHdGakQ7TWdGaExSO1FBMkJNLG9CekU2RG1EO1F5RTVEbkQsc0J6RTREbUQsRUFBQSxFeUUxRHREOztBQUdIO0VBakNBO0lBbUNJLGtDQUFtQjtPQUFuQiwrQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLGtCekV5RFMsRUFBQSxFeUV4RFY7O0FDckNIO0VBQ0UsbUJBQWtCO0VBQ2xCLHlCMUVzRnVEO0UwRXJGdkQsZ0JBQWU7RUFDZixtQkFBa0IsRUFBQTtFakY0S1o7SWlGaExSO01BTUksbUIxRXVGUyxFQUFBLEUwRWRaO0VqRmlHTztJaUZoTFI7TUFVTSxvQjFFOEVtRDtNMEU3RW5ELGNBQWM7TUFDZCxvQkFBYTtNQUFiLHFCQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2IseUJBQW1CO01BQW5CLDJCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLHlCQUE4QjtNQUE5QixzQ0FBOEI7VUFBOUIsc0JBQThCO2NBQTlCLDhCQUE4QixFQUFBLEVBd0RqQztFQXRFSDtJQWlCTSxnQjFFdUVtRDtJMEV0RW5ELGlCMUVzRW1EO0kwRXJFbkQsc0JBQWE7UUFBYixvQkFBYTtZQUFiLGNBQWE7SUFDYix5QkFBd0I7SUFDeEIsbUJBQW1CO0lBQ25CLG9CQUFZO0lBQVoscUJBQVk7SUFBWixvQkFBWTtJQUFaLGFBQVk7SUFDWix5QkFBbUI7SUFBbkIsMkJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO0lBQXZCLCtCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLHVCMUVvRU8sRUFBQTtJUG1GTDtNaUZoTFI7UUEyQlEsZTFFNkRpRDtRMEU1RGpELGdCMUU0RGlEO1EwRTNEakQsdUIxRWdFSyxFQUFBLEUwRXZEUjtJQXRDTDtNQWdDUSxXQUFVO01BQ1Ysa0IxRXVEaUQsRUFBQTtNUHdGakQ7UWlGaExSO1VBbUNVLGUxRXFEK0MsRUFBQSxFMEVuRGxEO0VBckNQO0lBd0NNLG9CQUFZO0lBQVoscUJBQVk7SUFBWixvQkFBWTtJQUFaLGFBQVk7SUFDWix5QkFBOEI7SUFBOUIsc0NBQThCO1FBQTlCLHNCQUE4QjtZQUE5Qiw4QkFBOEI7SUFDOUIseUJBQW1CO0lBQW5CLDJCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHNCMUVrRE8sRUFBQTtJUG1GTDtNaUZoTFI7UUE2Q1Esc0JBQWM7WUFBZCxvQkFBYztnQkFBZCxjQUFjO1FBQ2Qsc0IxRStDSyxFQUFBLEUwRTFDUjtJQW5ETDtNQWlEUSxXQUFVLEVBQUE7RUFqRGxCO0lBcURNLG9CMUVtQ21ELEVBQUE7STBFeEZ6RDtNbEZHRSxxQ0FBcUM7TUFDckMsZ0JrRm1EK0I7TUFDekIsV0FBVTtNQUNWLFNBQVEsRUFBQTtFQXpEaEI7SUE2RE0sT0FBTTtJQUNOLGtCQUFpQjtJQUNqQiw2QkFBcUI7SUFBckIscUJBQXFCLEVBQUE7SUEvRDNCO01BaUVRLFdBQVU7TUFDVixtQjFFc0JpRDtNMEVyQmpELG1CQUFrQixFQUFBO0VBbkUxQjtJQXdFSSxtQkFBa0IsRUFBQTtJQXhFdEI7TUEyRVEsZTFFYWlELEVBQUE7O0FnQ3VCdkQ7RTJDOUdBLFlBQVc7RUFDWCxrQkFBaUI7RUFDakIsY0FBYTtFQUNiLHVCM0VvRnVEO0UyRW5GdkQsZ0JBQWU7RUFDZixVQUFTLEVBQUE7RUFOWDtJQVFJLGdCQUFlO0lBQ2YsTUFBSztJQUNMLE9BQU07SUFDTixRQUFPO0lBQ1AsV0FBVTtJQUNWLG9CQUFpQjtPQUFqQixpQkFBaUI7SUFDakIsVUFBUztJQUNULG1DQUEwQjtJQUExQiwyQkFBMEIsRUFBQTtJbEZpS3RCO01rRmhMUjtRQWlCTSxRQUFPLEVBQUEsRUFFVjtFQW5CSDtJQXFCSSxVQUFTLEVBQUE7SWxGMkpMO01rRmhMUjtRQXVCTSxTQUFRO1FBQ1IsU0FBUSxFQUFBLEVBcUNYO0lBN0RIO01BMkJNLDJCM0U2RG1ELEVBQUE7TVB3RmpEO1FrRmhMUjtVQTZCUSwyQjNFMkRpRCxFQUFBLEUyRTdCcEQ7TUEzREw7UUFnQ1EsV0FBVTtRQUNWLFNBQVEsRUFBQTtNQWpDaEI7UUFvQ1EsZTNFb0RpRDtRMkVuRGpELGdCM0VtRGlEO1EyRWxEakQsc0JBQXFCO1FBQ3JCLG9CQUFZO1FBQVoscUJBQVk7UUFBWixvQkFBWTtRQUFaLGFBQVk7UUFDWix5QkFBbUI7UUFBbkIsMkJBQW1CO1lBQW5CLHNCQUFtQjtnQkFBbkIsbUJBQW1CO1FBQ25CLHdCQUF1QjtRQUF2QiwrQkFBdUI7WUFBdkIscUJBQXVCO2dCQUF2Qix1QkFBdUI7UUFDdkIsbUJBQWtCO1FBQ2xCLGtCQUFpQjtRQUNqQixjM0U0Q2lEO1EyRTNDakQsVTNFMkNpRDtRMkUxQ2pELFdBQVU7UUFDVixtQ0FBMEI7UUFBMUIsMkJBQTBCLEVBQUE7UWxGaUkxQjtVa0ZoTFI7WUFpRFUsZ0IzRXVDK0M7WTJFdEMvQyxpQjNFc0MrQztZMkVyQy9DLFNBQVE7WUFDUixnQjNFb0MrQztZMkVuQy9DLGlCM0VtQytDLEVBQUEsRTJFOUJsRDtRQTFEUDtVQXdEVSxvQjNFZ0MrQyxFQUFBO0UyRXhGekQ7SUErREksbUJBQWtCLEVBQUE7SUEvRHRCO01BaUVNLG1CQUFrQixFQUFBO0VBakV4QjtJQXFFSSxtQkFBa0IsRUFBQTtJQXJFdEI7TUF1RU0sbUJBQWtCLEVBQUE7RUF2RXhCO0lBMkVJLG1CQUFrQixFQUFBO0lBM0V0QjtNQTZFTSxtQkFBa0IsRUFBQTtFQTdFeEI7SUFrRk0sK0JBQTJCLEVBQUE7RUFsRmpDO0lBdUZNLFdBQVU7SUFDVixrQkFBaUI7SUFDakIsUUFBTztJQUNQLCtCQUEyQjtJQUMzQix3QkFBd0I7SUFDeEIsVUFBUyxFQUFBO0VBNUZmO0lBK0ZNLFdBQVU7SUFDVixrQkFBaUI7SUFDakIsU0FBUTtJQUNSLE9BQU07SUFDTixRQUFPO0lBQ1AsaUJBQXNCO0lBQ3RCLGtIQUFnRjtJQUFoRixzRkFBZ0Y7SUFDaEYsd0JBQXdCO0lBQ3hCLFVBQVM7SUFDVCxrQjNFaEJtRCxFQUFBO0UyRXhGekQ7SUE4R00sa0JBQWlCO0lBQ2pCLE1BQUs7SUFDTCxPQUFNO0lBQ04sUUFBTztJQUNQLFdBQVU7SUFDVixvQkFBaUI7T0FBakIsaUJBQWlCO0lBQ2pCLFVBQVM7SUFDVCxtQ0FBMEI7SUFBMUIsMkJBQTBCLEVBQUE7SWxGMkR4QjtNa0ZoTFI7UUF1SFEsUUFBTyxFQUFBLEVBRVY7RUF6SEw7SUEySE0sa0JBQWtCO0lBQ2xCLGEzRXBDbUQ7STJFcUNuRCxPQUFPO0lBQ1AsUUFBUTtJQUNSLFNBQVM7SUFDVCxVQUFVLEVBQUE7SWxGZ0RSO01rRmhMUjtRQWtJUSxTQUFTO1FBQ1QsU0FBUyxFQUFBLEVBRVo7RUFySUw7SUF3SUksNERBQXFEO1lBQXJELG9EQUFxRCxFQUFBO0lBeEl6RDtNQTBJTSw4QkFBcUI7VUFBckIsMEJBQXFCO2NBQXJCLHNCQUFxQixFQUFBO0lBMUkzQjtNQStJVSxnQkFBZSxFQUFBO0lBL0l6QjtNQXNKVSxjQUFhLEVBQUE7SUF0SnZCO01BNkpVLGNBQWEsRUFBQTtJQTdKdkI7TUFvS1UsY0FBYSxFQUFBO0lBcEt2QjtNQTZLWSxXQUFVLEVBQUE7O0FDN0t0QjtFQUNFLGtCQUFpQixFQUFBO0VBRG5CO0lBR0ksaUI1RXFGcUQ7STRFcEZyRCxxQjVFb0ZxRDtJNEVuRnJELG9CQUFZO0lBQVoscUJBQVk7SUFBWixvQkFBWTtJQUFaLGFBQVk7SUFDWix5QkFBd0I7SUFDeEIsd0I1RWlGcUQ7STRFaEZyRCw4QjVFZ0ZxRDtJNEUvRXJELFdBQVU7SXBGTloscUNBQXFDO0lBQ3JDLGdCb0ZNMkI7SUFDekIsbUI1RTZFcUQ7STRFNUVyRCxrQkFBaUIsRUFBQTtJbkZvS2I7TW1GaExSO1FBY00sNkI1RTBFbUQ7UTRFekVuRCx1QjVFeUVtRDtRNEV4RW5ELGlCNUV3RW1EO1E0RXZFbkQsc0I1RXVFbUQsRUFBQSxFNEVuRHREO0lBckNIO01Bb0JNLGdCQUFnQjtNQUNoQixrQ0FBa0M7TUFDbEMsa0JBQWlCO01BQ2pCLGM1RWlFbUQ7TTRFaEVuRCxtQjVFZ0VtRDtNNEUvRG5ELGNBQWM7TUFDZCxtQ0FBMEI7TUFBMUIsMkJBQTBCO01BQzFCLGlDQUF3QjtVQUF4Qiw2QkFBd0I7Y0FBeEIseUJBQXdCLEVBQUE7TW5GcUp0QjtRbUZoTFI7VUE2QlEsZTVFMkRpRCxFQUFBLEU0RXpEcEQ7SUEvQkw7TUFrQ1EsK0JBQXNCO1VBQXRCLDJCQUFzQjtjQUF0Qix1QkFBc0IsRUFBQTtFQWxDOUI7SUF1Q0ksd0I1RWlEcUQ7STRFaERyRCxtQjVFZ0RxRDtJNEUvQ3JELHlCQUF3QjtJQUN4QixVQUFTO0lBQ1QsZ0JBQWU7SUFDZixtQkFBa0I7SUFDbEIsd0JBQTJCLEVBQUE7SW5GbUl2QjtNbUZoTFI7UUErQ00sdUI1RXlDbUQ7UTRFeENuRCxnQjVFd0NtRDtRNEV2Q25ELHdCQUEyQixFQUFBLEVBNkI5QjtJQTlFSDtNQW9ETSxnQkFBZTtNQUNmLFNBQVE7TUFDUixVQUFTLEVBQUE7TUF0RGY7UUF3RFEsNEI1RWdDaUQsRUFBQTtRUHdGakQ7VW1GaExSO1lBMERVLDRCNUU4QitDLEVBQUEsRTRFWmxEO1FBNUVQO1VBNkRVLFVBQVM7VUFDVCxXQUFVO1VwRjNEbEIscUNBQXFDO1VBQ3JDLGdCb0YyRGlDO1VBQ3pCLG1CNUV3QitDO1U0RXZCL0MsaUI1RXVCK0MsRUFBQTtRNEV4RnpEO1VBdUVVLGdCQUFlLEVBQUE7VUF2RXpCO1lBeUVZLGNBQWEsRUFBQTs7QUN6RXpCO0VBS1UseUJBQW1CO0VBQW5CLDJCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CLEVBQUE7RUFMN0I7SUFXYyxhQUFZLEVBQUE7O0FDWDFCO0VBU29DLGdCQUFlLEVBQUE7O0FBV25EO0VBSU0sZUFBYztFQUNkLFlBQVc7RUFDWCxNQUFLO0VBQ0wsT0FBTTtFQUNOLFFBQU8sRUFBQTtFQVJiO0lBVVEseUJBQW1CO0lBQW5CLDJCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CLEVBQUE7SUFWM0I7TUFhWSxhQUFZLEVBQUE7SUFieEI7TUFnQlksY0FBYSxFQUFBO0lBaEJ6QjtNQXFCWSxhQUFZLEVBQUE7O0FBckJ4QjtFQTZCUSxxQ0FBaUMsRUFBQTtFQTdCekM7SUErQlUseUJBQW1CO0lBQW5CLDJCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CLEVBQUE7SUEvQjdCO01BaUNZLFNBQVEsRUFBQTtNQWpDcEI7UUFtQ2MsY0FBYSxFQUFBO01BbkMzQjtRQXNDYyxhQUFZLEVBQUE7SUF0QzFCO01BOENvQixtQkFBa0IsRUFBQTs7QUE5Q3RDO0VBK0RZLGFBQVksRUFBQTs7QTNDeUV0QjtFNEMzSkEsbUJBQWtCO0VBQ2xCLHdCL0VzRnVEO0VSckZ2RCxxQ0FBcUM7RUFDckMsZ0J1RkR5QjtFQUN6QixlL0VvRnVEO0UrRW5GdkQsc0IvRW1GdUQ7RStFbEZ2RCxXQUFVO0VBQ1Ysa0IvRWlGdUQ7RStFaEZ2RCw0Qi9FZ0Z1RCxFQUFBO0UrRXhGekQ7SUFVSSxnQkFBZ0I7SUFDaEIsa0NBQWtDO0lBQ2xDLHFCL0U0RXFELEVBQUE7RStFeEZ6RDtJQWdCTSxhQUFZLEVBQUE7O0FDaEJsQjs7RUFNVSxhQUFZLEVBQUE7O0FBTnRCOzs7O0VBWU0sVUFBUyxFQUFBOztBQUtmO0VBQ0Usd0JoRnNFdUQsRUFBQTtFZ0Z2RXpEO0lBSU0saUJBQWdCLEVBQUE7RUFKdEI7SUFjTSxvQkFBWTtJQUFaLHFCQUFZO0lBQVosb0JBQVk7SUFBWixhQUFZO0lBQ1osVUFBUztJQUNULHdCQUFlO1lBQWYsZ0JBQWU7SUFDZixnQkFBZTtJQUNmLFlBQVcsRUFBQTtFQWxCakI7SUF3QlksZ0JoRitDNkM7SWdGOUM3Qyx1QmhGOEM2QztJZ0Y3QzdDLGdCQUFlO0lBQ2YseUJBQXdCO0lBQ3hCLG1CQUFrQjtJQUNsQixvQkFBWTtJQUFaLHFCQUFZO0lBQVosb0JBQVk7SUFBWixhQUFZO0lBQ1oseUJBQW1CO0lBQW5CLDJCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLG1CaEZ3QzZDO0lSckZ2RCxxQ0FBcUM7SUFDckMsZ0J3RjZDbUM7SUFDekIsb0JoRnNDNkM7SWdGckM3QyxXQUFVO0lBQ1YsV0FBVSxFQUFBO0VBbkN0QjtJQTBDUSxpQmhGNkJpRDtJZ0Y1QmpELDZCQUF5QixFQUFBO0lBM0NqQztNQTZDVSxrQ0FBa0M7TUFDbEMsa0JBQWlCLEVBQUE7SUE5QzNCO01Ba0RZLGdCQUFnQixFQUFBO0lBbEQ1QjtNQXVEWSxnQkFBZ0IsRUFBQTtFQXZENUI7SUE2RFUsY0FBYSxFQUFBO0VBN0R2QjtJQXFFSSxhaEZPUyxFQUFBO0lnRjVFYjtNQXdFUSxnQkFBZ0I7TUFDaEIsaUNBQWlDO01BQ2pDLHFDQUFxQyxFQUFBO0lBMUU3QztNeEZkRSxxQ0FBcUM7TUFDckMsZ0J3RjhGbUM7TUFDekIsY0FBYSxFQUFBO012RjZFakI7UXVGL0pSO1VBc0ZvQixnQ0FBZ0M7VUFDaEMsbUJBQW1CLEVBQUEsRUFFMUI7TXZGc0VMO1F1Ri9KUjtVQTZGb0IsYUFBYTtVQUNiLGtCQUFrQixFQUFBLEVBRXpCO0lBaEdiO01BeUdZLGNBQWE7TXhGdkh2QixxQ0FBcUM7TUFDckMsZ0J3RnVIbUMsRUFBQTtNQTFHckM7UUE0R2MsY0FBYSxFQUFBO0lBNUczQjtNeEZkRSxxQ0FBcUM7TUFDckMsZ0J3RmlJcUM7TUFDekIsY0FBYSxFQUFBO01BckgzQjtRQXVIZ0IsY0FBYSxFQUFBO0lBdkg3QjtNQTZIYyxjQUFhLEVBQUE7SUE3SDNCO01Bb0lZLDhCQUE2QixFQUFBO0lBcEl6QztNQTJJUSxrRUFBa0UsRUFBQTtJQTNJMUU7TUErSVEsbUVBQW1FLEVBQUE7SUEvSTNFO01BbUpRLGdCQUFnQjtNQUNoQixrQkFBa0I7TUFDbEIsMERBQTBEO01BQzFELG1CQUFtQjtNQUNuQix5QkFBeUI7TUFDekIsaUJBQWlCO01BQ2pCLGlCQUFpQjtNQUNqQixjQUFjLEVBQUE7TUExSnRCO1FBNEpZLG1CQUFVO1FBQVYsa0JBQVU7WUFBVixjQUFVO2dCQUFWLFVBQVU7UUFDVixnREFBZ0QsRUFBQTtNQTdKNUQ7UUFpS1UsbUJBQWtCLEVBQUE7UUFqSzVCO1VBbUtZLFdBQVUsRUFBQTtRQW5LdEI7VUFzS1ksZ0JBQWUsRUFBQTtNQXRLM0I7UXhGZEUscUNBQXFDO1FBQ3JDLGdCd0YwTGlDO1FBQ3pCLGlDQUFnQztRQUNoQyxxQ0FBcUMsRUFBQTtNQS9LL0M7UUFrTFUsbUJBQWtCLEVBQUE7TUFsTDVCO1FBcUxVLG9DQUFvQyxFQUFBO01Bckw5QztRQXdMVSxtQkFBa0IsRUFBQTtRQXhMNUI7VUEwTFksV0FBVyxFQUFBO1FBMUx2QjtVQTZMWSxnQkFBZSxFQUFBO0VBN0wzQjtJQXdNb0IsWUFBWTtJQUNaLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjO0lBQ2QsYWhGbklxQztJZ0ZvSXJDLHVCaEZwSXFDO0lnRnFJckMsVUFBVSxFQUFBO0lBNU05QjtNbEZ1TUUsNkJBQWdDO01BQ2hDLHFCQUF3QjtNQUN4QixzQkFBeUI7TUFDekIscUJBQXdCO01BQ3hCLDJCQUE4QjtNQUM5QixpQ0FBaUM7TUFDakMsOEJBQWlDO01BQ2pDLG9CQUF1QixFQUFBO0lrRjlNekI7TUFtTndCLGFBQWEsRUFBQTtFQW5OckM7O0lBME5jLDBCaEZuSjJDO0lnRm9KM0MsU0FBUyxFQUFBO0VBM052QjtJQStOYyxxQmhGeEoyQyxFQUFBO0VnRnZFekQ7O0lBb09jLG1CaEY3SjJDO0lnRjhKM0MsbUJoRjlKMkMsRUFBQTtFZ0Z2RXpEO0lBMk9rQixtQkFBbUIsRUFBQTtFQTNPckM7O0lBaVBjLGFBQWEsRUFBQTtFQWpQM0I7SUF1UE0sNkJBQTZCO0lBQzdCLDBEQUEwRDtJQUMxRCxVQUFVO0lBQ1YsZ0JBQWdCLEVBQUE7RUExUHRCO0lBOFBNLGNBQWM7SUFDZCxtQkFBYztJQUFkLHNCQUFjO1FBQWQsa0JBQWM7WUFBZCxjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsbUNBQW1DLEVBQUE7RUFuUXpDO0lBdVFNLG1CQUFVO0lBQVYsa0JBQVU7UUFBVixjQUFVO1lBQVYsVUFBVTtJQUNWLGlDQUFpQztJQUNqQyxXQUFXLEVBQUE7RUF6UWpCO0lBNlFNLG9CQUFhO0lBQWIscUJBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWEsRUFBQTtFQTdRbkI7SUFpUk0sYUFBYTtJQUNiLGtCQUFrQixFQUFBO0VBbFJ4QjtJQXNSTSxvQkFBYTtJQUFiLHFCQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsbUJBQVU7SUFBVixrQkFBVTtRQUFWLGNBQVU7WUFBVixVQUFVO0lBQ1YsNEJBQVE7SUFBUixnQkFBUTtRQUFSLGlCQUFRO1lBQVIsUUFBUTtJQUNSLGtDQUFrQztJQUNsQyxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGtDQUFrQyxFQUFBO0VBNVJ4QztJQWdTTSxhQUFhO0lBQ2Isa0JBQWtCLEVBQUE7RUFqU3hCO0lBcVNNLDZCQUE2QjtJQUM3QixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLFVBQVU7SUFDVixXQUFXLEVBQUE7RUF6U2pCO0lBOFNNLFNBQVM7SUFDVCxVQUFVLEVBQUE7SUEvU2hCO01Ba1RVLGtDQUFrQztNQUNsQyxnQ0FBZ0M7TUFDaEMsOEJBQW1CO01BQW5CLDZCQUFtQjtNQUFuQiwyQkFBbUI7VUFBbkIsdUJBQW1CO2NBQW5CLG1CQUFtQixFQUFBO0VBcFQ3QjtJQXlUTSxvQkFBYTtJQUFiLHFCQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2Isa0JBQWtCLEVBQUE7RUExVHhCO0lBOFRNLGtCQUFrQjtJQUNsQixtQ0FBbUMsRUFBQTtFQS9UekM7SUFvVU0sbUJBQW1CO0lBQ25CLG9CQUFhO0lBQWIscUJBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWEsRUFBQTtFQXJVbkI7SUF5VU0sbUJBQVU7SUFBVixrQkFBVTtRQUFWLGNBQVU7WUFBVixVQUFVO0lBQ1YsaUNBQWlDO0lBQ2pDLGdCQUFnQjtJQUNoQixrQkFBa0IsRUFBQTtFQTVVeEI7SUFpVk0sa0JBQWtCO0lBQ2xCLGtCQUFrQixFQUFBOztBQUl4QjtFQUNJLFVBQVU7RUFDVixvQmhGalJxRCxFQUFBOztBZ0ZvUnpEO0V4RnpXRSxxQ0FBcUM7RUFDckMsZ0J3RnlXeUIsRUFBQTs7QUFHM0I7RUFDRSx5QkFBd0IsRUFBQTs7QUFHMUI7RUFFUSx1QmhGOVJpRCxFQUFBO0VQd0ZqRDtJdUZvTVI7TUFLWSxvQkFBYTtNQUFiLHFCQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2IsdUJBQWM7VUFBZCxtQkFBYztjQUFkLGVBQWM7TUFDZCx1QkFDSjtNQURJLG1DQUNKO1VBREksb0JBQ0o7Y0FESSwyQkFDSixFQUFBLEVBa0ZIO0VBMUZMO0lBV1ksb0JBQVk7SUFBWixxQkFBWTtJQUFaLG9CQUFZO0lBQVosYUFBWTtJQUNaLDRCQUFzQjtJQUF0Qiw2QkFBc0I7SUFBdEIsOEJBQXNCO1FBQXRCLDBCQUFzQjtZQUF0QixzQkFBc0I7SUFDdEIsdUJoRnpTNkMsRUFBQTtJUHdGakQ7TXVGb01SO1FBZ0JnQixnQmhGNVN5QztRZ0Y2U3pDLG1CQUFZO1FBQVosb0JBQVk7WUFBWixvQkFBWTtnQkFBWixZQUFZO1FBQ1osbUJoRjlTeUMsRUFBQSxFZ0ZnVGhEO0VBcEJUO0lBdUJZLG1CQUFtQjtJQUNuQix1QmhGcFQ2QztJZ0ZxVDdDLGtCQUFrQixFQUFBO0lBekI5QjtNQTRCZ0IsbUNoRnhUeUMsRUFBQTtJZ0Y0UnpEO01BZ0NnQixvQmhGNVR5QztNZ0Y2VHpDLGlCQUFpQjtNQUNqQixpQmhGOVR5QztNZ0YrVHpDLHVCaEYvVHlDLEVBQUE7TWdGNFJ6RDtRQXNDb0IsY0FBYyxFQUFBO0lBdENsQztNQTJDZ0IsbUJoRnZVeUM7TWdGd1V6QyxtQmhGeFV5QztNZ0Z5VXpDLHdCaEZ6VXlDLEVBQUE7TWdGNFJ6RDs7UUFpRG9CLGNBQWMsRUFBQTtNQWpEbEM7O1FBc0RvQixpQkFBaUIsRUFBQTtJQXREckM7TUEyRGdCLGtCQUFrQjtNQUNsQixnQmhGeFZ5QztNZ0Z5VnpDLGNoRnpWeUM7TWdGMFZ6QyxlaEYxVnlDLEVBQUE7TWdGNFJ6RDtRQWlFb0IsY0FBYztRQUNkLGVoRjlWcUM7UWdGK1ZyQyxxQmhGL1ZxQztRZ0ZnV3JDLGlCQUFpQjtRQUNqQix1QmhGaldxQyxFQUFBO1FnRjRSekQ7VUF3RXdCLGtCaEZwV2lDO1VnRnFXakMsa0JBQWtCO1VBQ2xCLGNBQWM7VUFDZCxxQkFBcUI7VUFDckIsZWhGeFdpQztVZ0Z5V2pDLDZCQUFxQjtVQUFyQixxQkFBcUIsRUFBQTtRQTdFN0M7VUFpRndCLGNBQWMsRUFBQTtVQWpGdEM7WUFvRjRCLGNoRmhYNkIsRUFBQTs7QWdGNFJ6RDtFQTZGUSxpQkFBaUIsRUFBQTtFQTdGekI7SUFnR1ksWUFBWSxFQUFBO0VBaEd4QjtJQW9HWSxhQUFhLEVBQUE7RUFwR3pCOztJQXlHWSxjQUFjO0lBQ2QsZWhGdFk2QztJZ0Z1WTdDLHFCaEZ2WTZDO0lnRndZN0MsaUJBQWlCO0lBQ2pCLHVCaEZ6WTZDO0lnRjBZN0MseUJBQXlCLEVBQUE7SUE5R3JDOztNQWlIZ0IsY0FBYyxFQUFBO0lBakg5Qjs7TUFxSGdCLGFBQWE7TUFDYixZQUFZLEVBQUE7SUF0SDVCOztNQTBIZ0IsYUFBYSxFQUFBO0VBMUg3Qjs7SUFnSVksK0VBQUE7SUFDQSxpQ0FBaUM7SUFDakMsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQixjQUFjO0lBRWQsc0NBQUE7SUFDQSxtQ0FBbUM7SUFDbkMsa0NBQWtDO0lBQ2xDLHFCQUFxQjtJQUNyQixrQmhGemE2QztJZ0YwYTdDLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsY0FBYyxFQUFBO0VBaEoxQjtJQXFKZ0Isc0JoRmpieUMsRUFBQTtFZ0Y0UnpEO0lBeUpnQixPQUFPO0lBQ1AsaUNBQXlCO1FBQXpCLDZCQUF5QjtZQUF6Qix5QkFBeUI7SUFDekIsNkJBQXFCO0lBQXJCLHFCQUFxQixFQUFBO0VBM0pyQztJQWdLb0IsZ0JoRjVicUMsRUFBQTtFZ0Y0UnpEO0lBdUtnQix1QmhGbmN5QyxFQUFBO0VnRjRSekQ7SUEyS2dCLFFBQVE7SUFDUiw4QkFBc0I7SUFBdEIsc0JBQXNCLEVBQUE7RUE1S3RDO0lBaUxvQixpQmhGN2NxQyxFQUFBO0VnRjRSekQ7SUF1TFksaUNBQWlDO0lBQ2pDLHFDQUFxQyxFQUFBO0VBeExqRDtJQTZMWSw2QkFBNkI7SUFDN0IsU0FBUztJQUNULFdBQVc7SUFDWCxjQUFjO0lBQ2QsV0FBVztJQUNYLFVBQVU7SUFDVixrQkFBa0I7SUFDbEIsMERBQWtEO0lBQWxELGtEQUFrRDtJQUNsRCx1QkFBdUIsRUFBQTtFQXJNbkM7SUF5TVkseUJBQXlCLEVBQUE7O0FBek1yQztFQStNWSxhQUFhLEVBQUE7O0F2Rm5aakI7RXVGb01SOzs7O0lBd05ZLGdDQUFnQztJQUNoQyxtQkFBbUIsRUFBQSxFQUUxQjs7QXZGL1pHO0V1Rm9NUjs7SUFnT1ksYUFBYTtJQUNiLGtCQUFrQixFQUFBLEVBRXpCOztBQW5PTDtFQXNPUSxrQ0FBa0M7RUFDbEMseUJBQW1CO0VBQW5CLDJCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLG9CQUFhO0VBQWIscUJBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw4QkFBbUI7RUFBbkIsNkJBQW1CO0VBQW5CLDJCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHVCQUFlO01BQWYsbUJBQWU7VUFBZixlQUFlO0VBQ2YsbUJBQVU7RUFBVixrQkFBVTtNQUFWLGNBQVU7VUFBVixVQUFVLEVBQUE7O0FBM09sQjtFQStPUSxXQUFXO0VBQ1gsaUJBQWlCO0VBQ2pCLG1CQUFVO0VBQVYsa0JBQVU7TUFBVixjQUFVO1VBQVYsVUFBVTtFQUNWLGtCQUFrQjtFQUNsQixzQ0FBc0MsRUFBQTs7QUFuUDlDO0VBdVBRLGlDQUFpQztFQUNqQyxxQ0FBcUMsRUFBQTs7QUF4UDdDO0VBNFBRLGNBQWMsRUFBQTs7QXZGaGNkO0V1Rm9NUjtJQWlRWSxXQUFXLEVBQUEsRUFFbEI7O0F2RnZjRztFdUZvTVI7SUF1UVksa0JBQWtCO0lBQ2xCLFNBQVM7SUFDVCx1QkFBZTtRQUFmLG1CQUFlO1lBQWYsZUFBZSxFQUFBLEVBR3RCOztBQTVRTDtFQStRUSxZQUFZO0VBQ1osV0FBVztFQUNYLFNBQVMsRUFBQTs7QUFqUmpCO0VBcVJRLGdCQUFnQjtFQUNoQixxQmhGbGpCaUQsRUFBQTs7QWdGNFJ6RDtFQTBSUSx1QmhGdGpCaUQsRUFBQTs7QWdGMmpCekQ7RUFDSSxtREFBbUQ7RUFDbkQsaURBQXlDO1VBQXpDLHlDQUF5QztFQUN6Qyw2Q0FBNkM7RUFDN0MsT0FBTztFQUNQLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osbUNBQW1DLEVBQUE7O0F2RjFlL0I7RXVGb2ZSO0lBRUksb0JoRjlrQnFELEVBQUEsRWdGMnhCeEQ7O0FBL01EO0VBTU0sOEJBQTZCO0VBQzdCLHdCaEZubEJtRDtFZ0ZvbEJuRCxZQUFXLEVBQUE7RUFSakI7SUFVUSxnQkFBZSxFQUFBO0lBVnZCO01BYVksWUFBVyxFQUFBO01BYnZCO1FBZWMsd0JBQWU7Z0JBQWYsZ0JBQWU7UXhGaHJCM0IscUNBQXFDO1FBQ3JDLGdCd0ZnckJxQztRQUN6QixlaEY3bEIyQztRZ0Y4bEIzQyxXQUFVO1FBQ1Ysc0JoRi9sQjJDLEVBQUE7UWdGNGtCekQ7VUFxQmdCLFVBQVM7VUFDVCxXQUFVLEVBQUE7UUF0QjFCO1VBcUJnQixVQUFTO1VBQ1QsV0FBVSxFQUFBO1FBdEIxQjtVQXFCZ0IsVUFBUztVQUNULFdBQVUsRUFBQTtRQXRCMUI7VUFxQmdCLFVBQVM7VUFDVCxXQUFVLEVBQUE7UUF0QjFCO1VBcUJnQixVQUFTO1VBQ1QsV0FBVSxFQUFBO01BdEIxQjtRQTJCZ0IsVUFBUyxFQUFBO0lBM0J6QjtNQWtDVSwyQkFBbUI7TUFBbkIsNEJBQW1CO01BQW5CLDJCQUFtQjtNQUFuQixvQkFBbUI7TUFDbkIseUJBQW1CO01BQW5CLDJCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLHdCQUF1QjtNQUF2QiwrQkFBdUI7VUFBdkIscUJBQXVCO2NBQXZCLHVCQUF1QjtNeEZyc0IvQixxQ0FBcUM7TUFDckMsZ0J3RnFzQmlDO01BQ3pCLGVoRmxuQitDO01nRm1uQi9DLG9CaEZubkIrQztNZ0ZvbkIvQyx3QmhGcG5CK0M7TWdGcW5CL0Msb0JoRnJuQitDO01nRnNuQi9DLHNCaEZ0bkIrQztNZ0Z1bkIvQyx5QkFBd0I7TUFDeEIsbUJBQWtCO01BQ2xCLFdBQVU7TUFDVixpQmhGMW5CK0MsRUFBQTtNZ0Y0a0J6RDtRQWlEWSxjQUFhO1FBQ2IsZ0JBQWU7UUFDZiw0REFBcUQ7Z0JBQXJELG9EQUFxRCxFQUFBO0VBbkRqRTtJeEZqcUJFLHFDQUFxQztJQUNyQyxnQndGK3RCMkM7SUFDekIsZWhGNW9CcUMsRUFBQTtFZ0Y0a0J6RDtJQXVFc0IsbUJBQWtCO0lBQ2xCLFdBQVUsRUFBQTs7QUF4RWhDO0VBbUZNLHVCaEYvcEJtRCxFQUFBO0VnRjRrQnpEO0lBMEZrQixhQUFZLEVBQUE7RUExRjlCO0lBa0dRLHlCQUF3QjtJQUN4Qix1QmhGL3FCaUQ7SVJyRnZELHFDQUFxQztJQUNyQyxnQndGb3dCK0I7SUFDekIsZWhGanJCaUQ7SWdGa3JCakQsY0FBYTtJQUNiLHdCaEZuckJpRCxFQUFBO0VnRjRrQnpEO0l4RmpxQkUscUNBQXFDO0lBQ3JDLGdCd0Yyd0JpQztJQUN6QixtQmhGeHJCK0M7SWdGeXJCL0MsY0FBYSxFQUFBOztBQTdHdkI7RXhGanFCRSxxQ0FBcUM7RUFDckMsZ0J3RnV4Qm1DO0VBQ3pCLGVoRnBzQjZDO0VnRnFzQjdDLGNBQWEsRUFBQTs7QUF6SHpCO0VBaUlNLGtCQUFpQixFQUFBO0VBakl2QjtJQW1JUSxpQmhGL3NCaUQ7SWdGZ3RCakQscUJoRmh0QmlEO0lnRml0QmpELG9CQUFZO0lBQVoscUJBQVk7SUFBWixvQkFBWTtJQUFaLGFBQVk7SUFDWix5QkFBd0I7SUFDeEIsd0JoRm50QmlEO0lnRm90QmpELDhCaEZwdEJpRDtJZ0ZxdEJqRCxXQUFVO0l4RjF5QmhCLHFDQUFxQztJQUNyQyxnQndGMHlCK0I7SUFDekIsbUJoRnZ0QmlEO0lnRnd0QmpELGtCQUFpQixFQUFBO0l2RmhvQmpCO011Rm9mUjtRQThJVSw2QmhGMXRCK0M7UWdGMnRCL0MsdUJoRjN0QitDO1FnRjR0Qi9DLGlCaEY1dEIrQztRZ0Y2dEIvQyxzQmhGN3RCK0M7UWdGOHRCL0MsMkJBQThCLEVBQUEsRUFnQ2pDO0lBbExQO01BcUpVLGdCQUFnQjtNQUNoQixrQ0FBa0M7TUFDbEMsa0JBQWlCO01BQ2pCLGNoRnB1QitDO01nRnF1Qi9DLG1CaEZydUIrQztNZ0ZzdUIvQyxjQUFjO01BQ2QsbUNBQTBCO01BQTFCLDJCQUEwQjtNQUMxQixpQ0FBd0I7VUFBeEIsNkJBQXdCO2NBQXhCLHlCQUF3QixFQUFBO012RmhwQjFCO1F1Rm9mUjtVQThKWSxlaEYxdUI2QyxFQUFBLEVnRjR1QmhEO0lBaEtUO01BcUtVLHNCQUFxQjtNQUNyQiwyQkFBMEIsRUFBQTtJQXRLcEM7TUF5S1Usd0JBQXVCLEVBQUE7SUF6S2pDO01BNktZLHdCQUF1QjtNQUN2QixzQkFBcUI7TUFDckIsMkJBQTBCLEVBQUE7RUEvS3RDO0lBb0xRLGtCQUFpQjtJQUNqQixPQUFNO0lBQ04sUUFBTztJQUNQLFdBQVUsRUFBQTtJQXZMbEI7TUF5TFUsdUJoRnJ3QitDO01nRnN3Qi9DLG1CQUFrQjtNQUNsQixZQUFXO01BQ1gsbUJoRm53QkcsRUFBQTtNZ0Z1a0JiO1FBOExZLFVBQVM7UUFDVCxnQkFBZSxFQUFBO1FBL0wzQjtVQWlNYyxXQUFVO1VBQ1YsNEJoRjl3QjJDLEVBQUE7VWdGNGtCekQ7WUFvTWdCLGdCQUFlO1lBQ2YsY0FBYSxFQUFBOztBQVk3QjtFQUNFLG9CaEY5eEJ1RDtFZ0YreEJ2RCxvQmhGL3hCdUQsRUFBQTtFUHdGakQ7SXVGcXNCUjtNQUlJLFVBQVMsRUFBQSxFQTZGWjtFQWpHRDtJQVFJLGdCQUFlLEVBQUE7SUFSbkI7TUFVTSxlQUFjLEVBQUE7TUFWcEI7UUFZUSxhQUFZLEVBQUE7RUFacEI7SUFpQkksY0FBYSxFQUFBO0VBakJqQjtJeEZsM0JFLHFDQUFxQztJQUNyQyxnQndGdTRCK0I7SUFDekIsbUJoRnB6QmlEO0lnRnF6QmpELGlCaEZyekJpRDtJZ0ZzekJqRCxXQUFVLEVBQUE7RUF6QmxCO0lBOEJJLFVBQVMsRUFBQTtFQTlCYjtJQWlDSSxXQUFXLEVBQUE7SXZGdHVCUDtNdUZxc0JSO1FBbUNNLFloRmgwQm1ELEVBQUEsRWdGNjBCdEQ7SUFoREg7TUFzQ00sV0FBVyxFQUFBO012RjN1QlQ7UXVGcXNCUjtVQXdDUSxZaEZyMEJpRCxFQUFBLEVnRnUwQnBEO0l2Ri91Qkc7TXVGcXNCUjtRQTZDUSxZaEYxMEJpRCxFQUFBLEVnRjQwQnBEO0VBL0NMO0lBa0RJLGNBQWEsRUFBQTtJdkZ2dkJUO011RnFzQlI7UUFvRE0sb0JBQVk7UUFBWixxQkFBWTtRQUFaLG9CQUFZO1FBQVosYUFBWSxFQUFBLEVBd0JmO0l2Rmp4Qks7TXVGcXNCUjtRQXdEUSxnQmhGcjFCaUQsRUFBQSxFZ0Z3MkJwRDtJQTNFTDtNQTJEUSxjQUFhLEVBQUE7SUEzRHJCO014RmwzQkUscUNBQXFDO01BQ3JDLGdCd0ZnN0JpQztNQUN6QixlaEY3MUIrQztNZ0Y4MUIvQyxxQmhGOTFCK0M7TWdGKzFCL0MsV0FBVSxFQUFBO01BbEVwQjtRQW9FWSxXQUFVLEVBQUE7SUFwRXRCO014RmwzQkUscUNBQXFDO01BQ3JDLGdCd0Z5N0JpQyxFQUFBO0VBeEVuQztJQWdGUSxjQUFhLEVBQUE7SXZGcnhCYjtNdUZxc0JSO1FBa0ZVLG9CQUFZO1FBQVoscUJBQVk7UUFBWixvQkFBWTtRQUFaLGFBQVksRUFBQSxFQVdmO0lBN0ZQO01BcUZVLHFCaEY3MkJHLEVBQUE7TVBtRkw7UXVGcXNCUjtVQXVGWSxTQUFRLEVBQUEsRUFLWDtNQTVGVDtRQTBGWSxtQkFBa0IsRUFBQTs7QUMvOEI5QjtFQUVJLGVBQWM7RUFDZCxnQmpGcUZxRDtFaUZwRnJELFFBQU87RUFDUCxtQkFBa0I7RUFDbEIsZWpGa0ZxRDtFaUZqRnJELG9DakZpRnFEO0VpRmhGckQsbUJqRmdGcUQ7RWlGL0VyRCw0REFBcUQ7VUFBckQsb0RBQXFEO0VBQ3JELHNDakY4RXFEO0VpRjdFckQsb0JBQVk7RUFBWixxQkFBWTtFQUFaLG9CQUFZO0VBQVosYUFBWTtFQUNaLDRCQUFxQjtFQUFyQiw2QkFBcUI7RUFBckIsOEJBQXFCO01BQXJCLDBCQUFxQjtVQUFyQixzQkFBcUI7RUFDckIsZ0NBQXVCO01BQXZCLDRCQUF1QjtVQUF2Qix3QkFBdUI7RUFDdkIsbUNBQTBCO0VBQTFCLDJCQUEwQjtFQUMxQixXQUFVLEVBQUE7RXhGaUtOO0l3RmhMUjtNQWlCTSxnQmpGdUVtRCxFQUFBLEVpRjVCdEQ7RUE1REg7SUFvQk0sZ0JqRm9FbUQ7SWlGbkVuRCxpQmpGbUVtRDtJaUZsRW5ELHlCQUF3QjtJQUN4QixtQkFBa0I7SUFDbEIsb0JBQVk7SUFBWixxQkFBWTtJQUFaLG9CQUFZO0lBQVosYUFBWTtJQUNaLHlCQUFtQjtJQUFuQiwyQkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7SUFBdkIsK0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIsbUJqRjZEbUQ7SWlGNURuRCxjQUFhO0lBQ2IsZ0NBQXVCO1FBQXZCLDRCQUF1QjtZQUF2Qix3QkFBdUI7SUFDdkIsaUJBQWdCLEVBQUE7RUE5QnRCO0l6RkdFLHFDQUFxQztJQUNyQyxnQnlGOEIrQjtJQUN6Qix3QmpGcURpRDtJaUZwRGpELGVqRm9EaUQ7SWlGbkRqRCxjQUFhO0lBQ2IseUJBQXlCO0lBQ3pCLHlCakZpRGlELEVBQUE7RWlGeEZ6RDtJQTRDUSxnQkFBZTtJQUNmLFVBQVM7SUFDVCxTQUFRLEVBQUE7SUE5Q2hCO01BZ0RVLHNCakZ3QytDLEVBQUE7TWlGeEZ6RDtRQWtEWSxjQUFhO1F6Ri9DdkIscUNBQXFDO1FBQ3JDLGdCeUYrQ21DO1FBQ3pCLG1CQUFrQixFQUFBO1FBcEQ5QjtVekZHRSxxQ0FBcUM7VUFDckMsZ0J5RmtEcUMsRUFBQTs7QUF0RHZDO0VBOERJLGVBQWM7RUFDZCxnQmpGeUJxRDtFaUZ4QnJELFFBQU87RUFDUCxtQkFBa0I7RUFDbEIsZWpGc0JxRDtFaUZyQnJELGlCakZxQnFEO0VpRnBCckQsbUNBQTBCO01BQTFCLCtCQUEwQjtVQUExQiwyQkFBMEI7RUFDMUIsa0NqRm1CcUQ7RWlGbEJyRCxvQkFBWTtFQUFaLHFCQUFZO0VBQVosb0JBQVk7RUFBWixhQUFZO0VBQ1osd0JBQXVCO0VBQXZCLCtCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBQ3ZCLHlCQUFtQjtFQUFuQiwyQkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixXQUFVO0VBQ1Ysb0JqRmNxRDtFaUZickQsNERBQXFEO1VBQXJELG9EQUFxRDtFQUNyRCxtQ0FBMEI7RUFBMUIsMkJBQTBCO0VBQzFCLFdBQVU7RUFDVixZQUFZLEVBQUE7RXhGa0dSO0l3RmhMUjtNQWlGTSxXakZPbUQ7TWlGTm5ELGlCakZNbUQ7TWlGTG5ELHNDakZLbUQ7TWlGSm5ELG1CakZJbUQsRUFBQSxFaUZGdEQ7O0FBdEZIO0VBeUZNLG1DQUEwQjtNQUExQiwrQkFBMEI7VUFBMUIsMkJBQTBCLEVBQUE7O0FBekZoQztFQTRGTSxnQ0FBdUI7TUFBdkIsNEJBQXVCO1VBQXZCLHdCQUF1QixFQUFBO0VBNUY3QjtJQStGVSxrQkFBa0I7SUFDbEIsUUFBUTtJQUNSLFNBQVM7SUFDVCx3Q0FBK0I7UUFBL0Isb0NBQStCO1lBQS9CLGdDQUErQixFQUFBOztBQ2xHekM7RUFDRSx1QmxGdUZ1RCxFQUFBO0VrRnhGekQ7SUFHSSxpREFBZ0Q7SUFFaEQsa0JsRndGUyxFQUFBO0lQbUZMO015RmhMUjtRQU9NLG9CQUFZO1FBQVoscUJBQVk7UUFBWixvQkFBWTtRQUFaLGFBQVk7UUFDWix5QkFBbUI7UUFBbkIsMkJBQW1CO1lBQW5CLHNCQUFtQjtnQkFBbkIsbUJBQW1CLEVBQUEsRUFtSHRCO0lBM0hIO01BV00sbUJBQWtCLEVBQUE7SUFYeEI7TUFjTSxhQUFZLEVBQUE7TXpGa0tWO1F5RmhMUjtVQWdCUSxjQUFhO1VBQ2IsYWxGdUVpRDtVa0Z0RWpELHNCQUFjO2NBQWQsb0JBQWM7a0JBQWQsY0FBYztVQUNkLHNCbEZxRWlEO1VrRnBFakQsa0JBQWtCO1VBQ2xCLG1CbEZtRWlEO1VrRmxFakQsZ0JBQWdCO1VBQ2hCLFVBQVUsRUFBQSxFQXVDYjtNQTlETDtRQTJCUSxrQkFBaUIsRUFBQTtNQTNCekI7UUE4QlEsV0FBVTtRQUNWLGtCQUFpQjtRQUNqQixRQUFPO1FBQ1AsK0JBQThCO1FBQzlCLFVBQVM7UUFDVCx1QmxGcURpRCxFQUFBO01rRnhGekQ7UUFzQ1EsZ0JBQWdCO1FBQ2hCLGtDQUFrQztRQUNsQyxrQkFBaUI7UUFDakIsUUFBTztRQUNQLFNBQVE7UUFDUix3Q0FBK0I7WUFBL0Isb0NBQStCO2dCQUEvQixnQ0FBK0I7UUFDL0IsVUFBUztRQUNULGNBQWE7UUFDYixjbEYwQ2lEO1FrRnpDakQsZWxGeUNpRDtRa0Z4Q2pELGtCbEZ3Q2lEO1FrRnZDakQsb0JBQVk7UUFBWixxQkFBWTtRQUFaLG9CQUFZO1FBQVosYUFBWTtRQUNaLHlCQUFtQjtRQUFuQiwyQkFBbUI7WUFBbkIsc0JBQW1CO2dCQUFuQixtQkFBbUI7UUFDbkIsd0JBQXVCO1FBQXZCLCtCQUF1QjtZQUF2QixxQkFBdUI7Z0JBQXZCLHVCQUF1QjtRQUN2QixzQkFBcUI7UUFDckIsbUJBQW1CLEVBQUE7TUFyRDNCO1FBd0RRLFdBQVU7UUFDVixZQUFXO1FBQ1gsdUJsRjhCaUQ7UWtGN0JqRCxrQkFBaUI7UUFDakIsVUFBUyxFQUFBO0lBNURqQjtNMUZHRSxxQ0FBcUM7TUFDckMsZ0IwRjhEaUM7TUFDekIsd0JsRnFCK0MsRUFBQTtJa0Z4RnpEO01BdUVRLHdCbEZpQmlELEVBQUE7TWtGeEZ6RDtRQXlFVSxnQkFBZTtRQUNmLFNBQVE7UUFDUixVQUFTO1FBQ1Qsb0JBQVk7UUFBWixxQkFBWTtRQUFaLG9CQUFZO1FBQVosYUFBWSxFQUFBO1FBNUV0QjtVMUZHRSxxQ0FBcUM7VUFDckMsZ0IwRjBFbUM7VUFDekIsZWxGUzZDLEVBQUE7VWtGeEZ6RDtZQWlGYyxhQUFZLEVBQUE7VUFqRjFCO1lBb0ZjLFlBQVc7WUFDWCxtQmxGRzJDLEVBQUE7VWtGeEZ6RDtZQXlGZ0IsYUFBWSxFQUFBO0lBekY1QjtNQWdHUSxvQkFBWTtNQUFaLHFCQUFZO01BQVosb0JBQVk7TUFBWixhQUFZO01BQ1oseUJBQW1CO01BQW5CLDJCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLHlCQUE4QjtNQUE5QixzQ0FBOEI7VUFBOUIsc0JBQThCO2NBQTlCLDhCQUE4QixFQUFBO016RjhFOUI7UXlGaExSO1VBb0dVLHVCQUEyQjtVQUEzQixtQ0FBMkI7Y0FBM0Isb0JBQTJCO2tCQUEzQiwyQkFBMkIsRUFBQSxFQWE5QjtNQWpIUDtRMUZHRSxxQ0FBcUM7UUFDckMsZ0IwRm1HaUM7UUFDekIsb0JsRmhCK0M7UWtGaUIvQyx5QkFBeUI7UUFDekIsY0FBYTtRQUNiLHVCbEZuQitDO1FrRm9CL0Msb0NBQW1DLEVBQUE7UUE1RzdDO1VBOEdjLGdDQUErQixFQUFBO0lBOUc3QztNQXVIVSxtQkFBa0IsRUFBQTs7QUN2SDVCO0VBQ0UsbUJBQWtCLEVBQUE7RUFEcEI7SUFHSSxvQkFBWTtJQUFaLHFCQUFZO0lBQVosb0JBQVk7SUFBWixhQUFZO0lBQ1oseUJBQW1CO0lBQW5CLDJCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLGlCbkZtRnFEO0ltRmxGckQsb0JuRmtGcUQsRUFBQTtJUHdGakQ7TTBGaExSO1FBUU0scUJuRmdGbUQ7UW1GL0VuRCxjQUFjO1FBQ2QsVUFBUyxFQUFBLEVBc0NaO0lBaERIOzs7TUFlTSxvQkFBWTtNQUFaLHFCQUFZO01BQVosb0JBQVk7TUFBWixhQUFZO01BQ1oseUJBQW1CO01BQW5CLDJCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLGNBQWE7TUFDYixlbkZzRW1EO01tRnJFbkQseUJBQXdCO00zRmhCNUIscUNBQXFDO01BQ3JDLGdCMkZnQjZCO01BQ3pCLHdCbkZtRW1EO01tRmxFbkQsbUJBQWtCLEVBQUE7TUF0QnhCOzs7UUF3QlEsc0JuRmdFaUQ7UW1GL0RqRCxpQ0FBd0I7WUFBeEIsNkJBQXdCO2dCQUF4Qix5QkFBd0I7UUFDeEIsb0JuRjhEaUQsRUFBQTtNbUZ4RnpEOzs7UUE2QlEsY0FBYSxFQUFBO0lBN0JyQjtNQW1DVSxZQUFXO01BQ1gsY0FBYTtNQUNiLGtCbkZtRCtDLEVBQUE7SW1GeEZ6RDtNQTJDUSxxQm5GNkNpRDtNbUY1Q2pELCtCQUFzQjtVQUF0QiwyQkFBc0I7Y0FBdEIsdUJBQXNCO01BQ3RCLGVBQWMsRUFBQTs7QUFNdEI7RUFDRSx5Qm5Gb0N1RCxFQUFBO0VQd0ZqRDtJMEY3SFI7TUFHSSxxQm5Ga0NxRDtNbUZqQ3JELGNBQWM7TUFDZCxpQm5GcUNTLEVBQUEsRW1GUVo7RUFsREQ7SUFTUSxhQUFhO0lBQ2YsdUJuRjJCbUQ7SVJyRnZELHFDQUFxQztJQUNyQyxnQjJGMEQ2QjtJQUN6QixlbkZ5Qm1ELEVBQUE7RW1GckN6RDtJQWVNLHlCQUE4QjtJQUE5QixzQ0FBOEI7UUFBOUIsc0JBQThCO1lBQTlCLDhCQUE4QjtJQUM5Qix1Qm5GcUJtRDtJbUZwQm5ELHVCbkZvQm1ELEVBQUE7SVB3RmpEO00wRjdIUjtRQW9CVSxvQm5GaUIrQztRUnJGdkQscUNBQXFDO1FBQ3JDLGdCMkZvRWlDO1FBQ3pCLGtCbkZlK0M7UW1GZC9DLHFCbkZjK0MsRUFBQSxFbUZabEQ7RTFGb0dDO0kwRjdIUjtNQThCTSxvQm5GT21ELEVBQUEsRW1GWXREO0VBakRIO0lBaUNNLGtCbkZTTyxFQUFBO0ltRjFDYjtNQW1DUSx1Qm5GRWlELEVBQUE7RW1GckN6RDtJQXVDTSxjQUFhO0lBQ2IscUJuRkhtRCxFQUFBO0VtRnJDekQ7SUEyQ00scUJuRk5tRDtJbUZPbkQsaUJuRlBtRCxFQUFBO0VtRnJDekQ7SUErQ00sY0FBYSxFQUFBOztBQ2xHbkI7RUFHTSxhQUFhO0VBQ2Isa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixPQUFPO0VBQ1AsUUFBUSxFQUFBO0VBUGQ7SUFVUSxlQUFjO0lBQ2QsUUFBTyxFQUFBO0VBWGY7O0lBaUJVLG9CcEZ1RStDO0lvRnRFL0MsY0FBYTtJQUNiLHFCQUF5QjtJQUF6QixpQ0FBeUI7UUFBekIsa0JBQXlCO1lBQXpCLHlCQUF5QixFQUFBO0lBbkJuQzs7TUFzQmMsYUFBYSxFQUFBO0lBdEIzQjs7TTVGR0UscUNBQXFDO01BQ3JDLGdCNEZxQnFDO01BQ3pCLGVwRjhEMkM7TW9GN0QzQyx5QkFBeUI7TUFDekIsd0JwRjREMkM7TW9GM0QzQyxjQUFhO01BQ2IsbUJBQWtCLEVBQUE7TUE5QmhDOztRQWdDZ0IsY0FBYSxFQUFBO0VBaEM3QjtJQXdDVSx3QnBGcURHO0lvRnBESCw2QkFBK0IsRUFBQTtFQXpDekM7SUE2Q1EsbUJ2RmdDVyxFQUFBO0l1RjdFbkI7TUFnRFksa0JBQWlCO01BQ2pCLGVBQWMsRUFBQTtNQWpEMUI7UUFtRGMsYUFBYSxFQUFBO01BbkQzQjtRQXNEYyxXQUFVO1FBQ1YsNEJwRmlDMkM7UW9GaEMzQyxtQkFBa0IsRUFBQTtRQXhEaEM7VUEwRGdCLFdBQVUsRUFBQTtNQTFEMUI7UUE4RGMsa0JBQWtCO1FBQ2xCLFNBQVE7UUFDUixtQ0FBMEI7WUFBMUIsK0JBQTBCO2dCQUExQiwyQkFBMEI7UUFDMUIsZ0JwRnVCMkM7UW9GdEIzQyxnQnBGc0IyQztRb0ZyQjNDLG1CQUFrQjtRQUNsQixzQnBGb0IyQztRb0ZuQjNDLFdBQVU7UUFDVixnQkFBZTtRQUNmLGFBQVk7UUFDWixTQUFRO1FBQ1IsNERBQXNEO2dCQUF0RCxvREFBc0QsRUFBQTtRQXpFcEU7VUEyRWdCLGVBQWMsRUFBQTtVQTNFOUI7WUE2RWtCLGFBQWEsRUFBQTtVQTdFL0I7WTVGR0UscUNBQXFDO1lBQ3JDLGdCNEY2RXlDO1lBQ3pCLG9CcEZNdUM7WW9GTHZDLGlCcEZLdUM7WW9GSnZDLDRCcEZJdUM7WW9GSHZDLFdBQVU7WUFDVixtQkFBa0IsRUFBQTtZQXRGcEM7Y0F3Rm9CLG1CQUFrQjtjQUNsQixXQUFVLEVBQUE7VUF6RjlCO1lBK0Z3QixpQkFBaUI7WUFDakIsY0FBYztZQUNkLHlCcEZUaUM7WW9GVWpDLHlCQUF5QjtZQUN6QixrQkFBa0I7WUFDbEIscUJwRlppQyxFQUFBO1lvRnhGekQ7Y0F1RzRCLGtCQUFrQjtjQUNsQixjcEZoQjZCO2NvRmlCN0IsZ0JwRmpCNkIsRUFBQTtZb0Z4RnpEO2NBK0dnQyxjdkY3QmpCLEVBQUE7VXVGbEZmO1lBcUh3QixhQUFhO1lBQ2IsU0FBUyxFQUFBO1lBdEhqQztjQXlINEIsVUFBVSxFQUFBO2NBekh0QztnQkE0SGdDLGFBQWEsRUFBQTtjQTVIN0M7Z0JBZ0lnQyxtQkFBbUIsRUFBQTtVQWhJbkQ7WUF1STRCLGNBQWMsRUFBQTtVQXZJMUM7WUE0SWdDLCtCQUFzQjtnQkFBdEIsMkJBQXNCO29CQUF0Qix1QkFBc0IsRUFBQTtNQTVJdEQ7O1FBdUprQixnQkFBZ0I7UUFDaEIsa0NBQWtDO1FBQ2xDLG1CcEZqRXVDO1FvRmtFdkMsZ0JBQWU7UUFDZixpQ0FBd0I7WUFBeEIsNkJBQXdCO2dCQUF4Qix5QkFBd0I7UUFDeEIscUJBQW9CO1FBQ3BCLHNCcEZyRXVDO1FvRnNFdkMsY0FBYSxFQUFBO01BOUovQjtRQXFLa0IsK0JBQXVCO1lBQXZCLDJCQUF1QjtnQkFBdkIsdUJBQXVCLEVBQUE7TUFyS3pDO1FBeUtnQixjQUFhLEVBQUE7TUF6SzdCO1FBK0tvQixtQnBGdkZxQyxFQUFBO0VvRnhGekQ7SUFzTFEsZ0JBQWU7SUFDZiw0QnBGMUZLLEVBQUE7SW9GN0ZiO01BeUxVLG9CcEZqRytDO01vRmtHL0MsY0FBYTtNQUNiLG9CQUFZO01BQVoscUJBQVk7TUFBWixvQkFBWTtNQUFaLGFBQVk7TUFDWix5QkFBOEI7TUFBOUIsc0NBQThCO1VBQTlCLHNCQUE4QjtjQUE5Qiw4QkFBOEIsRUFBQTtNQTVMeEM7UUE4TFksaUJwRnRHNkM7UW9GdUc3QyxzQkFBYTtZQUFiLG9CQUFhO2dCQUFiLGNBQWE7UUFDYix1QnBGeEc2QztRb0Z5RzdDLDhDcEZ6RzZDO1FvRjBHN0Msa0JBQWlCO1FBQ2pCLG1CQUFrQixFQUFBO1FBbk05QjtVNUZHRSxxQ0FBcUM7VUFDckMsZ0I0RmlNcUM7VUFDekIsZXBGOUcyQztVb0YrRzNDLHNCcEYvRzJDO1VvRmdIM0MsV0FBVTtVQUNWLHVCcEZqSDJDLEVBQUE7UW9GeEZ6RDtVQTRNYyxXQUFVLEVBQUE7UUE1TXhCO1VBK01jLGdCcEZ2SDJDO1VvRndIM0MsaUJwRnhIMkM7VW9GeUgzQyxzQkFBcUI7VUFDckIsb0JBQVk7VUFBWixxQkFBWTtVQUFaLG9CQUFZO1VBQVosYUFBWTtVQUNaLHlCQUFtQjtVQUFuQiwyQkFBbUI7Y0FBbkIsc0JBQW1CO2tCQUFuQixtQkFBbUI7VUFDbkIsd0JBQXVCO1VBQXZCLCtCQUF1QjtjQUF2QixxQkFBdUI7a0JBQXZCLHVCQUF1QjtVQUN2QixtQkFBa0I7VUFDbEIsa0JBQWlCO1VBQ2pCLGFwRi9IMkM7VW9GZ0kzQyxjcEZoSTJDO1VvRmlJM0MsV0FBVTtVQUNWLG1DQUEwQjtVQUExQiwyQkFBMEIsRUFBQTtVQTFOeEM7WUE0TmdCLG9CcEZwSXlDLEVBQUE7UW9GeEZ6RDtVQWdPYyxvRUFBK0Q7a0JBQS9ELDREQUErRCxFQUFBO1VBaE83RTtZQWtPZ0IsZ0JBQWUsRUFBQTtRQWxPL0I7VUF1T2MsbUJBQWtCLEVBQUE7VUF2T2hDO1lBME9rQixjQUFhLEVBQUE7UUExTy9CO1VBK09jLG1CQUFrQixFQUFBO1VBL09oQztZQWtQa0IsY0FBYSxFQUFBO1FBbFAvQjtVQXVQYyxtQkFBa0IsRUFBQTtVQXZQaEM7WUEwUGtCLGNBQWEsRUFBQTtFQTFQL0I7SUFxUVUsb0JBQWE7SUFBYixxQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYSxFQUFBO0lBclF2QjtNQXdRWSwwQkFBa0I7VUFBbEIsK0JBQWtCO2NBQWxCLGtCQUFrQixFQUFBO01BeFE5QjtRQTBRYyxhQUFhLEVBQUE7SUExUTNCO01BK1FjLGFBQWEsRUFBQTtJQS9RM0I7TUFtUlksU0FBUztNQUNULGNBQWMsRUFBQTtJQXBSMUI7TUF3UmMsaUJBQWlCLEVBQUE7RUF4Ui9CO0lBOFJRLFlwRnRNaUQ7SW9GdU1qRCx1QnBGdk1pRDtJb0Z3TWpELDREQUFzRDtZQUF0RCxvREFBc0Q7SUFDdEQsVUFBUztJQUNULFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsMEJBQTRCO0lBQzVCLGtCQUFrQixFQUFBO0lBclMxQjtNQXVTVSxvQkFBWTtNQUFaLHFCQUFZO01BQVosb0JBQVk7TUFBWixhQUFZO01BQ1oseUJBQThCO01BQTlCLHNDQUE4QjtVQUE5QixzQkFBOEI7Y0FBOUIsOEJBQThCO01BQzlCLGVwRmpOK0M7TW9Ga04vQyxrQkFBaUI7TUFDakIsVUFBUyxFQUFBO01BM1NuQjtRQTZTWSxTQUFRO1FBQ1IsV0FBVSxFQUFBO01BOVN0QjtRQWlUWSxrQkFBaUI7UUFDakIsZXBGMU42QztRb0YyTjdDLGdCcEYzTjZDO1FvRjRON0Msc0JBQXFCO1FBQ3JCLG1CQUFrQjtRQUNsQixxQnBGOU42QztRb0YrTjdDLGtCQUFrQjtRQUNsQixXQUFVO1FBQ1YsZ0JBQWU7UUFDZixlcEZsTzZDO1FvRm1PN0MsZ0NBQXdCO1lBQXhCLDRCQUF3QjtnQkFBeEIsd0JBQXdCLEVBQUE7UUEzVHBDO1VBNlRjLGdCQUFlLEVBQUE7UUE3VDdCO1VBZ1VjLHFCcEZ4TzJDO1VvRnlPM0Msa0JBQWlCO1VBQ2pCLFNBQVM7VUFDVCxRQUFRO1VBQ1Isd0NBQStCO2NBQS9CLG9DQUErQjtrQkFBL0IsZ0NBQStCLEVBQUE7SUFwVTdDO01BeVVVLGVwRmpQK0M7TW9Ga1AvQyxvQkFBWTtNQUFaLHFCQUFZO01BQVosb0JBQVk7TUFBWixhQUFZO01BRVosb0JwRnBQK0MsRUFBQTtNb0Z4RnpEO1FBOFVZLGVwRnRQNkM7UW9GdVA3QyxrQkFBaUI7UUFDakIsUUFBTztRQUNQLE1BQUs7UUFDTCxTQUFRO1FBQ1IsbUJBQWtCO1FBQ2xCLFVBQVM7UUFDVCwrQ3BGN1A2QyxFQUFBO1FvRnhGekQ7VTVGR0UscUNBQXFDO1VBQ3JDLGdCNEZtVnFDO1VBQ3pCLGtCcEZoUTJDO1VvRmlRM0MscUJwRmpRMkMsRUFBQTtNb0Z4RnpEO1FBNlZZLG1CcEZyUTZDLEVBQUE7UW9GeEZ6RDtVQStWYyxtQnBGdlEyQyxFQUFBO1VvRnhGekQ7WUFpV2dCLGVwRnpReUMsRUFBQTtZb0Z4RnpEO2NBbVdrQixlQUFjLEVBQUE7Y0FuV2hDO2dCNUZHRSxxQ0FBcUM7Z0JBQ3JDLGdCNEZpVzJDO2dCQUN6QixjQUFhO2dCQUNiLG1CcEYvUXFDO2dCb0ZnUnJDLG9DQUFtQztnQkFDbkMsVUFBUztnQkFDVCxlQUFjLEVBQUE7Y0ExV2xDO2dCQThXd0Isc0JwRnRSaUMsRUFBQTtjb0Z4RnpEO2dCQWlYc0IseUJBQXlCO2dCNUY5VzdDLHFDQUFxQztnQkFDckMsZ0I0RjhXNkM7Z0JBQ3pCLGNBQWE7Z0JBQ2IsZXBGNVJtQztnQm9GNlJuQyxVQUFTO2dCQUNULHFCQUFvQjtnQkFDcEIsc0JwRi9SbUM7Z0JvRmdTbkMsbUJBQWtCLEVBQUE7Y0F4WHhDO2dCQTZYb0IsaUJwRnJTcUMsRUFBQTtnQm9GeEZ6RDtrQkErWHNCLHVCcEZ2U21DO2tCb0Z3U25DLGVBQWMsRUFBQTtVQWhZcEM7WUF3WWtCLGlCcEZoVHVDLEVBQUE7WW9GeEZ6RDtjQTBZb0IsdUJwRmxUcUMsRUFBQTtjb0Z4RnpEO2dCQTRZc0Isb0JBQW9CO2dCNUZ6WXhDLHFDQUFxQztnQkFDckMsZ0I0RnlZNkM7Z0JBQ3pCLHlCQUF3QjtnQkFDeEIsbUJwRnZUbUM7Z0JvRndUbkMsb0NBQW1DO2dCQUNuQyxVQUFTO2dCQUNULGVBQWMsRUFBQTtnQkFsWnBDO2tCQW9ad0IsZ0NBQStCLEVBQUE7SUFwWnZEO01BK1pZLG1CQUFrQixFQUFBO01BL1o5QjtRQWthZ0IsY0FBYSxFQUFBO0lBbGE3QjtNQXdhYyxtQkFBa0IsRUFBQTtJQXhhaEM7TUErYXNCLFdBQVUsRUFBQTtNQS9haEM7UUFpYndCLGdDQUErQixFQUFBO0lBamJ2RDtNQXNid0IsY0FBYSxFQUFBO01BdGJyQztRQXdiMEIsWUFBVyxFQUFBO0lBeGJyQztNQW9jWSxtQkFBa0IsRUFBQTtNQXBjOUI7UUF1Y2dCLGNBQWEsRUFBQTtJQXZjN0I7TUE2Y2MsbUJBQWtCLEVBQUE7SUE3Y2hDO01Bb2RzQixXQUFVLEVBQUE7TUFwZGhDO1FBc2R3QixnQ0FBK0IsRUFBQTtJQXRkdkQ7TUEyZHdCLGNBQWEsRUFBQTtNQTNkckM7UUE2ZDBCLFlBQVcsRUFBQTtJQTdkckM7TUF5ZVksbUJBQWtCLEVBQUE7TUF6ZTlCO1FBNGVnQixjQUFhLEVBQUE7SUE1ZTdCO01Ba2ZjLG1CQUFrQixFQUFBO0lBbGZoQztNQXlmc0IsV0FBVSxFQUFBO01BemZoQztRQTJmd0IsZ0NBQStCLEVBQUE7SUEzZnZEO01BZ2dCd0IsY0FBYSxFQUFBO01BaGdCckM7UUFrZ0IwQixZQUFXLEVBQUE7O0FBbGdCckM7RUFpaEJNLFNBQVE7RUFDUixxQ0FBaUM7RUFDakMsaUJBQWdCO0VBQ2hCLGdCQUFlLEVBQUE7RUFwaEJyQjtJQXNoQlEseUJBQW1CO0lBQW5CLDJCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CLEVBQUE7SUF0aEIzQjtNQXdoQlUsb0JBQVk7TUFBWixxQkFBWTtNQUFaLG9CQUFZO01BQVosYUFBWSxFQUFBO0lBeGhCdEI7TUEyaEJVLFNBQVEsRUFBQTtNQTNoQmxCO1FBNmhCWSxjQUFhLEVBQUE7TUE3aEJ6QjtRQWdpQlksYUFBWSxFQUFBO0lBaGlCeEI7TUFzaUJZLHlCQUF3QixFQUFBO0lBdGlCcEM7TUF5aUJZLGFBQVksRUFBQTs7QUF6aUJ4QjtFQStpQk0sY0FBYztFQUNkLG1CcEZ4ZG1ELEVBQUE7O0FxRnhGekQ7O0VBSVEsYUFBYSxFQUFBOztBQUpyQjtFQVNZLGdCQUFnQixFQUFBOztBQVQ1QjtFQWVZLGNBQWMsRUFBQTs7QUFmMUI7RUFvQlEsaUJBQTJCLEVBQUE7O0FDcEJuQztFQUNJLGFBQWEsRUFBQTs7QUNEakI7RUFDRSxnQnZGdUZ1RDtFdUZ0RnZELHNCQUFhO01BQWIsb0JBQWE7VUFBYixjQUFhO0VBQ2Isa0JBQWlCLEVBQUE7RTlGNktYO0k4RmhMUjtNQUtJLHNCdkZ3RlMsRUFBQSxFdUZuRFo7RUExQ0Q7SUFRSSxldkZnRnFEO0l1Ri9FckQsZ0J2RitFcUQ7SXVGOUVyRCxjQUFhO0lBQ2IsbUJBQWtCLEVBQUE7STlGcUtkO004RmhMUjtRQWFNLGdCdkYyRW1EO1F1RjFFbkQsY3ZGMEVtRCxFQUFBLEV1Ri9DdEQ7SUF6Q0g7TUFpQk0sZXZGdUVtRDtNdUZ0RW5ELFdBQVU7TUFDVixtQkFBa0I7TUFDbEIsa0JBQWlCO01BQ2pCLE1BQUs7TUFDTCxtQ0FBMEI7TUFBMUIsMkJBQTBCLEVBQUE7TTlGMEp4QjtROEZoTFI7VUF3QlEsZ0J2RmdFaUQ7VXVGL0RqRCxXQUFVO1VBQ1Ysa0JBQWlCLEVBQUEsRUFjcEI7TUF4Q0w7UUE2QlEsYXZGMkRpRCxFQUFBO1FQd0ZqRDtVOEZoTFI7WUErQlUsWXZGeUQrQyxFQUFBLEV1RnZEbEQ7TUFqQ1A7UUFtQ1EsWXZGcURpRCxFQUFBO1FQd0ZqRDtVOEZoTFI7WUFxQ1UsV3ZGbUQrQyxFQUFBLEV1RmpEbEQ7O0FDdkNQO0VBQ0UsbUJBQWtCO0VBRWxCLGtCeEZxRnVEO0V3RnBGdkQsY3hGb0Z1RDtFd0ZuRnZELGNBQWE7RUFFYixrQkFBaUIsRUFBQTtFL0Z5S1g7SStGaExSO01BU0ksZ0J4RitFcUQ7TXdGOUVyRCx3QnhGOEVxRDtNd0Y3RXJELDZCeEY2RXFELEVBQUEsRXdGQ3hEO0VBekZEO0lBY0ksb0JBQVk7SUFBWixxQkFBWTtJQUFaLG9CQUFZO0lBQVosYUFBWTtJQUNaLG9CeEY4RVMsRUFBQTtJUG1GTDtNK0ZoTFI7UUFpQk0sbUJ4RjRFTyxFQUFBLEV3RmhEVjtJQTdDSDs7TUFxQk0sY0FBYTtNQUNiLG9CQUFZO01BQVoscUJBQVk7TUFBWixvQkFBWTtNQUFaLGFBQVk7TUFDWix5QkFBbUI7TUFBbkIsMkJBQW1CO1VBQW5CLHNCQUFtQjtjQUFuQixtQkFBbUIsRUFBQTtNQXZCekI7O1FBeUJRLGNBQWE7UUFDYixvQnhGOERpRDtRd0Y3RGpELHNCeEY2RGlELEVBQUE7TXdGeEZ6RDs7UWhHR0UscUNBQXFDO1FBQ3JDLGdCZ0cwQitCO1FBQ3pCLGV4RnlEaUQ7UXdGeERqRCxjQUFhO1FBQ2IsY0FBYTtRQUNiLG1CQUFrQixFQUFBO1EvRjhJbEI7VStGaExSOztZQW9DVSxtQnhGb0QrQyxFQUFBLEV3RmxEbEQ7SUF0Q1A7TUF5Q00sdUJ4RitDbUQ7TXdGOUNuRCxzQnhGOENtRDtNd0Y3Q25ELDRDQUF3QyxFQUFBO0VBM0M5QztJQStDSSxhQUFZO0lBQ1osa0JBQWlCO0lBQ2pCLE1BQUs7SUFDTCxPQUFNO0lBQ04sUUFBTztJQUVQLG1CQUFrQjtJQUVsQixXeEZpQ3FEO0l3Ri9CckQsV0FBVSxFQUFBO0kvRnVITjtNK0ZoTFI7UUEyRE0sb0J4RjZCbUQ7UXdGNUJuRCxzQ3hGNEJtRCxFQUFBLEV3RlJ0RDtJQWhGSDtNaEdHRSxxQ0FBcUM7TUFDckMsZ0JnRzJENkI7TUFDekIsZXhGd0JtRDtNd0Z0Qm5ELDBDQUFzQztNQUN0QyxjQUFhO01BQ2IsaUJ4Rm9CbUQ7TXdGbkJuRCxvQnhGd0JPO013RnZCUCxjQUFhO01BQ2IscUJ4RmlCbUQ7TXdGaEJuRCxtQkFBa0IsRUFBQTtNL0Z3R2hCO1ErRmhMUjtVQTBFUSxjQUFhO1VBQ2IsbUJ4RmFpRDtVd0ZaakQsOEJ4RmlCSyxFQUFBLEV3RmRSO0UvRmlHRztJK0ZoTFI7TUFtRk0sc0N4RlVPLEVBQUEsRXdGTFY7RUF4Rkg7SUFzRk0sY0FBYSxFQUFBOztBQ3RGbkI7RUFFSSxlekZzRnFEO0V5RnJGckQsa0JBQWlCLEVBQUE7RUFIckI7SUFLTSxRQUFPO0lBQ1Asa0JBQWlCO0lBQ2pCLGdCekZpRm1EO0l5RmhGbkQsWUFBVztJQUNYLHdCQUFlO1lBQWYsZ0JBQWU7SUFDZix3QnpGOEVtRDtJeUY3RW5ELG1CQUFrQjtJQUNsQix3QnpGNEVtRDtJeUYzRW5ELFNBQVEsRUFBQTtJQWJkO01BZVEsZXpGeUVpRDtNeUZ4RWpELG1CQUFrQixFQUFBO0VBaEIxQjtJQW9CTSxrQkFBaUI7SUFDakIsUUFBTztJQUNQLE1BQUs7SUFDTCxlekZpRW1EO0l5RmhFbkQsZ0J6RmdFbUQ7SXlGL0RuRCxtQkFBa0I7SUFDbEIsbUJBQWtCLEVBQUE7O0FBMUJ4QjtFQStCTSxnQkFBZSxFQUFBOztBQy9CckI7RUFDRSwwQjFGdUZ1RCxFQUFBO0VQd0ZqRDtJaUdoTFI7TUFHSSxrQjFGMEZTLEVBQUEsRTBGeEZaOztBQ0xEO0VBQ0UseUIzRnVGdUQsRUFBQTtFUHdGakQ7SWtHaExSO01BR0ksOEIzRjBGUyxFQUFBLEUyRjlEWjtFQS9CRDtJQU1JLHVCM0ZrRnFELEVBQUE7RTJGeEZ6RDtJQVVNLG1CM0ZtRk87STJGbEZQLDZCQUE0QixFQUFBO0lsR3FLMUI7TWtHaExSO1FBYVEsbUIzRmdGSyxFQUFBLEUyRmxFUjtJQTNCTDtNQWlCVSxjQUFhO01BQ2Isb0NBQW1DO01BQ25DLG1CM0ZxRStDO00yRnBFL0MsaUIzRm9FK0MsRUFBQTtNMkZ4RnpEO1FBc0JZLGNBQWE7UUFDYixxQkFBb0IsRUFBQTs7QXpEa0o5QjtFeUR4SUEscUMzRnVEdUQsRUFBQTtFUHdGakQ7SXlDUE47TXlEdElFLHVCM0YwRFMsRUFBQSxFMkZwQ1o7RUF6QkQ7SUFNSSxhQUFZLEVBQUE7SUFOaEI7TUFRTSxpQjNGZ0RtRDtNMkYvQ25ELHlCQUF3QjtNQUN4QixtQkFBa0I7TUFDbEIsV0FBVTtNbkd4Q2QscUNBQXFDO01BQ3JDLGdCbUd3QzZCO01BQ3pCLG1CM0YyQ21EO00yRjFDbkQsc0IzRjBDbUQ7TTJGekNuRCwyQkFBbUI7TUFBbkIsNEJBQW1CO01BQW5CLDJCQUFtQjtNQUFuQixvQkFBbUI7TUFDbkIseUJBQW1CO01BQW5CLDJCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLG9CM0Z1Q21ELEVBQUE7TTJGeER6RDtRQW9CUSxnQkFBZTtRQUNmLGNBQWEsRUFBQTs7QWxHMkhiO0VtR2hMUjtJQUdNLHFCNUZxRm1EO0k0RnBGbkQsY0FBYTtJQUNiLG9CQUFZO0lBQVoscUJBQVk7SUFBWixvQkFBWTtJQUFaLGFBQVk7SUFDWixhQUFZLEVBQUEsRUFnSWY7O0FuRzBDSztFbUdoTFI7SUFZUSxVQUFTO0lBQ1Qsc0JBQWE7UUFBYixvQkFBYTtZQUFiLGNBQWE7SUFDYixvQkFBWTtJQUFaLHFCQUFZO0lBQVosb0JBQVk7SUFBWixhQUFZO0lBQ1osNEJBQXNCO0lBQXRCLDZCQUFzQjtJQUF0Qiw4QkFBc0I7UUFBdEIsMEJBQXNCO1lBQXRCLHNCQUFzQjtJQUN0Qix3QkFBdUI7SUFBdkIsK0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIsK0I1RjRFSyxFQUFBLEU0RkVSOztBQS9GTDtFQW9CUSwyQjVGb0VpRDtFNEZuRWpELHdCNUZtRWlELEVBQUE7RVB3RmpEO0ltR2hMUjtNQXVCVSxVQUFTO01BQ1QsbUJBQW1CLEVBQUEsRUFZdEI7RUFwQ1A7SUEyQlUsbUJBQWtCLEVBQUE7SUEzQjVCO01BNkJZLFk1RjJENkM7TTRGMUQ3QyxZQUFXLEVBQUE7TW5Ha0pmO1FtR2hMUjtVQWdDYyxpQjVGd0QyQyxFQUFBLEU0RnREOUM7O0FBbENYO0VBc0NRLG9CNUZrRGlELEVBQUE7RVB3RmpEO0ltR2hMUjtNQXdDVSxVQUFTLEVBQUEsRUErQlo7RUF2RVA7SUEyQ1UsdUI1RjZDK0MsRUFBQTtFNEZ4RnpEOzs7SUFrRGMsaUI1RnNDMkM7STRGckMzQyxtQkFBa0I7SUFDbEIsWUFBVztJQUNYLHdCQUFlO1lBQWYsZ0JBQWU7SUFDZix3QjVGa0MyQztJNEZqQzNDLG9CNUZpQzJDO0k0RmhDM0MsV0FBVTtJcEdyRHRCLHFDQUFxQztJQUNyQyxnQm9HcURxQztJQUN6QixlNUY4QjJDLEVBQUE7STRGeEZ6RDs7O01BNERnQixXQUFVO01BQ1YsVUFBUyxFQUFBO0lBN0R6Qjs7O01BNERnQixXQUFVO01BQ1YsVUFBUyxFQUFBO0lBN0R6Qjs7O01BNERnQixXQUFVO01BQ1YsVUFBUyxFQUFBO0lBN0R6Qjs7O01BNERnQixXQUFVO01BQ1YsVUFBUyxFQUFBO0lBN0R6Qjs7O01BNERnQixXQUFVO01BQ1YsVUFBUyxFQUFBO0VBN0R6QjtJQW1FVSxvQjVGcUIrQztJNEZwQi9DLG9CQUFZO0lBQVoscUJBQVk7SUFBWixvQkFBWTtJQUFaLGFBQVk7SUFDWixxQkFBeUI7SUFBekIsaUNBQXlCO1FBQXpCLGtCQUF5QjtZQUF6Qix5QkFBeUIsRUFBQTs7QUFyRW5DO0VBeUVRLG1CQUFrQjtFQUNsQixvQkFBWTtFQUFaLHFCQUFZO0VBQVosb0JBQVk7RUFBWixhQUFZO0VBQ1osNEJBQXNCO0VBQXRCLDZCQUFzQjtFQUF0Qiw4QkFBc0I7TUFBdEIsMEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0QixzQkFBcUI7RUFBckIsNkJBQXFCO01BQXJCLG1CQUFxQjtVQUFyQixxQkFBcUI7RUFDckIsZ0JBQWU7RUFDZix1QzVGVWlELEVBQUE7RVB3RmpEO0ltR2hMUjtNQWdGVSxVQUFTLEVBQUEsRUFjWjtFQTlGUDtJQW1GVSxjQUFhLEVBQUE7SUFuRnZCO01BcUZZLGFBQVksRUFBQTtJQXJGeEI7TUF3RlksbUJBQWtCO01BQ2xCLFdBQVU7TXBHdEZwQixxQ0FBcUM7TUFDckMsZ0JvR3NGbUM7TUFDekIsZTVGSDZDLEVBQUE7O0E0RnhGekQ7RUFpR00sbUJBQWtCLEVBQUE7RW5HK0VoQjtJbUdoTFI7TUFtR1EsVUFBUztNQUNULGtCQUFpQjtNQUNqQixvQkFBWTtNQUFaLHFCQUFZO01BQVosb0JBQVk7TUFBWixhQUFZO01BQ1oseUJBQWtCO01BQWxCLDJCQUFrQjtVQUFsQixzQkFBa0I7Y0FBbEIsbUJBQWtCLEVBQUEsRUErQnJCO0VuRzJDRztJbUdoTFI7TUEwR1UsV0FBVztNQUNYLGtCQUFrQjtNQUNsQixNQUFNO01BQ04sYzVGckIrQztNNEZzQi9DLGE1RnRCK0M7TTRGdUIvQyxZQUFZO01BQ1osbUJBQW1CLEVBQUEsRUFFdEI7RUFsSFA7SUFvSFEsNEM1RjVCaUQsRUFBQTtJUHdGakQ7TW1HaExSO1FBc0hVLHNCNUY5QitDLEVBQUEsRTRGNENsRDtJQXBJUDtNQXlIVSxXQUFVLEVBQUE7SUF6SHBCO01BNEhVLFdBQVU7TUFDVixrQkFBaUIsRUFBQTtNQTdIM0I7UUErSFksY0FBYTtRQUNiLGdCQUFlO1FBQ2Ysa0JBQWlCLEVBQUE7O0FBUTdCO0VBSVEsY0FBYTtFQUNiLFdBQVUsRUFBQTtFQUxsQjtJQU9VLGdCNUZ4RCtDLEVBQUE7O0E0RmlEekQ7RUFXUSxhQUFZLEVBQUE7O0FBT3BCO0VBRVEsa0JBQWtCO0VBQ2xCLHNCNUZ0RWlEO0U0RnVFakQsbUI1RnZFaUQsRUFBQTtFNEZtRXpEO0lBT1ksa0JBQWtCO0lBQ2xCLGM1RjNFNkM7STRGNEU3QyxPQUFPO0lBQ1AsU0FBUyxFQUFBO0VBVnJCO0lBY1ksZUFBZTtJQUNmLFNBQVM7SUFDVCxtQjVGbkY2QztJNEZvRjdDLHFCNUZwRjZDLEVBQUE7O0E2RnhGekQ7RUFDSSxvQ0FBc0MsRUFBQTtFQUQxQztJQUlRLGdDQUF3QjtRQUF4Qiw0QkFBd0I7WUFBeEIsd0JBQXdCLEVBQUE7RUFKaEM7SUFTWSxrQkFBa0I7SUFDbEIsUUFBUTtJQUNSLFNBQVM7SUFDVCx3Q0FBa0M7UUFBbEMsb0NBQWtDO1lBQWxDLGdDQUFrQztJQUNsQyxXQUFXLEVBQUE7RUFidkI7SUFtQlEsY0FBYztJQUNkLHlCQUF5QjtJQUN6QixtQkFBbUI7SUFDbkIsYzdGa0VpRDtJNkZqRWpELGE3RmlFaUQsRUFBQTtJNkZ4RnpEO01BMEJZLGtCN0Y4RDZDO002RjdEN0Msa0JBQWtCO01BQ2xCLFFBQVE7TUFDUixTQUFTO01BQ1Qsd0NBQWdDO1VBQWhDLG9DQUFnQztjQUFoQyxnQ0FBZ0MsRUFBQTtJQTlCNUM7TUFrQ1ksbUJBQW1CO01BQ25CLGNoRytDRyxFQUFBOztBZ0cxQ2Y7RUFDSSxxQjdGK0NxRCxFQUFBO0U2RmhEekQ7SUFJUSxhN0Y0Q2lELEVBQUE7O0E2RnhDekQ7RUFFUSxZQUFZO0VBQ1osY0FBYztFQUNkLFc3Rm9DaUQ7RTZGbkNqRCxZN0ZtQ2lEO0U2RmxDakQsa0JBQWtCO0VBQ2xCLHlCQUF5QjtFQUN6QixxREFBcUQ7RUFDckQscURBQTZDO1VBQTdDLDZDQUE2QztFQUM3QyxrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLFNBQVM7RUFDVCx3Q0FBK0I7TUFBL0Isb0NBQStCO1VBQS9CLGdDQUErQixFQUFBOztBQUl2QztFQUNFO0lBQ0UsK0JBQXVCO1lBQXZCLHVCQUF1QixFQUFBO0VBRXpCO0lBQ0UsaUNBQXlCO1lBQXpCLHlCQUF5QixFQUFBLEVBQUE7O0FBTDdCO0VBQ0U7SUFDRSwrQkFBdUI7WUFBdkIsdUJBQXVCLEVBQUE7RUFFekI7SUFDRSxpQ0FBeUI7WUFBekIseUJBQXlCLEVBQUEsRUFBQTs7QW5HNkUzQjtFb0dsSkUsZUFBZSxFQUFBOztBQUduQjtFQUNJLGVBQWU7RUFDZixpQjlGa0ZxRDtFOEZqRnJELFlBQVk7RUFDWixVQUFVO0VBQ1YsWUFBWTtFQUNaLHNCOUY4RXFEO0U4Rjh5QnJELDJCQUFBO0VBY0Esb0JBQUE7RUFhQSx3QkFBQTtFQWNBLGdDQUFBO0VBU0Esc0JBQUE7RUFjQSxrQkFBQSxFQUFtQjtFckd0eEJmO0lxRzVLUjtNQVNRLGNBQWM7TUFDZCxZOUYwRWlEO004RnpFakQsa0I5RnlFaUQ7TThGeEVqRCxnQkFBZ0IsRUFBQSxFQTI3QnZCO0VBdjhCRDtJQWdCUSxrQkFBa0I7SUFDbEIsZ0M5Rm1FaUQ7SThGbEVqRCxNQUFNO0lBQ04sT0FBTztJQUNQLFFBQVE7SUFDUixXQUFXO0lBQ1gsaUhBQWlFO0lBQWpFLHVFQUFpRSxFQUFBO0lyR3NKakU7TXFHNUtSO1FBeUJZLFVBQVU7UUFDVixTOUYwRDZDO1E4RnpEN0MsZTlGeUQ2QztROEZ4RDdDLFdBQVc7UUFDWCxnQkFBZ0IsRUFBQSxFQXlCdkI7SUF0REw7TUFpQ1ksWTlGbUQ2QztNOEZsRDdDLFlBQVksRUFBQTtNckcwSWhCO1FxRzVLUjtVQXFDZ0IsaUI5RitDeUMsRUFBQSxFOEYvQmhEO01BckRUO1FBeUNnQixhQUFhLEVBQUE7UXJHbUlyQjtVcUc1S1I7WUE0Q29CLGNBQWMsRUFBQSxFQUVyQjtNckc4SEw7UXFHNUtSO1VBa0RvQixhQUFhLEVBQUEsRUFFcEI7RUFwRGI7SUF5RFEsaUI5RjJCaUQ7SThGMUJqRCxnQjlGMEJpRDtJOEZ6QmpELDhCakdtQk87SWlHbEJQLG1CQUFtQjtJQUNuQixjakdpQk87SWlHaEJQLG9COUZzQmlEO0k4RnJCakQsZ0I5RnFCaUQ7SThGcEJqRCxhOUZvQmlEO0k4Rm5CakQsV0FBVyxFQUFBO0lyRzJHWDtNcUc1S1I7UUFvRVksK0JqR1VHO1FpR1RILGlCOUZlNkM7UThGZDdDLGdCOUZjNkM7UThGYjdDLGdCOUZhNkM7UThGWjdDLGE5Rlk2QztROEZYN0Msb0I5Rlc2QyxFQUFBLEU4RmtCcEQ7SUF0R0w7TUE4RVksY0FBYztNQUNkLG1CakdERyxFQUFBO0lpRzlFZjtNQW1GWSwrRUFBQTtNQUNBLGlDQUFpQztNQUNqQyxZQUFZO01BQ1osa0JBQWtCO01BQ2xCLG1CQUFtQjtNQUNuQixvQkFBb0I7TUFDcEIsb0JBQW9CO01BQ3BCLGNBQWM7TUFFZCxzQ0FBQTtNQUNBLG1DQUFtQztNQUNuQyxrQ0FBa0M7TUFDbEMsZ0JBQWdCO01BQ2hCLGtCQUFrQjtNQUNsQixRQUFRO01BQ1IsU0FBUztNQUNULHNEQUFnRDtVQUFoRCxrREFBZ0Q7Y0FBaEQsOENBQWdEO01BQ2hELGNBQWMsRUFBQTtFckd3RWxCO0lxRzVLUjtNQTJHZ0Isa0I5RnZCeUM7TThGd0J6QyxXQUFXO01BQ1gsWUFBWSxFQUFBLEVBRW5CO0VBL0dUO0lBcUhZLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsaUI5Rm5DNkM7SThGb0M3QyxZOUZwQzZDO0k4RnFDN0Msa0NBQTRCO1FBQTVCLDhCQUE0QjtZQUE1QiwwQkFBNEI7SUFDNUIsa0I5RnRDNkM7SThGdUM3QyxnQjlGdkM2QztJOEZ5QzdDLG1EQUFtRDtJQUNuRCwwQkFBMEI7SUFDMUIsVUFBVTtJQUNWLGNBQWMsRUFBQTtJckc0Q2xCO01xRzVLUjtRQW1JZ0IsWTlGL0N5QztROEZnRHpDLGU5RmhEeUM7UThGaUR6QyxrQjlGakR5QztROEZrRHpDLGlCOUZsRHlDO1E4Rm1EekMsa0NBQTRCO1lBQTVCLDhCQUE0QjtnQkFBNUIsMEJBQTRCLEVBQUEsRUFFbkM7RUF6SVQ7SUE0SVksOENBQThDO0lBQzlDLGtDQUE0QjtRQUE1Qiw4QkFBNEI7WUFBNUIsMEJBQTRCO0lBQzVCLGdCOUYxRDZDO0k4RjJEN0MsZ0I5RjNENkMsRUFBQTtJUHdGakQ7TXFHNUtSO1FBa0pnQixrQ0FBNEI7WUFBNUIsOEJBQTRCO2dCQUE1QiwwQkFBNEI7UUFDNUIsZ0I5Ri9EeUMsRUFBQSxFOEZpRWhEO0VBckpUOztJQTBKUSxtQkFBbUIsRUFBQTtJQTFKM0I7OztNQWdLWSxhQUFhO01BQ2IsV0FBVztNQUNYLGtCQUFrQjtNQUNsQixZQUFZO01BQ1osWUFBWTtNQUNaLGtDQUE0QjtVQUE1Qiw4QkFBNEI7Y0FBNUIsMEJBQTRCO01BQzVCLGtCOUZsRjZDO004Rm1GN0MsaUI5Rm5GNkM7TThGcUY3Qyx5REFBeUQ7TUFDekQsMEJBQTBCO01BQzFCLFVBQVUsRUFBQTtNckdDZDtRcUc1S1I7OztVQThLZ0IsWUFBWTtVQUNaLFlBQVk7VUFDWiwrQkFBeUI7Y0FBekIsMkJBQXlCO2tCQUF6Qix1QkFBeUI7VUFDekIsa0I5RjdGeUM7VThGOEZ6QyxpQjlGOUZ5QztVOEYrRnpDLGNBQWMsRUFBQSxFQUVyQjtJQXJMVDs7TUF3TFksOENBQThDO01BQzlDLGtDQUE0QjtVQUE1Qiw4QkFBNEI7Y0FBNUIsMEJBQTRCO01BQzVCLGNBQWM7TUFDZCxhQUFhLEVBQUE7TXJHZmpCO1FxRzVLUjs7VUE4TGdCLGtDQUE0QjtjQUE1Qiw4QkFBNEI7a0JBQTVCLDBCQUE0QjtVQUM1QixjQUFjO1VBQ2QsY0FBYyxFQUFBLEVBRXJCO0VBbE1UO0lBdU1ZLGdEQUFnRCxFQUFBO0VyRzNCcEQ7SXFHNUtSO01BNk1ZLGdCQUFnQixFQUFBLEVBTXZCO0VBbk5MO0lBaU5ZLCtDQUErQyxFQUFBO0VBak4zRDtJQXNOUSxrQkFBa0I7SUFDbEIsbUJqR3pJTztJaUcwSVAsZ0JBQWdCLEVBQUE7SUF4TnhCO01BMk5ZLGFBQWEsRUFBQTtNckcvQ2pCO1FxRzVLUjtVQThOZ0IsY0FBYyxFQUFBLEVBRXJCO0lyR3BERDtNcUc1S1I7UUFxT2dCLGFBQWEsRUFBQSxFQUVwQjtJQXZPVDtNQTBPWSxrQkFBa0I7TUFDbEIsV0FBVztNQUNYLDJCOUZ4SjZDLEVBQUE7TVB3RmpEO1FxRzVLUjtVQStPZ0Isa0JBQWtCO1VBQ2xCLFdBQVc7VUFDWCxlOUY3SnlDO1U4RjhKekMsaUI5RjlKeUM7VThGK0p6QyxZOUYvSnlDO1U4RmdLekMsVUFBVSxFQUFBLEVBRWpCO0lBdFBUO01BeVBZLG9COUZySzZDO004RnNLN0Msc0I5RnRLNkM7TThGdUs3Qyx1QjlGdks2QztNOEZ3SzdDLHVCOUZ4SzZDLEVBQUE7TVB3RmpEO1FxRzVLUjtVQStQZ0IsbUI5RjNLeUM7VThGNEt6QyxvQjlGNUt5QztVOEY2S3pDLFVBQVU7VUFDVixzQjlGOUt5QyxFQUFBLEU4RmdMaEQ7SUFwUVQ7TXRHREUscUNBQXFDO01BQ3JDLGdCc0d1UW1DO01BQ3pCLG1COUZwTDZDO004RnFMN0Msb0I5RnJMNkM7TThGc0w3QyxzQjlGdEw2QyxFQUFBO01Qd0ZqRDtRcUc1S1I7VUE2UWdCLGdCQUFnQjtVQUNoQixpQjlGMUx5QztVOEYyTHpDLHdCOUYzTHlDLEVBQUEsRThGNkxoRDtJQWpSVDtNQW9SWSxrQkFBa0I7TUFDbEIsZ0I5RmpNNkM7TThGa003QyxnQjlGbE02QztNOEZtTTdDLG1CQUFtQjtNQUNuQixrQjlGcE02QztNOEZxTTdDLHNCOUZyTTZDO004RnNNN0MsbUM5RnRNNkM7TThGdU03QyxrQzlGbE1DO004Rm1NRCxjakc5TUc7TWlHK01ILHdCOUZ6TTZDO004RjBNN0MsZ0JBQWdCO010Ry9SMUIscUNBQXFDO01BQ3JDLGdCc0crUm1DO01BQ3pCLGVBQWUsRUFBQTtNckdwSG5CO1FxRzVLUjtVQW1TZ0IsYTlGL015QztVOEZnTnpDLGlCOUZoTnlDO1U4RmlOekMsb0I5RmpOeUM7VThGa056QyxzQjlGbE55QztVOEZtTnpDLHNCOUZuTnlDLEVBQUEsRThGOFFoRDtNQWxXVDtRQTJTZ0IsY0FBYztRQUNkLGU5RnhOeUM7UThGeU56QyxnQjlGek55QztROEYwTnpDLGtCQUFrQjtRQUNsQixRQUFRO1FBQ1IsZ0I5RjVOeUM7UThGNk56QyxvREFBZ0Q7WUFBaEQsZ0RBQWdEO2dCQUFoRCw0Q0FBZ0Q7UUFDaEQsbUJBQW1CO1FBQ25CLCtCakdyT0Q7UWlHc09DLFdBQVcsRUFBQTtRckd4SW5CO1VxRzVLUjtZQXVUb0IsZTlGbk9xQztZOEZvT3JDLGdCOUZwT3FDO1k4RnFPckMsZTlGck9xQyxFQUFBLEU4RnVPNUM7TUEzVGI7UUE4VGdCLCtFQUFBO1FBQ0EsaUNBQWlDO1FBQ2pDLFlBQVk7UUFDWixrQkFBa0I7UUFDbEIsbUJBQW1CO1FBQ25CLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsY0FBYztRQUVkLHNDQUFBO1FBQ0EsbUNBQW1DO1FBQ25DLGtDQUFrQztRQUNsQyxnQkFBZ0I7UUFDaEIsY2pHN1BEO1FpRzhQQyxlOUZ4UHlDO1E4RnlQekMsUUFBUTtRQUNSLFc5RjFQeUM7UThGMlB6QyxxREFBaUQ7WUFBakQsaURBQWlEO2dCQUFqRCw2Q0FBaUQ7UUFDakQsY0FBYztRQUNkLGtCQUFrQixFQUFBO1FyR3JLMUI7VXFHNUtSO1lBb1ZvQixvQjlGaFFxQztZOEZpUXJDLGdCOUZqUXFDLEVBQUEsRThGbVE1QztNQXZWYjtRQTJWb0IsbUJqRzdRTCxFQUFBO01pRzlFZjtRQStWb0IsY0FBYyxFQUFBO0lBL1ZsQztNQXFXWSxnQkFBZ0IsRUFBQTtFQXJXNUI7SUEwV1EsYUFBYTtJQUNiLGtCQUFrQjtJQUNsQixXQUFXLEVBQUE7RUE1V25CO0lBaVhZLGNBQWMsRUFBQTtFQWpYMUI7SUFxWFksYUFBYSxFQUFBO0VBclh6QjtJQXlYWSxnQkFBZ0I7SUFDaEIsa0JBQWtCLEVBQUE7SXJHOU10QjtNcUc1S1I7UUE2WGdCLGtCQUFrQixFQUFBLEVBWXpCO0lBellUO01Ba1lvQixhQUFhLEVBQUE7SUFsWWpDO01Bc1lvQixjQUFjLEVBQUE7RXJHMU4xQjtJcUc1S1I7TUE2WWdCLGNBQWM7TUFDZCxxQkFBcUIsRUFBQSxFQVM1QjtFckczT0Q7SXFHNUtSO01BbVpvQixjakdyVUw7TWlHc1VLLG1CQUFtQixFQUFBLEVBRTFCO0VBdFpiO0lBMlpRLGFBQWEsRUFBQTtFQTNackI7O0lBZ2FRLG1CQUFtQjtJQUNuQixnQkFBZ0IsRUFBQTtFQWpheEI7SUFzYVksa0JBQWtCLEVBQUE7SXJHMVB0QjtNcUc1S1I7UUF5YWdCLG9CQUFhO1FBQWIscUJBQWE7UUFBYixvQkFBYTtRQUFiLGFBQWE7UUFDYixzQjlGdFZ5QztROEZ1VnpDLCtCOUZ2VnlDO1E4RndWekMseUJBQWlCO1lBQWpCLHFCQUFpQjtnQkFBakIsaUJBQWlCO1FBQ2pCLHdCQUF1QjtRQUF2QiwrQkFBdUI7WUFBdkIscUJBQXVCO2dCQUF2Qix1QkFBdUI7UUFDdkIseUJBQW1CO1FBQW5CLDJCQUFtQjtZQUFuQixzQkFBbUI7Z0JBQW5CLG1CQUFtQjtRQUNuQiw4QkFBbUI7UUFBbkIsNkJBQW1CO1FBQW5CLDJCQUFtQjtZQUFuQix1QkFBbUI7Z0JBQW5CLG1CQUFtQixFQUFBLEVBMEgxQjtJQXppQlQ7TUFtYmdCLGtCQUFrQjtNQUNsQixXQUFXO01BQ1gsbUJBQW1CLEVBQUE7TXJHelEzQjtRcUc1S1I7VUF3Ym9CLGdCQUFnQjtVQUNoQixpQkFBaUIsRUFBQSxFQUV4QjtJQTNiYjs7TUErYmdCLGtCQUFrQjtNQUNsQixVQUFVLEVBQUE7TXJHcFJsQjtRcUc1S1I7O1VBbWNvQixvQjlGL1dxQyxFQUFBLEU4RnNYNUM7TXJHOVJMO1FxRzVLUjs7VUF1Y29CLFVBQVU7VUFDVixxQkFBcUIsRUFBQSxFQUU1QjtJQTFjYjtNdEdERSxxQ0FBcUM7TUFDckMsZ0JzRzZjdUM7TUFDekIsZ0JBQWdCO01BQ2hCLGtCOUYzWHlDO004RjRYekMsb0I5RjVYeUM7TThGNlh6QyxjQUFjLEVBQUE7TXJHclN0QjtRcUc1S1I7VUFvZG9CLDRDOUZoWXFDO1U4RmlZckMsa0JBQWtCO1VBQ2xCLFdBQVcsRUFBQSxFQXVCbEI7TXJHalVMO1FxRzVLUjtVQTBkb0IsV0FBVztVQUNYLHFCOUZ2WXFDO1U4RndZckMsb0I5RnhZcUM7VThGeVlyQyxtQjlGellxQztVOEYwWXJDLGdCQUFnQixFQUFBLEVBZXZCO01yR2pVTDtRcUc1S1I7VUFtZXdCLFdBQVc7VUFDWCxjQUFjO1VBQ2QsbUJqR3ZaVDtVaUd3WlMsTUFBTTtVQUNOLE9BQU87VUFDUCxRQUFRO1VBQ1IsZ0I5RnJaaUM7VThGc1pqQyxrQkFBa0IsRUFBQSxFQUV6QjtJckdoVVQ7TXFHNUtSO1FBaWZvQixtQkFBbUI7UUFDbkIscUI5RjlacUM7UThGK1pyQyxzQjlGL1pxQztROEZnYXJDLGtCQUFrQjtRQUNsQixVQUFVLEVBQUEsRUFtQ2pCO0lyRzVXTDtNcUc1S1I7UUF5Zm9CLHFCOUZyYXFDLEVBQUEsRThGb2M1QztJQXhoQmI7TUE4Zm9CLFdBQVc7TUFDWCxrQkFBa0I7TUFDbEIsWTlGNWFxQztNOEY2YXJDLGM5RjdhcUM7TThGOGFyQyxrQjlGOWFxQztNOEYrYXJDLGdCOUYvYXFDO004RmlickMseURBQXlEO01BQ3pELDBCQUEwQjtNQUMxQixVQUFVLEVBQUE7TXJHM1Z0QjtRcUc1S1I7VUEwZ0J3QixhQUFhLEVBQUEsRUFFcEI7SUE1Z0JqQjtNQStnQm9CLGdEQUFnRDtNQUNoRCxrQ0FBNEI7VUFBNUIsOEJBQTRCO2NBQTVCLDBCQUE0QjtNQUM1QixhOUY3YnFDO004RjhickMsVzlGOWJxQyxFQUFBO01Qd0ZqRDtRcUc1S1I7VUFxaEJ3QixhQUFhLEVBQUEsRUFFcEI7SUF2aEJqQjtNQTJoQmdCLGNqRzdjRDtNTC9FYixxQ0FBcUM7TUFDckMsZ0JzRzRoQnVDO01BQ3pCLG1COUZ6Y3lDO004RjBjekMsb0I5RjFjeUMsRUFBQTtNUHdGakQ7UXFHNUtSO1VBa2lCb0IsZ0JBQWdCLEVBQUEsRUFFdkI7SUFwaUJiO01BdWlCZ0Isc0I5Rm5keUMsRUFBQTtFOEZwRnpEO0lBNGlCWSxTQUFTO0lBQ1QsMkI5RnpkNkM7SThGMGQ3QyxrQkFBa0I7SUFDbEIsV0FBVyxFQUFBO0lyR25ZZjtNcUc1S1I7UUFrakJnQixVOUZ6ZEg7UThGMGRHLGlCQUFpQixFQUFBLEVBcUd4QjtJQXhwQlQ7TUF1akJnQixjQUFjO01BQ2QsV0FBVztNQUNYLFdBQVcsRUFBQTtJQXpqQjNCO01BNmpCZ0IsYUFBYSxFQUFBO0lBN2pCN0I7TUFpa0JnQixTQUFTO01BQ1QsV0FBVztNQUNYLGlCOUYvZXlDO004RmdmekMsZ0I5RmhmeUM7TThGaWZ6QyxjQUFjO01BQ2QsbUJBQW1CO01BQ25CLHlCakd6ZkQ7TWlHMGZDLG1DQUEyQjtjQUEzQiwyQkFBMkI7TUFDM0Isb0I5RnJmeUM7TThGc2Z6QyxVQUFVLEVBQUE7TXJHOVpsQjtRcUc1S1I7VUE2a0JvQixrQkFBa0I7VUFDbEIsZTlGMWZxQztVOEYyZnJDLGdCOUYzZnFDO1U4RjRmckMsZTlGNWZxQztVOEY2ZnJDLGU5RjdmcUMsRUFBQSxFOEZta0I1QztNQXZwQmI7UUFxbEJvQiwrRUFBQTtRQUNBLGlDQUFpQztRQUNqQyxZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLGNBQWM7UUFFZCxzQ0FBQTtRQUNBLG1DQUFtQztRQUNuQyxrQ0FBa0M7UUFFbEMsa0JBQWtCO1FBQ2xCLFFBQVE7UUFDUixTQUFTO1FBQ1QsZ0JBQWdCO1FBQ2hCLHdDQUErQjtZQUEvQixvQ0FBK0I7Z0JBQS9CLGdDQUErQixFQUFBO01BdG1CbkQ7UUEybUJvQixjQUFjO1FBQ2QscUJBQXFCO1FBQ3JCLGlDQUF5QjtZQUF6Qiw2QkFBeUI7Z0JBQXpCLHlCQUF5QixFQUFBO1FyR2pjckM7VXFHNUtSO1lBZ25Cd0IsV0FBVztZQUNYLGNqR25pQlQ7WWlHb2lCUyxxQmpHcGlCVDtZaUdxaUJTLHVCQUF1QixFQUFBLEVBZ0I5QjtRckd2ZFQ7VXFHNUtSO1lBdW5Cd0IsZTlGbmlCaUMsRUFBQSxFOEYraUJ4QztRQW5vQmpCO1VBMm5Cd0IsbUJBQW1CO1VBQ25CLGNqRzlpQlQsRUFBQTtVSjhGUDtZcUc1S1I7Y0ErbkI0QixtQmpHampCYjtjaUdrakJhLGNBQWMsRUFBQSxFQUVyQjtNQWxvQnJCO1FBdW9Cb0IsY2pHempCTDtRaUcwakJLLGdDQUF3QjtZQUF4Qiw0QkFBd0I7Z0JBQXhCLHdCQUF3QixFQUFBO1FyRzVkcEM7VXFHNUtSO1lBMm9Cd0IsWUFBWSxFQUFBLEVBV25CO1FyRzFlVDtVcUc1S1I7WUErb0J3QixnQjlGM2pCaUMsRUFBQSxFOEZra0J4QztRQXRwQmpCO1VBbXBCd0IsbUJqR3JrQlQ7VWlHc2tCUyxjQUFjLEVBQUE7RUFwcEJ0QztJQTZwQlksa0JBQWtCO0lBQ2xCLG1CQUFtQixFQUFBO0lyR2xmdkI7TXFHNUtSO1FBaXFCZ0Isb0JBQWE7UUFBYixxQkFBYTtRQUFiLG9CQUFhO1FBQWIsYUFBYTtRQUNiLHNCOUY5a0J5QztROEYra0J6QywrQjlGL2tCeUM7UThGZ2xCekMseUJBQWlCO1lBQWpCLHFCQUFpQjtnQkFBakIsaUJBQWlCO1FBQ2pCLHdCQUF1QjtRQUF2QiwrQkFBdUI7WUFBdkIscUJBQXVCO2dCQUF2Qix1QkFBdUI7UUFDdkIseUJBQW1CO1FBQW5CLDJCQUFtQjtZQUFuQixzQkFBbUI7Z0JBQW5CLG1CQUFtQjtRQUNuQiw4QkFBbUI7UUFBbkIsNkJBQW1CO1FBQW5CLDJCQUFtQjtZQUFuQix1QkFBbUI7Z0JBQW5CLG1CQUFtQixFQUFBLEVBeU45QjtJQWg0Qkw7TUEycUJnQixrQkFBa0I7TUFDbEIsVUFBVSxFQUFBO01yR2hnQmxCO1FxRzVLUjtVQStxQm9CLHVCQUFlO2NBQWYsNEJBQWU7a0JBQWYsZUFBZSxFQUFBLEVBRXRCO0lBanJCYjtNQW9yQmdCLGtCQUFrQjtNQUNsQixXQUFXLEVBQUE7TXJHemdCbkI7UXFHNUtSO1VBd3JCb0Isb0M5RnBtQnFDLEVBQUEsRThGNHFCNUM7TXJHcGxCTDtRcUc1S1I7VUE0ckJvQixxQjlGeG1CcUMsRUFBQSxFOEY0cUI1QztNQWh3QmI7O1FBaXNCb0IsY0FBYztRQUNkLG1COUY5bUJxQztROEYrbUJyQyxvQjlGL21CcUM7UVJyRnZELHFDQUFxQztRQUNyQyxnQnNHb3NCMkMsRUFBQTtRckd4aEJyQztVcUc1S1I7O1lBdXNCd0IsaUI5Rm5uQmlDLEVBQUEsRThGcW5CeEM7TUF6c0JqQjtRQTRzQm9CLGNBQWM7UUFDZCxvQjlGem5CcUM7UVJyRnZELHFDQUFxQztRQUNyQyxnQnNHOHNCMkM7UUFDekIsc0I5RjNuQnFDO1E4RjRuQnJDLHNCOUY1bkJxQyxFQUFBO1FQd0ZqRDtVcUc1S1I7WUFtdEJ3QixvQjlGL25CaUM7WThGZ29CakMsc0I5RmhvQmlDLEVBQUEsRThGOG9CeEM7UUFsdUJqQjtVQXd0QndCLGtCQUFrQjtVQUNsQixNQUFNO1VBQ04sYTlGdG9CaUM7VThGdW9CakMsT0FBTztVQUNQLFFBQVE7VUFDUixXQUFXO1VBQ1gsY0FBYztVQUNkLG1CakdqcEJUO1VpR2twQlMsV0FBVyxFQUFBO01BaHVCbkM7UUFzdUJvQixXQUFXO1FBQ1gsa0JBQWtCO1FBQ2xCLFk5RnBwQnFDO1E4RnFwQnJDLFNBQVM7UUFDVCxrQjlGdHBCcUM7UThGdXBCckMsZ0I5RnZwQnFDO1E4RnlwQnJDLHlEQUF5RDtRQUN6RCwwQkFBMEI7UUFDMUIsV0FBVyxFQUFBO1FyR25rQnZCO1VxRzVLUjtZQWt2QndCLGFBQWEsRUFBQSxFQUVwQjtNQXB2QmpCO1FBdXZCb0IsK0NBQStDO1FBQy9DLGtDQUE0QjtZQUE1Qiw4QkFBNEI7Z0JBQTVCLDBCQUE0QjtRQUM1QixhOUZycUJxQztROEZzcUJyQyxnQjlGdHFCcUMsRUFBQTtRUHdGakQ7VXFHNUtSO1lBNnZCd0IsYUFBYSxFQUFBLEVBRXBCO0lBL3ZCakI7TUFtd0JnQixnQkFBZ0IsRUFBQTtNckd2bEJ4QjtRcUc1S1I7VUFzd0JvQiwyQjlGN3FCUCxFQUFBLEU4RnN5QkE7TXJHbnRCTDtRcUc1S1I7VUEwd0JvQixxQjlGdHJCcUMsRUFBQSxFOEYyeUI1QztNQS8zQmI7UUE4d0JvQiw2QmpHaHNCTDtRaUdpc0JLLFNBQVM7UUFDVCxVQUFVLEVBQUE7TUFoeEI5QjtRQW14Qm9CLFNBQVM7UUFDVCxVQUFVO1FBQ1YsZ0NqR3ZzQkwsRUFBQTtRaUc5RWY7VUF3eEJ3QixhQUFhLEVBQUE7UUF4eEJyQztVQTR4QndCLG1COUZ4c0JpQztVOEZ5c0JqQyxjakcvc0JUO1VML0ViLHFDQUFxQztVQUNyQyxnQnNHOHhCK0M7VUFDekIsY0FBYztVQUNkLGlCOUY1c0JpQztVOEY2c0JqQyxtQzlGeHNCWDtVOEZ5c0JXLGtCQUFrQjtVQUNsQiwwQkFBMEIsRUFBQTtVckd2bkIxQztZcUc1S1I7Y0FzeUI0QixxQkFBcUIsRUFBQSxFQWlENUI7VUF2MUJyQjtZQTB5QjRCLGtCQUFrQjtZQUNsQixRQUFRO1lBQ1IsUUFBUTtZQUNSLGdCOUZ6dEI2QjtZOEYwdEI3QixlOUYxdEI2QjtZOEYydEI3Qiw4QmpHanVCYjtZaUdrdUJhLG1CQUFtQjtZQUNuQixxQ0FBK0I7Z0JBQS9CLGlDQUErQjtvQkFBL0IsNkJBQStCLEVBQUE7WXJHcm9CbkQ7Y3FHNUtSO2dCQW96QmdDLGFBQWEsRUFBQSxFQTBCcEI7WUE5MEJ6QjtjQXd6QmdDLCtFQUFBO2NBQ0EsaUNBQWlDO2NBQ2pDLFlBQVk7Y0FDWixrQkFBa0I7Y0FDbEIsbUJBQW1CO2NBQ25CLG9CQUFvQjtjQUNwQixvQkFBb0I7Y0FDcEIsY0FBYztjQUVkLHNDQUFBO2NBQ0EsbUNBQW1DO2NBQ25DLGtDQUFrQztjQUVsQyxnQkFBZ0I7Y0FDaEIsY2pHeHZCakI7Y2lHMHZCaUIsa0JBQWtCO2NBQ2xCLFFBQVE7Y0FDUixTQUFTO2NBQ1Qsd0NBQWlDO2tCQUFqQyxvQ0FBaUM7c0JBQWpDLGdDQUFpQztjQUNqQyxvQjlGeHZCeUIsRUFBQTtVOEZwRnpEO1lBaTFCNEIsMEJBQTBCLEVBQUE7WUFqMUJ0RDtjQW8xQmdDLGNBQWMsRUFBQTtRckd4cUJ0QztVcUc1S1I7WUEyMUI0QixtQkFBbUIsRUFBQSxFQUUxQjtNQTcxQnJCO1FBaTJCb0IsZTlGN3dCcUM7UThGOHdCckMsb0I5Rjl3QnFDO1FSckZ2RCxxQ0FBcUM7UUFDckMsZ0JzR20yQjJDO1FBQ3pCLHlCOUZoeEJxQztROEZpeEJyQyxtQkFBbUI7UUFDbkIsY2pHeHhCTDtRaUd5eEJLLFlBQVksRUFBQTtRckczckJ4QjtVcUc1S1I7WUEwMkJ3QixvQjlGdHhCaUM7WThGdXhCakMsd0I5RnZ4QmlDLEVBQUEsRThGb3lCeEM7UXJHNXNCVDtVcUc1S1I7WUErMkJ3QixrQkFBa0I7WUFDbEIsZTlGNXhCaUM7WThGNnhCakMsZ0I5Rjd4QmlDLEVBQUEsRThGb3lCeEM7UUF4M0JqQjtVQXEzQndCLG1Cakd2eUJUO1VpR3d5QlMsY0FBYyxFQUFBO01BdDNCdEM7UUEyM0JvQixXQUFXO1FBQ1gsV0FBVztRQUNYLGNBQWMsRUFBQTtFQTczQmxDOztJQXE0Qlksa0JBQWtCO0lBQ2xCLGFBQWEsRUFBQTtFQXQ0QnpCOztJQTA0Qlksa0JBQWtCO0lBQ2xCLG9DOUZ2ekI2QztJOEZ3ekI3QyxlQUFlO0lBQ2YsU0FBUyxFQUFBO0VBNzRCckI7O0lBbTVCWSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLE9BQU87SUFDUCxNQUFNO0lBQ04sVzlGbjBCNkM7SThGbzBCN0MsWTlGcDBCNkM7SThGcTBCN0MsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixtQkFBbUIsRUFBQTtFQTM1Qi9COztJQWc2QlksV0FBVztJQUNYLGtCQUFrQjtJQUNsQixjOUY5MEI2QztJOEYrMEI3QyxhOUYvMEI2QztJOEZnMUI3QyxjOUZoMUI2QztJOEZpMUI3QyxlOUZqMUI2QztJOEZrMUI3QyxZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQiwyQkFBbUI7SUFBbkIsbUJBQW1CLEVBQUE7RUF6NkIvQjtJQTY2QlksVUFBVTtJQUNWLDJCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsbUJBQW1CLEVBQUE7RUE5NkIvQjtJQWk3QlksVUFBVTtJQUNWLDJCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsbUJBQW1CLEVBQUE7RUFsN0IvQjs7SUF1N0JZLHdCQUFnQjtZQUFoQixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLHNCQUFzQixFQUFBO0VBejdCbEM7SUE0N0JZLFdBQVcsRUFBQTtFQTU3QnZCO0lBKzdCWSxXQUFXLEVBQUE7RUEvN0J2Qjs7SUFxOEJZLHVCQUF1QixFQUFBOztBQ3o4Qm5DO0VBQ0Usa0IvRjRGVztFK0YzRlgsbUNBQTBCO0VBQTFCLDJCQUEwQjtFQUMxQixrQkFBa0IsRUFBQTtFQUhwQjtJQUtJLGVBQWM7SUFDZCxNQUFLO0lBQ0wsT0FBTTtJQUNOLFFBQU87SUFDUCxxQ0FBaUM7SUFDakMsWUFBVztJQUNYLG1DQUEwQjtJQUExQiwyQkFBMEIsRUFBQTtFQVg5QjtJQWNJLG9CL0YwRXFEO0krRnpFckQsY0FBYTtJQUNiLG9CQUFZO0lBQVoscUJBQVk7SUFBWixvQkFBWTtJQUFaLGFBQVk7SUFDWix5QkFBOEI7SUFBOUIsc0NBQThCO1FBQTlCLHNCQUE4QjtZQUE5Qiw4QkFBOEI7SUFDOUIsbUNBQTBCO0lBQTFCLDJCQUEwQjtJQUMxQixrQkFBaUIsRUFBQTtJQW5CckI7TUFxQk8sa0JBQWlCO01BQ2pCLGMvRmtFa0Q7TStGakVsRCxNQUFLO01BQ0wsYUFBWTtNQUNaLGUvRitEa0Q7TStGOURsRCxnQi9GOERrRDtNK0Y3RGxELHlCQUF3QjtNQUN4QixtQkFBa0I7TUFDbEIseUJBQW1CO01BQW5CLDJCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLHdCQUF1QjtNQUF2QiwrQkFBdUI7VUFBdkIscUJBQXVCO2NBQXZCLHVCQUF1QjtNQUN2QixnQ0FBdUI7VUFBdkIsNEJBQXVCO2NBQXZCLHdCQUF1QjtNQUN2QixjQUFhLEVBQUE7TUFoQ3BCO1FBa0NTLG1CQUFrQjtRQUNsQixXQUFVLEVBQUE7SUFuQ25CO01BdUNNLHFCL0ZpRG1EO00rRmhEbkQsc0JBQWE7VUFBYixvQkFBYTtjQUFiLGNBQWE7TUFDYixvQi9GK0NtRDtNK0Y5Q25ELG1DQUEwQjtNQUExQiwyQkFBMEI7TUFDMUIsa0JBQWlCO01BQ2pCLFlBQVcsRUFBQTtNQTVDakI7UUE4Q1EsbUJBQWtCLEVBQUE7UUE5QzFCO1VBZ0RVLFdBQVU7VUFDVixnQi9GdUMrQyxFQUFBO1UrRnhGekQ7WUFtRFksYUFBWSxFQUFBO0lBbkR4QjtNQXlETSxvQkFBWTtNQUFaLHFCQUFZO01BQVosb0JBQVk7TUFBWixhQUFZO01BQ1osNEJBQXNCO01BQXRCLDZCQUFzQjtNQUF0Qiw4QkFBc0I7VUFBdEIsMEJBQXNCO2NBQXRCLHNCQUFzQjtNQUN0QixzQkFBcUI7TUFBckIsNkJBQXFCO1VBQXJCLG1CQUFxQjtjQUFyQixxQkFBcUIsRUFBQTtNQTNEM0I7UUE2RFEsd0IvRjJCaUQ7UStGMUJqRCxrQi9GMEJpRCxFQUFBO1ErRnhGekQ7VXZHR0UscUNBQXFDO1VBQ3JDLGdCdUcrRHVDO1VBQ3pCLGUvRm9CeUM7VStGbkJ6Qyx5QkFBeUI7VUFDekIsY0FBYTtVQUNiLG9DQUFtQztVQUNuQyxtQi9GcUJIO1UrRnBCRyxpQi9GZXlDLEVBQUE7VStGeEZ6RDtZQTJFa0IscUJBQW9CLEVBQUE7UUEzRXRDO1VBa0ZvQixZQUFXO1VBQ1gsa0NBQWlDO1VBQ2pDLGdCQUFnQjtVQUNoQixvQi9GR3FDO1UrRkZyQyxXQUFVO1VBQ1YsWUFBVztVQUNYLGlDQUF3QjtjQUF4Qiw2QkFBd0I7a0JBQXhCLHlCQUF3QjtVQUN4QixvQi9GRHFDO1UrRkVyQyxpQi9GRnFDLEVBQUE7UStGeEZ6RDtVQThGa0Isc0IvRk51QztVK0ZPdkMsYUFBWTtVQUNaLG1CQUFrQjtVQUNsQixZQUFXO1VBQ1gsb0IvRlZ1QztVK0ZXdkMsa0IvRlh1QztVK0ZZdkMsNERBQXFEO2tCQUFyRCxvREFBcUQsRUFBQTtVQXBHdkU7WXZHR0UscUNBQXFDO1lBQ3JDLGdCdUdtRzZDO1lBQ3pCLGUvRmhCbUM7WStGaUJuQyx5QkFBeUI7WUFDekIsY0FBYTtZQUNiLG9DQUFtQztZQUNuQyxVQUFTO1lBQ1QsZUFBYyxFQUFBO1lBN0dwQztjQStHd0IscUJBQW9CLEVBQUE7UUEvRzVDO1VBc0hzQiwrQkFBc0I7Y0FBdEIsMkJBQXNCO2tCQUF0Qix1QkFBc0IsRUFBQTtRQXRINUM7VUE4SGtCLGNBQWE7VXZHM0g3QixxQ0FBcUM7VUFDckMsZ0J1RzJIeUMsRUFBQTtRQS9IM0M7VUFrSWtCLGVBQWMsRUFBQTtVQWxJaEM7WUFxSXNCLGNBQWEsRUFBQTtRQXJJbkM7VUE0SWtCLGVBQWMsRUFBQTtNQTVJaEM7UUFvSlEsb0JBQVk7UUFBWixxQkFBWTtRQUFaLG9CQUFZO1FBQVosYUFBWSxFQUFBOztBQ3BKcEI7RUFDRSxlQUFjO0VBQ2QsTUFBSztFQUNMLE9BQU07RUFDTixRQUFPO0VBQ1AsWUFBVztFQUNYLGdCQUFlLEVBQUE7RUFOakI7SUFTSSxvQkFBWTtJQUFaLHFCQUFZO0lBQVosb0JBQVk7SUFBWixhQUFZO0lBQ1oseUJBQTZCO0lBQTdCLHNDQUE2QjtRQUE3QixzQkFBNkI7WUFBN0IsOEJBQTZCO0lBQzdCLHlCQUFrQjtJQUFsQiwyQkFBa0I7UUFBbEIsc0JBQWtCO1lBQWxCLG1CQUFrQjtJQUNsQiw0QmhHNEVxRDtJZ0czRXJELDREQUFxRDtZQUFyRCxvREFBcUQsRUFBQTtJQWJ6RDtNQWdCUSxtQkFBa0IsRUFBQTtNQWhCMUI7UUFrQlUsWWhHc0UrQztRZ0dyRS9DLFlBQVcsRUFBQTtFQW5CckI7SUF5QkksYUFBWTtJQUNaLHdDaEc4RHFEO0lnRzdEckQsZ0JBQWUsRUFBQTtJQTNCbkI7TUE2Qk0sc0JoRzJEbUQsRUFBQTtNZ0d4RnpEO1FBK0JRLFdBQVcsRUFBQTtRQS9CbkI7VUFpQ1UsbUJBQWtCLEVBQUE7VUFqQzVCO1lBb0NZLFdBQVU7WUFDVixzQmhHbUQ2QyxFQUFBO01nR3hGekQ7UUEyQ1UsT0FBTTtRQUNOLFdBQVUsRUFBQTtJQTVDcEI7TUFpRE0sb0JBQVk7TUFBWixxQkFBWTtNQUFaLG9CQUFZO01BQVosYUFBWTtNQUNaLHFCQUF3QjtNQUF4QixpQ0FBd0I7VUFBeEIsa0JBQXdCO2NBQXhCLHlCQUF3QjtNQUN4QixzQmhHcUNtRCxFQUFBO01nR3hGekQ7UUFxRFEsY0FBYTtReEdsRG5CLHFDQUFxQztRQUNyQyxnQndHa0QrQjtRQUN6QixlaEdpQ2lEO1FnR2hDakQseUJBQXlCO1FBQ3pCLHlCQUF3QixFQUFBO1FBekRoQztVQTJEVSxxQkFBb0IsRUFBQTtJQTNEOUI7TUFpRVEsZ0JBQWU7TUFDZixZQUFXLEVBQUE7TUFsRW5CO1FBb0VVLG1CQUFrQjtRQUNsQix3QmhHbUIrQyxFQUFBO1FnR3hGekQ7VUF3RVksV0FBVTtVeEdyRXBCLHFDQUFxQztVQUNyQyxnQndHcUVtQztVQUN6QixrQmhHYzZDO1VnR2I3QyxvQmhHYTZDO1VnR1o3QyxZQUFXO1VBQ1gscUJBQW9CO1VBQ3BCLDBCaEdVNkM7VWdHVDdDLHVCaEdTNkMsRUFBQTtVZ0d4RnpEO1lBbUZjLHFCQUFvQixFQUFBO1VBbkZsQztZQXNGYyxvQmhHRTJDO1lnR0QzQyxnQkFBZ0I7WUFDaEIsa0NBQWtDO1lBQ2xDLFdBQVU7WUFDVixnQkFBZTtZQUNmLGNoR0gyQztZZ0dJM0MsZ0JoR0oyQztZZ0dLM0MsZWhHTDJDO1lnR00zQyxnQmhHTjJDO1lnR08zQyxtQkFBa0I7WUFDbEIsZ0JBQWU7WUFDZixzQkFBcUI7WUFDckIsb0JBQVk7WUFBWixxQkFBWTtZQUFaLG9CQUFZO1lBQVosYUFBWTtZQUNaLHlCQUFtQjtZQUFuQiwyQkFBbUI7Z0JBQW5CLHNCQUFtQjtvQkFBbkIsbUJBQW1CO1lBQ25CLHdCQUF1QjtZQUF2QiwrQkFBdUI7Z0JBQXZCLHFCQUF1QjtvQkFBdkIsdUJBQXVCO1lBQ3ZCLGlDQUF3QjtnQkFBeEIsNkJBQXdCO29CQUF4Qix5QkFBd0IsRUFBQTtRQXJHdEM7VUF5R1ksWUFBWTtVQUNaLG1CQUFtQjtVQUNuQiw4QmhHZEM7VWdHZUQsb0NoR3BCNkMsRUFBQTtVZ0d4RnpEO1lBOEdjLGNBQWMsRUFBQTtZQTlHNUI7Y0FrSGtCLGFBQWEsRUFBQTtZQWxIL0I7Y0EwSGtCLGlCQUFpQixFQUFBO1lBMUhuQztjQWdJa0IsU0FBUSxFQUFBO2NBaEkxQjtnQkFrSW9CLHVCaEcxQ3FDO2dCZ0cyQ3JDLGVBQWMsRUFBQTtnQkFuSWxDO2tCQXFJc0IseUJBQXlCO2tCeEdsSTdDLHFDQUFxQztrQkFDckMsZ0J3R2tJNkM7a0JBQ3pCLGNBQWE7a0JBQ2Isb0JoR2hEbUM7a0JnR2lEbkMsVUFBUztrQkFDVCxxQkFBb0I7a0JBQ3BCLHNCaEduRG1DO2tCZ0dvRG5DLG1CQUFrQixFQUFBO2dCQTVJeEM7a0JBK0lzQixTQUFRLEVBQUE7a0JBL0k5QjtvQkFpSndCLHVCaEd6RGlDO29CZ0cwRGpDLGVBQWMsRUFBQTtvQkFsSnRDO3NCeEdHRSxxQ0FBcUM7c0JBQ3JDLGdCd0dnSmlEO3NCQUN6QixjQUFhO3NCQUNiLG9CaEc5RCtCO3NCZ0crRC9CLG9DQUFtQztzQkFDbkMsVUFBUztzQkFDVCxlQUFjLEVBQUE7WUF6SnhDO2NBcUtzQix1QmhHN0VtQyxFQUFBO2NnR3hGekQ7Z0JBdUt3QixvQkFBb0I7Z0J4R3BLMUMscUNBQXFDO2dCQUNyQyxnQndHb0srQztnQkFDekIseUJBQXdCO2dCQUN4QixtQmhHbEZpQztnQmdHbUZqQyxvQ0FBbUM7Z0JBQ25DLFVBQVM7Z0JBQ1QsZUFBYyxFQUFBO2dCQTdLdEM7a0JBK0swQixnQ0FBK0IsRUFBQTtRQS9LekQ7VUEyTGMsb0NoRzlGRCxFQUFBO1VnRzdGYjtZQTZMZ0IsK0JBQXNCO2dCQUF0QiwyQkFBc0I7b0JBQXRCLHVCQUFzQixFQUFBO1FBN0x0QztVQW1NYyxtQkFBa0IsRUFBQTtVQW5NaEM7WUFzTWdCLG1CQUFrQixFQUFBO1FBdE1sQztVQStNd0IsY0FBYSxFQUFBO1FBL01yQztVQXFOOEIsZ0NBQStCLEVBQUE7UUFyTjdEO1VBa09jLG1CQUFrQixFQUFBO1VBbE9oQztZQXFPZ0IsbUJBQWtCLEVBQUE7UUFyT2xDO1VBOE93QixjQUFhLEVBQUE7UUE5T3JDO1VBb1A4QixnQ0FBK0IsRUFBQTtRQXBQN0Q7VUFpUWMsbUJBQWtCLEVBQUE7VUFqUWhDO1lBb1FnQixtQkFBa0IsRUFBQTtRQXBRbEM7VUE2UXdCLGNBQWEsRUFBQTtRQTdRckM7VUFtUjhCLGdDQUErQixFQUFBO0lBblI3RDtNQW9TVSxtQkFBa0I7TUFDbEIsdUJoRzdNK0M7TWdHOE0vQyxZQUFXO01BQ1gsd0JoRy9NK0MsRUFBQTtNZ0d4RnpEO1FBeVNZLFlBQVc7UXhHdFNyQixxQ0FBcUM7UUFDckMsZ0J3R3NTbUM7UUFDekIsZWhHbk42QztRZ0dvTjdDLHlCQUF5QjtRQUN6QixxQmhHck42QztRZ0dzTjdDLHFCQUFvQjtRQUNwQixjQUFhO1FBQ2IsNENoR3hONkM7UWdHeU43QyxXQUFVLEVBQUE7UUFqVHRCO1VBbVRjLG9CaEczTjJDO1VnRzROM0MsZ0JBQWdCO1VBQ2hCLGtDQUFrQztVQUNsQyxjQUFhO1VBQ2IsZ0JBQWU7VUFDZixTaEdoTzJDO1VnR2lPM0MsZ0JoR2pPMkM7VWdHa08zQyxlaEdsTzJDO1VnR21PM0MsZ0JoR25PMkM7VWdHb08zQyxtQkFBa0I7VUFDbEIsZ0JBQWU7VUFDZix5QkFBd0I7VUFDeEIsb0JBQVk7VUFBWixxQkFBWTtVQUFaLG9CQUFZO1VBQVosYUFBWTtVQUNaLHlCQUFtQjtVQUFuQiwyQkFBbUI7Y0FBbkIsc0JBQW1CO2tCQUFuQixtQkFBbUI7VUFDbkIsd0JBQXVCO1VBQXZCLCtCQUF1QjtjQUF2QixxQkFBdUI7a0JBQXZCLHVCQUF1QjtVQUN2QixpQ0FBd0I7Y0FBeEIsNkJBQXdCO2tCQUF4Qix5QkFBd0I7VUFDeEIsU0FBUSxFQUFBO01BblV0QjtRQXVVWSx1Q2hHL082QztRZ0dnUDdDLFNBQVEsRUFBQTtRQXhVcEI7VUEyVWdCLFlBQVc7VUFDWCxvQmhHL09IO1VSMUZYLHFDQUFxQztVQUNyQyxnQndHeVV1QztVQUN6QixvQmhHdFB5QztVZ0d1UHpDLGlCaEd2UHlDLEVBQUE7VWdHeEZ6RDtZQWlWa0IsYWhHelB1QztZZ0cwUHZDLGdCaEcxUHVDLEVBQUE7UWdHeEZ6RDtVQXNWZ0IsVUFBUyxFQUFBO01BdFZ6QjtRQTZWZ0IsK0JBQXNCO1lBQXRCLDJCQUFzQjtnQkFBdEIsdUJBQXNCLEVBQUE7TUE3VnRDO1FBbVdzQiwrQkFBc0I7WUFBdEIsMkJBQXNCO2dCQUF0Qix1QkFBc0IsRUFBQTtJQW5XNUM7TUE4V00sbUJBQWtCO01BQ2xCLDBDaEd2Um1EO01nR3dSbkQsd0NoR3hSbUQ7TWdHeVJuRCxrQkFBaUIsRUFBQTtNQWpYdkI7UUFvWFUscUJoR3ZSRyxFQUFBO1FnRzdGYjtVeEdHRSxxQ0FBcUM7VUFDckMsZ0J3R2tYbUM7VUFDekIsZWhHL1I2QztVZ0dnUzdDLG9CaEdoUzZDO1VnR2lTN0MseUJBQXlCO1VBQ3pCLFdBQVU7VUFDVixtQkFBa0I7VUFDbEIsd0JoR3BTNkM7VWdHcVM3QywyQkFBbUI7VUFBbkIsNEJBQW1CO1VBQW5CLDJCQUFtQjtVQUFuQixvQkFBbUI7VUFDbkIseUJBQW1CO1VBQW5CLDJCQUFtQjtjQUFuQixzQkFBbUI7a0JBQW5CLG1CQUFtQixFQUFBO1VBOVgvQjtZQWdZYyxnQkFBZ0I7WUFDaEIsa0NBQWlDO1lBQ2pDLGNBQWE7WUFDYixvQmhHM1MyQztZZ0c0UzNDLGdCQUFlO1lBQ2YscUJoRzdTMkMsRUFBQTtNZ0d4RnpEO1FBMllRLG9CaEduVGlELEVBQUE7UWdHeEZ6RDtVQTZZVSxvQkFBWTtVQUFaLHFCQUFZO1VBQVosb0JBQVk7VUFBWixhQUFZO1VBQ1oseUJBQW1CO1VBQW5CLDJCQUFtQjtjQUFuQixzQkFBbUI7a0JBQW5CLG1CQUFtQjtVQUNuQix5QkFBOEI7VUFBOUIsc0NBQThCO2NBQTlCLHNCQUE4QjtrQkFBOUIsOEJBQThCLEVBQUE7VUEvWXhDO1l4R0dFLHFDQUFxQztZQUNyQyxnQndHOFlxQztZQUN6QixlaEczVDJDO1lnRzRUM0MseUJBQXlCO1lBQ3pCLGNBQWE7WUFDYixtQkFBa0IsRUFBQTtVQXRaaEM7WUEyWmtCLFlBQVc7WUFDWCxrQ0FBaUM7WUFDakMsZ0JBQWdCO1lBQ2hCLG9CaEd0VXVDO1lnR3VVdkMsV0FBVTtZQUNWLFlBQVc7WUFDWCxpQ0FBd0I7Z0JBQXhCLDZCQUF3QjtvQkFBeEIseUJBQXdCO1lBQ3hCLG9CaEcxVXVDLEVBQUE7VWdHeEZ6RDtZQXNhZ0Isd0JoRzlVeUM7WWdHK1V6QyxhQUFZLEVBQUE7WUF2YTVCO2N4R0dFLHFDQUFxQztjQUNyQyxnQndHc2EyQztjQUN6QixlaEduVnFDO2NnR29WckMseUJBQXlCO2NBQ3pCLGNBQWE7Y0FDYixtQkFBa0IsRUFBQTs7QUFZdEM7RUFHTSxhQUFZO0VBQ1osZ0JBQWUsRUFBQTtFQUpyQjtJQVNjLGNoRzNXMkM7SWdHNFczQyxpQ0FBd0I7UUFBeEIsNkJBQXdCO1lBQXhCLHlCQUF3QjtJQUN4QixnQmhHN1cyQztJZ0c4VzNDLG1CQUFrQjtJQUNsQixZaEcvVzJDLEVBQUE7SWdHa1d6RDtNQWVnQixnQmhHalh5QztNZ0drWHpDLGlCaEdsWHlDO01nR21YekMsdUJBQWM7VUFBZCxtQkFBYztjQUFkLGVBQWM7TUFDZCx5QkFBd0I7TUFDeEIsbUJBQWtCO01BQ2xCLGdCQUFlO01BQ2YsTUFBSztNQUNMLE9BQU0sRUFBQTtJQXRCdEI7TUEwQmdCLGdDQUF1QjtVQUF2Qiw0QkFBdUI7Y0FBdkIsd0JBQXVCO01BQ3ZCLGdCaEc3WHlDLEVBQUE7RWdHa1d6RDtJQWtDUSxjQUFhLEVBQUE7O0FDNWRyQjtFQUNFLG1CQUFrQjtFQUNsQiw0QmpHc0Z1RCxFQUFBO0VQd0ZqRDtJd0doTFI7TUFJSSxvQmpHeUZTLEVBQUEsRWlHZ0VaO0VBN0pEO0lBT0ksb0JBQVk7SUFBWixxQkFBWTtJQUFaLG9CQUFZO0lBQVosYUFBWTtJQUNaLDRCQUFxQjtJQUFyQiw2QkFBcUI7SUFBckIsOEJBQXFCO1FBQXJCLDBCQUFxQjtZQUFyQixzQkFBcUIsRUFBQTtJeEd3S2pCO013R2hMUjtRQVVNLG9Cakc4RW1EO1FpRzdFbkQsY0FBYTtRQUNiLDhCQUFrQjtRQUFsQiw2QkFBa0I7UUFBbEIsMkJBQWtCO1lBQWxCLHVCQUFrQjtnQkFBbEIsbUJBQWtCO1FBQ2xCLHlCQUE4QjtRQUE5QixzQ0FBOEI7WUFBOUIsc0JBQThCO2dCQUE5Qiw4QkFBOEIsRUFBQSxFQStJakM7SUE1Skg7TUFnQk0sNEJBQU87TUFBUCxnQkFBTztVQUFQLGlCQUFPO2NBQVAsUUFBTyxFQUFBO014R2dLTDtRd0doTFI7VUFrQlEsY2pHc0VpRDtVaUdyRWpELHNCQUFjO2NBQWQsb0JBQWM7a0JBQWQsY0FBYyxFQUFBLEVBZ0NqQjtNQW5ETDtRQXNCUSw0QkFBTztRQUFQLGdCQUFPO1lBQVAsaUJBQU87Z0JBQVAsUUFBTyxFQUFBO01BdEJmO1FBeUJRLHFCakcrRGlELEVBQUE7UWlHeEZ6RDtVQTJCVSxtQkFBa0IsRUFBQTtVQTNCNUI7WUE2QlksV0FBVTtZQUNWLFlBQVcsRUFBQTtZeEdrSmY7Y3dHaExSO2dCQWlDZ0IsV0FBVztnQkFDWCxpQmpHc0R5QyxFQUFBLEVpR3BEOUM7TXhHNElIO1F3R2hMUjs7VUEwQ1UscUJqRzhDK0MsRUFBQSxFaUd0Q2xEO01BbERQOztRQTZDVSxjQUFhO1FBQ2IsbUJqRzBDK0M7UWlHekMvQyxTQUFRO1FBQ1Isc0JqR3dDK0MsRUFBQTtJaUd4RnpEO01BcURNLDRCQUFPO01BQVAsZ0JBQU87VUFBUCxpQkFBTztjQUFQLFFBQU8sRUFBQTtNeEcySEw7UXdHaExSO1VBdURRLDRCQUFPO1VBQVAsZ0JBQU87Y0FBUCxpQkFBTztrQkFBUCxRQUFPLEVBQUEsRUEyQ1Y7TUFsR0w7O1FBNERVLFNBQVE7UUFDUixvQkFBWTtRQUFaLHFCQUFZO1FBQVosb0JBQVk7UUFBWixhQUFZO1FBQ1osdUJBQWM7WUFBZCxtQkFBYztnQkFBZCxlQUFjLEVBQUE7UXhHa0hoQjtVd0doTFI7O1lBZ0VZLGNBQWEsRUFBQSxFQTJCaEI7UUEzRlQ7O1VBbUVZLGdCQUFlLEVBQUE7VUFuRTNCOztZQXFFYyxXQUFVO1l6R2xFdEIscUNBQXFDO1lBQ3JDLGdCeUdrRXFDO1lBQ3pCLG1CakdpQjJDO1lpR2hCM0MsbUJBQWtCLEVBQUE7WUF4RWhDOztjQTRFZ0IsWUFBVztjQUNYLG1CakdXeUMsRUFBQTtjUHdGakQ7Z0J3R2hMUjs7a0JBK0VrQixhQUFZLEVBQUEsRUFFZjtVQWpGZjs7WUFzRmtCLGFBQVksRUFBQTtNeEcwRnRCO1F3R2hMUjtVQStGVSxzQmpHRkcsRUFBQSxFaUdJTjtJQWpHUDtNQW9HTSw0QkFBTztNQUFQLGdCQUFPO1VBQVAsaUJBQU87Y0FBUCxRQUFPLEVBQUE7TXhHNEVMO1F3R2hMUjtVQXNHUSw0QkFBTztVQUFQLGdCQUFPO2NBQVAsaUJBQU87a0JBQVAsUUFBTyxFQUFBLEVBbUNWO01BeklMO1FBeUdRLHdCakdqQmlELEVBQUE7UWlHeEZ6RDtVQTJHVSxXQUFVO1V6R3hHbEIscUNBQXFDO1VBQ3JDLGdCeUd3R2lDO1VBQ3pCLG1CakdyQitDO1VpR3NCL0Msc0JqR3RCK0MsRUFBQTtRaUd4RnpEO1VBaUhVLG9CQUFZO1VBQVoscUJBQVk7VUFBWixvQkFBWTtVQUFaLGFBQVk7VUFDWixTQUFRO1VBQ1IsZ0JBQWdCLEVBQUE7VUFuSDFCO1lBc0hjLFdBQVU7WUFDVix1QmpHL0IyQztZaUdnQzNDLG1CakdoQzJDO1lpR2lDM0MsbUJBQWtCLEVBQUE7TUF6SGhDO1FBK0hRLHFCakd2Q2lELEVBQUE7UWlHeEZ6RDtVQWlJVSxrQkFBaUI7VUFDakIsV0FBVSxFQUFBO1VBbElwQjtZQW9JWSxxQkFBb0I7WUFDcEIsbUJBQWtCLEVBQUE7SUFySTlCO01BMklNLG9Cakc5Q08sRUFBQTtNUG1GTDtRd0doTFI7VUE2SVEsU0FBUSxFQUFBLEVBY1g7TUEzSkw7UUFnSlEsbUJqR3hEaUQ7UWlHeURqRCxzQmpHekRpRDtRaUcwRGpELFdBQVU7UXpHL0loQixxQ0FBcUM7UUFDckMsZ0J5RytJK0IsRUFBQTtRQW5KakM7VUFxSlUsV0FBVTtVQUNWLDZCQUE0QjtVQUM1QixtQmpHL0QrQztVaUdnRS9DLHNCakdoRStDLEVBQUE7O0FrR3hGekQsV0FBQTtBQUVBO0VBQ0ksa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCw4QkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLDJCQUEyQjtFQUMzQix5QkFBeUI7RUFFekIsc0JBQXNCO0VBQ3RCLHFCQUFxQjtFQUNyQixpQkFBaUI7RUFDakIsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQix3Q0FBd0MsRUFBQTs7QUFFNUM7RUFDSSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLGNBQWM7RUFDZCxTQUFTO0VBQ1QsVUFBVSxFQUFBO0VBTGQ7SUFRUSxhQUFhLEVBQUE7RUFSckI7SUFZUSxlQUFlO0lBQ2YsWUFBWSxFQUFBOztBQUdwQjs7RUFFSSx1Q0FBdUM7RUFFdkMsbUNBQW1DO0VBRW5DLCtCQUErQixFQUFBOztBQUduQztFQUNJLGtCQUFrQjtFQUNsQixPQUFPO0VBQ1AsTUFBTTtFQUNOLGNBQWM7RUFDZCxpQkFBaUI7RUFDakIsa0JBQWtCLEVBQUE7RUFOdEI7SUFVUSxXQUFXO0lBQ1gsY0FBYyxFQUFBO0VBWHRCO0lBZVEsV0FBVyxFQUFBO0VBR2Y7SUFDSSxrQkFBa0IsRUFBQTs7QUFHMUI7RUFDSSxXQUFXO0VBQ1gsWUFBWTtFQUNaLGVBQWU7RUFXZixhQUFhLEVBQUE7RTVHOHhRZjtJNEd2eVFNLFlBQVksRUFBQTtFQUxwQjtJQVFRLGNBQWMsRUFBQTtFQVJ0QjtJQVdRLGFBQWEsRUFBQTtFQVhyQjtJQWlCUSxvQkFBb0IsRUFBQTtFQUd4QjtJQUNJLGNBQWMsRUFBQTtFQUdsQjtJQUNJLGtCQUFrQixFQUFBO0VBR3RCO0lBQ0ksY0FBYztJQUNkLFlBQVk7SUFDWiw2QkFBNkIsRUFBQTs7QUFHckM7RUFDSSxhQUFhLEVBQUE7O0FDekRqQixXQUFBO0FBR0U7RUFDRSxnQkFBaUIsRUFBQTs7QUFJckIsVUFBQTtBQUVFO0VBQ0Usb0JBQW9CO0VBQ3BCLDhCQWhCb0M7RUFpQnBDLHlNQUFpTjtFQUNqTixtQkFBbUI7RUFDbkIsa0JBQWtCLEVBQUE7O0FBSXRCLFdBQUE7QUFFQTs7RUFFRSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLGVuR3NCdUQ7RW1HckJ2RCxjbkdxQnVEO0VtR3BCdkQsb0JuR29CdUQ7RW1HbkJ2RCxjQUFjO0VBQ2QsZUFBZTtFQUNmLHVCQUF1QjtFQUN2QixrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLHFDQUFxQztFQUNyQyxpQ0FBaUM7RUFDakMsNkJBQTZCO0VBQzdCLFVBQVU7RUFDVixZQUFZO0VBQ1osYUFBYTtFQUNiLGtCQUFpQixFQUFBO0VBbEJuQjs7O0lBb0JJLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsa0JBQWtCLEVBQUE7SUF0QnRCOzs7TUF3Qk0sVUFsRW9CLEVBQUE7RUEwQzFCOztJQTRCSSxhQXJFMkIsRUFBQTtFQXlDL0I7O0lBK0JJLG9CQW5GdUI7SUFvRnZCLGVBQWU7SUFDZixjQUFjO0lBQ2QsYUE3RXdCO0lBOEV4QixtQ0FBbUM7SUFDbkMsa0NBQWtDLEVBQUE7O0FBSXRDO0VBQ0UsZW5HZnVEO0VtR2dCdkQsV0FBVTtFQUNWLGtCQUFpQixFQUFBO0U3R2cxUWpCO0k2RzkwUUUsVUFBVTtJQUNWLFlBQVksRUFBQTtFQU5oQjtJQVNJLGdCQUFnQjtJQUNoQixzQkFBcUI7SUFDckIsbUJuR3pCcUQ7SW1HMEJyRCxrQkFBaUI7SUFDakIsY0FBYSxFQUFBO0k3RyswUWI7TTZHNzBRRSxZQXJHaUIsRUFBTzs7QUEwRzlCO0VBQ0UsZ0JuR25DdUQsRUFBQTtFVisyUXZEO0k2RzEwUUUsV0FBVztJQUNYLFdBQVcsRUFBQTtFQUpmO0lBT0ksZ0JBQWdCO0lBQ2hCLHNCQUFxQjtJQUNyQixtQm5HM0NxRDtJbUc0Q3JELGNBQWE7SUFDYixrQkFBaUIsRUFBQTtJN0cyMFFqQjtNNkd6MFFFLFlBeEhpQixFQUFPOztBQTZIOUIsU0FBQTtBQUVBO0VBQ0UsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0Usa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsU0FBUztFQUNULFdBQVcsRUFBQTtFQVJiO0lBVUksa0JBQWtCO0lBQ2xCLHFCQUFxQjtJQUNyQixZQUFZO0lBQ1osV0FBVztJQUNYLGFBQWE7SUFDYixVQUFVO0lBQ1YsZUFBZSxFQUFBO0lBaEJuQjtNQWtCTSxTQUFTO01BQ1QsdUJBQXVCO01BQ3ZCLGNBQWM7TUFDZCxZQUFZO01BQ1osV0FBVztNQUNYLGFBQWE7TUFDYixnQkFBZ0I7TUFDaEIsY0FBYztNQUNkLGtCQUFrQjtNQUNsQixZQUFZO01BQ1osZUFBZSxFQUFBO01BNUJyQjtRQThCUSxhQUFhLEVBQUE7UUE5QnJCO1VBZ0NVLFVBOUpnQixFQUFBO01BOEgxQjtRQW9DUSxrQkFBa0I7UUFDbEIsTUFBTTtRQUNOLE9BQU87UUFDUCxZQXhLYztRQXlLZCxXQUFXO1FBQ1gsWUFBWTtRQUNaLG9CQWxMbUI7UUFtTG5CLGNBM0tZO1FBNEtaLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsWUFuTGU7UUFvTGYsYUE1S3VCO1FBNkt2QixtQ0FBbUM7UUFDbkMsa0NBQWtDLEVBQUE7SUFqRDFDO01BcURNLFlBMUxpQjtNQTJMakIsYUFyTHNCLEVBQUE7O0EzQm5CNUI7RTRCQ0UsOEJBQXNCO1VBQXRCLHNCQUFzQjtFQUV0QixxQkFBcUI7RUFDckIsU0FBUztFQUNULGtCQUFrQjtFQUNsQixzQkFBc0IsRUFBQTtFQU54QjtJQ0NFLDhCQUFzQjtZQUF0QixzQkFBc0I7SUFFdEIsZUFBZTtJQUNmLGNBQWM7SUFFZCxZQUFZO0lBRVosc0JBQWlCO0tBQWpCLHFCQUFpQjtTQUFqQixpQkFBaUI7SUFDakIseUJBQXlCLEVBQUE7SURUM0I7TUNZSSxjQUFjO01BQ2QsaUJBQWlCO01BQ2pCLG1CQUFtQjtNQUVuQixnQkFBZ0I7TUFDaEIsdUJBQXVCO01BQ3ZCLG1CQUFtQixFQUFBO0lEbEJ2QjtNQ3NCSSw2QkFBNkI7TUFDN0IsWUFBWTtNQUNaLGNBQWMsRUFBQTtFRHhCbEI7SUMrQk0sa0JBQWtCO0lBQ2xCLGtCQUFrQixFQUFBO0VEaEN4QjtJRUNFLDhCQUFzQjtZQUF0QixzQkFBc0I7SUFFdEIsZUFBZTtJQUNmLGNBQWM7SUFFZCxnQkFBZ0I7SUFFaEIsc0JBQWlCO0tBQWpCLHFCQUFpQjtTQUFqQixpQkFBaUI7SUFDakIseUJBQXlCLEVBQUE7SUZUM0I7TUVZSSxlQUFlO01BQ2YsZ0JBQWdCO01BQ2hCLFVBQVUsRUFBQTtJRmRkO01Fa0JJLDZCQUE2QjtNQUM3QixZQUFZO01BQ1osY0FBYyxFQUFBO0VGcEJsQjtJRTBCSSw4QkFBc0I7WUFBdEIsc0JBQXNCO0lBQ3RCLFlBQVk7SUFDWixlQUFlO0lBQ2YsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixVQUFVO0lBQ1YsZUFBZTtJQUNmLFlBQVk7SUFDWixZQUFZO0lBQ1osc0JBQXNCO0lBQ3RCLHVCQUF1QjtJQUN2QixnQkFBZ0I7SUFDaEIsb0JBQW9CLEVBQUE7SUZ0Q3hCO01FeUNNLHdCQUF3QixFQUFBOztBQ3pDOUI7RUFDRSx1QkFBdUI7RUFFdkIsc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUVsQiw4QkFBc0I7VUFBdEIsc0JBQXNCO0VBRXRCLGNBQWM7RUFFZCxrQkFBa0I7RUFDbEIsZUFBZTtFQUVmLFdBQVc7RUFFWCxhQUFhLEVBQUE7O0FBR2Y7RUFDRSxjQUFjLEVBQUE7O0FBR2hCO0VBQ0UsZ0JBQWdCO0VBQ2hCLFNBQVM7RUFDVCxVQUFVLEVBQUE7O0FBR1o7RUFDRSxZQUFZO0VBRVosc0JBQWlCO0dBQWpCLHFCQUFpQjtPQUFqQixpQkFBaUI7RUFDakIseUJBQXlCLEVBQUE7O0FBRzNCO0VBQ0UsZUFBZSxFQUFBOztBQUdqQjtFQUNFLE9BQU8sRUFBQTs7QUFHVDtFQUNFLG1CQUFtQjtFQUNuQiw0QkFBNEI7RUFDNUIsNkJBQTZCLEVBQUE7O0FBRy9CO0VBQ0UsZ0JBQWdCO0VBQ2hCLHlCQUF5QjtFQUN6QiwwQkFBMEIsRUFBQTs7QUFHNUI7RUFDRSxjQUFjO0VBQ2QsWUFBWSxFQUFBO0VBRmQ7SUFLSSxZQUFZO0lBQ1osV0FBVztJQUNYLDhCQUFzQjtZQUF0QixzQkFBc0IsRUFBQTtJQVAxQjtNQVVNLHdCQUF3QixFQUFBO0VBVjlCO0lBZUksYUFBYSxFQUFBOztBSHhEakI7RUFDRSxTQUFTO0VBQ1QsU0FBUztFQUNULFVBQVU7RUFDVixjQUFjO0VBQ2QsZUFBZTtFQUNmLE9BQU87RUFDUCxNQUFNO0VBQ04sZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixZQUFZO0VBQ1osV0FBVztFQUNYLFVBQVU7RUFDVixXQUFXO0VBSVgsc0JBQXNCO0VBQ3RCLHdCQUF3QixFQUFBOztBQUcxQjtFQUNFLG9CQUFvQjtFQUNwQiw4QkFBOEI7RUFDOUIsd0NBQXdDO0VBQ3hDLGdDQUFnQztFQUNoQyxzQkFBc0I7RUFDdEIsMkJBQTJCO0VBQzNCLHFCQUFxQjtFQUNyQiw2QkFBNkI7RUFDN0IscUJBQXFCO0VBQ3JCLDhCQUE4QixFQUFBOztBSTdDaEM7RUNDRSxzQkFBc0I7RUFDdEIsc0JBQXNCO0VBQ3RCLGtCQUFrQixFQUFBO0VESHBCO0lDTUksV0FBVztJQUNYLGlCQUFpQixFQUFBO0VEUHJCO0lDV0ksZUFBZTtJQUNmLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixrQkFBa0IsRUFBQTtFRGhCdEI7SUNvQkksV0FBVyxFQUFBO0VEcEJmO0lDd0JJLFlBQVk7SUFFWixrQkFBa0I7SUFFbEIsUUFBUTtJQUNSLFVBQVU7SUFFVixXQUFXLEVBQUE7SUQvQmY7TUNrQ00sc0RBQXNEO01BQ3RELG1CQUFtQjtNQUNuQiwyQkFBMkI7TUFFM0IsU0FBUztNQUNULFNBQVM7TUFFVCxpQkFBaUI7TUFDakIsZ0JBQWdCO01BRWhCLGtCQUFrQjtNQUVsQixRQUFRO01BQ1IsUUFBUSxFQUFBOztBRC9DZDtFQ3VETSxXQUFXLEVBQUE7O0FEdkRqQjtFQzJETSxTQUFTO0VBQ1QsV0FBVyxFQUFBOztBRDVEakI7RUNtRUksc0JBQXNCO0VBQ3RCLGVBQWUsRUFBQTtFRHBFbkI7SUN1RU0sYUFBYSxFQUFBOztBRHZFbkI7RUNnRlEsc0RBQXNEO0VBQ3RELDJCQUEyQixFQUFBOztBRGpGbkM7RUVDRSx1QkFBdUI7RUFDdkIsc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQixrQkFBa0IsRUFBQTtFRlBwQjtJRVVJLG1CQUFtQixFQUFBO0VGVnZCO0lFY0ksZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLGVBQWU7SUFFZixrQkFBa0I7SUFDbEIsUUFBUTtJQU1SLFlBQVksRUFBQTtFRjNCaEI7SUUrQkkseUJBQXlCO0lBQ3pCLHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsOEJBQXNCO1lBQXRCLHNCQUFzQjtJQUV0QixxQkFBcUI7SUFDckIsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixVQUFVO0lBQ1Ysa0JBQWtCO0lBRWxCLGtCQUFrQjtJQUVsQixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLHVCQUF1QjtJQUN2QixzQkFBc0I7SUFDdEIsbUJBQW1CLEVBQUE7RUZoRHZCO0lFb0RJLGVBQWU7SUFFZixpQkFBaUI7SUFDakIsa0JBQWtCLEVBQUE7RUZ2RHRCO0lFMkRJLDZCQUE2QjtJQUM3QixZQUFZO0lBQ1osNEJBQTRCO0lBQzVCLDJCQUEyQjtJQUMzQiw4QkFBOEI7SUFFOUIsV0FBVztJQUNYLGVBQWU7SUFFZixjQUFjO0lBQ2QsaUJBQWlCO0lBRWpCLGNBQWM7SUFFZCxrQkFBa0I7SUFDbEIsT0FBTztJQUNQLE1BQU0sRUFBQTtJRjNFVjtNRThFTSx5QkFBeUI7TUFDekIsV0FBVztNQUNYLGFBQWEsRUFBQTs7QUZoRm5CO0VFd0ZNLGdCQUFnQjtFQUNoQixrQkFBa0IsRUFBQTs7QUZ6RnhCO0VFNkZNLGlCQUFpQjtFQUNqQixrQkFBa0IsRUFBQTs7QUY5RnhCO0VFa0dNLDJCQUEyQjtFQUMzQixrQkFBa0I7RUFDbEIseUJBQXlCO0VBQ3pCLDRCQUE0QjtFQUM1Qiw0QkFBNEI7RUFDNUIsK0JBQStCLEVBQUE7O0FGdkdyQztFRTJHTSxXQUFXO0VBQ1gsaUJBQWlCO0VBQ2pCLGtCQUFrQixFQUFBOztBRjdHeEI7RUVvSEksdUJBQXVCO0VBQ3ZCLFVBQVUsRUFBQTs7QUZySGQ7RUUySEksc0JBQXNCO0VBQ3RCLGVBQWUsRUFBQTs7QUY1SG5CO0VFZ0lJLGFBQWEsRUFBQTs7QUZoSWpCO0VBTU0seUJBQXlCO0VBQ3pCLDBCQUEwQixFQUFBOztBQVBoQztFQWFNLDRCQUE0QjtFQUM1Qiw2QkFBNkIsRUFBQTs7QUFkbkM7RUFvQk0sc0JBQXNCLEVBQUE7O0FBcEI1QjtFQTBCTSx1QkFBdUI7RUFDdkIsWUFBWTtFQUNaLFVBQVU7RUFDVix3QkFBZ0I7VUFBaEIsZ0JBQWdCO0VBQ2hCLDZCQUE2QixFQUFBOztBQTlCbkM7RUFtQ0ksaUJBQWlCO0VBQ2pCLGdCQUFnQixFQUFBOztBQXBDcEI7RUF5Q00saUJBQWlCLEVBQUE7RUF6Q3ZCO0lBNENRLGVBQWUsRUFBQTtFQTVDdkI7SUFnRFEsaUJBQWlCO0lBQ2pCLGlCQUFpQixFQUFBO0lBakR6QjtNQW9EVSxpQkFBaUI7TUFDakIsaUJBQWlCLEVBQUE7TUFyRDNCO1FBd0RZLGlCQUFpQjtRQUNqQixpQkFBaUIsRUFBQTtRQXpEN0I7VUE0RGMsaUJBQWlCO1VBQ2pCLGlCQUFpQixFQUFBO1VBN0QvQjtZQWdFZ0IsaUJBQWlCO1lBQ2pCLGlCQUFpQixFQUFBOztBQWpFakM7RUEyRUksVUFBVSxFQUFBOztBQTNFZDtFQStFSSxXQUFXLEVBQUE7O0FBL0VmO0VBbUZJLHNCQUFzQixFQUFBOztBQW5GMUI7RUF1RkkseUJBQXlCO0VBQ3pCLFlBQVksRUFBQTs7QUF4RmhCO0VBNEZJLGVBQWU7RUFDZixjQUFjO0VBQ2QsWUFBWSxFQUFBOztBRzNGaEI7RUNGRSx5QkFBMEU7RUFFMUUsc0JDR2lCO0VERmpCLGtCQ0dpQjtFRERqQixVQUFVO0VFR1Ysc0dBQWtHO0VBQWxHLHFFQUFrRztFQUNsRywyQkFBMkI7RUFDM0Isc0hBQXdKLEVBQUE7RUhSMUo7SUNRSSx5QkNGd0IsRUFBQTtFRk41QjtJQ1lJLFdBQVc7SUFDWCxpQkFBaUIsRUFBQTtFRGJyQjtJQ2lCSSxlQUFlO0lBQ2YsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixZQUFZO0lBQ1osa0JBQWtCLEVBQUE7RURyQnRCO0lDeUJJLFdBQVcsRUFBQTtFRHpCZjtJQzZCSSxzQkFBc0I7SUFFdEIsWUFBWTtJQUNaLDJCQzdCZTtJRDhCZiw0QkM3QmU7SUQ4QmYsK0JDOUJlO0lEZ0NmLFlBQVk7SUFFWixrQkFBa0I7SUFFbEIsUUFBUTtJQUNSLFVBQVU7SUFFVixXQUFXO0lFckNiLHdHQUFrRztJQUFsRyx1RUFBa0c7SUFDbEcsMkJBQTJCO0lBQzNCLHNIQUF3SixFQUFBO0lIUjFKO01DZ0RNLHNEQUFzRDtNQUN0RCxtQkFBbUI7TUFDbkIsMkJBQTJCO01BRTNCLFNBQVM7TUFDVCxTQUFTO01BRVQsaUJBQWlCO01BQ2pCLGdCQUFnQjtNQUVoQixrQkFBa0I7TUFFbEIsUUFBUTtNQUNSLFFBQVEsRUFBQTs7QUQ3RGQ7RUNxRU0sV0FBVyxFQUFBOztBRHJFakI7RUN5RU0sWUFBWTtFQUNaLDRCQ3ZFYTtFRHlFYixnQkFBZ0I7RUFDaEIsMkJDekVhO0VEMEViLDhCQzFFYTtFRDRFYixTQUFTO0VBQ1QsV0FBVyxFQUFBOztBRGpGakI7RUN3RkkseUJDbEZ3QixFQUFBO0VGTjVCO0lDMkZNLHVCQUF1QjtJQUV2QixZQUFZLEVBQUE7SUQ3RmxCO01DZ0dRLHNEQUFzRDtNQUN0RCwyQkFBMkIsRUFBQTs7QURqR25DO0VDd0dNLGdCQUFnQjtFQUNoQix5QkFBeUI7RUFDekIsMEJBQTBCO0VFcEc5Qix3R0FBa0c7RUFBbEcsbUVBQWtHO0VBQ2xHLDJCQUEyQjtFQUMzQixzSEFBd0osRUFBQTs7QUhSMUo7RUNrSE0sbUJBQW1CO0VBQ25CLDRCQUE0QjtFQUM1Qiw2QkFBNkI7RUU5R2pDLHNHQUFrRztFQUFsRyxxRUFBa0c7RUFDbEcsMkJBQTJCO0VBQzNCLHNIQUF3SixFQUFBOztBSFIxSjtFSUZFLHVCQUF1QjtFQUV2QixzQkZHaUI7RUVGakIsa0JGR2lCO0VFRGpCLFlBQVk7RUFFWixVQUFVO0VBRVYsbUJBQW1CO0VBQ25CLGtCQUFrQixFQUFBO0VKUnBCO0lJV0kseUJGTHdCLEVBQUE7RUZONUI7SUllSSxhQUFhLEVBQUE7RUpmakI7SUltQkkseUJBQXlCO0lBQ3pCLHNCRmpCZTtJRWtCZixrQkZqQmU7SUVtQmYscUJBQXFCO0lBQ3JCLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsVUFBVSxFQUFBO0VKMUJkO0lJOEJJLGVBQWU7SUFFZixpQkFBaUI7SUFDakIsa0JBQWtCLEVBQUE7RUpqQ3RCO0lJcUNJLDZCQUE2QjtJQUM3QixZQUFZO0lBQ1osMkJGbkNlO0lFb0NmLDhCRnBDZTtJRXNDZixXRjdDZTtJRThDZixlQUFlO0lBRWYsY0FBYztJQUNkLGlCQUFpQjtJQUVqQixjQUFjLEVBQUE7SUpoRGxCO01JbURNLFdGckRtQjtNRXNEbkIsYUFBYSxFQUFBOztBSnBEbkI7RUk0RE0sZ0JBQWdCO0VBQ2hCLGtCQUFrQixFQUFBOztBSjdEeEI7RUlpRU0saUJBQWlCO0VBQ2pCLGtCQUFrQixFQUFBOztBSmxFeEI7RUlzRU0seUJBQXlCO0VBQ3pCLDRCQUE0QjtFQUM1Qiw0QkZwRWE7RUVxRWIsK0JGckVhLEVBQUE7O0FGSm5CO0VJZ0ZJLHlCRjFFd0IsRUFBQTs7QUZONUI7RUlxRk0sZ0JBQWdCO0VBQ2hCLHlCQUF5QjtFQUN6QiwwQkFBMEIsRUFBQTs7QUp2RmhDO0VJNkZNLG1CQUFtQjtFQUNuQiw0QkFBNEI7RUFDNUIsNkJBQTZCLEVBQUE7O0FKL0ZuQztFQU1NLHNCRUhhO0VGSWIsVUFBVSxFQUFBOztBQVBoQjtFQWFNLFVBQVU7RUFDVix3QkFBZ0I7VUFBaEIsZ0JBQWdCLEVBQUE7O0FBZHRCO0VBbUJJLHVCRVQwQjtFRlUxQiw2QkFBNkIsRUFBQTs7QUFwQmpDO0VBd0JJLG1CQUFtQixFQUFBOztBQXhCdkI7RUE0QkksZ0JBQWdCLEVBQUE7O0FBNUJwQjtFQWdDSSxpQkVSc0I7RUZTdEIsZ0JBQWdCLEVBQUE7O0FBakNwQjtFQXFDSSxVQUFVLEVBQUE7O0FBckNkO0VBeUNJLFdFWHVDLEVBQUE7O0FGOUIzQztFQTZDSSx5QkVsQm1DO0VGbUJuQyxZRWxCaUMsRUFBQTs7QUY1QnJDO0VBa0RJLGVBQWU7RUFDZixjQUFjO0VBQ2QsWUFBWSxFQUFBOztBQXBEaEI7RUF3REkscUJFbER3QixFQUFBOztBR1Q1QjtFQUNFLG1CaEh1RnVELEVBQUE7RVB3RmpEO0l1SGhMUjtNQUdJLG9CaEhxRnFELEVBQUEsRWdIZ0h4RDtFdkh4Qk87SXVIaExSO01BT00sb0JoSGlGbUQ7TWdIaEZuRCxjQUFhO01BQ2Isb0JBQVk7TUFBWixxQkFBWTtNQUFaLG9CQUFZO01BQVosYUFBWTtNQUNaLHlCQUE4QjtNQUE5QixzQ0FBOEI7VUFBOUIsc0JBQThCO2NBQTlCLDhCQUE4QixFQUFBLEVBNkxqQztFdkh2Qks7SXVIaExSO01BY1EsZWhIMEVpRDtNZ0h6RWpELHNCaEh5RWlEO01nSHhFakQsc0JBQWE7VUFBYixvQkFBYTtjQUFiLGNBQWE7TUFDYix1QmhINEVLLEVBQUEsRWdIOEVSO0VBM0tMO0lBcUJVLG9CQUFZO0lBQVoscUJBQVk7SUFBWixvQkFBWTtJQUFaLGFBQVk7SUFDWix5QkFBbUI7SUFBbkIsMkJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsbUJBQWtCO0lBQ2xCLDJDaEhnRStDLEVBQUE7SVB3RmpEO011SGhMUjtRQTBCWSxzQmhIOEQ2QztRZ0g3RDdDLHVCaEg2RDZDO1FnSDVEN0Msd0JoSDRENkM7UWdIM0Q3QyxnQkFBZSxFQUFBLEVBY2xCO0lBM0NUO01BZ0NZLFdBQVUsRUFBQTtJQWhDdEI7TUFvQ2MsY25IOENDO01tSDdDRCwwQkFBMEIsRUFBQTtFQXJDeEM7SUE2Q1Usa0JBQWlCO0lBQ2pCLFVBQVM7SUFDVCxvQmhIeUMrQyxFQUFBO0lQd0ZqRDtNdUhoTFI7UUFpRFksc0JoSHVDNkM7UWdIdEM3QyxnQkFBZTtRQUNmLHdCaEhxQzZDLEVBQUEsRWdIc0JoRDtJQTlHVDtNQXNEWSxlaEhrQzZDO01nSGpDN0MsV0FBVTtNQUNWLG9CQUFpQjtTQUFqQixpQkFBaUI7TUFDakIsa0JBQWlCO01BQ2pCLFFBQU87TUFDUCxVQUFTLEVBQUE7TXZIcUhiO1F1SGhMUjtVQTZEYyxzQmhIMkIyQyxFQUFBLEVnSHpCOUM7SUEvRFg7TUFpRVksa0JBQWlCO01BQ2pCLFloSHNCNkM7TWdIckI3QyxPQUFNO01BQ04sUUFBTztNQUNQLG1CQUFrQjtNQUNsQixVQUFTO01BQ1QsMkNoSGlCNkMsRUFBQTtNUHdGakQ7UXVIaExSO1VBMEVjLFNBQVE7VUFDUixTQUFRO1VBQ1IsOENoSFkyQztVZ0hYM0Msb0JBQVk7VUFBWixxQkFBWTtVQUFaLG9CQUFZO1VBQVosYUFBWTtVQUNaLHlCQUE4QjtVQUE5QixzQ0FBOEI7Y0FBOUIsc0JBQThCO2tCQUE5Qiw4QkFBOEIsRUFBQSxFQStCakM7TUE3R1g7UUFpRmMsZWhITzJDO1FnSE4zQyxzQkFBYTtZQUFiLG9CQUFhO2dCQUFiLGNBQWEsRUFBQTtRQWxGM0I7VUF1RmdCLFdBQVUsRUFBQTtNQXZGMUI7UUE0RmdCLFdBQVUsRUFBQTtNQTVGMUI7UUFnR2Msc0JoSEhELEVBQUE7UWdIN0ZiO1VBcUdnQixrQkFBaUI7VUFDakIsV0FBVSxFQUFBO1VBdEcxQjtZQXdHa0IsZ0JBQWU7WUFDZixjQUFhLEVBQUE7RUF6Ry9CO0lBbUhRLGNoSDNCaUQ7SWdINEJqRCxlaEg1QmlEO0lnSDZCakQsV0FBVTtJQUNWLG9CQUFZO0lBQVoscUJBQVk7SUFBWixvQkFBWTtJQUFaLGFBQVk7SUFDWiw4QkFBa0I7SUFBbEIsNkJBQWtCO0lBQWxCLDJCQUFrQjtRQUFsQix1QkFBa0I7WUFBbEIsbUJBQWtCO0lBQ2xCLHdCQUF1QjtJQUF2QiwrQkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QixFQUFBO0l2SHdEdkI7TXVIaExSO1FBMEhVLFlBQVc7UUFDWCxRQUFPO1FBQ1AsNEJBQXFCO1FBQXJCLDZCQUFxQjtRQUFyQiw4QkFBcUI7WUFBckIsMEJBQXFCO2dCQUFyQixzQkFBcUI7UUFDckIsY2hIckMrQztRZ0hzQy9DLG1DQUEwQjtZQUExQiwrQkFBMEI7Z0JBQTFCLDJCQUEwQixFQUFBLEVBNEM3QjtJQTFLUDtNQWlJVSxjQUFhO01BQ2IsYWhIMUMrQztNZ0gyQy9DLFdBQVU7TUFDVixtQmhINUMrQyxFQUFBO01Qd0ZqRDtRdUhoTFI7VUFzSVksY2hIOUM2QztVZ0grQzdDLFVBQVM7VUFDVCxrQmhIM0NDLEVBQUEsRWdINEVKO01BektUO1FBMklZLGFBQVksRUFBQTtNQTNJeEI7UUE4SVksYWhIdEQ2QztRZ0h1RDdDLFdBQVUsRUFBQTtRdkhpQ2Q7VXVIaExSO1lBaUpjLGNoSHpEMkM7WWdIMEQzQyxVQUFTLEVBQUEsRUFlWjtRQWpLWDtVQXFKYyxXQUFVO1VBQ1YsYWhIOUQyQztVZ0grRDNDLFdBQVU7VUFDVixZQUFXO1VBQ1gsa0JBQWlCO1VBQ2pCLG9DQUFnQztVQUNoQyxVQUFTLEVBQUE7VXZIcUJmO1l1SGhMUjtjQTZKZ0IsY2hIckV5QztjZ0hzRXpDLFVBQVMsRUFBQSxFQUVaO01BaEtiO1FBcUtnQixpQkFBOEIsRUFBQTtFQXJLOUM7SUE2S00sa0JoSHJGbUQsRUFBQTtJZ0h4RnpEO014SEdFLHFDQUFxQztNQUNyQyxnQndIK0tpQztNQUN6QixpQmhINUYrQztNZ0g2Ri9DLHNCaEg3RitDO01nSDhGL0MsY0FBYSxFQUFBO012SE5mO1F1SGhMUjtVQXdMWSxpQmhIaEc2QztVZ0hpRzdDLHNCaEhqRzZDLEVBQUEsRWdIbUdoRDtJQTNMVDtNQTZMVSxjQUFhLEVBQUE7SUE3THZCO01BZ01VLG9CaEhuR0csRUFBQTtNUG1GTDtRdUhoTFI7VUFrTVksMEJoSHJHQyxFQUFBLEVnSHVHSjs7QUNwTVQ7RUFDRSx1QmpIdUZ1RCxFQUFBO0VQd0ZqRDtJd0hoTFI7TUFHSSxnQmpIcUZxRDtNaUhwRnJELG1CakhvRnFELEVBQUEsRWlIcEJ4RDtFQXBFRDtJQU9JLG1CakhpRnFELEVBQUE7SVB3RmpEO013SGhMUjtRQVNNLG9CakgrRW1EO1FpSDlFbkQsY0FBYyxFQUFBLEVBeURqQjtJeEg2R0s7TXdIaExSO1FBZVEsb0JBQVk7UUFBWixxQkFBWTtRQUFaLG9CQUFZO1FBQVosYUFBWTtRQUNaLHVDakh3RWlELEVBQUEsRWlIdkNwRDtJQWpETDtNQW1CUSxtQmpIcUVpRDtNaUhwRWpELHNCakh5RUssRUFBQTtNUG1GTDtRd0hoTFI7VUFzQlUsWUFBWTtVQUNaLGtCakhpRStDO1VpSGhFL0Msc0JBQWE7Y0FBYixvQkFBYTtrQkFBYixjQUFhO1VBQ2IsaUJqSCtEK0MsRUFBQSxFaUh4Q2xEO01BaERQO1FBNEJVLGdCakg0RCtDLEVBQUE7UVB3RmpEO1V3SGhMUjtZQThCWSxpQmpIMEQ2QyxFQUFBLEVpSHhEaEQ7TXhIZ0pEO1F3SGhMUjtVQXFDZ0IsdUJqSG1EeUMsRUFBQSxFaUhqRDVDO01BdkNiO1FBeUNjLFlqSCtDMkMsRUFBQTtRUHdGakQ7VXdIaExSO1lBMkNnQixTQUFRLEVBQUEsRUFFWDtJeEhtSUw7TXdIaExSO1FBb0RRLGdCakhvQ2lEO1FpSG5DakQsY0FBYyxFQUFBLEVBYWpCO0lBbEVMO01Bd0RRLHFCakhnQ2lELEVBQUE7TVB3RmpEO1F3SGhMUjtVQTBEVSxrQkFBaUIsRUFBQSxFQU1wQjtNQWhFUDtRQTZEVSxjQUFhO1FBQ2IscUJqSDBCK0MsRUFBQTs7QWtIeEZ6RDtFQUNFLDBCbEh1RnVEO0VrSHRGdkQsbUJBQWtCLEVBQUE7RXpIOEtaO0l5SGhMUjtNQUlJLGdDbEh5RlMsRUFBQSxFa0hYWjtFekg4Rk87SXlIaExSO01BUU0sb0JsSGdGbUQ7TWtIL0VuRCxjQUFjLEVBQUEsRUF3RWpCO0VBakZIO0lBWU0sa0JBQWtCO0lBQ2xCLHNCbEgyRW1ELEVBQUE7SWtIeEZ6RDtNQWVRLGNBQWEsRUFBQTtFekhpS2I7SXlIaExSO01Bb0JRLG9CQUFhO01BQWIscUJBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFDYixtQmxIbUVpRCxFQUFBLEVrSFJwRDtFQWhGTDtJQXdCUSxjQUFhO0lBQ2IsWUFBVztJQUNYLHNCbEhtRUssRUFBQTtJUG1GTDtNeUhoTFI7UUE0QlUsaUJsSDREK0M7UWtIM0QvQyxrQmxIMkQrQyxFQUFBLEVrSFRsRDtJQS9FUDtNQWdDVSxrQmxId0QrQztNa0h2RC9DLFNBQVEsRUFBQTtNekgrSVY7UXlIaExSO1VBbUNZLGtCbEhxRDZDLEVBQUEsRWtIbkRoRDtJQXJDVDtNQXlDWSwyQmxIK0M2QyxFQUFBO01Qd0ZqRDtReUhoTFI7VUEyQ2MsNkNsSDZDMkMsRUFBQSxFa0h4QzlDO01BaERYO1FBOENjLHdCbEgwQzJDLEVBQUE7SWtIeEZ6RDtNQW1EVSxnRUFBa0U7Y0FBbEUsd0RBQWtFLEVBQUE7SUFuRDVFO01Bc0RVLGFsSGtDK0MsRUFBQTtNUHdGakQ7UXlIaExSO1VBd0RZLFlBQVcsRUFBQSxFQXNCZDtNQTlFVDtRQTJEWSxhbEg2QjZDO1FrSDVCN0MsU0FBUSxFQUFBO1F6SG9IWjtVeUhoTFI7WUE4RGMsWUFBVyxFQUFBLEVBRWQ7TUFoRVg7UUFvRWdCLFNBQVE7UUFDUixnQmxIbUJ5QztRa0hsQnpDLGlCbEhrQnlDO1FrSGpCekMsNEJBQStCLEVBQUE7UXpIeUd2QztVeUhoTFI7WUF5RWtCLGlCbEhldUMsRUFBQSxFa0hiMUM7O0FDM0VmO0VBRUksa0JBQWlCLEVBQUE7RTFIOEtiO0kwSGhMUjtNQUlNLDJCQUFnQztNQUNoQyxxQm5IbUZtRCxFQUFBLEVtSGhFdEQ7RUF4Qkg7SUFTTSxXQUFVO0lBQ1YsaUJBQXNCO0lBQ3RCLGtIQUFnRjtJQUFoRixzRkFBZ0Y7SUFDaEYsa0JBQWlCO0lBQ2pCLGFuSDJFbUQ7SW1IMUVuRCxPQUFNO0lBQ04sUUFBTztJQUNQLGlCbkh3RW1ELEVBQUE7SVB3RmpEO00wSGhMUjtRQWtCUSxvQ25IMkVLO1FtSDFFTCxrQm5IcUVpRDtRbUhwRWpELGtIQUFrRjtRQUFsRix3RkFBa0Y7UUFDbEYsTUFBSyxFQUFBLEVBRVI7O0FBdkJMO0VBMkJJLGtCbkg2RHFEO0VtSDVEckQsV0FBVTtFQUNWLG9CQUFpQjtLQUFqQixpQkFBaUIsRUFBQTtFMUhtSmI7STBIaExSO01BK0JNLGlCbkh5RG1EO01tSHhEbkQsb0NuSDZETyxFQUFBLEVtSDNEVjs7QUFsQ0g7RUFvQ0ksbUJBQWtCO0VBQ2xCLDBCbkhtRHFELEVBQUE7RVB3RmpEO0kwSGhMUjtNQXVDTSx5Qm5IaURtRDtNbUhoRG5ELG9CQUFZO01BQVoscUJBQVk7TUFBWixvQkFBWTtNQUFaLGFBQVk7TUFDWix5QkFBOEI7TUFBOUIsc0NBQThCO1VBQTlCLHNCQUE4QjtjQUE5Qiw4QkFBOEI7TUFDOUIsa0JBQWlCO01BQ2pCLG9Dbkg2Q21ELEVBQUEsRW1IcEJ0RDtFQXBFSDtJQThDTSxXQUFVO0lBQ1YsU0FBUTtJM0g1Q1oscUNBQXFDO0lBQ3JDLGdCMkg0QzZCO0lBQ3pCLGlCbkh1Q21EO0ltSHRDbkQsc0JuSHNDbUQsRUFBQTtJUHdGakQ7TTBIaExSO1FBb0RRLHFCbkhvQ2lEO1FtSG5DakQsbUJuSG1DaUQ7UW1IbENqRCxvQm5Ia0NpRCxFQUFBLEVtSGhDcEQ7RUF4REw7SUEwRE0sa0JBQWlCO0lBQ2pCLGdCbkg2Qm1EO0ltSDVCbkQsWW5INEJtRDtJbUgzQm5ELFVBQVMsRUFBQTtJMUhtSFA7TTBIaExSO1FBK0RRLFNBQVE7UUFDUixhbkh3QmlEO1FtSHZCakQsaUJuSHVCaUQsRUFBQSxFbUhyQnBEOztBQW5FTDtFQXNFSSwwQm5Ia0JxRCxFQUFBO0VQd0ZqRDtJMEhoTFI7TUF3RU0seUJuSHFCTyxFQUFBLEVtSG5CVjs7QUMxRUg7RUFDRSx3QnBIdUZ1RCxFQUFBO0VQd0ZqRDtJMkhoTFI7TUFHSSxjcEgwRlMsRUFBQSxFb0h4Q1o7RUFyREQ7SUFNSSxzQnBIdUZTLEVBQUE7SVBtRkw7TTJIaExSO1FBUU0sc0JwSHFGTyxFQUFBLEVvSGhGVjtJQWJIO01BV00sY0FBYSxFQUFBO0UzSHFLWDtJMkhoTFI7TUFnQk0sb0JBQWE7TUFBYixxQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYTtNQUNiLHVCQUFlO1VBQWYsbUJBQWU7Y0FBZixlQUFlO01BQ2Ysb0JwSHNFbUQsRUFBQSxFb0hwQ3REO0VBcERIO0lBcUJNLG1CQUFtQixFQUFBO0lBckJ6QjtNQXlCWSxXQUFVO01BQ1Ysa0JBQWlCO01BQ2pCLFFBQU87TUFDUCw4QkFBMEI7TUFDMUIsVUFBUyxFQUFBO0lBN0JyQjtNQWdDWSxnQkFBZ0I7TUFDaEIsa0NBQWlDO01BQ2pDLGNwSHNENkM7TW9IckQ3QyxlcEhxRDZDO01vSHBEN0MsbUJBQWtCO01BQ2xCLHNCQUFxQjtNQUNyQixXQUFVO01BQ1Ysa0JBQWlCO01BQ2pCLFNBQVE7TUFDUixRQUFPO01BQ1Asd0NBQThCO1VBQTlCLG9DQUE4QjtjQUE5QixnQ0FBOEI7TUFDOUIsb0JBQVk7TUFBWixxQkFBWTtNQUFaLG9CQUFZO01BQVosYUFBWTtNQUNaLHlCQUFtQjtNQUFuQiwyQkFBbUI7VUFBbkIsc0JBQW1CO2NBQW5CLG1CQUFtQjtNQUNuQix3QkFBdUI7TUFBdkIsK0JBQXVCO1VBQXZCLHFCQUF1QjtjQUF2Qix1QkFBdUI7TUFDdkIsVUFBUztNQUNULG1CcEh5QzZDLEVBQUE7O0FvSGpDekQ7RUFDRSxZcEhnQ3VEO0VvSC9CdkQsY0FBYTtFQUNiLHNCcEhtQ1csRUFBQTtFUG1GTDtJMkh6SFI7TUFLSSxzQkFBYTtVQUFiLG9CQUFhO2NBQWIsY0FBYTtNQUNiLGlCcEgyQnFEO01vSDFCckQsdUNwSDBCcUQsRUFBQSxFb0hJeEQ7RUFyQ0Q7SUFVSSx3QnBIdUJxRDtJb0h0QnJELGtCQUFpQjtJQUNqQixrQnBIcUJxRDtJb0hwQnJELHVCcEhvQnFEO0lvSG5CckQsZ0JBQWUsRUFBQTtJM0gyR1g7TTJIekhSO1FBZ0JNLGVwSGlCbUQsRUFBQSxFb0hQdEQ7SUExQkg7TUFtQk0sV0FBVTtNQUNWLGtCcEhhbUQ7TW9IWm5ELG9CQUFpQjtTQUFqQixpQkFBaUIsRUFBQTtNM0hvR2Y7UTJIekhSO1VBdUJRLGVwSFVpRCxFQUFBLEVvSFJwRDtFQXpCTDtJQTZCTSxjQUFhLEVBQUE7RUE3Qm5CO0k1SHBERSxxQ0FBcUM7SUFDckMsZ0I0SG9GK0IsRUFBQTs7QUFNakM7RUFDRSx1QnBIUHVEO0VvSFF2RCxVQUFTO0VBQ1QsNERBQXFEO1VBQXJELG9EQUFxRDtFQUNyRCxZQUFXO0VBQ1gsVUFBUztFQUNULFdBQVU7RUFDVix3QkFBdUI7RUFDdkIsdUJBQTRCLEVBQUE7RTNIMEV0QjtJMkhsRlI7TUFVSSxZcEhoQnFEO01vSGlCckQsNEJwSGpCcUQsRUFBQSxFb0gwRnhEO0VBcEZEO0lBY0ksZ0JwSHBCcUQ7SW9IcUJyRCxjcEhyQnFEO0lvSHNCckQsZ0JwSHRCcUQ7SW9IdUJyRCxpQnBIdkJxRDtJb0h3QnJELG1CQUFrQjtJQUNsQix5QkFBd0I7SUFDeEIsZ0NBQXVCO1FBQXZCLDRCQUF1QjtZQUF2Qix3QkFBdUI7SUFDdkIsb0JBQVk7SUFBWixxQkFBWTtJQUFaLG9CQUFZO0lBQVosYUFBWTtJQUNaLHlCQUFtQjtJQUFuQiwyQkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7SUFBdkIsK0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUIsRUFBQTtJM0gyRG5CO00ySGxGUjtRQXlCTSxhcEgvQm1EO1FvSGdDbkQsV3BIaENtRDtRb0hpQ25ELGVwSGpDbUQ7UW9Ia0NuRCxnQnBIbENtRCxFQUFBLEVvSGlEdEQ7SUEzQ0g7TUErQk0sbUJwSHJDbUQ7TW9Ic0NuRCxnQkFBZSxFQUFBO00zSGtEYjtRMkhsRlI7VUFrQ1EsbUJwSHhDaUQsRUFBQSxFb0gwQ3BEO0lBcENMO01Bc0NNLG1CQUFrQixFQUFBO01BdEN4QjtRQXdDUSxXQUFVLEVBQUE7RTNIMENWO0kySGxGUjtNQStDUSxvQkFBYTtNQUFiLHFCQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhLEVBQUEsRUFtQ2hCO0UzSEFHO0kySGxGUjtNQW1EVSxXQUFXLEVBQUEsRUFtQmQ7RTNIWUM7STJIbEZSO01BdURZLFdBQVc7TUFDWCxvQ3BIekRDLEVBQUEsRW9IaUVKO0UzSGtCRDtJMkhsRlI7TUE0RGMsV0FBVztNQUNYLGtCcEhuRTJDLEVBQUEsRW9IcUU5QztFM0htQkg7STJIbEZSO01BbUVZLG1CcEh6RTZDLEVBQUEsRW9IMkVoRDtFQXJFVDtJQXdFUSxrQnBIOUVpRCxFQUFBO0lQd0ZqRDtNMkhsRlI7UUEwRVUsdUJwSGhGK0MsRUFBQSxFb0h1RmxEO0lBakZQO001SDNGRSxxQ0FBcUM7TUFDckMsZ0I0SHdLbUMsRUFBQTs7QUM1S3JDO0VBQ0Usd0JySHVGdUQsRUFBQTtFUHdGakQ7STRIaExSO01BR0ksY3JIMEZTLEVBQUEsRXFIaEJaO0VBN0VEO0lBTUksc0JySHVGUyxFQUFBO0lQbUZMO000SGhMUjtRQVFNLHNCckhxRk8sRUFBQSxFcUhoRlY7SUFiSDtNQVdNLGNBQWEsRUFBQTtFNUhxS1g7STRIaExSO01BZ0JNLG9CQUFhO01BQWIscUJBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFDYix1QkFBZTtVQUFmLG1CQUFlO2NBQWYsZUFBZTtNQUNmLG9CckhzRW1ELEVBQUEsRXFIWnREO0VBNUVIO0lBc0JNLHVCckh1RU87SXFIdEVQLG1CQUFrQjtJQUNsQix1QnJIZ0VtRDtJcUgvRG5ELGtCckgrRG1ELEVBQUE7SVB3RmpEO000SGhMUjtRQTJCUSxpQnJINkRpRDtRcUg1RGpELHVDckg0RGlELEVBQUEsRXFIYnBEO0lBM0VMO01BK0JRLGdDQUErQjtNQUMvQix3QnJId0RpRCxFQUFBO01xSHhGekQ7UUFrQ1UsY0FBYSxFQUFBO01BbEN2QjtRN0hHRSxxQ0FBcUM7UUFDckMsZ0I2SGtDbUM7UUFDekIsV0FBVSxFQUFBO0lBdkN0QjtNQTZDVSxzQnJIMkMrQyxFQUFBO0lxSHhGekQ7O01Ba0RZLFNBQVEsRUFBQTtNQWxEcEI7O1FBb0RjLGNBQWEsRUFBQTtRNUg0SG5CO1U0SGhMUjs7WUFzRGdCLGVBQWM7WUFDZCx1QnJIaUN5QyxFQUFBLEVxSC9CNUM7TUF6RGI7O1FBMkRjLGdDQUErQjtRQUMvQixXQUFVLEVBQUE7UUE1RHhCOztVQThEZ0IsY0FBYSxFQUFBO01BOUQ3Qjs7UUFrRWMsc0JySHNCMkMsRUFBQTtJcUh4RnpEO01Bd0VVLHVCckhnQitDLEVBQUE7O0FzSHhGekQ7RUFDRSw0Q3RIdUZ1RDtFc0h0RnZELG1CQUFrQixFQUFBO0U3SDhLWjtJNkhoTFI7TUFJSSwwQnRIeUZTLEVBQUEsRXNIU1o7RTdIMEVPO0k2SGhMUjtNQVFNLG9CdEhnRm1EO01zSC9FbkQsY0FBYyxFQUFBLEVBNEZqQjtFQXJHSDtJQVlNLHVCdEg0RW1ELEVBQUE7SXNIeEZ6RDtNQWNRLGNBQWEsRUFBQTtFN0hrS2I7STZIaExSO01BbUJRLG9CQUFhO01BQWIscUJBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFDYixtQnRIb0VpRCxFQUFBLEVzSFlwRDtFQXBHTDtJQXVCUSxtQnRIaUVpRDtJc0hoRWpELHNCdEhxRUssRUFBQTtJUG1GTDtNNkhoTFI7UUEwQlUsWUFBWTtRQUNaLGtCdEg2RCtDO1FzSDVEL0MsdUJBQWU7WUFBZiw0QkFBZTtnQkFBZixlQUFlLEVBQUEsRUF1RWxCO0lBbkdQO01BK0JVLGdCdEh5RCtDLEVBQUE7TVB3RmpEO1E2SGhMUjtVQWlDWSxpQnRIdUQ2QyxFQUFBLEVzSHJEaEQ7STdINklEO002SGhMUjtRQXlDZ0IsdUJ0SCtDeUMsRUFBQSxFc0g3QzVDO0lBM0NiO01BNkNjLFl0SDJDMkMsRUFBQTtNUHdGakQ7UTZIaExSO1VBK0NnQixTQUFRLEVBQUEsRUFFWDtJQWpEYjtNQXVEWSxrQnRIaUM2QztNc0hoQzdDLHNCdEhxQ0MsRUFBQTtNUG1GTDtRNkhoTFI7VUEwRGMsaUJ0SDhCMkM7VXNIN0IzQyxrQnRINkIyQyxFQUFBLEVzSFVoRDtNQWxHVDtRQThEYyxrQnRIMEIyQyxFQUFBO1FQd0ZqRDtVNkhoTFI7WUFnRWdCLGlCdEh3QnlDLEVBQUEsRXNIdEI1QztNQWxFYjtRQXFFZ0IsU0FBUTtRQUNSLFNBQVEsRUFBQTtRQXRFeEI7VUF3RWtCLDBCdEhnQnVDLEVBQUE7VVB3RmpEO1k2SGhMUjtjQTBFb0IseUJ0SGNxQyxFQUFBLEVzSFF4QztVQWhHakI7WUE2RW9CLHVCdEhXcUMsRUFBQTtVc0h4RnpEO1lBZ0ZvQixTQUFRO1lBQ1IsZ0J0SE9xQztZc0hOckMsZXRITXFDLEVBQUE7WVB3RmpEO2M2SGhMUjtnQkFvRnNCLGdCdEhJbUM7Z0JzSEhuQyxjdEhHbUM7Z0JzSEZuQyxldEhFbUM7Z0JzSERuQyxnQnRIQ21DLEVBQUEsRXNIT3RDO1lBL0ZuQjtjQTBGc0IsbUJ0SEZtQyxFQUFBO2NQd0ZqRDtnQjZIaExSO2tCQTRGd0IsaUJ0SEppQyxFQUFBLEVzSE1wQzs7QUM5RnJCO0VBQ0UsNEN2SHVGdUQsRUFBQTtFUHdGakQ7SThIaExSO01BR0ksY3ZIMEZTLEVBQUEsRXVINUJaO0VBakVEO0lBTUksbUJBQWtCO0lBQ2xCLHVCdkhpRnFEO0l1SC9FckQsZ0JBQWUsRUFBQTtJOUh1S1g7TThIaExSO1FBV00sY0FBYTtRQUNiLG9Cdkg0RW1EO1F1SDNFbkQsdUJ2SDJFbUQsRUFBQSxFdUh4QnREO0k5SGdISztNOEhoTFI7UUFpQlEsb0JBQWE7UUFBYixxQkFBYTtRQUFiLG9CQUFhO1FBQWIsYUFBYTtRQUNiLHlCQUFtQjtRQUFuQiwyQkFBbUI7WUFBbkIsc0JBQW1CO2dCQUFuQixtQkFBbUIsRUFBQSxFQTZDdEI7SUEvREw7TUFxQlEsMEN2SG1FaUQsRUFBQTtNUHdGakQ7UThIaExSO1VBdUJVLGlCdkhpRStDLEVBQUEsRXVIL0NsRDtNQXpDUDtRQTBCVSxXQUFVLEVBQUE7UUExQnBCO1VBNEJZLFdBQVUsRUFBQTtNQTVCdEI7UUFnQ1UsZ0JBQWU7UUFDZixXQUFVO1FBQ1Ysa0JBQWlCO1FBQ2pCLHNCdkgwREcsRUFBQTtRdUg3RmI7VUFxQ1ksZ0JBQWU7VUFDZixjQUFhLEVBQUE7STlIMElqQjtNOEhoTFI7UUE0Q1UsZ0J2SDRDK0M7UXVIM0MvQyxxQnZIMkMrQztRdUgxQy9DLHNCQUFjO1lBQWQsb0JBQWM7Z0JBQWQsY0FBYztRQUNkLGtCQUFpQjtRQUNqQixZQUFXLEVBQUEsRUFjZDtJQTlEUDtNQW1EVSxXQUFVO01BQ1YsaUJ2SG9DK0M7TXVIbkMvQyx1QkFBb0I7U0FBcEIsb0JBQW9CO01BQ3BCLG9CQUFpQjtTQUFqQixpQkFBaUIsRUFBQTtNOUgwSG5CO1E4SGhMUjtVQXdEWSxrQkFBaUI7VUFDakIsUUFBTztVQUNQLFlBQVcsRUFBQSxFQUdkOztBQzdEVDtFQUNFLHlCeEh1RnVELEVBQUE7RVB3RmpEO0krSGhMUjtNQUdJLG1CeEgwRlMsRUFBQSxFd0hJWjtFL0grRU87SStIaExSO01BT00scUJ4SGlGbUQ7TXdIaEZuRCxjQUFjLEVBQUEsRUF3RmpCO0VBaEdIO0lBWVEsY0FBYTtJQUNiLHFCeEgyRWlELEVBQUE7RXdIeEZ6RDtJQWlCTSx1QnhIdUVtRCxFQUFBO0lQd0ZqRDtNK0hoTFI7UUFtQlEsc0J4SHFFaUQsRUFBQSxFd0hPcEQ7SUEvRkw7TUFzQlEsbUJBQW1CO01BQ25CLHVCeEhpRWlEO013SGhFakQsd0J4SGdFaUQ7TXdIL0RqRCxrQkFBaUI7TUFDakIsZ0R4SDhEaUQsRUFBQTtNd0h4RnpEO1FBNEJVLGtCQUFpQjtRQUNqQixPQUFNO1FBQ04sV3hIMEQrQztRd0h6RC9DLG1CQUFrQjtRQUNsQixpQnhId0QrQztRd0h2RC9DLHNDeEg0REc7UXdIM0RILG9CeEhzRCtDO1F3SHJEL0Msb0JBQVk7UUFBWixxQkFBWTtRQUFaLG9CQUFZO1FBQVosYUFBWTtRQUNaLHlCQUFtQjtRQUFuQiwyQkFBbUI7WUFBbkIsc0JBQW1CO2dCQUFuQixtQkFBbUI7UUFDbkIsV0FBVTtRaElsQ2xCLHFDQUFxQztRQUNyQyxnQmdJa0NpQztRQUN6QixleEhpRCtDLEVBQUE7UXdIeEZ6RDtVQXlDWSx1QnhIK0M2QyxFQUFBO013SHhGekQ7UUE4Q1ksd0J4SDBDNkMsRUFBQTtRd0h4RnpEO1VBZ0RjLGNBQWE7VUFDYixtQkFBa0IsRUFBQTtNQWpEaEM7UUFzRFUsb0JBQVk7UUFBWixxQkFBWTtRQUFaLG9CQUFZO1FBQVosYUFBWTtRQUNaLHlCQUFtQjtRQUFuQiwyQkFBbUI7WUFBbkIsc0JBQW1CO2dCQUFuQixtQkFBbUIsRUFBQTtRQXZEN0I7VUF5RFkseUJBQXdCO1VoSXREbEMscUNBQXFDO1VBQ3JDLGdCZ0lzRG1DO1VBQ3pCLGV4SDZCNkM7VXdINUI3Qyx3QnhINEI2QztVd0gzQjdDLGNBQWE7VUFDYixxQnhIMEI2QztVd0h6QjdDLG9DQUFtQyxFQUFBO1VBL0QvQztZQWtFYyxjQUFhO1lBQ2IscUJBQW9CLEVBQUE7UUFuRWxDO1VBd0VjLGlCeEhnQjJDO1V3SGYzQyxnQnhIZTJDO1V3SGQzQyxtQkFBa0I7VUFDbEIseUJBQXdCO1VBQ3hCLGNBQWE7VUFDYixvQkFBWTtVQUFaLHFCQUFZO1VBQVosb0JBQVk7VUFBWixhQUFZO1VBQ1oseUJBQW1CO1VBQW5CLDJCQUFtQjtjQUFuQixzQkFBbUI7a0JBQW5CLG1CQUFtQjtVQUNuQix3QkFBdUI7VUFBdkIsK0JBQXVCO2NBQXZCLHFCQUF1QjtrQkFBdkIsdUJBQXVCLEVBQUE7VUEvRXJDO1lBaUZnQixvQnhIT3lDLEVBQUE7TXdIeEZ6RDtRQXVGVSxvRUFBK0Q7Z0JBQS9ELDREQUErRCxFQUFBO1FBdkZ6RTtVQTBGYyxxQkFBb0IsRUFBQTs7QUMxRmxDO0VBQ0Usd0J6SHVGdUQsRUFBQTtFUHdGakQ7SWdJaExSO01BR0ksY3pIMEZTLEVBQUEsRXlIakRaO0VoSW9JTztJZ0loTFI7TUFPTSxvQkFBWTtNQUFaLHFCQUFZO01BQVosb0JBQVk7TUFBWixhQUFZO01BQ1oseUJBQW1CO01BQW5CLDJCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CLEVBQUEsRUFtQ3RCO0VBM0NIO0lBWVEsY0FBYTtJQUNiLHFCekhnRkssRUFBQTtFeUg3RmI7SUFpQk0sdUJ6SDRFTyxFQUFBO0lQbUZMO01nSWhMUjtRQW1CUSxpQnpIcUVpRDtReUhwRWpELHVCekh5RUs7UXlIeEVMLHNCQUFjO1lBQWQsb0JBQWM7Z0JBQWQsY0FBYyxFQUFBLEVBWWpCO0lBakNMO01Bd0JRLFdBQVU7TUFDVixhekgrRGlEO015SDlEakQsb0N6SG1FSztNeUhsRUwsb0JBQWlCO1NBQWpCLGlCQUFpQixFQUFBO01oSXFKakI7UWdJaExSO1VBNkJVLGlCekgyRCtDO1V5SDFEL0Msa0J6SDBEK0MsRUFBQSxFeUh4RGxEO0VBaENQO0lBbUNNLDhCQUEyQjtJQUEzQiw4QkFBMkI7SUFBM0IsbUNBQTJCO1FBQTNCLCtCQUEyQjtZQUEzQiwyQkFBMkIsRUFBQTtJaEk2SXpCO01nSWhMUjtRQXNDVSxzQnpIa0QrQztReUhqRC9DLGVBQWMsRUFBQSxFQUVqQjs7QUN6Q1A7RUFDRSxzQjFIdUZ1RCxFQUFBO0VQd0ZqRDtJaUloTFI7TUFHSSxjMUgwRlMsRUFBQSxFMEhQWjtFakkwRk87SWlJaExSO01BT00sb0JBQWE7TUFBYixxQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYSxFQUFBLEVBOEVoQjtFakkyRks7SWlJaExSO01BV1EsVUFBVTtNQUNWLHNCQUFjO1VBQWQsb0JBQWM7Y0FBZCxjQUFjLEVBQUEsRUFXakI7RUF2Qkw7SUFlUSxjQUFhO0lBQ2IsdUIxSHdFaUQsRUFBQTtFUHdGakQ7SWlJaExSO01Bb0JVLHFCMUhvRStDLEVBQUEsRTBIbEVsRDtFakkwSkM7SWlJaExSO01BMEJRLFVBQVU7TUFDVixzQkFBYztVQUFkLG9CQUFjO2NBQWQsY0FBYztNQUNkLHVCMUg0RGlELEVBQUEsRTBISnBEO0VBcEZMO0lBK0JRLFNBQVEsRUFBQTtJQS9CaEI7TUFpQ1UsZ0NBQStCO01BQy9CLHNDMUgyREc7TTBIMURILGtCQUFpQixFQUFBO01qSTZJbkI7UWlJaExSO1VBcUNZLG9DMUh3REMsRUFBQSxFMEhYSjtNQWxGVDtRQXdDWSw2QkFBNEIsRUFBQTtNQXhDeEM7UWxJR0UscUNBQXFDO1FBQ3JDLGdCa0l1Q21DO1FBQ3pCLG1CMUg0QzZDO1EwSDNDN0MsaUIxSDJDNkM7UTBIMUM3QyxXQUFVO1FBQ1Ysb0NBQW1DO1FBQ25DLHVCMUh3QzZDO1EwSHZDN0MsZUFBYztRQUNkLG1DQUEyQjtnQkFBM0IsMkJBQTJCO1FBQzNCLGtCQUFpQixFQUFBO01BbkQ3QjtRQXNEWSxrQkFBaUI7UUFDakIsUUFBTztRQUNQLFFBQU87UUFDUCxtQ0FBMEI7WUFBMUIsK0JBQTBCO2dCQUExQiwyQkFBMEI7UUFDMUIsZ0JBQWdCO1FBQ2hCLGtDQUFpQztRQUNqQyxnQjFINEI2QztRMEgzQjdDLGlCMUgyQjZDO1EwSDFCN0Msc0IxSDBCNkM7UTBIekI3QyxtQkFBa0I7UUFDbEIseUJBQXdCO1FBQ3hCLGtCQUFpQjtRQUNqQixvQjFIc0I2QztRMEhyQjdDLGdCQUFlO1FBQ2YsY0FBYTtRQUNiLGNBQWEsRUFBQTtRakkyR2pCO1VpSWhMUjtZQXVFYyxhQUFZLEVBQUEsRUFFZjtNQXpFWDtRQTRFYyxxQkFBb0IsRUFBQTtNQTVFbEM7UUErRWMscUJBQW9CLEVBQUE7O0FDL0VsQztFQUNFLHdCM0h1RnVELEVBQUE7RVB3RmpEO0lrSWhMUjtNQUdJLGMzSDBGUyxFQUFBLEUySE9aO0VBcEdEO0lBTUksa0JBQWlCLEVBQUE7SWxJMEtiO01rSWhMUjtRQVFNLDhCQUEyQjtRQUEzQiw4QkFBMkI7UUFBM0IsbUNBQTJCO1lBQTNCLCtCQUEyQjtnQkFBM0IsMkJBQTJCO1FBQzNCLHdCQUF1QjtRQUF2QiwrQkFBdUI7WUFBdkIscUJBQXVCO2dCQUF2Qix1QkFBdUIsRUFBQSxFQTBGMUI7SWxJNkVLO01rSWhMUjtRQWFRLHNCM0gyRWlEO1EySDFFakQsZUFBZSxFQUFBLEVBb0RsQjtJQWxFTDtNQWlCUSxvQjNIdUVpRCxFQUFBO01Qd0ZqRDtRa0loTFI7VUFtQlUsc0IzSHFFK0MsRUFBQSxFMkh2QmxEO01sSStHQztRa0loTFI7VUF1QlksaUIzSGlFNkM7VTJIaEU3QyxXQUFXO1VBQ1gsb0JBQWlCO2FBQWpCLGlCQUFpQjtVQUNqQixnQkFBZ0IsRUFBQSxFQUVuQjtNQTVCVDtRQStCWSwwQjNIeUQ2QyxFQUFBO1FQd0ZqRDtVa0loTFI7WUFpQ2Msb0JBQWE7WUFBYixxQkFBYTtZQUFiLG9CQUFhO1lBQWIsYUFBYTtZQUNiLHlCQUE4QjtZQUE5QixzQ0FBOEI7Z0JBQTlCLHNCQUE4QjtvQkFBOUIsOEJBQThCO1lBQzlCLHlCQUFtQjtZQUFuQiwyQkFBbUI7Z0JBQW5CLHNCQUFtQjtvQkFBbkIsbUJBQW1CO1lBQ25CLDRCM0hvRDJDLEVBQUEsRTJIL0I5QztRQXpEWDtVbklHRSxxQ0FBcUM7VUFDckMsZ0JtSW9DcUM7VUFDekIsa0IzSCtDMkM7VTJIOUMzQyxzQjNIOEMyQyxFQUFBO1VQd0ZqRDtZa0loTFI7Y0E0Q2dCLG1CM0g0Q3lDO2MySDNDekMsb0IzSDJDeUM7YzJIMUN6QyxVQUFVLEVBQUEsRUFFYjtRbElnSUw7VWtJaExSO1lBb0RrQixlQUFlO1luSWpEL0IscUNBQXFDO1lBQ3JDLGdCbUlpRHlDLEVBQUEsRUFFNUI7TUF2RGY7UUE0RFUsd0JBQWU7Z0JBQWYsZ0JBQWUsRUFBQTtRQTVEekI7VUE4RFksMkJBQWtCO2NBQWxCLHVCQUFrQjtrQkFBbEIsbUJBQWtCLEVBQUE7SUE5RDlCO01BcUVRLG1CQUFrQjtNQUNsQixvQzNIdUJLO00ySHRCTCwyQkFBbUI7TUFBbkIsNEJBQW1CO01BQW5CLDJCQUFtQjtNQUFuQixvQkFBbUI7TUFDbkIseUJBQW1CO01BQW5CLDJCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLHVCM0hvQks7TTJIbkJMLGlCM0hjaUQ7TVJyRnZELHFDQUFxQztNQUNyQyxnQm1JdUUrQjtNQUN6QixlM0hZaUQ7TTJIWGpELHlCQUF5QjtNQUN6Qix5QjNIVWlEO00ySFRqRCxjQUFhO01BQ2Isa0JBQWlCO01BQ2pCLFVBQVM7TUFDVCxhM0hNaUQsRUFBQTtNUHdGakQ7UWtJaExSO1VBb0ZVLGtCQUFpQjtVQUNqQixzQjNIUUc7VTJIUEgsTUFBSyxFQUFBLEVBV1I7TUFqR1A7UUF5RlUsV0FBVTtRQUNWLGtCQUFpQjtRQUNqQixhM0hIK0M7UTJISS9DLGEzSEorQztRMkhLL0MsTUFBSztRQUNMLFNBQVE7UUFDUixtQkFBa0IsRUFBQTs7QUMvRjVCO0VBQ0Usa0JBQWlCO0VBQ2pCLFVBQVM7RUFDVCx5QjVIcUZ1RCxFQUFBO0VQd0ZqRDtJbUloTFI7TUFLSSwrQjVId0ZTLEVBQUEsRTRIME1aO0VBdlNEO0lBUUksbUJBQWtCLEVBQUE7SUFSdEI7Ozs7TUFvQm9CLGdCQUFnQixFQUFBO0lBcEJwQztNQTRCWSxvQkFBWTtNQUFaLHFCQUFZO01BQVosb0JBQVk7TUFBWixhQUFZO01BQ1oscUJBQXdCO01BQXhCLGlDQUF3QjtVQUF4QixrQkFBd0I7Y0FBeEIseUJBQXdCLEVBQUE7RUE3QnBDO0lBb0NJLGtCQUFpQjtJQUNqQixVQUFTLEVBQUE7SW5JMklMO01tSWhMUjtRQXVDTSxvQjVIaURtRDtRNEhoRG5ELGNBQWMsRUFBQSxFQThQakI7SUF0U0g7TUE0Q1EsY0FBYTtNQUNiLHFCNUgyQ2lELEVBQUE7STRIeEZ6RDtNQW1EVSxnQkFBZTtNQUNmLFVBQVM7TUFDVCxZQUFXO01BQ1gsd0JBQWU7Y0FBZixnQkFBZTtNQUNmLHVCNUhpQytDLEVBQUE7SVB3RmpEO01tSWhMUjtRQThEZ0IsdUI1SDBCeUMsRUFBQSxFNEg4SzFDO0lBdFFmOztNcElHRSxxQ0FBcUM7TUFDckMsZ0JvSThEeUM7TUFDekIsZTVIcUJ1QztNNEhwQnZDLGNBQWEsRUFBQTtNQXBFL0I7O1E5SHdORSw2QkFBZ0M7UUFDaEMscUJBQXdCO1FBQ3hCLHNCQUF5QjtRQUN6QixxQkFBd0I7UUFDeEIsMkJBQThCO1FBQzlCLGlDQUFpQztRQUNqQyw4QkFBaUM7UUFDakMsb0JBQXVCLEVBQUE7TThIL056Qjs7UUEwRXNCLFlBQVc7UUFDWCxrQjVIYW1DLEVBQUE7STRIeEZ6RDs7OztNQW1Ga0IsZ0I1SEt1QztNNEhKdkMsd0I1SEl1QztNNEhIdkMsd0JBQWU7Y0FBZixnQkFBZTtNQUNmLG9CNUhFdUM7TVJyRnZELHFDQUFxQztNQUNyQyxnQm9JbUZ5QztNQUN6QixlNUhBdUM7TTRIQ3ZDLFlBQVc7TUFDWCxtQkFBa0IsRUFBQTtNbklzRjVCO1FtSWhMUjs7OztVQTRGb0IsZ0I1SEpxQztVNEhLckMsdUI1SExxQyxFQUFBLEU0SFd4QztNQW5HakI7Ozs7UUFnR29CLFVBQVM7UUFDVCxjQUFhLEVBQUE7TUFqR2pDOzs7O1FBZ0dvQixVQUFTO1FBQ1QsY0FBYSxFQUFBO01BakdqQzs7OztRQWdHb0IsVUFBUztRQUNULGNBQWEsRUFBQTtNQWpHakM7Ozs7UUFnR29CLFVBQVM7UUFDVCxjQUFhLEVBQUE7TUFqR2pDOzs7O1FBZ0dvQixVQUFTO1FBQ1QsY0FBYSxFQUFBO0lBakdqQztNQXFHa0IsZ0I1SGJ1QztNNEhjdkMsdUI1SGR1QztNNEhldkMsd0JBQWU7Y0FBZixnQkFBZTtNQUNmLG9CNUhoQnVDO01SckZ2RCxxQ0FBcUM7TUFDckMsZ0JvSXFHeUM7TUFDekIsbUI1SGxCdUM7TTRIbUJ2QyxzQkFBcUI7TUFDckIsK0JBQThCLEVBQUE7SUE1R2hEO01BK0drQixrQjVIdkJ1QztNNEh3QnZDLGU1SHhCdUM7TTRIeUJ2QyxZQUFXLEVBQUE7SUFqSDdCO01wSUdFLHFDQUFxQztNQUNyQyxnQm9JaUgyQztNQUN6QixtQjVIOUJxQztNNEgrQnJDLGNBQWEsRUFBQTtNQXZIakM7UUF5SHNCLGdCQUFnQjtRQUNoQixzQkFBcUI7UUFDckIsV0FBVTtRQUNWLHNCNUhwQ21DLEVBQUE7STRIeEZ6RDtNQWdJb0IsYUFBWSxFQUFBO0lBaEloQztNQW9Ja0Isb0I1SDVDdUMsRUFBQTtNNEh4RnpEO1FwSUdFLHFDQUFxQztRQUNyQyxnQm9Ja0kyQztRQUN6QixvQjVIL0NxQztRNEhnRHJDLHFCNUhoRHFDO1E0SGlEckMsY0FBYSxFQUFBO1FuSXVDekI7VW1JaExSO1lBMklzQixrQjVIbkRtQztZNEhvRG5DLG9CNUhwRG1DLEVBQUEsRTRIc0R0QztJQTlJbkI7TUFpSmtCLG9CNUh6RHVDLEVBQUE7SVB3RmpEO01tSWhMUjtRQXFKb0IsZ0JBQWdCLEVBQUEsRUFXbkI7SUFoS2pCO01BeUpzQix3QjVIakVtQyxFQUFBO01Qd0ZqRDtRbUloTFI7VUEySndCLGdCQUFlLEVBQUEsRUFFbEI7SUE3SnJCO01Ba0trQix1QjVIMUV1QyxFQUFBO000SHhGekQ7UUFxS3NCLGdCNUg3RW1DO1E0SDhFbkMsdUI1SDlFbUM7UTRIK0VuQyx3QkFBZTtnQkFBZixnQkFBZTtRQUNmLGdDNUhoRm1DO1FSckZ2RCxxQ0FBcUM7UUFDckMsZ0JvSXFLNkM7UUFDekIsbUI1SGxGbUM7UTRIbUZuQyxzQkFBcUIsRUFBQTtRQTNLM0M7VUE2S3dCLFVBQVM7VUFDVCxjQUFhLEVBQUE7UUE5S3JDO1VBNkt3QixVQUFTO1VBQ1QsY0FBYSxFQUFBO1FBOUtyQztVQTZLd0IsVUFBUztVQUNULGNBQWEsRUFBQTtRQTlLckM7VUE2S3dCLFVBQVM7VUFDVCxjQUFhLEVBQUE7UUE5S3JDO1VBNkt3QixVQUFTO1VBQ1QsY0FBYSxFQUFBO01BOUtyQztRcElHRSxxQ0FBcUM7UUFDckMsZ0JvSThLNkM7UUFDekIsZTVIM0ZtQztRNEg0Rm5DLGNBQWEsRUFBQTtRQXBMbkM7VUFzTHdCLGNBQWEsRUFBQTtNQXRMckM7UXBJR0UscUNBQXFDO1FBQ3JDLGdCb0l1TDJDO1FBQ3pCLGU1SHBHcUM7UTRIcUdyQyxjQUFjLEVBQUE7SW5JYjFCO01tSWhMUjtRQW1Nc0Isb0JBQVk7UUFBWixxQkFBWTtRQUFaLG9CQUFZO1FBQVosYUFBWSxFQUFBLEVBaUJmO0luSXBDWDtNbUloTFI7UUF3TXdCLGM1SGhIaUM7UTRIaUhqQyxzQkFBYztZQUFkLG9CQUFjO2dCQUFkLGNBQWM7UUFDZCxzQjVIbEhpQyxFQUFBLEU0SG9IcEM7SUE1TXJCO01wSUdFLHFDQUFxQztNQUNyQyxnQm9JNk02QztNQUN6QixlNUgxSG1DLEVBQUE7TVB3RmpEO1FtSWhMUjtVQStNd0IscUI1SHZIaUMsRUFBQSxFNEgySHBDO0luSW5DYjtNbUloTFI7UUF5Tm9CLG1CNUhqSXFDLEVBQUEsRTRIaUt4QztJQXpQakI7TUE0Tm9CLGtDQUFpQztNQUNqQyxjQUFhO01BQ2IsV0FBVTtNQUNWLHlCNUh2SXFDO01SckZ2RCxxQ0FBcUM7TUFDckMsZ0JvSTROMkM7TUFDekIsZTVIeklxQztNNEgwSXJDLGNBQWEsRUFBQTtJbklsRHpCO01tSWhMUjs7O1FBdU9zQixvQkFBYTtRQUFiLHFCQUFhO1FBQWIsb0JBQWE7UUFBYixhQUFhLEVBQUEsRUFFaEI7SUF6T25CO01BMk9vQixvQkFBWTtNQUFaLHFCQUFZO01BQVosb0JBQVk7TUFBWixhQUFZO01BQ1osc0I1SC9JUCxFQUFBO01QbUZMO1FtSWhMUjtVQThPc0Isc0I1SGpKVCxFQUFBLEU0SDJKTTtNQXhQbkI7UXBJR0UscUNBQXFDO1FBQ3JDLGdCb0k2TzZDO1FBQ3pCLFdBQVUsRUFBQTtNQWxQaEM7UUFxUHNCLGdCQUFlO1FBQ2YscUJBQW9CLEVBQUE7SW5JdEVsQztNbUloTFI7UUE0UG9CLGdCNUhwS3FDLEVBQUEsRTRIc0t4QztJQTlQakI7TUFnUWtCLGdCQUFlO01BQ2YsVUFBUztNQUNULFlBQVc7TXBJL1AzQixxQ0FBcUM7TUFDckMsZ0JvSStQeUM7TUFDekIsbUI1SDVLdUMsRUFBQTtJNEh4RnpEO01BMFFZLG9CNUhsTDZDO000SG1MN0Msb0JBQVk7TUFBWixxQkFBWTtNQUFaLG9CQUFZO01BQVosYUFBWTtNQUNaLHVCQUEyQjtNQUEzQixtQ0FBMkI7VUFBM0Isb0JBQTJCO2NBQTNCLDJCQUEyQixFQUFBO01uSTVGL0I7UW1JaExSO1VBOFFjLHFCQUF5QjtVQUF6QixpQ0FBeUI7Y0FBekIsa0JBQXlCO2tCQUF6Qix5QkFBeUIsRUFBQSxFQW9CNUI7TUFsU1g7UUFpUmMsaUI1SHpMMkM7UTRIMEwzQyx5QkFBd0I7UUFDeEIsbUJBQWtCO1FBQ2xCLFdBQVU7UXBJalJ0QixxQ0FBcUM7UUFDckMsZ0JvSWlScUM7UUFDekIsZTVIOUwyQztRNEgrTDNDLHNCNUgvTDJDO1E0SGdNM0MsMkJBQW1CO1FBQW5CLDRCQUFtQjtRQUFuQiwyQkFBbUI7UUFBbkIsb0JBQW1CO1FBQ25CLHlCQUFtQjtRQUFuQiwyQkFBbUI7WUFBbkIsc0JBQW1CO2dCQUFuQixtQkFBbUI7UUFDbkIsb0I1SGxNMkM7UTRIbU0zQyx3QjVIbk0yQyxFQUFBO1E0SHhGekQ7VUE4UmdCLGdCQUFlO1VBQ2YsY0FBYSxFQUFBOztBQy9SN0I7RUFDRSx3QjdIdUZ1RCxFQUFBO0VQd0ZqRDtJb0loTFI7TUFHSSxjN0gwRlMsRUFBQSxFNkh4RFo7RUFyQ0Q7SUFPTSxjQUFhO0lBQ2IsdUI3SGdGbUQsRUFBQTtFUHdGakQ7SW9JaExSO01BYU0sb0JBQWE7TUFBYixxQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYTtNQUNiLHVCQUFlO1VBQWYsbUJBQWU7Y0FBZixlQUFlO01BQ2Ysb0I3SHlFbUQsRUFBQSxFNkhwRHREO0VBcENIO0lBbUJNLHVCN0gwRU8sRUFBQTtJUG1GTDtNb0loTFI7UUFxQlEsZ0I3SG1FaUQ7UTZIbEVqRCxzQkFBYTtZQUFiLG9CQUFhO2dCQUFiLGNBQWE7UUFDYix1QzdIaUVpRCxFQUFBLEU2SHJEcEQ7SUFuQ0w7TUEwQlEsV0FBVTtNQUNWLGdCN0g2RGlEO002SDVEakQsdUI3SDREaUQ7TTZIM0RqRCxvQkFBZ0I7U0FBaEIsaUJBQWdCLEVBQUE7TXBJbUpoQjtRb0loTFI7VUErQlUsb0I3SHlEK0M7VTZIeEQvQyxZQUFXLEVBQUEsRUFFZDs7QUNsQ1A7RUFDRSx3QjlIdUZ1RDtFOEh0RnZELGtCQUFpQjtFQUNqQix1QjlIcUZ1RCxFQUFBO0VQd0ZqRDtJcUloTFI7TUFLSSxnQjlIbUZxRDtNOEhsRnJELG1COUhrRnFEO004SGpGckQsaUJBQWdCLEVBQUEsRUEyR25CO0VBbEhEO0lBVUksd0I5SDhFcUQsRUFBQTtJOEh4RnpEO01BWU8sY0FBYTtNQUNiLHdCOUgyRWtELEVBQUE7RVB3RmpEO0lxSWhMUjtNQWtCTSxvQjlIc0VtRCxFQUFBLEU4SHVCdEQ7RXJJaUVLO0lxSWhMUjtNQXNCUSxnQjlIa0VpRDtNOEhqRWpELG1COUhpRWlELEVBQUEsRThIcUJwRDtFQTdHTDtJQTBCUSxrQkFBaUI7SUFDakIsV0FBVTtJQUNWLHVCOUg0RGlEO0k4SDNEakQsZ0JBQWU7SUFDZixjQUFhO0lBQ2IsaUI5SHlEaUQ7SThIeERqRCxVQUFTO0lBQ1QsdUI5SHVEaUQ7SThIdERqRCxtQkFBbUIsRUFBQTtJckk4SW5CO01xSWhMUjtRQW9DVSxrQjlIb0QrQyxFQUFBLEU4SGxCbEQ7SUF0RVA7TUF1Q1UsV0FBVTtNQUNWLGtCQUFpQjtNQUNqQixRQUFPO01BQ1AsK0JBQTJCO01BQzNCLFVBQVMsRUFBQTtJQTNDbkI7TUE4Q1Usa0JBQWlCO01BQ2pCLFFBQU87TUFDUCxXQUFVO01BQ1YsWUFBVztNQUNYLG9CQUFnQjtTQUFoQixpQkFBZ0I7TUFDaEIsVUFBUyxFQUFBO0lBbkRuQjtNQXNEVSxrQkFBaUI7TUFDakIsUUFBTztNQUNQLFNBQVE7TUFDUix3Q0FBOEI7VUFBOUIsb0NBQThCO2NBQTlCLGdDQUE4QjtNQUM5QixVQUFTO01BQ1QsV0FBVTtNQUNWLG1COUg0QitDLEVBQUE7TVB3RmpEO1FxSWhMUjtVQThEWSxtQjlIMEI2QyxFQUFBLEU4SHhCaEQ7SUFoRVQ7TUFtRVksOEJBQTBCLEVBQUE7RUFuRXRDO0lBeUVVLG9CQUFZO0lBQVoscUJBQVk7SUFBWixvQkFBWTtJQUFaLGFBQVk7SUFDWix5QkFBOEI7SUFBOUIsc0NBQThCO1FBQTlCLHNCQUE4QjtZQUE5Qiw4QkFBOEI7SUFDOUIsd0I5SGErQyxFQUFBO0k4SHhGekQ7TUE2RVksdUI5SGdCQyxFQUFBO004SDdGYjtRQStFYyxjQUFhO1FBQ2IsaUI5SFEyQztROEhQM0Msc0I5SE8yQztROEhOM0MsbUJBQW1CLEVBQUE7SUFsRmpDO01Bc0ZZLHNCQUFhO1VBQWIsb0JBQWE7Y0FBYixjQUFhLEVBQUE7RUF0RnpCO0lBMEZVLHdCOUhGK0MsRUFBQTtJOEh4RnpEO010SUdFLHFDQUFxQztNQUNyQyxnQnNJd0ZtQztNQUN6QixlOUhMNkMsRUFBQTtFOEh4RnpEO0l0SUdFLHFDQUFxQztJQUNyQyxnQnNJOEZtQztJQUN6Qix3QjlIWDZDO0k4SFk3QyxXQUFVO0lBQ1YseUJBQXlCO0lBQ3pCLHlCOUhkNkMsRUFBQTtFOEh4RnpEO0lBeUdZLFNBQVEsRUFBQTs7QUFXcEI7O0VBR0ksY0FBYTtFQUNiLGVBQWMsRUFBQTs7QUFKbEI7O0VBT0ksU0FBUTtFQUNSLGU5SHBDcUQ7RThIcUNyRCx1QkFBYztNQUFkLG1CQUFjO1VBQWQsZUFBYyxFQUFBO0VySW1EVjtJcUk1RFI7O01BV00sWUFBVztNQUNYLFU5SHhDbUQ7TThIeUNuRCx1QkFBZTtVQUFmLG1CQUFlO2NBQWYsZUFBZSxFQUFBLEVBRWxCOztBQWZIOztFQWtCSSxrQkFBaUI7RUFDakIsYTlIL0NxRDtFOEhnRHJELGM5SGhEcUQ7RThIaURyRCxjQUFhLEVBQUE7RXJJdUNUO0lxSTVEUjs7TUF3Qk0sZ0I5SHBEbUQ7TThIcURuRCxpQjlIckRtRCxFQUFBLEU4SGlIdEQ7RUFyRkg7O0lBNEJNLGtDQUFrQztJQUNsQyxhOUh6RG1EO0k4SDBEbkQsYzlIMURtRDtJOEgyRG5ELGdCQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLHlCQUF3QjtJQUV4QixjQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGtCOUhqRW1EO0k4SGtFbkQsaUJBQWlCO0lBQ2pCLFVBQVM7SUFDVCxvQkFBWTtJQUFaLHFCQUFZO0lBQVosb0JBQVk7SUFBWixhQUFZO0lBQ1oseUJBQW1CO0lBQW5CLDJCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtJQUF2QiwrQkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QixFQUFBO0lySWtCckI7TXFJNURSOztRQTRDUSxpQjlIeEVpRDtROEh5RWpELGdCOUh6RWlEO1E4SDBFakQsaUI5SDFFaUQ7UThIMkVqRCxZQUFXLEVBQUEsRUFFZDtFQWpETDs7SUFtRE0sMEJBQTBCLEVBQUE7SXJJU3hCO01xSTVEUjs7UUFxRFEsaUI5SGpGaUQsRUFBQSxFOEhzRnBEO0lBMURMOztNQXdEUSxnQkFBZ0IsRUFBQTtFQXhEeEI7O0lBNERNLHlCQUF5QixFQUFBO0lySUF2QjtNcUk1RFI7O1FBOERRLGdCOUgxRmlELEVBQUEsRThIZ0dwRDtJQXBFTDs7TUFpRVEsZ0JBQWdCO01BQ2hCLGlDQUF3QjtVQUF4Qiw2QkFBd0I7Y0FBeEIseUJBQXdCLEVBQUE7RUFsRWhDOztJQXVFUSxnQkFBZTtJQUNmLHVDQUFtQyxFQUFBO0VBeEUzQzs7SUE2RVEsbUJBQWtCO0lBQ2xCLFdBQVUsRUFBQTtJcklsQlY7TXFJNURSOztRQWdGVSxnQkFBZ0I7UUFDaEIsY0FBYSxFQUFBLEVBRWhCOztBQ3ZNUDtFQUNFLG1CQUFrQjtFQUNsQixrQi9Ic0Z1RDtFK0hyRnZELHFCL0hxRnVELEVBQUE7RVB3RmpEO0lzSWhMUjtNQUtJLGEvSHdGUztNK0h2RlQsd0IvSGtGcUQsRUFBQSxFK0h6QnhEO0VBL0REO0lBU0ksbUIvSCtFcUQsRUFBQTtJUHdGakQ7TXNJaExSO1FBV00sb0IvSDZFbUQ7UStINUVuRCxjQUFjLEVBQUEsRUF5QmpCO0l0STJJSztNc0loTFI7UUFnQlEsbUIvSHdFaUQ7UStIdkVqRCxtQi9IdUVpRCxFQUFBLEUrSDFEcEQ7SUE5Qkw7TUFvQlEsa0IvSG9FaUQsRUFBQTtJK0h4RnpEO01BdUJRLHlCL0hpRWlEO00rSGhFakQsZ0NBQStCLEVBQUE7TUF4QnZDO1FBMEJVLGNBQWE7UUFDYix3Qi9INkQrQyxFQUFBO0krSHhGekQ7TUFnQ00sd0IvSDZETztNK0g1RFAsb0JBQVk7TUFBWixxQkFBWTtNQUFaLG9CQUFZO01BQVosYUFBWTtNQUNaLHdCQUF1QjtNQUF2QiwrQkFBdUI7VUFBdkIscUJBQXVCO2NBQXZCLHVCQUF1QixFQUFBO0VBbEM3QjtJQXdDTSx1Qi9IZ0RtRDtJK0gvQ25ELGFBQWEsRUFBQTtFQXpDbkI7SUE2Q00sYUFBYSxFQUFBO0VBN0NuQjtJQWtEVSxjQUFjLEVBQUE7RUFsRHhCO0lBd0RVLGFBQWEsRUFBQTtFQXhEdkI7SUE0RFUsb0JBQWE7SUFBYixxQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYSxFQUFBOztBQzVEdkI7RUFDRSxzQmhJdUZ1RDtFZ0l0RnZELGtCQUFrQixFQUFBO0V2SThLWjtJdUloTFI7TUFJSSxjaEl5RlMsRUFBQSxFZ0kwRFo7RUF2SkQ7SUFPSSxrQkFBaUI7SUFDakIsY2hJZ0ZxRDtJZ0kvRXJELFdBQVcsRUFBQTtJdkl1S1A7TXVJaExSO1FBV00sWWhJNkVtRCxFQUFBLEVnSTNFdEQ7RUFiSDtJQWdCTSxrQkFBa0I7SUFDbEIsVUFBVSxFQUFBO0VBakJoQjtJQXFCSSxtQkFBbUI7SUFDbkIsaURoSWtFcUQ7SWdJakVyRCxrQkFBd0IsRUFBQTtJdkl5SnBCO011SWhMUjtRQXlCTSxvQkFBYTtRQUFiLHFCQUFhO1FBQWIsb0JBQWE7UUFBYixhQUFhLEVBQUEsRUFpRWhCO0lBMUZIO01BNkJNLGtCQUFpQixFQUFBO012SW1KZjtRdUloTFI7VUErQlEsVUFBVTtVQUNWLHNCQUFhO2NBQWIsb0JBQWE7a0JBQWIsY0FBYSxFQUFBLEVBWWhCO01BNUNMO1FBbUNRLFdBQVc7UUFDWCxpQmhJb0RpRDtRZ0luRGpELG9CQUFpQjtXQUFqQixpQkFBaUI7UUFDakIsb0NoSXVESyxFQUFBO1FQbUZMO1V1SWhMUjtZQXdDVSxZQUFZO1lBQ1osb0NoSStDK0MsRUFBQSxFZ0k3Q2xEO0lBM0NQO01BOENNLGtCaEkwQ21EO01nSXpDbkQsa0JBQWlCLEVBQUE7TUEvQ3ZCO1FBaURRLGtCQUFpQjtRQUNqQixlaElzQ2lEO1FnSXJDakQsZ0JoSXFDaUQsRUFBQTtNZ0l4RnpEO1FBc0RRLHVCaElrQ2lELEVBQUE7UWdJeEZ6RDtVQXdEVSxtQmhJZ0MrQztVZ0kvQi9DLGNBQWE7VUFDYixtQkFBa0IsRUFBQTtRQTFENUI7VUE4RFksbUJBQW1CO1VBQ25CLGNBQWM7VUFDZCxhQUFhLEVBQUE7TUFoRXpCO1FBb0VRLHdCaElvQmlELEVBQUE7UWdJeEZ6RDtVQXNFVSxXQUFVO1VBQ1YsU0FBUSxFQUFBO01BdkVsQjtRQTJFUSxxQmhJYWlELEVBQUE7UWdJeEZ6RDtVQTZFVSxjQUFhO1VBQ2IsU0FBUSxFQUFBO01BOUVsQjtRQW1GVSx5QkFBeUI7UUFDekIsd0JoSUkrQztRUnJGdkQscUNBQXFDO1FBQ3JDLGdCd0lpRmlDO1FBQ3pCLGVoSUUrQyxFQUFBO0VnSXhGekQ7SUFpR2dCLG1CQUFtQjtJQUNuQixjQUFjO0lBQ2QsYUFBYSxFQUFBO0VBbkc3QjtJQXNHa0IsY0FBYTtJQUNiLGVBQWU7SUFDZixjQUFjLEVBQUE7RUF4R2hDO0lBK0dNLG1CQUFtQjtJQUNuQixlaEl4Qm1EO0lnSXlCbkQsTUFBSztJQUVMLFFBQVE7SUFDUixPQUFPO0lBQ1Asa0JBQWtCO0lBQ2xCLFNBQVMsRUFBQTtJdkkwRFA7TXVJaExSO1FBeUhNLDRCQUFtQztRQUNuQyxTQUFRO1FBQ1IsU0FBUyxFQUFBLEVBY1o7SUF6SUg7TUE4SFUsbUJBQW1CO01BQ25CLGVoSXZDK0MsRUFBQTtJZ0l4RnpEO01BbUlVLGVoSTNDK0M7TWdJNEMvQyxjaEk1QytDO01nSTZDL0MsbUJBQW1CO01BQ25CLHlCbklwREs7TW1JcURMLG1CQUFtQixFQUFBO0V2SXlDckI7SXVJaExSO01BOElVLGlCaEl0RCtDLEVBQUEsRWdJd0RsRDtFdklnQ0M7SXVJaExSO01BbUpVLGdCaEkzRCtDLEVBQUEsRWdJNkRsRDs7QUNySlA7RUFDSSxxQ2pJdUZxRCxFQUFBO0VQd0ZqRDtJd0loTFI7TUFHUSxxQmpJMEZLLEVBQUEsRWlJd0daO0VBck1EO0lBTVEsa0JBQWlCO0lBQ2pCLGdCaklpRmlEO0lpSWhGakQsbUJBQWtCO0lBQ2xCLHdCakkrRWlEO0lpSTlFakQsb0JBQVk7SUFBWixxQkFBWTtJQUFaLG9CQUFZO0lBQVosYUFBWTtJQUNaLHlCQUFtQjtJQUFuQiwyQkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QmpJNEVpRCxFQUFBO0lQd0ZqRDtNd0loTFI7UUFjWSxnQmpJMEU2QztRaUl6RTdDLHdCakl5RTZDLEVBQUEsRWlJL0JwRDtJQXpETDtNQWtCWSxnQkFBZTtNQUNmLHdCQUFlO2NBQWYsZ0JBQWU7TUFDZixZQUFXO01BQ1gsZ0JqSW1FNkM7TWlJbEU3QyxxQmpJa0U2QztNaUlqRTdDLFVBQVM7TUFDVCxTQUFRLEVBQUE7TXhJd0paO1F3SWhMUjtVQTBCZ0IsZ0JqSThEeUM7VWlJN0R6QyxxQmpJNkR5QyxFQUFBLEVpSXJEaEQ7TUFuQ1Q7UUE4QmdCLFVBQVM7UUFDVCxXQUFVO1FBQ1YsZWpJd0R5QztRUnJGdkQscUNBQXFDO1FBQ3JDLGdCeUk2QnVDLEVBQUE7TUFqQ3pDO1FBOEJnQixVQUFTO1FBQ1QsV0FBVTtRQUNWLGVqSXdEeUM7UVJyRnZELHFDQUFxQztRQUNyQyxnQnlJNkJ1QyxFQUFBO01BakN6QztRQThCZ0IsVUFBUztRQUNULFdBQVU7UUFDVixlakl3RHlDO1FSckZ2RCxxQ0FBcUM7UUFDckMsZ0J5STZCdUMsRUFBQTtNQWpDekM7UUE4QmdCLFVBQVM7UUFDVCxXQUFVO1FBQ1YsZWpJd0R5QztRUnJGdkQscUNBQXFDO1FBQ3JDLGdCeUk2QnVDLEVBQUE7TUFqQ3pDO1FBOEJnQixVQUFTO1FBQ1QsV0FBVTtRQUNWLGVqSXdEeUM7UVJyRnZELHFDQUFxQztRQUNyQyxnQnlJNkJ1QyxFQUFBO0lBakN6QztNQXNDWSxtQmpJa0Q2QztNaUlqRDdDLGNBQWE7TUFDYiw4QmpJZ0Q2QyxFQUFBO0lpSXhGekQ7TUErQ1ksYUFBWSxFQUFBO014SWlJaEI7UXdJaExSO1VBaURnQixjQUFhO1VBQ2IsZ0JqSXNDeUM7VWlJckN6QyxXQUFVO1VBQ1Ysc0JBQWE7Y0FBYixvQkFBYTtrQkFBYixjQUFhO1VBQ2IsbUJBQWtCO1VBQ2xCLFdBQVUsRUFBQSxFQUVqQjtFeEl3SEQ7SXdJaExSO01BOERZLG9CQUFZO01BQVoscUJBQVk7TUFBWixvQkFBWTtNQUFaLGFBQVk7TUFDWiwrQmpJeUI2QyxFQUFBLEVpSWRwRDtFQTFFTDtJQW1FWSxzQmpJMEJDLEVBQUE7SVBtRkw7TXdJaExSO1FBcUVnQixpQmpJbUJ5QztRaUlsQnpDLHNCQUFhO1lBQWIsb0JBQWE7Z0JBQWIsY0FBYTtRQUNiLGNqSWlCeUMsRUFBQSxFaUlmaEQ7RXhJdUdEO0l3SWhMUjtNQStFWSxvQkFBWTtNQUFaLHFCQUFZO01BQVosb0JBQVk7TUFBWixhQUFZO01BQ1osdUJBQWM7VUFBZCxtQkFBYztjQUFkLGVBQWM7TUFDZCxlaklPNkMsRUFBQSxFaUlMcEQ7RUFuRkw7SUFzRlEsc0JqSU9LLEVBQUE7SVBtRkw7TXdJaExSO1FBd0ZZLGlCaklBNkM7UWlJQzdDLHNCQUFhO1lBQWIsb0JBQWE7Z0JBQWIsY0FBYTtRQUNiLDRCaklGNkMsRUFBQSxFaUk0R3BEO0lBcE1MO01BNkZRLGNBQWE7TUFDYixrQkFBaUI7TUFDakIsa0JqSVBpRDtNaUlRakQsdUJqSVJpRDtNaUlTN0MsbUJBQWtCLEVBQUE7TXhJK0V0QjtRd0loTFI7VUFtR2dCLGVqSVh5QyxFQUFBLEVpSWFoRDtJQXJHVDtNQXdHWSxrQkFBaUI7TUFDakIsT0FBTTtNQUNOLGFqSWxCNkM7TVJyRnZELHFDQUFxQztNQUNyQyxnQnlJdUdtQztNQUN6QixlaklwQjZDO01pSXFCN0MseUJBQXlCO01BQ3pCLHdCakl0QjZDO01pSXVCN0MsZ0JBQWU7TUFDZixjQUFhO01BQ2Isc0NqSXBCQztNaUlxQkQsaUJqSTFCNkM7TWlJMkI3QyxvQkFBWTtNQUFaLHFCQUFZO01BQVosb0JBQVk7TUFBWixhQUFZO01BQ1oseUJBQW1CO01BQW5CLDJCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLDZCakk3QjZDO01pSThCN0MsVUFBUyxFQUFBO0lBdEhyQjtNQTBIWSxXQUFVO01BQ1Ysa0JqSW5DNkM7TWlJb0M3QyxvQkFBaUI7U0FBakIsaUJBQWlCO01BQ2pCLHVCaklyQzZDLEVBQUE7TVB3RmpEO1F3SWhMUjtVQStIZ0IsZWpJdkN5QyxFQUFBLEVpSXlDaEQ7SUFqSVQ7TUFvSVksc0JqSTVDNkM7TVJyRnZELHFDQUFxQztNQUNyQyxnQnlJaUltQztNQUN6Qixlakk5QzZDO01pSStDN0MsYUFBYSxFQUFBO0lBdkl6QjtNQTJJWSxjQUFhLEVBQUE7SUEzSXpCO01BK0lZLG9CQUFZO01BQVoscUJBQVk7TUFBWixvQkFBWTtNQUFaLGFBQVk7TUFDWix5QkFBbUI7TUFBbkIsMkJBQW1CO1VBQW5CLHNCQUFtQjtjQUFuQixtQkFBbUIsRUFBQTtNQWhKL0I7UUFtSmdCLHFCakkzRHlDO1FpSTREekMsY0FBYTtReklqSjNCLHFDQUFxQztRQUNyQyxnQnlJaUp1QztRQUN6Qixlakk5RHlDO1FpSStEekMsY0FBYTtRQUNiLHlCQUF5QjtRQUN6Qix3QmpJakV5QztRaUlrRXpDLG9DQUFtQyxFQUFBO0lBMUpuRDtNQWlLb0IsV0FBVTtNQUNWLGtCQUFpQjtNQUNqQixRQUFPO01BQ1AsOEJBQTBCO01BQzFCLFVBQVM7TUFDVCx1QmpJOUVxQyxFQUFBO0lpSXhGekQ7TUEwS29CLGdCQUFnQjtNQUNoQixrQ0FBaUM7TUFDakMsY2pJcEZxQztNaUlxRnJDLGVqSXJGcUM7TWlJc0ZyQyxtQkFBa0I7TUFDbEIsc0JBQXFCO01BQ3JCLFdBQVU7TUFDVixrQkFBaUI7TUFDakIsU0FBUTtNQUNSLFFBQU87TUFDUCx3Q0FBOEI7VUFBOUIsb0NBQThCO2NBQTlCLGdDQUE4QjtNQUM5QixvQkFBWTtNQUFaLHFCQUFZO01BQVosb0JBQVk7TUFBWixhQUFZO01BQ1oseUJBQW1CO01BQW5CLDJCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLHdCQUF1QjtNQUF2QiwrQkFBdUI7VUFBdkIscUJBQXVCO2NBQXZCLHVCQUF1QjtNQUN2QixVQUFTO01BQ1QsbUJqSWpHcUMsRUFBQTtJaUl4RnpEO01BK0x3QixxQkFBb0IsRUFBQTs7QUMvTDVDO0VBQ0Usc0JsSXVGdUQsRUFBQTtFUHdGakQ7SXlJaExSO01BR0ksb0JsSXFGcUQ7TWtJcEZyRCxjQUFhO01BQ2IsZ0JsSW1GcUQ7TWtJbEZyRCxtQmxJa0ZxRCxFQUFBLEVrSU14RDtFQTlGRDtJQVVNLHVCbEk4RW1ELEVBQUE7SVB3RmpEO015SWhMUjtRQVlRLHVCbEk0RWlELEVBQUEsRWtJMUVwRDtFQWRMO0lBZ0JNLGdCQUFlLEVBQUE7SUFoQnJCO01Ba0JRLFlBQVc7TUFDWCxtQkFBa0I7TUFDbEIsd0JsSW9FaUQ7TWtJbkVqRCwwQmxJbUVpRDtNa0lsRWpELHdCbElrRWlELEVBQUE7TWtJeEZ6RDtRQXdCVSxhQUFZLEVBQUE7TUF4QnRCO1FBMkJVLGNBQWE7UTFJeEJyQixxQ0FBcUM7UUFDckMsZ0IwSXdCaUM7UUFDekIsaUJsSTJEK0M7UWtJMUQvQyxzQmxJMEQrQztRa0l6RC9DLHlCbEl5RCtDO1FrSXhEL0MsWUFBVztRQUNYLHFCQUFvQjtRQUNwQix1QmxJMkRHLEVBQUE7UVBtRkw7VXlJaExSO1lBb0NZLGtCbElvRDZDLEVBQUEsRWtJMUJoRDtRQTlEVDtVQXdDWSxnQkFBZTtVQUNmLHFCQUFvQixFQUFBO1FBekNoQztVQTRDWSxrQmxJNEM2QztVa0kzQzdDLGdCQUFlO1VBQ2YsZ0JBQWdCO1VBQ2hCLHNCQUFzQjtVQUN0QixnQmxJd0M2QztVa0l2QzdDLGlCbEl1QzZDO1VrSXRDN0MsbUJBQWtCO1VBQ2xCLHlCQUF3QjtVQUN4QixhbElvQzZDO1VrSW5DN0MsUUFBTztVQUNQLGdCQUFlO1VBQ2YsY0FBYTtVQUNiLG9CQUFZO1VBQVoscUJBQVk7VUFBWixvQkFBWTtVQUFaLGFBQVk7VUFDWix5QkFBbUI7VUFBbkIsMkJBQW1CO2NBQW5CLHNCQUFtQjtrQkFBbkIsbUJBQW1CO1VBQ25CLHdCQUF1QjtVQUF2QiwrQkFBdUI7Y0FBdkIscUJBQXVCO2tCQUF2Qix1QkFBdUI7VUFDdkIsYUFBWTtVQUNaLGdDQUF1QjtjQUF2Qiw0QkFBdUI7a0JBQXZCLHdCQUF1QixFQUFBO01BNURuQztRQWdFVSxZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLHVCbEkyQkcsRUFBQTtRUG1GTDtVeUloTFI7WUFxRWMscUJsSW1CMkMsRUFBQSxFa0lUOUM7UUEvRVg7O1VBeUVjLGVsSWUyQztVa0lkM0Msc0JsSWMyQyxFQUFBO1FrSXhGekQ7VUE2RWMsdUJsSVcyQyxFQUFBO01rSXhGekQ7UUFvRlksZ0JBQWUsRUFBQTtRQXBGM0I7VUFzRmMsaUNBQXdCO2NBQXhCLDZCQUF3QjtrQkFBeEIseUJBQXdCLEVBQUE7O0FDdEZ0QztFQUlRLDZDbklvRmlELEVBQUE7RW1JeEZ6RDtJQU1VLGdCQUFlO0lBQ2YsVW5Jc0ZHLEVBQUE7SW1JN0ZiO01BU1ksa0JuSStFNkM7TW1JOUU3QyxnQkFBZTtNQUNmLGdCQUFnQjtNQUNoQixzQkFBc0I7TUFDdEIsZ0JuSTJFNkM7TW1JMUU3QyxpQm5JMEU2QztNbUl6RTdDLG1CQUFrQjtNQUNsQix5QkFBd0I7TUFDeEIsZ0JuSXVFNkM7TW1JdEU3QyxTQUFRO01BQ1IsZ0JBQWU7TUFDZixjQUFhO01BQ2Isb0JBQVk7TUFBWixxQkFBWTtNQUFaLG9CQUFZO01BQVosYUFBWTtNQUNaLHlCQUFtQjtNQUFuQiwyQkFBbUI7VUFBbkIsc0JBQW1CO2NBQW5CLG1CQUFtQjtNQUNuQix3QkFBdUI7TUFBdkIsK0JBQXVCO1VBQXZCLHFCQUF1QjtjQUF2Qix1QkFBdUI7TUFDdkIsYUFBWTtNQUNaLGdDQUF1QjtVQUF2Qiw0QkFBdUI7Y0FBdkIsd0JBQXVCO01BQ3ZCLGdCbkk4RDZDLEVBQUE7SW1JeEZ6RDtNQTZCWSw2QkFBNkI7TUFDN0Isa0JBQWlCO01BQ2pCLGFuSXlENkM7TW1JeEQ3Qyxlbkl3RDZDO01tSXZEN0MsZUFBYztNM0k5QnhCLHFDQUFxQztNQUNyQyxnQjJJOEJtQztNQUN6QixlbklxRDZDO01tSXBEN0MseUJBQXlCO01BQ3pCLGdCbkltRDZDLEVBQUE7RW1JeEZ6RDs7SUE2Q2MsbUJuSTJDMkM7SW1JMUMzQyxpQm5JMEMyQyxFQUFBO0VtSXhGekQ7SUFvRFUsa0JBQWlCO0lBQ2pCLDZDbkltQytDLEVBQUE7SW1JeEZ6RDtNQXVEWSxnQkFBZTtNQUNmLFVBQVMsRUFBQTtNQXhEckI7UUEwRGMsaUNBQXdCO1lBQXhCLDZCQUF3QjtnQkFBeEIseUJBQXdCLEVBQUE7TUExRHRDO1FBOERjLDZCQUE2QixFQUFBO0lBOUQzQztNQWtFWSx1Qm5JMkJDLEVBQUE7RW1JN0ZiO0lBMEVvQixhQUFhLEVBQUE7O0FDMUVqQztFQUVRLGlCQUFpQjtFQUNqQixhcElxRmlELEVBQUE7RW9JeEZ6RDtJNUlHRSxxQ0FBcUM7SUFDckMsZ0I0SUVtQztJQUN6QixlcElpRjZDO0lvSWhGN0MseUJBQXlCO0lBQ3pCLG1CQUFtQjtJQUNuQixjQUFjO0lBQ2QscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQixxQnBJMkU2QyxFQUFBO0lvSXhGekQ7TUFnQmdCLGtCcEl3RXlDO01vSXZFekMsZ0JBQWU7TUFDZixnQkFBZ0I7TUFDaEIsc0JBQXNCO01BQ3RCLGdCcElvRXlDO01vSW5FekMsaUJwSW1FeUM7TW9JbEV6QyxtQkFBa0I7TUFDbEIseUJBQXdCO01BQ3hCLGdCcElnRXlDO01vSS9EekMsU0FBUTtNQUNSLFFBQU87TUFDUCxnQkFBZTtNQUNmLGNBQWE7TUFDYixvQkFBWTtNQUFaLHFCQUFZO01BQVosb0JBQVk7TUFBWixhQUFZO01BQ1oseUJBQW1CO01BQW5CLDJCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLHdCQUF1QjtNQUF2QiwrQkFBdUI7VUFBdkIscUJBQXVCO2NBQXZCLHVCQUF1QjtNQUN2QixhQUFZO01BQ1osa0JBQWtCO01BQ2xCLGNwSXNEeUM7TW9JckR6QyxRQUFRLEVBQUE7O0FBbkN4QjtFQTBDUSx1QnBJOENpRCxFQUFBOztBcUl4RnpEO0VBQ0ksc0JySXVGcUQ7RXFJdEZyRCxvQnJJc0ZxRCxFQUFBO0VQd0ZqRDtJNEloTFI7TUFLUSxVQUFVLEVBQUEsRUFzU2pCO0VBM1NEO0lBU1EseUJBQXlCO0lBQ3pCLHNCckk4RWlEO0lxSTdFakQsZ0JBQWdCO0lBQ2hCLHdCckk0RWlELEVBQUE7SVB3RmpEO000SWhMUjtRQWVZLG9CQUFhO1FBQWIscUJBQWE7UUFBYixvQkFBYTtRQUFiLGFBQWEsRUFBQSxFQW9EcEI7SUFuRUw7TUFtQlksVUFBVTtNQUNWLFlBQVk7TUFDWixXQUFXLEVBQUE7TTVJMkpmO1E0SWhMUjtVQXdCZ0IsdUJBQWU7Y0FBZiw0QkFBZTtrQkFBZixlQUFlLEVBQUEsRUEwQ3RCO01BbEVUO1FBNEJnQixhQUFhLEVBQUE7TUE1QjdCO1E3SUdFLHFDQUFxQztRQUNyQyxnQjZJNEJ1QztRQUN6QixZQUFZO1FBQ1osaUJySXNEeUM7UXFJckR6QyxvQnJJcUR5QztRcUlwRHpDLHNCcklvRHlDO1FxSW5EekMsY0FBYztRQUNkLGtCQUFrQjtRQUNsQixnQ0FBZ0MsRUFBQTtRNUl5SXhDO1U0SWhMUjtZQTBDb0IsK0JBQStCO1lBQy9CLG1CQUFtQixFQUFBLEVBUTFCO1FBbkRiO1VBZ0RvQixtQkFBbUI7VUFDbkIsY3hJaUNMLEVBQUE7TXdJbEZmO1FBdURvQixtQkFBbUI7UUFDbkIsY3hJMEJMLEVBQUE7TXdJbEZmO1FBOERvQixlQUFlO1FBQ2YsZ0JBQWdCLEVBQUE7RUEvRHBDO0lBc0VRLFlBQVk7SUFDWix1QnJJaUJpRCxFQUFBO0VxSXhGekQ7SUEyRVEsVUFBVSxFQUFBO0VBM0VsQjtJQTZKUSwyQkFBQTtJQW1CQSxvQkFBQTtJQWNBLHdCQUFBO0lBY0EsZ0NBQUE7SUFTQSxzQkFBQTtJQWNBLGtCQUFBLEVBQW1CO0k1SW5EbkI7TTRJaExSO1FBaUZnQixjQUFjLEVBQUEsRUFFckI7SUFuRlQ7TUFzRlksdUJySUU2QyxFQUFBO0lQd0ZqRDtNNEloTFI7UUEyRmdCLHVCcklIeUMsRUFBQSxFcUlTaEQ7SUFqR1Q7TUErRmdCLHFCcklQeUMsRUFBQTtJcUl4RnpEO003SUdFLHFDQUFxQztNQUNyQyxnQjZJZ0dtQztNQUN6QixjQUFjO01BQ2QsaUJySWQ2QztNcUllN0Msc0JySWY2QyxFQUFBO0lxSXhGekQ7TTdJR0UscUNBQXFDO01BQ3JDLGdCNkl1R21DO01BQ3pCLG1CcklwQjZDO01xSXFCN0MsaUJySXJCNkMsRUFBQTtJcUl4RnpEO01BaUhZLG9CQUFhO01BQWIscUJBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFDYixrQkFBa0IsRUFBQTtJQWxIOUI7TUFzSFksc0JySTlCNkMsRUFBQTtJcUl4RnpEOzs7O003SUdFLHFDQUFxQztNQUNyQyxnQjZJeUhtQztNQUN6QixtQnJJdEM2QztNcUl1QzdDLGlCckl2QzZDO01xSXdDN0MsY3hJL0NHO013SWdESCxtQkFBbUI7TUFDbkIsdUJySTFDNkM7TXFJMkM3QywyQnJJM0M2QztNcUk0QzdDLFlBQVk7TUFDWixZQUFZLEVBQUE7TUFySXhCOzs7O1FBd0lnQixjeEl2REQ7UXdJd0RDLFVBQVUsRUFBQTtNQXpJMUI7Ozs7UUF3SWdCLGN4SXZERDtRd0l3REMsVUFBVSxFQUFBO01BekkxQjs7OztRQXdJZ0IsY3hJdkREO1F3SXdEQyxVQUFVLEVBQUE7TUF6STFCOzs7O1FBd0lnQixjeEl2REQ7UXdJd0RDLFVBQVUsRUFBQTtNQXpJMUI7Ozs7UUF3SWdCLGN4SXZERDtRd0l3REMsVUFBVSxFQUFBO0lBekkxQjtNQThJWSxrQ0FBd0MsRUFBQTtJQTlJcEQ7TUFrSlksVXJJckRDO01xSXNERCxTQUFTO01BQ1QsaUJySTVENkMsRUFBQTtJcUl4RnpEO01Bd0pZLFFBQVE7TUFDUixxQ0FBK0I7VUFBL0IsaUNBQStCO2NBQS9CLDZCQUErQjtNQUMvQixZQUFZLEVBQUE7SUExSnhCOztNQWdLZ0Isa0JBQWtCO01BQ2xCLGFBQWEsRUFBQTtJQWpLN0I7O01BcUtnQixrQkFBa0I7TUFDbEIsb0JySTlFeUM7TXFJK0V6QyxlQUFlO003SXBLN0IscUNBQXFDO01BQ3JDLGdCNklvS3VDO01BQ3pCLGVySWpGeUM7TXFJa0Z6QyxtQnJJbEZ5QztNcUltRnpDLHlCQUF5QjtNQUN6QixTQUFTO01BQ1QsZUFBZSxFQUFBO0lBN0svQjs7TUFtTGdCLFdBQVc7TUFDWCxrQkFBa0I7TUFDbEIsT0FBTztNQUNQLE1BQU07TUFDTixhckkvRnlDO01xSWdHekMsY3JJaEd5QztNcUlpR3pDLFlBQVk7TUFDWixnQkFBZ0I7TUFDaEIsd0JySW5HeUM7TXFJb0d6Qyx5QkFBeUIsRUFBQTtJQTVMekM7O01BaU1nQixXQUFXO01BQ1gsa0JBQWtCO01BQ2xCLGNySTNHeUM7TXFJNEd6Qyxhckk1R3lDO01xSTZHekMsY3JJN0d5QztNcUk4R3pDLGVySTlHeUM7TXFJK0d6QyxZQUFZO01BQ1osbUJBQW1CO01BQ25CLHdCcklqSHlDO01xSWtIekMsMkJBQW1CO01BQW5CLG1CQUFtQixFQUFBO0lBMU1uQztNQThNZ0IsVUFBVTtNQUNWLDJCQUFtQjtVQUFuQix1QkFBbUI7Y0FBbkIsbUJBQW1CLEVBQUE7SUEvTW5DO01Ba05nQixVQUFVO01BQ1YsMkJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixtQkFBbUIsRUFBQTtJQW5ObkM7O01Bd05nQix3QkFBZ0I7Y0FBaEIsZ0JBQWdCO01BQ2hCLGtCQUFrQjtNQUNsQixzQkFBc0IsRUFBQTtJQTFOdEM7TUE2TmdCLFdBQVcsRUFBQTtJQTdOM0I7TUFnT2dCLFdBQVcsRUFBQTtJQWhPM0I7O01Bc09nQix1QkFBdUIsRUFBQTtJQXRPdkM7TUEwT1ksVUFBVSxFQUFBO01BMU90Qjs7UUE4T2dCLFNBQVMsRUFBQTtFQTlPekI7SUFvUFEsbUJBQW1CO0lBQ25CLGN4SW5LTyxFQUFBO0l3SWxGZjtNQXdQWSxjQUFjO01BQ2QsbUJ4SXZLRyxFQUFBO0V3SWxGZjtJQThQUSxtQkFBbUI7SUFDbkIsc0JySXZLaUQ7SXFJd0tqRCxnQnJJbktLO0lxSW9LTCxZQUFZO0lBQ1osa0JySTFLaUQsRUFBQTtJUHdGakQ7TTRJaExSO1FBcVFZLGlCckk3SzZDLEVBQUEsRXFJa05wRDtJQTFTTDtNQXlRWSxtQnJJakw2QztNcUlrTDdDLGlCcklsTDZDLEVBQUE7SXFJeEZ6RDtNQThRWSxpQnJJdEw2QztNcUl1TDdDLHNCckl2TDZDO01xSXdMN0MscUJySXhMNkMsRUFBQTtJcUl4RnpEO01Bb1JZLG1Cckk1TDZDO01xSTZMN0MscUJBQXFCO01BQ3JCLGtCQUFrQixFQUFBO01BdFI5QjtRQXlSZ0IsK0VBQUE7UUFDQSxpQ0FBaUM7UUFDakMsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixtQkFBbUI7UUFDbkIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixjQUFjO1FBRWQsc0NBQUE7UUFDQSxtQ0FBbUM7UUFDbkMsa0NBQWtDO1FBQ2xDLGdCQUFnQjtRQUNoQixxQkFBcUI7UUFDckIscUJySS9NeUMsRUFBQSIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNi4xXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PU1vbnRzZXJyYXQ6d2dodEA0MDA7NTAwOzYwMDs3MDA7ODAwJmRpc3BsYXk9c3dhcFwiKTtcbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5yZXZlYWwsIC5yZXZlYWwudGlueSwgLnJldmVhbC5zbWFsbCwgLnJldmVhbC5sYXJnZSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDsgfVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7IH1cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7IH1cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDhlbSZsYXJnZT02NGVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTBlbVwiOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDEwLCAxMCwgMTAsIDAuMSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NhY2FjYTsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIG1pbi13aWR0aDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4gIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4MTM4LCAxMzgsIDEzOCUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgc2VsZWN0Om5vdChbbXVsdGlwbGVdKSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNjYzRiMzc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWVjZWE7IH1cbiAgLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgaDEgc21hbGwsIC5oMSBzbWFsbCxcbiAgaDIgc21hbGwsIC5oMiBzbWFsbCxcbiAgaDMgc21hbGwsIC5oMyBzbWFsbCxcbiAgaDQgc21hbGwsIC5oNCBzbWFsbCxcbiAgaDUgc21hbGwsIC5oNSBzbWFsbCxcbiAgaDYgc21hbGwsIC5oNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICNjYWNhY2E7IH1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg0LCAuaDQge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTsgfVxuICBoMywgLmgzIHtcbiAgICBmb250LXNpemU6IDEuOTM3NXJlbTsgfVxuICBoNCwgLmg0IHtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTsgfVxuICBoNSwgLmg1IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgaDYsIC5oNiB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuYSB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogIzE3NzliYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICMxNDY4YTA7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxLjI1cmVtIDAgMS4xODc1cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG5cbmFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjMGEwYTBhO1xuICBjdXJzb3I6IGhlbHA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxua2JkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjOGE4YThhOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4uY2l0ZS1ibG9jaywgY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgLmNpdGUtYmxvY2s6YmVmb3JlLCBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJQgXCI7IH1cblxuLmNvZGUtaW5saW5lLCBjb2RlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtOyB9XG5cbi5jb2RlLWJsb2NrIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICBjb2xvci1hZGp1c3Q6IGVjb25vbXk7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICBhW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bzsgfSB9XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5yb3c6OmJlZm9yZSwgLnJvdzo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5yb3c6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucm93IC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIC5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAucm93LmV4cGFuZGVkIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgICAucm93LmV4cGFuZGVkIC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnJvdzpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLnJvdy5ndXR0ZXItc21hbGwgPiAuY29sdW1uLCAucm93Lmd1dHRlci1zbWFsbCA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIC5yb3cuZ3V0dGVyLW1lZGl1bSA+IC5jb2x1bW4sIC5yb3cuZ3V0dGVyLW1lZGl1bSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH1cblxuLmNvbHVtbiwgLmNvbHVtbnMge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbHVtbiwgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuY29sdW1uLCAuY29sdW1ucywgLmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAuY29sdW1uczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuY29sdW1uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuY29sdW1uLmVuZDpsYXN0LWNoaWxkOmxhc3QtY2hpbGQsIC5lbmQuY29sdW1uczpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lOyB9XG5cbi5yb3cgLmNvbHVtbi5yb3cucm93LCAucm93IC5yb3cucm93LmNvbHVtbnMge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0xNi42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtcHVzaC0zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAyNSU7IH1cblxuLnNtYWxsLXB1bGwtMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTI1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTMzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC01IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTQxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtcHVzaC02IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7IH1cblxuLnNtYWxsLXB1bGwtNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTUwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC03IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTU4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC04IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtOCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTY2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uc21hbGwtcHVzaC05IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA3NSU7IH1cblxuLnNtYWxsLXB1bGwtOSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTc1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMTAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC0xMCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTgzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC0xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTIgPiAuY29sdW1uLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTUgPiAuY29sdW1uLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyMCU7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTggPiAuY29sdW1uLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMi41JTsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uc21hbGwtY29sbGFwc2UgLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmV4cGFuZGVkLnJvdyAuc21hbGwtY29sbGFwc2Uucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuXG4uc21hbGwtY2VudGVyZWQge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5zbWFsbC1jZW50ZXJlZCwgLnNtYWxsLWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5zbWFsbC11bmNlbnRlcmVkLCAuc21hbGwtcHVzaC0wLCAuc21hbGwtcHVsbC0wIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtdW5jZW50ZXJlZCwgLnNtYWxsLXVuY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLnNtYWxsLXB1c2gtMCwgLnNtYWxsLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAuc21hbGwtcHVsbC0wLCAuc21hbGwtcHVsbC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11bmNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5zbWFsbC1wdXNoLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLnNtYWxsLXB1bGwtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlOyB9XG4gIC5tZWRpdW0tcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlOyB9XG4gIC5tZWRpdW0tcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTIgPiAuY29sdW1uLCAubWVkaXVtLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTMgPiAuY29sdW1uLCAubWVkaXVtLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTQgPiAuY29sdW1uLCAubWVkaXVtLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTUgPiAuY29sdW1uLCAubWVkaXVtLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTYgPiAuY29sdW1uLCAubWVkaXVtLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTcgPiAuY29sdW1uLCAubWVkaXVtLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTggPiAuY29sdW1uLCAubWVkaXVtLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5tZWRpdW0tY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLm1lZGl1bS1jb2xsYXBzZS5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gIC5tZWRpdW0tY2VudGVyZWQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5tZWRpdW0tY2VudGVyZWQsIC5tZWRpdW0tY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tdW5jZW50ZXJlZCwgLm1lZGl1bS1wdXNoLTAsIC5tZWRpdW0tcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tdW5jZW50ZXJlZCwgLm1lZGl1bS11bmNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5tZWRpdW0tcHVzaC0wLCAubWVkaXVtLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAubWVkaXVtLXB1bGwtMCwgLm1lZGl1bS1wdWxsLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11bmNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5tZWRpdW0tcHVzaC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5tZWRpdW0tcHVsbC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC02Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC05MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTEgPiAuY29sdW1uLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5sYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC5sYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLmxhcmdlLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC00ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC5sYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLmxhcmdlLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY29sdW1uLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5sYXJnZS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC03ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC5sYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmxhcmdlLWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZXhwYW5kZWQucm93IC5sYXJnZS1jb2xsYXBzZS5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAubGFyZ2UtY2VudGVyZWQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5sYXJnZS1jZW50ZXJlZCwgLmxhcmdlLWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtdW5jZW50ZXJlZCwgLmxhcmdlLXB1c2gtMCwgLmxhcmdlLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtdW5jZW50ZXJlZCwgLmxhcmdlLXVuY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmxhcmdlLXB1c2gtMCwgLmxhcmdlLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAubGFyZ2UtcHVsbC0wLCAubGFyZ2UtcHVsbC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11bmNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5sYXJnZS1wdXNoLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmxhcmdlLXB1bGwtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi5jb2x1bW4tYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb2x1bW4tYmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uLnRpbnkge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5idXR0b24sIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE0Njc5ZTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnByaW1hcnksIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjYxOTU7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnksIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc3VjY2VzcywgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLndhcm5pbmcsIC5idXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5hbGVydCwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMsIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhO1xuICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMGMzZDVkO1xuICAgIGNvbG9yOiAjMGMzZDVkOyB9XG4gIC5idXR0b24uaG9sbG93LnByaW1hcnksIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMGMzZDVkO1xuICAgIGNvbG9yOiAjMGMzZDVkOyB9XG4gIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjM2IzYjNiO1xuICAgIGNvbG9yOiAjM2IzYjNiOyB9XG4gIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gIC5idXR0b24uaG9sbG93Lndhcm5pbmcsIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gIC5idXR0b24uaG9sbG93LmFsZXJ0LCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gIC5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gICAgY29sb3I6ICMwYzNkNWQ7IH1cbiAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzE3NzliYTsgfVxuICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cyB7XG4gICAgY29sb3I6ICMwYzNkNWQ7IH1cbiAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnksIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgY29sb3I6ICMzYjNiM2I7IH1cbiAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cyB7XG4gICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgLmJ1dHRvbi5jbGVhci53YXJuaW5nLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cyB7XG4gICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgLmJ1dHRvbi5jbGVhci5hbGVydCwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cyB7XG4gICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMWVtOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhcjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMxNzc5YmE7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIucHJpbWFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMxNzc5YmE7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5zZWNvbmRhcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNzY3Njc2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3M6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnN1Y2Nlc3M6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjM2FkYjc2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93Lndhcm5pbmc6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLndhcm5pbmc6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5hbGVydDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYS5idXR0b246aG92ZXIsIGEuYnV0dG9uOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYnV0dG9uLWdyb3VwLnRpbnkgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5zbWFsbCAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5sYXJnZSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzEyNjE5NTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTVlNWU7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24sIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgICBjb2xvcjogIzE3NzliYTsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwYzNkNWQ7XG4gICAgY29sb3I6ICMwYzNkNWQ7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnksIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwYzNkNWQ7XG4gICAgY29sb3I6ICMwYzNkNWQ7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMzYjNiM2I7XG4gICAgY29sb3I6ICMzYjNiM2I7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3MsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzBjM2Q1ZDsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnksIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICBjb2xvcjogIzBjM2Q1ZDsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5LCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBjb2xvcjogIzNiM2IzYjsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3MsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmcsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAuYnV0dG9uLWdyb3VwLm5vLWdhcHMgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4wNjI1cmVtOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5uby1nYXBzIC5idXR0b24gKyAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b24ge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgY29sb3I6ICM4YThhOGE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2xvc2UtYnV0dG9uLnNtYWxsIHtcbiAgICByaWdodDogMC42NnJlbTtcbiAgICB0b3A6IDAuMzNlbTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5jbG9zZS1idXR0b24ubWVkaXVtLCAuY2xvc2UtYnV0dG9uIHtcbiAgICByaWdodDogMXJlbTtcbiAgICB0b3A6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmxhYmVsLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmxhYmVsLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAubGFiZWwud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAubGFiZWwuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLnByb2dyZXNzIHtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhOyB9XG4gIC5wcm9ncmVzcy5wcmltYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTsgfVxuICAucHJvZ3Jlc3Muc2Vjb25kYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjsgfVxuICAucHJvZ3Jlc3Muc3VjY2VzcyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7IH1cbiAgLnByb2dyZXNzLndhcm5pbmcgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5wcm9ncmVzcy5hbGVydCAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7IH1cblxuLnByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7IH1cblxuLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7IH1cblxuLnNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLnNsaWRlci1maWxsLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjRyZW07XG4gIGhlaWdodDogMS40cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5zbGlkZXItaGFuZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5zbGlkZXItaGFuZGxlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQ2NzllOyB9XG4gIC5zbGlkZXItaGFuZGxlLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXIuZGlzYWJsZWQsXG4uc2xpZGVyW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLnNsaWRlci52ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDAuNXJlbTtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7IH1cbiAgLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMC41cmVtO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDEuNHJlbTtcbiAgICBoZWlnaHQ6IDEuNHJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cblxuLnN3aXRjaCB7XG4gIGhlaWdodDogMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdXRsaW5lOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnN3aXRjaC1wYWRkbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGlucHV0ICsgLnN3aXRjaC1wYWRkbGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICBjb250ZW50OiAnJzsgfVxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7IH1cbiAgICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDIuMjVyZW07IH1cbiAgaW5wdXQ6ZGlzYWJsZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGlucHV0OmZvY3VzIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLnN3aXRjaC1hY3RpdmUsIC5zd2l0Y2gtaW5hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnN3aXRjaC1hY3RpdmUge1xuICBsZWZ0OiA4JTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHJpZ2h0OiAxNSU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpdGNoLnRpbnkge1xuICBoZWlnaHQ6IDEuNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtOyB9XG4gIC5zd2l0Y2gudGlueSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAxLjc1cmVtOyB9XG5cbi5zd2l0Y2guc21hbGwge1xuICBoZWlnaHQ6IDEuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDMuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMS4yNXJlbTtcbiAgICBoZWlnaHQ6IDEuMjVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAycmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2Uge1xuICBoZWlnaHQ6IDIuNXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDIuNzVyZW07IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjFmMWYxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIHRoZWFkIHRyLFxuICB0Zm9vdCB0ciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgdGhlYWQgdGgsXG4gIHRoZWFkIHRkLFxuICB0Zm9vdCB0aCxcbiAgdGZvb3QgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRib2R5IHRoLFxuICB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG4gIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxOyB9XG4gIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICAgIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMWYxZjE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRyLFxuICB0YWJsZS5zdGFjayB0aCxcbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9IH1cblxudGFibGUuc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbnRhYmxlLmhvdmVyIHRoZWFkIHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuXG50YWJsZS5ob3ZlciB0Zm9vdCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IH1cblxudGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OyB9XG5cbnRhYmxlLmhvdmVyOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IH1cblxuLnRhYmxlLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDIuMWVtO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2UucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2Uuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5iYWRnZS53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5iYWRnZS5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwIDAuNzVyZW07XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICBjb2xvcjogI2NhY2FjYTsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYnJlYWRjcnVtYnMgLmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2NhY2FjYTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkN2VjZmE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWZhZWE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNkOTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZTRlMTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY2FsbG91dC5sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLmNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYXJkID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtZGl2aWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5jYXJkLWRpdmlkZXIgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1zZWN0aW9uIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLmNhcmQtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWltYWdlIHtcbiAgbWluLWhlaWdodDogMXB4OyB9XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDMwMHB4O1xuICBwYWRkaW5nOiAxcmVtO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIG1hcmdpbi1yaWdodDogMC4wNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24gbGk6bGFzdC1jaGlsZCwgLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wYWdpbmF0aW9uIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLnBhZ2luYXRpb24gYSxcbiAgLnBhZ2luYXRpb24gYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5wYWdpbmF0aW9uIGE6aG92ZXIsXG4gICAgLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAucGFnaW5hdGlvbiAuZGlzYWJsZWQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb2xvcjogI2NhY2FjYTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLnBhZ2luYXRpb24gLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb250ZW50OiAnXFwyMDI2JztcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG4ucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4ucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgY29udGVudDogXCLCq1wiOyB9XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgY29udGVudDogXCLCu1wiOyB9XG5cbi5oYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggIzhhOGE4YTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogaGVscDsgfVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjY0OTVyZW0pO1xuICB6LWluZGV4OiAxMjAwO1xuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhO1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnRvb2x0aXA6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC50b29sdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMGEwYTBhO1xuICAgIGJvdHRvbTogMTAwJTsgfVxuICAudG9vbHRpcC5ib3R0b20uYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAudG9wOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bzsgfVxuICAudG9vbHRpcC50b3AuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMGEwYTBhO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLnRvb2x0aXAubGVmdC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnRvb2x0aXAucmlnaHQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTsgfVxuICAudG9vbHRpcC5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvOyB9XG4gIC50b29sdGlwLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC50b29sdGlwLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuYWNjb3JkaW9uW2Rpc2FibGVkXSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMxNzc5YmE7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgY29udGVudDogXCIrXCI7IH1cbiAgLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJNcIjsgfVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAgIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1haW4tc2VjdGlvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuXG4ub3JiaXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAub3JiaXQtc2xpZGUubm8tbW90aW9udWkuaXMtYWN0aXZlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuXG4ub3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjUpO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ub3JiaXQtcHJldmlvdXMsIC5vcmJpdC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1wcmV2aW91cywgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1uZXh0IHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1wcmV2aW91czpob3ZlciwgLm9yYml0LW5leHQ6aG92ZXIsIC5vcmJpdC1wcmV2aW91czphY3RpdmUsIC5vcmJpdC1uZXh0OmFjdGl2ZSwgLm9yYml0LXByZXZpb3VzOmZvY3VzLCAub3JiaXQtbmV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cyB7XG4gIGxlZnQ6IDA7IH1cblxuLm9yYml0LW5leHQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDsgfVxuXG4ub3JiaXQtYnVsbGV0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMC44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LWJ1bGxldHMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgICB3aWR0aDogMS4ycmVtO1xuICAgIGhlaWdodDogMS4ycmVtO1xuICAgIG1hcmdpbjogMC4xcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b24uaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnRhYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4udGFicy52ZXJ0aWNhbCA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bzsgfVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLnNpbXBsZSA+IGxpID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMxNzc5YmE7IH1cbiAgLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxNjczYjE7IH1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDsgfVxuICAudGFicy10aXRsZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAudGFicy10aXRsZSA+IGEge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgICAgY29sb3I6ICMxNDY4YTA7IH1cbiAgICAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgICAgIGNvbG9yOiAjMTc3OWJhOyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsgfVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IDRweCBzb2xpZCAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgxMCwgMTAsIDEwLCAwLjIpO1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG5hLnRodW1ibmFpbCB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7IH1cbiAgYS50aHVtYm5haWw6aG92ZXIsIGEudGh1bWJuYWlsOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDIzLCAxMjEsIDE4NiwgMC41KTsgfVxuICBhLnRodW1ibmFpbCBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4ubWVudSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51IGxpIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5tZW51IGEsXG4gIC5tZW51IC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgc2VsZWN0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lbnUuZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLm1lbnUuc2ltcGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAubWVudS5zaW1wbGUgYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51Lm1lZGl1bS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LmxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUuaWNvbnMgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5pY29uLXRvcCBhLCAubWVudS5pY29uLXJpZ2h0IGEsIC5tZW51Lmljb24tYm90dG9tIGEsIC5tZW51Lmljb24tbGVmdCBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tbGVmdCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tcmlnaHQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tdG9wIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaSxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLm1lbnUuYWxpZ24tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZW51LmFsaWduLWNlbnRlciBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LmFsaWduLWNlbnRlciBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUgLm1lbnUtdGV4dCB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1lbnUtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2ZlZmVmZSwgMCAxNHB4IDAgI2ZlZmVmZTtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2NhY2FjYTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNjYWNhY2EsIDAgMTRweCAwICNjYWNhY2E7IH1cblxuLm1lbnUtaWNvbi5kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uLmRhcms6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMwYTBhMGEsIDAgMTRweCAwICMwYTBhMGE7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzhhOGE4YTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICM4YThhOGEsIDAgMTRweCAwICM4YThhOGE7IH1cblxuLmFjY29yZGlvbi1tZW51IGxpIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmFjY29yZGlvbi1tZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogMXJlbTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH1cblxuLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnN1Ym1lbnUtdG9nZ2xlOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG5cbi5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJpbGxkb3duIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5kcmlsbGRvd24uYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhO1xuICByaWdodDogMXJlbTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJpbGxkb3duLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtOyB9XG5cbi5kcmlsbGRvd24gLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogNXB4O1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAtM3B4OyB9XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgb3V0bGluZTogMDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzE3NzliYTsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51IC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDE0cHg7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogYXV0bztcbiAgbGVmdDogNXB4OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNzc5YmE7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC02cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAuZHJvcGRvd24gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCB2aXNpYmlsaXR5IDAuNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjI1KTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtY2xvc2FibGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vZmYtY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTI7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMzsgfVxuICAgIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC43KTsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ucG9zaXRpb24tbGVmdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IC0xM3B4IDAgMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAxM3B4IDAgMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi10b3Age1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tdG9wLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTEzcHggMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxM3B4IDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1vdmVybGFwLCAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuaHRtbC5pcy1yZXZlYWwtb3BlbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuICBodG1sLmlzLXJldmVhbC1vcGVuLnpmLWhhcy1zY3JvbGwge1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5yZXZlYWwge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuICAucmV2ZWFsIC5jb2x1bW4sIC5yZXZlYWwgLmNvbHVtbnMge1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICAucmV2ZWFsLmNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbC50aW55IHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsLmxhcmdlIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgLnJldmVhbC5mdWxsIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAucmV2ZWFsLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnN0aWNreS5pcy1zdHVjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICAgIHRvcDogMDsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiBhdXRvOyB9XG4gIC5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuLnRpdGxlLWJhciB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4udGl0bGUtYmFyLWxlZnQsXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxleDogMSAxIDBweDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnRvcC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAudG9wLWJhcixcbiAgLnRvcC1iYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLnRvcC1iYXIgaW5wdXQge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC50b3AtYmFyIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC50b3AtYmFyIGlucHV0LmJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50b3AtYmFyIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAudG9wLWJhciAudG9wLWJhci1sZWZ0IHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2Uge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuLnRvcC1iYXItdGl0bGUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDsgfVxuXG4udG9wLWJhci1sZWZ0LFxuLnRvcC1iYXItcmlnaHQge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7IH1cblxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5hbGlnbi1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tbGVmdC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuLmZsZXgtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxleC1jaGlsZC1hdXRvIHtcbiAgZmxleDogMSAxIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtZ3JvdyB7XG4gIGZsZXg6IDEgMCBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLXNocmluayB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG5cbi5mbGV4LWRpci1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi5mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4uZmxleC1kaXItY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7IH1cblxuQGtleWZyYW1lcyBzaGFrZS03IHtcbiAgMCUsIDEwJSwgMjAlLCAzMCUsIDQwJSwgNTAlLCA2MCUsIDcwJSwgODAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7IH1cbiAgNSUsIDE1JSwgMjUlLCAzNSUsIDQ1JSwgNTUlLCA2NSUsIDc1JSwgODUlLCA5NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNyUpOyB9IH1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWNjdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY2N3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xdHVybik7IH0gfVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnOyB9XG5cbkBrZXlmcmFtZXMgd2lnZ2xlLTdkZWcge1xuICA0MCUsIDUwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTsgfVxuICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTsgfVxuICAwJSwgMzAlLCA3MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNoYWtlLFxuLnNwaW4tY3csXG4uc3Bpbi1jY3csXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtczsgfVxuXG4uaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4uc2xvdyB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4uYWxpZ25mdWxsIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoIC0xMDB2dyAvIDIgKyAxMDAlIC8gMik7XG4gIG1hcmdpbi1yaWdodDogY2FsYyggLTEwMHZ3IC8gMiArIDEwMCUgLyAyKTtcbiAgbWF4LXdpZHRoOiAxMDB2dzsgfVxuXG5ib2R5LFxuaHRtbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1cmVtO1xuICBwYWRkaW5nOiAwLjQzNzVyZW0gMS41NjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAxLjI1cmVtO1xuICBib3JkZXI6IDNweCBzb2xpZCAjNzY1QkE3O1xuICBjb2xvcjogIzc2NUJBNztcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjNzY1QkE3O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMC4xODc1cmVtIDAuMzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4xNik7IH1cbiAgLmJ1dHRvbi5xdWVzdGlvbi1jdGE6YWZ0ZXIge1xuICAgIHdpZHRoOiAxLjE4NzVyZW07XG4gICAgaGVpZ2h0OiAxLjE4NzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBjb250ZW50OiBcIlxcZTkxNlwiO1xuICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogIzc2NUJBNztcbiAgICBmb250LXNpemU6IDAuNTYyNXJlbTsgfVxuICAuYnV0dG9uLnF1ZXN0aW9uLWN0YTpob3ZlcjphZnRlciB7XG4gICAgY29sb3I6ICM3NjVCQTc7XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4jd3BhZG1pbmJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4ud3AtYmxvY2stYnV0dG9ucyAud3AtYmxvY2stYnV0dG9uIHtcbiAgbWFyZ2luOiAwIDAgMS44NzVyZW0gMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLndwLWJsb2NrLWJ1dHRvbnMgLndwLWJsb2NrLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIC53cC1ibG9jay1idXR0b25zIC53cC1ibG9jay1idXR0b24gLndwLWVsZW1lbnQtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1cmVtO1xuICAgIHBhZGRpbmc6IDAuNDM3NXJlbSAxLjU2MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMS4yNXJlbTtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjNzY1QkE3O1xuICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAud3AtYmxvY2stYnV0dG9ucyAud3AtYmxvY2stYnV0dG9uIC53cC1lbGVtZW50LWJ1dHRvbjpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbnMgLndwLWJsb2NrLWJ1dHRvbiAud3AtZWxlbWVudC1idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzc2NUJBNztcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYm94LXNoYWRvdzogMCAwLjE4NzVyZW0gMC4zNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjE2KTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucGFnZS1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNzUuNjI1cmVtO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cblxuLnBhZ2UtY29udGFpbmVyID4gLndwLWJsb2NrLWJ1dHRvbnMge1xuICBtYXJnaW46IDEuNTYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLWNvbnRhaW5lciA+IC53cC1ibG9jay1idXR0b25zIHtcbiAgICAgIG1hcmdpbjogMS4yNXJlbSAwOyB9IH1cblxuLnBhZ2UtY29udGFpbmVyID4gcCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjU2MjVyZW07XG4gIG1hcmdpbi1yaWdodDogMS41NjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhZ2UtY29udGFpbmVyID4gcCB7XG4gICAgICBtYXgtd2lkdGg6IDY4LjYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLnBhZ2UtY29udGFpbmVyID4gdWwge1xuICBtYXJnaW4tbGVmdDogMS41NjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDEuNTYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLWNvbnRhaW5lciA+IHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLnBhZ2UtY29udGFpbmVyID4gaDEsIC5wYWdlLWNvbnRhaW5lciA+IGgyLCAucGFnZS1jb250YWluZXIgPiBoMywgLnBhZ2UtY29udGFpbmVyID4gaDQsIC5wYWdlLWNvbnRhaW5lciA+IGg1LCAucGFnZS1jb250YWluZXIgPiBoNiB7XG4gIG1hcmdpbi1sZWZ0OiAxLjU2MjVyZW07XG4gIG1hcmdpbi1yaWdodDogMS41NjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhZ2UtY29udGFpbmVyID4gaDEsIC5wYWdlLWNvbnRhaW5lciA+IGgyLCAucGFnZS1jb250YWluZXIgPiBoMywgLnBhZ2UtY29udGFpbmVyID4gaDQsIC5wYWdlLWNvbnRhaW5lciA+IGg1LCAucGFnZS1jb250YWluZXIgPiBoNiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLmZhdm91cml0ZXMtaWNvbiB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAyLjVyZW07IH1cbiAgLmZhdm91cml0ZXMtaWNvbiBhLnRvb2wtdGlwIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjgxMjVyZW07XG4gICAgcGFkZGluZzogMCAwLjYyNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogMS44MTI1cmVtO1xuICAgIGJveC1zaGFkb3c6IDAgMC4xODc1cmVtIDAuMzEyNXJlbSAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMi4xODc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgLmZhdm91cml0ZXMtaWNvbjpob3ZlciB7XG4gICAgbWluLXdpZHRoOiAxMi4xODc1cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDMuODEyNXJlbTsgfVxuICAgIC5mYXZvdXJpdGVzLWljb246aG92ZXIgYS50b29sLXRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc2luZ2xlLWl0ZW0tdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNpbmdsZS1pdGVtLXRpdGxlIC5mYXZvdXJpdGVzLWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IC0yLjVyZW07IH1cblxuLmFkZC10by1mYXZvcml0ZSB7XG4gIGhlaWdodDogMS45Mzc1cmVtO1xuICB3aWR0aDogMS45Mzc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBib3JkZXI6IDJweCBzb2xpZCAjNzY1QkE3O1xuICBjb2xvcjogIzc2NUJBNztcbiAgbGluZS1oZWlnaHQ6IDEuOTM3NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmFkZC10by1mYXZvcml0ZSBpIHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gIC5hZGQtdG8tZmF2b3JpdGUubGlnaHQge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAuYWRkLXRvLWZhdm9yaXRlLmxpZ2h0OmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5hZGQtdG8tZmF2b3JpdGU6aG92ZXIge1xuICAgIGNvbG9yOiAjNzY1QkE3OyB9XG5cbi5ibG9jay1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtO1xuICBiYWNrZ3JvdW5kOiAjRjBFRUY2O1xuICBib3JkZXItcmFkaXVzOiAwIDEuMzc1cmVtIDEuMzc1cmVtIDA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwIDQuMzc1cmVtIDAgMDtcbiAgaGVpZ2h0OiAyLjY4NzVyZW07XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDYyNXJlbTtcbiAgY29sb3I6ICM1MzM5ODY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYmxvY2stbGFiZWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTEyNXJlbTtcbiAgICB3aWR0aDogMTI1cmVtO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogI0YwRUVGNjsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXBsYWluIC5icmVhZGNydW1icy13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDMuNzVyZW07IH1cblxuLmJ1dHRvbnMtd3JhcHBlciBhIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAuYnV0dG9ucy13cmFwcGVyIGE6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuaDEge1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDIuNDM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuOTM3NXJlbTtcbiAgYmFja2dyb3VuZDogIzc2NUJBNztcbiAgY29sb3I6ICNmZmY7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDQuMTg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1cmVtOyB9IH1cblxuaDIge1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDIuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMi44MTI1cmVtO1xuICBjb2xvcjogIzc2NUJBNzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4zNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMy4yNXJlbTsgfSB9XG5cbmgzIHtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxLjY4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjA2MjVyZW07XG4gIGNvbG9yOiAjNzY1QkE3OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAyLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjg3NXJlbTsgfSB9XG5cbmg0IHtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjE4NzVyZW07XG4gIGNvbG9yOiAjNzY1QkE3OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgaDQge1xuICAgICAgZm9udC1zaXplOiAxLjgxMjVyZW07IH0gfVxuXG5oNSB7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gIGNvbG9yOiAjNzY1QkE3OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgaDUge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS45Mzc1cmVtOyB9IH1cblxuaDYge1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zNzVyZW07IH1cblxucCB7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xuICBjb2xvcjogIzE4MjAyQzsgfVxuICBwLmhhcy1zbWFsbC1mb250LXNpemUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS44MTI1cmVtOyB9XG4gIHAgYSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM3NjVCQTc7IH1cbiAgICBwIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICM3NjVCQTc7XG4gICAgICBib3JkZXItY29sb3I6ICM3NjVCQTc7IH1cblxudWwsIG9sIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICB1bCBsaSwgb2wgbGkge1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07IH1cbiAgICB1bCBsaTpiZWZvcmUsIG9sIGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIuKAolwiO1xuICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7IH1cbiAgdWwubm8tYnVsbGV0cyBsaSwgb2wubm8tYnVsbGV0cyBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgdWwubm8tYnVsbGV0cyBsaTpiZWZvcmUsIG9sLm5vLWJ1bGxldHMgbGk6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdWwudGhyZWUtY29scywgb2wudGhyZWUtY29scyB7XG4gICAgY29sdW1uczogMztcbiAgICAtd2Via2l0LWNvbHVtbnM6IDM7XG4gICAgLW1vei1jb2x1bW5zOiAzOyB9XG5cbmEge1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzAwMDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM3NjVCQTc7IH1cbiAgYTpob3ZlciB7XG4gICAgY29sb3I6ICM3NjVCQTc7XG4gICAgYm9yZGVyLWNvbG9yOiAjNzY1QkE3OyB9XG5cbi53cC1ibG9jay1oZWFkaW5nIHtcbiAgbWFyZ2luOiAzLjEyNXJlbSAwIDEuODc1cmVtIDA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaWNvbW9vbi5lb3Q/czByMjhxMlwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9pY29tb29uLmVvdD9zMHIyOHEyI2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9pY29tb29uLndvZmYyP3MwcjI4cTJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2ljb21vb24udHRmP3MwcjI4cTJcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2ljb21vb24ud29mZj9zMHIyOHEyXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2ljb21vb24uc3ZnP3MwcjI4cTIjaWNvbW9vblwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBibG9jazsgfVxuXG5bY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBuZXZlcjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLmljb24tZXh0ZXJuYWwtbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxYVwiOyB9XG5cbi5pY29uLXBhdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTE5XCI7IH1cblxuLmljb24tZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTdcIjsgfVxuXG4uaWNvbi1hcnJvdy1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMFwiOyB9XG5cbi5pY29uLWFycm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAxXCI7IH1cblxuLmljb24tYXR0YWNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAyXCI7IH1cblxuLmljb24tY2hldi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAzXCI7IH1cblxuLmljb24tY2hldi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNFwiOyB9XG5cbi5pY29uLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA1XCI7IH1cblxuLmljb24taGVhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDZcIjsgfVxuXG4uaWNvbi1pbmZvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA3XCI7IH1cblxuLmljb24tcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwOFwiOyB9XG5cbi5pY29uLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDlcIjsgfVxuXG4uaWNvbi1yb3VuZC1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBhXCI7IH1cblxuLmljb24tcm91bmQtYXJyb3ctdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGJcIjsgfVxuXG4uaWNvbi1zaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwY1wiOyB9XG5cbi5pY29uLXlvdXR1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGRcIjsgfVxuXG4uaWNvbi1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwZVwiOyB9XG5cbi5pY29uLXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGZcIjsgfVxuXG4uaWNvbi1pbnN0YWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTBcIjsgfVxuXG4uaWNvbi1saW5rZWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxMVwiOyB9XG5cbi5pY29uLW5ld3NsZXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTJcIjsgfVxuXG4uaWNvbi1jaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTEzXCI7IH1cblxuLmljb24tcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTRcIjsgfVxuXG4uaWNvbi1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTVcIjsgfVxuXG4uaWNvbi1xdWVzdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNlwiOyB9XG5cbi5pY29uLWhlYXJ0LWZpbGxlZDpiZWZvcmUsXG4uZmF2b3VyaXRlZCAuaWNvbi1oZWFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxOFwiOyB9XG5cbmJvZHkuaGlnaC1jb250cmFzdCA+ICoge1xuICBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKSBjb250cmFzdCgxMDAlKTsgfVxuICBib2R5LmhpZ2gtY29udHJhc3QgPiAqIGltZyB7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTtcbiAgICAvKiBTYWZhcmkgNi4wIC0gOS4wICovXG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7IH1cblxuYm9keS5sb3ctY29udHJhc3QgPiAqIHtcbiAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSkgY29udHJhc3QoNTAlKTsgfVxuICBib2R5Lmxvdy1jb250cmFzdCA+ICogaW1nIHtcbiAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xuICAgIC8qIFNhZmFyaSA2LjAgLSA5LjAgKi9cbiAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTsgfVxuXG4uYnJlYWRjcnVtYnMtd3JhcHBlciB7XG4gIG1heC13aWR0aDogNzUuNjI1cmVtO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uYnJlYWRjcnVtYnMgPiBzcGFuLFxuLnlvYXN0LWJyZWFkY3J1bWJzID4gc3BhbiB7XG4gIGNvbG9yOiAjMzMzQzQyOyB9XG4gIC5icmVhZGNydW1icyA+IHNwYW4gPiBzcGFuLFxuICAueW9hc3QtYnJlYWRjcnVtYnMgPiBzcGFuID4gc3BhbiB7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY29sb3I6ICMzMzNDNDI7XG4gICAgcGFkZGluZzogMCAwLjYyNXJlbSAwIDAuNjI1cmVtOyB9XG4gICAgLmJyZWFkY3J1bWJzID4gc3BhbiA+IHNwYW4gYSxcbiAgICAueW9hc3QtYnJlYWRjcnVtYnMgPiBzcGFuID4gc3BhbiBhIHtcbiAgICAgIGNvbG9yOiAjMzMzQzQyO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAuYnJlYWRjcnVtYnMgPiBzcGFuID4gc3Bhbi5icmVhZGNydW1iX2xhc3QsXG4gICAgLnlvYXN0LWJyZWFkY3J1bWJzID4gc3BhbiA+IHNwYW4uYnJlYWRjcnVtYl9sYXN0IHtcbiAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW0gMCAwLjYyNXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmJyZWFkY3J1bWJzID4gc3BhbiA+IHNwYW46Zmlyc3QtY2hpbGQsXG4gICAgLnlvYXN0LWJyZWFkY3J1bWJzID4gc3BhbiA+IHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5hY2NvcmRpb24td3JhcHBlci50aGVtZS0xIC5hY2NvcmRpb24ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItdG9wOiA0LjVweCBzb2xpZCAjMTczNzY2OyB9XG4gIC5hY2NvcmRpb24td3JhcHBlci50aGVtZS0xIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzE3Mzc2NjsgfVxuICAgIC5hY2NvcmRpb24td3JhcHBlci50aGVtZS0xIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY29sb3I6ICMxNzM3NjY7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtIDEuODc1cmVtIDEuMjVyZW0gMDsgfVxuICAgICAgLmFjY29yZGlvbi13cmFwcGVyLnRoZW1lLTEgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi13cmFwcGVyLnRoZW1lLTEgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmFjY29yZGlvbi13cmFwcGVyLnRoZW1lLTEgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlOTBiXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicsIHNhbnMtc2VyaWY7XG4gICAgICAgIGNvbG9yOiAjMTczNzY2O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB0b3A6IDEuNTYyNXJlbTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNDQ0YwRjc7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLmFjY29yZGlvbi13cmFwcGVyLnRoZW1lLTEgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwIDAgMS44NzVyZW0gMDsgfVxuICAgICAgLmFjY29yZGlvbi13cmFwcGVyLnRoZW1lLTEgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgICAgICBjb2xvcjogIzE4MjAyQzsgfVxuICAgIC5hY2NvcmRpb24td3JhcHBlci50aGVtZS0xIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAgIC5hY2NvcmRpb24td3JhcHBlci50aGVtZS0xIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMC4wOTM3NXJlbTsgfVxuXG4uYWNjb3JkaW9uLXdyYXBwZXIudGhlbWUtMiAuYWNjb3JkaW9uIHtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAuYWNjb3JkaW9uLXdyYXBwZXIudGhlbWUtMiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSB7XG4gICAgYm9yZGVyLXJhZGl1czogMC42ODc1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAuYWNjb3JkaW9uLXdyYXBwZXIudGhlbWUtMiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAjMTczNzY2O1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmc6IDEuNjg3NXJlbSAyLjVyZW0gMS42ODc1cmVtIDQuNXJlbTsgfVxuICAgICAgLmFjY29yZGlvbi13cmFwcGVyLnRoZW1lLTIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSBzcGFuIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICBjb2xvcjogIzE4MjAyQzsgfVxuICAgICAgLmFjY29yZGlvbi13cmFwcGVyLnRoZW1lLTIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi13cmFwcGVyLnRoZW1lLTIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmFjY29yZGlvbi13cmFwcGVyLnRoZW1lLTIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlOTBiXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicsIHNhbnMtc2VyaWY7XG4gICAgICAgIGNvbG9yOiAjMTczNzY2O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB0b3A6IDJyZW07XG4gICAgICAgIGxlZnQ6IDAuODEyNXJlbTtcbiAgICAgICAgd2lkdGg6IDJyZW07XG4gICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogI0NDRjBGNztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuYWNjb3JkaW9uLXdyYXBwZXIudGhlbWUtMiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDIuNXJlbSAxLjg3NXJlbSA0LjVyZW07IH1cbiAgICAgIC5hY2NvcmRpb24td3JhcHBlci50aGVtZS0yIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICAgICAgY29sb3I6ICMxODIwMkM7IH1cbiAgICAgIC5hY2NvcmRpb24td3JhcHBlci50aGVtZS0yIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAudGFibGUgdGFibGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgICAgIC5hY2NvcmRpb24td3JhcHBlci50aGVtZS0yIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAudGFibGUgdGFibGUgdGhlYWQge1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNzA3MDcwOyB9XG4gICAgICAgICAgLmFjY29yZGlvbi13cmFwcGVyLnRoZW1lLTIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC50YWJsZSB0YWJsZSB0aGVhZCB0ciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgICAgICAgICAuYWNjb3JkaW9uLXdyYXBwZXIudGhlbWUtMiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmxlIHRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDIuODEyNXJlbSAwO1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgICAgICAgY29sb3I6ICMxODIwMkM7IH1cbiAgICAgICAgICAgICAgLmFjY29yZGlvbi13cmFwcGVyLnRoZW1lLTIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC50YWJsZSB0YWJsZSB0aGVhZCB0ciB0aDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzE3Mzc2NjsgfVxuICAgICAgICAuYWNjb3JkaW9uLXdyYXBwZXIudGhlbWUtMiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmxlIHRhYmxlIHRib2R5IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgICAgIC5hY2NvcmRpb24td3JhcHBlci50aGVtZS0yIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAudGFibGUgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgICAgICAgICAgLmFjY29yZGlvbi13cmFwcGVyLnRoZW1lLTIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC50YWJsZSB0YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMTgyMDJDO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAwO1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzE3Mzc2NjtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAgICAgICAgICAgLmFjY29yZGlvbi13cmFwcGVyLnRoZW1lLTIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC50YWJsZSB0YWJsZSB0Ym9keSB0ciB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgICAgICAgICAgLmFjY29yZGlvbi13cmFwcGVyLnRoZW1lLTIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC50YWJsZSB0YWJsZSB0Ym9keSB0ciB0ZCBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzE4MjAyQztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgICAgICAgICAuYWNjb3JkaW9uLXdyYXBwZXIudGhlbWUtMiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmxlIHRhYmxlIHRib2R5IHRyIHRkIGE6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgY29udGVudDogJysnO1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgICAgICAgICAgICAgLmFjY29yZGlvbi13cmFwcGVyLnRoZW1lLTIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC50YWJsZSB0YWJsZSB0Ym9keSB0ciB0ZCBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMTgyMDJDOyB9XG4gICAgLmFjY29yZGlvbi13cmFwcGVyLnRoZW1lLTIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgICAgLmFjY29yZGlvbi13cmFwcGVyLnRoZW1lLTIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGU5MGFcIjtcbiAgICAgICAgZm9udC1zaXplOiAwLjA5Mzc1cmVtOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3Rpb24gLnNlbGVjdDItc2VsZWN0aW9uIHtcbiAgICBoZWlnaHQ6IDMuMDYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxLjU2MjVyZW07XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjNzY1QkE3O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgMS4yNXJlbTtcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdGlvbiAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAwIDEuNTYyNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAzLjg3NXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMS45Mzc1cmVtOyB9IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdGlvbiAuc2VsZWN0Mi1zZWxlY3Rpb24gLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgICByaWdodDogMS4yNXJlbTtcbiAgICAgIHRvcDogMC42MjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0aW9uIC5zZWxlY3QyLXNlbGVjdGlvbiAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICAgICAgICByaWdodDogMi41cmVtO1xuICAgICAgICAgIHRvcDogMXJlbTsgfSB9XG4gICAgICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdGlvbiAuc2VsZWN0Mi1zZWxlY3Rpb24gLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdzphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7IH1cbiAgICAgIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0aW9uIC5zZWxlY3QyLXNlbGVjdGlvbiAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IGIge1xuICAgICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdGlvbiAuc2VsZWN0Mi1zZWxlY3Rpb25bYXJpYS1leHBhbmRlZD1cInRydWVcIl0gLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdzphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItZHJvcGRvd24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDEuODc1cmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7XG4gICAgYm94LXNoYWRvdzogMCAwLjE4NzVyZW0gMC4zNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjE2KTtcbiAgICB0b3A6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmc6IDIuMTg3NXJlbSAwOyB9XG4gICAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWRyb3Bkb3duIC5zZWxlY3QyLXJlc3VsdHMgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgICAgYmFja2dyb3VuZDogIzc2NUJBNztcbiAgICAgIHBhZGRpbmc6IDEuMDYyNXJlbSAxLjU2MjVyZW07XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWRyb3Bkb3duIC5zZWxlY3QyLXJlc3VsdHMgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb246aG92ZXIsIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1kcm9wZG93biAuc2VsZWN0Mi1yZXN1bHRzIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWRyb3Bkb3duIC5zZWxlY3QyLXJlc3VsdHMgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24uc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWRyb3Bkb3duIC5zZWxlY3QyLXJlc3VsdHMgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb246YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1kcm9wZG93bi5zZWxlY3QyLWRyb3Bkb3duLS1hYm92ZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAxLjg3NXJlbSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXRvcDogLTEuMjVyZW07IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogMS45Mzc1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLWRyb3Bkb3duLS1iZWxvdyB7XG4gICAgYm9yZGVyLXJhZGl1czogMS45Mzc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLndwLWJsb2NrLXF1b3RlIHtcbiAgcGFkZGluZzogMS44NzVyZW0gMi41cmVtIDEuMjVyZW0gMi41cmVtO1xuICBib3JkZXItcmFkaXVzOiAyLjE4NzVyZW07XG4gIGJhY2tncm91bmQ6ICNFQUY5RkM7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAxLjg3NXJlbSAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAud3AtYmxvY2stcXVvdGUge1xuICAgICAgbWFyZ2luOiAzLjc1cmVtIDA7IH0gfVxuICAud3AtYmxvY2stcXVvdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwZVwiO1xuICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICMxNzM3NjY7XG4gICAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAud3AtYmxvY2stcXVvdGU6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjVyZW07IH0gfVxuICAud3AtYmxvY2stcXVvdGUgcCB7XG4gICAgY29sb3I6ICMxNzM3NjY7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY4NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLndwLWJsb2NrLXF1b3RlIHAge1xuICAgICAgICBmb250LXNpemU6IDEuODEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMzEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCB7XG4gIC53cC1ibG9jay1xdW90ZSB7XG4gICAgYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICBtYXJnaW46IDAuNjI1cmVtIDA7IH0gfVxuXG4ubmV3c2xldHRlci1zaWdudXAge1xuICBiYWNrZ3JvdW5kOiAjMDA4MDlBO1xuICBwYWRkaW5nOiAyLjVyZW0gMS41NjI1cmVtO1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm5ld3NsZXR0ZXItc2lnbnVwIHtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5uZXdzbGV0dGVyLXNpZ251cCAubmV3c2xldHRlci1zaWdudXAtaW5uZXIge1xuICAgICAgbWF4LXdpZHRoOiA3NS42MjVyZW07XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgLm5ld3NsZXR0ZXItc2lnbnVwIC5uZXdzbGV0dGVyLXNpZ251cC1pbm5lciAuaWNvbi13cmFwcGVyIHtcbiAgICB3aWR0aDogNC40Mzc1cmVtO1xuICAgIGhlaWdodDogNC40Mzc1cmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGJvcmRlcjogNHB4IHNvbGlkICNGRkZGRkY7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIDAgMS41NjI1cmVtIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm5ld3NsZXR0ZXItc2lnbnVwIC5uZXdzbGV0dGVyLXNpZ251cC1pbm5lciAuaWNvbi13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDUuMzc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDUuMzc1cmVtO1xuICAgICAgICBtYXJnaW46IDAgMS41NjI1cmVtIDAgMDsgfSB9XG4gICAgLm5ld3NsZXR0ZXItc2lnbnVwIC5uZXdzbGV0dGVyLXNpZ251cC1pbm5lciAuaWNvbi13cmFwcGVyIGkge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDEuNzVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5uZXdzbGV0dGVyLXNpZ251cCAubmV3c2xldHRlci1zaWdudXAtaW5uZXIgLmljb24td3JhcHBlciBpIHtcbiAgICAgICAgICBmb250LXNpemU6IDJyZW07IH0gfVxuICAubmV3c2xldHRlci1zaWdudXAgLm5ld3NsZXR0ZXItc2lnbnVwLWlubmVyIC5uZXdzbGV0dGVyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMCAwIDEuODc1cmVtIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm5ld3NsZXR0ZXItc2lnbnVwIC5uZXdzbGV0dGVyLXNpZ251cC1pbm5lciAubmV3c2xldHRlci10aXRsZSB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBtYXJnaW46IDAgNi44NzVyZW0gMCAwOyB9IH1cbiAgICAubmV3c2xldHRlci1zaWdudXAgLm5ld3NsZXR0ZXItc2lnbnVwLWlubmVyIC5uZXdzbGV0dGVyLXRpdGxlIGg0IHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5uZXdzbGV0dGVyLXNpZ251cCAubmV3c2xldHRlci1zaWdudXAtaW5uZXIgLm5ld3NsZXR0ZXItZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1yaWdodDogMi41cmVtOyB9XG4gICAgLm5ld3NsZXR0ZXItc2lnbnVwIC5uZXdzbGV0dGVyLXNpZ251cC1pbm5lciAubmV3c2xldHRlci1kZXNjcmlwdGlvbiBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLm5ld3NsZXR0ZXItc2lnbnVwIC5uZXdzbGV0dGVyLXNpZ251cC1pbm5lciAubmV3c2xldHRlci1jdGEge1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGxlZnQgMC4zczsgfVxuICAgIC5uZXdzbGV0dGVyLXNpZ251cCAubmV3c2xldHRlci1zaWdudXAtaW5uZXIgLm5ld3NsZXR0ZXItY3RhIHNwYW4ge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAubmV3c2xldHRlci1zaWdudXA6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwMjdCOTM7IH1cbiAgICAubmV3c2xldHRlci1zaWdudXA6aG92ZXIgLm5ld3NsZXR0ZXItc2lnbnVwLWlubmVyIC5uZXdzbGV0dGVyLWN0YSB7XG4gICAgICBsZWZ0OiAwLjkzNzVyZW07IH1cblxuLmNhcmQge1xuICBib3JkZXI6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDEuODc1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAxOyB9XG4gIC5jYXJkID4gaW1nIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJkID4gaW1nIHtcbiAgICAgICAgaW5zZXQ6IDA7IH0gfVxuICAuY2FyZCAuY2FyZC1pbmZvIHtcbiAgICB6LWluZGV4OiA1OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJkIC5jYXJkLWluZm8ge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogMDsgfSB9XG4gICAgLmNhcmQgLmNhcmQtaW5mbyAuY2FyZC1pbmZvLWlubmVyIHtcbiAgICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAxLjg3NXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNhcmQgLmNhcmQtaW5mbyAuY2FyZC1pbmZvLWlubmVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAyLjgxMjVyZW0gMy4xMjVyZW07IH0gfVxuICAgICAgLmNhcmQgLmNhcmQtaW5mbyAuY2FyZC1pbmZvLWlubmVyIGgyLCAuY2FyZCAuY2FyZC1pbmZvIC5jYXJkLWluZm8taW5uZXIgaDMsIC5jYXJkIC5jYXJkLWluZm8gLmNhcmQtaW5mby1pbm5lciBoNCwgLmNhcmQgLmNhcmQtaW5mbyAuY2FyZC1pbmZvLWlubmVyIGg1LCAuY2FyZCAuY2FyZC1pbmZvIC5jYXJkLWluZm8taW5uZXIgcCB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jYXJkIC5jYXJkLWluZm8gLmNhcmQtaW5mby1pbm5lciAuY2FyZC1jdGEge1xuICAgICAgICB3aWR0aDogMi4xMjVyZW07XG4gICAgICAgIGhlaWdodDogMi4xMjVyZW07XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxLjI1cmVtO1xuICAgICAgICB0b3A6IDEwcmVtO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLmNhcmQgLmNhcmQtaW5mbyAuY2FyZC1pbmZvLWlubmVyIC5jYXJkLWN0YSB7XG4gICAgICAgICAgICB3aWR0aDogMi42ODc1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjY4NzVyZW07XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICByaWdodDogMS41NjI1cmVtO1xuICAgICAgICAgICAgYm90dG9tOiAxLjU2MjVyZW07IH0gfVxuICAgICAgICAuY2FyZCAuY2FyZC1pbmZvIC5jYXJkLWluZm8taW5uZXIgLmNhcmQtY3RhIGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG4gIC5jYXJkLnB1cnBsZSB7XG4gICAgYmFja2dyb3VuZDogIzc2NUJBNzsgfVxuICAgIC5jYXJkLnB1cnBsZSAuY2FyZC1pbmZvIHtcbiAgICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7IH1cbiAgLmNhcmQucGluayB7XG4gICAgYmFja2dyb3VuZDogI0M0NDM2ODsgfVxuICAgIC5jYXJkLnBpbmsgLmNhcmQtaW5mbyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjQzQ0MzY4OyB9XG4gIC5jYXJkLnRlYWwge1xuICAgIGJhY2tncm91bmQ6ICMwMDgwOUE7IH1cbiAgICAuY2FyZC50ZWFsIC5jYXJkLWluZm8ge1xuICAgICAgYmFja2dyb3VuZDogIzAwODA5QTsgfVxuICAuY2FyZC50cmFuc3BhcmVudCAuY2FyZC1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNDQpOyB9XG4gIC5jYXJkLmZ1bGxfdHJhbnNwYXJlbnQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTQpO1xuICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgICB6LWluZGV4OiAzOyB9XG4gIC5jYXJkLmZ1bGxfdHJhbnNwYXJlbnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMCwgMCwgMCwgMC43NykgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICAgIHotaW5kZXg6IDQ7XG4gICAgaGVpZ2h0OiAxNC44MTI1cmVtOyB9XG4gIC5jYXJkLnRyYW5zcGFyZW50ID4gaW1nLCAuY2FyZC5mdWxsX3RyYW5zcGFyZW50ID4gaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgei1pbmRleDogMjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhcmQudHJhbnNwYXJlbnQgPiBpbWcsIC5jYXJkLmZ1bGxfdHJhbnNwYXJlbnQgPiBpbWcge1xuICAgICAgICBpbnNldDogMDsgfSB9XG4gIC5jYXJkLnRyYW5zcGFyZW50IC5jYXJkLWluZm8sIC5jYXJkLmZ1bGxfdHJhbnNwYXJlbnQgLmNhcmQtaW5mbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTEuNzVyZW07XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogNTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2FyZC50cmFuc3BhcmVudCAuY2FyZC1pbmZvLCAuY2FyZC5mdWxsX3RyYW5zcGFyZW50IC5jYXJkLWluZm8ge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogMDsgfSB9XG4gIC5jYXJkOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAuMTg3NXJlbSAwLjM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMzEpOyB9XG4gICAgLmNhcmQ6aG92ZXIgPiBpbWcge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuICAgIC5jYXJkOmhvdmVyIC5jYXJkLWluZm8gLmNhcmQtaW5mby1pbm5lciAuY2FyZC1jdGEge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgIC5jYXJkOmhvdmVyLnB1cnBsZSAuY2FyZC1pbmZvLWlubmVyIC5jYXJkLWN0YSB7XG4gICAgICBjb2xvcjogIzc2NUJBNzsgfVxuICAgIC5jYXJkOmhvdmVyLnBpbmsgLmNhcmQtaW5mby1pbm5lciAuY2FyZC1jdGEge1xuICAgICAgY29sb3I6ICNDNDQzNjg7IH1cbiAgICAuY2FyZDpob3Zlci50ZWFsIC5jYXJkLWluZm8taW5uZXIgLmNhcmQtY3RhIHtcbiAgICAgIGNvbG9yOiAjMDA4MDlBOyB9XG4gICAgLmNhcmQ6aG92ZXIudHJhbnNwYXJlbnQgLmNhcmQtaW5mby1pbm5lciAuY2FyZC1jdGEsIC5jYXJkOmhvdmVyLmZ1bGxfdHJhbnNwYXJlbnQgLmNhcmQtaW5mby1pbm5lciAuY2FyZC1jdGEge1xuICAgICAgY29sb3I6ICMwMDA7IH1cblxuLmhlbHAtbWVudSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaGVscC1tZW51IC5oZWxwLW1lbnUtdG9nZ2xlIHtcbiAgICBoZWlnaHQ6IDMuMDYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi42MjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjNzY1QkE3O1xuICAgIGJvcmRlci1yYWRpdXM6IDEuNTYyNXJlbTtcbiAgICBwYWRkaW5nOiAwIDEuMjVyZW0gMCAxLjU2MjVyZW07XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5oZWxwLW1lbnUgLmhlbHAtbWVudS10b2dnbGUge1xuICAgICAgICBwYWRkaW5nOiAwIDIuNXJlbSAwIDIuODEyNXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMi42MjVyZW07XG4gICAgICAgIGhlaWdodDogNC40Mzc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogNC40Mzc1cmVtOyB9IH1cbiAgICAuaGVscC1tZW51IC5oZWxwLW1lbnUtdG9nZ2xlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG4gICAgICBmb250LWZhbWlseTogJ2ljb21vb24nLCBzYW5zLXNlcmlmO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDEuMjVyZW07XG4gICAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgICAgY29sb3I6ICM3NjVCQTc7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBsaW5lYXI7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuaGVscC1tZW51IC5oZWxwLW1lbnUtdG9nZ2xlOmFmdGVyIHtcbiAgICAgICAgICByaWdodDogMS44NzVyZW07IH0gfVxuICAgIC5oZWxwLW1lbnUgLmhlbHAtbWVudS10b2dnbGUuaG92ZXI6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgLmhlbHAtbWVudSAuZHJvcGRvd24tcGFuZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMS41NjI1cmVtO1xuICAgIG1hcmdpbi10b3A6IDAuNzVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzc2NUJBNztcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogIzc2NUJBNztcbiAgICB0b3A6IDIuNjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmhlbHAtbWVudSAuZHJvcGRvd24tcGFuZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIuNjI1cmVtO1xuICAgICAgICB3aWR0aDogMzMuODc1cmVtO1xuICAgICAgICB0b3A6IDMuODc1cmVtICFpbXBvcnRhbnQ7IH0gfVxuICAgIC5oZWxwLW1lbnUgLmRyb3Bkb3duLXBhbmUgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5oZWxwLW1lbnUgLmRyb3Bkb3duLXBhbmUgdWwgbGkge1xuICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMS41NjI1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLmhlbHAtbWVudSAuZHJvcGRvd24tcGFuZSB1bCBsaSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMi44MTI1cmVtOyB9IH1cbiAgICAgICAgLmhlbHAtbWVudSAuZHJvcGRvd24tcGFuZSB1bCBsaSBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAycmVtOyB9XG4gICAgICAgIC5oZWxwLW1lbnUgLmRyb3Bkb3duLXBhbmUgdWwgbGk6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAgICAgICAuaGVscC1tZW51IC5kcm9wZG93bi1wYW5lIHVsIGxpOmhvdmVyIGEge1xuICAgICAgICAgICAgY29sb3I6ICM3NjVCQTc7IH1cblxuYm9keS5maXhlZC1oZWFkZXIgaGVhZGVyLmxhbmRpbmcgLmhlYWRlci1pbm5lciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgYm9keS5maXhlZC1oZWFkZXIgaGVhZGVyLmxhbmRpbmcgLmhlYWRlci1pbm5lciAuaGVhZGVyLXJpZ2h0LXNpZGUgLmhlYWRlci1yaWdodC10b3Atc2lkZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG5ib2R5LnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAuaGVhZGVyIC5oZWFkZXItaW5uZXIgLmhlYWRlci1yaWdodC1zaWRlIC5oZWFkZXItcmlnaHQtYm90dG9tLXNpZGUgLmhhbWJ1cmdlci1tZW51IC50b2dnbGUtbWVudSBzcGFuIHtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG5ib2R5Om5vdCguaG9tZSkgLmhlYWRlciwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLmhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwOyB9XG4gIGJvZHk6bm90KC5ob21lKSAuaGVhZGVyIC5oZWFkZXItaW5uZXIsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC5oZWFkZXIgLmhlYWRlci1pbm5lciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIGJvZHk6bm90KC5ob21lKSAuaGVhZGVyIC5oZWFkZXItaW5uZXIgLmxvZ28gLmNvbG9yLWxvZ28sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC5oZWFkZXIgLmhlYWRlci1pbm5lciAubG9nbyAuY29sb3ItbG9nbyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgYm9keTpub3QoLmhvbWUpIC5oZWFkZXIgLmhlYWRlci1pbm5lciAubG9nbyAud2hpdGUtbG9nbywgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLmhlYWRlciAuaGVhZGVyLWlubmVyIC5sb2dvIC53aGl0ZS1sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgYm9keTpub3QoLmhvbWUpIC5oZWFkZXIgLmhlYWRlci1pbm5lciAuaGVhZGVyLXJpZ2h0LXNpZGUgLmhlYWRlci1yaWdodC10b3Atc2lkZSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLmhlYWRlciAuaGVhZGVyLWlubmVyIC5oZWFkZXItcmlnaHQtc2lkZSAuaGVhZGVyLXJpZ2h0LXRvcC1zaWRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuYm9keTpub3QoLmhvbWUpLmZpeGVkLWhlYWRlciAuaGVhZGVyLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cy5maXhlZC1oZWFkZXIgLmhlYWRlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Nik7IH1cbiAgYm9keTpub3QoLmhvbWUpLmZpeGVkLWhlYWRlciAuaGVhZGVyIC5oZWFkZXItaW5uZXIsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzLmZpeGVkLWhlYWRlciAuaGVhZGVyIC5oZWFkZXItaW5uZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBib2R5Om5vdCguaG9tZSkuZml4ZWQtaGVhZGVyIC5oZWFkZXIgLmhlYWRlci1pbm5lciAubG9nbywgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMuZml4ZWQtaGVhZGVyIC5oZWFkZXIgLmhlYWRlci1pbm5lciAubG9nbyB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIGJvZHk6bm90KC5ob21lKS5maXhlZC1oZWFkZXIgLmhlYWRlciAuaGVhZGVyLWlubmVyIC5sb2dvIC5jb2xvci1sb2dvLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cy5maXhlZC1oZWFkZXIgLmhlYWRlciAuaGVhZGVyLWlubmVyIC5sb2dvIC5jb2xvci1sb2dvIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIGJvZHk6bm90KC5ob21lKS5maXhlZC1oZWFkZXIgLmhlYWRlciAuaGVhZGVyLWlubmVyIC5sb2dvIC53aGl0ZS1sb2dvLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cy5maXhlZC1oZWFkZXIgLmhlYWRlciAuaGVhZGVyLWlubmVyIC5sb2dvIC53aGl0ZS1sb2dvIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIGJvZHk6bm90KC5ob21lKS5maXhlZC1oZWFkZXIgLmhlYWRlciAuaGVhZGVyLWlubmVyIC5oZWFkZXItcmlnaHQtc2lkZSAuaGVhZGVyLXJpZ2h0LWJvdHRvbS1zaWRlIC5oYW1idXJnZXItbWVudSAudG9nZ2xlLW1lbnUgc3BhbiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMuZml4ZWQtaGVhZGVyIC5oZWFkZXIgLmhlYWRlci1pbm5lciAuaGVhZGVyLXJpZ2h0LXNpZGUgLmhlYWRlci1yaWdodC1ib3R0b20tc2lkZSAuaGFtYnVyZ2VyLW1lbnUgLnRvZ2dsZS1tZW51IHNwYW4ge1xuICAgICAgYmFja2dyb3VuZDogIzc2NUJBNzsgfVxuXG5ib2R5LnNpbmdsZTpub3QoLnNpbmdsZS10cmliZV9ldmVudHMpIC5oZWFkZXIgLmhlYWRlci1pbm5lciAubG9nbyAud2hpdGUtbG9nbyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnRvb2x0aXAge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXItcmFkaXVzOiAxLjMxMjVyZW07XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuODEyNXJlbTtcbiAgY29sb3I6ICMwMDA7XG4gIG1heC13aWR0aDogMTIuNXJlbTtcbiAgcGFkZGluZzogMC40Mzc1cmVtIDAuOTM3NXJlbTsgfVxuICAudG9vbHRpcDphZnRlciB7XG4gICAgY29udGVudDogXCJcXGU5MDdcIjtcbiAgICBmb250LWZhbWlseTogJ2ljb21vb24nLCBzYW5zLXNlcmlmO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAudG9vbHRpcC50b3A6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi50cmliZS1jb21tb24tLWJyZWFrcG9pbnQtbWVkaXVtLnRyaWJlLWV2ZW50cyB1bCBsaTpiZWZvcmUsXG4udHJpYmUtZXZlbnRzLXZpZXctLW1vbnRoLnRyaWJlLWV2ZW50cyB1bCBsaTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi50cmliZS1jb21tb24tLWJyZWFrcG9pbnQtbWVkaXVtLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWwtY29udGFpbmVyLFxuLnRyaWJlLWNvbW1vbi0tYnJlYWtwb2ludC1tZWRpdW0udHJpYmUtZXZlbnRzIC50cmliZS1jb21tb24tbC1jb250YWluZXIsXG4udHJpYmUtZXZlbnRzLXZpZXctLW1vbnRoLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWwtY29udGFpbmVyLFxuLnRyaWJlLWV2ZW50cy12aWV3LS1tb250aC50cmliZS1ldmVudHMgLnRyaWJlLWNvbW1vbi1sLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnRyaWJlLWNvbW1vbiB7XG4gIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfVxuICAudHJpYmUtY29tbW9uLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWhlYWRlciB7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnRyaWJlLWNvbW1vbi50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jLXZpZXctc2VsZWN0b3JfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gIC50cmliZS1jb21tb24udHJpYmUtZXZlbnRzIC50cmliZS1maWx0ZXItYmFyX19maWx0ZXJzLXNsaWRlci13cmFwcGVyIC50cmliZS1maWx0ZXItYmFyX19maWx0ZXJzLXNsaWRlIC50cmliZS1maWx0ZXItYmFyLWMtcGlsbCAudHJpYmUtZmlsdGVyLWJhci1jLXBpbGxfX3BpbGwge1xuICAgIGhlaWdodDogMy4zNzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMi4xMjVyZW07XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMkQzMzQ0O1xuICAgIGJhY2tncm91bmQ6ICMyRDMzNDQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgMS42MjVyZW07XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC50cmliZS1jb21tb24udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYy12aWV3LXNlbGVjdG9yX19saXN0LWl0ZW0taWNvbiBpIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBjb2xvcjogcmdiYSg0NSwgNTEsIDY4LCAwLjM1KTsgfVxuICAgIC50cmliZS1jb21tb24udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYy12aWV3LXNlbGVjdG9yX19saXN0LWl0ZW0taWNvbiBpOmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogJ2ljb21vb24nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG4gICAgLnRyaWJlLWNvbW1vbi50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jLXZpZXctc2VsZWN0b3JfX2xpc3QtaXRlbS1pY29uIGkubW9udGg6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTA1XCI7IH1cbiAgICAudHJpYmUtY29tbW9uLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtdmlldy1zZWxlY3Rvcl9fbGlzdC1pdGVtLWljb24gaS5saXN0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwNFwiOyB9XG4gIC50cmliZS1jb21tb24udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYy12aWV3LXNlbGVjdG9yX19saXN0LWl0ZW0taWNvbi5hY3RpdmUtbGluayBpIHtcbiAgICBjb2xvcjogIzJEMzM0NDsgfVxuICAudHJpYmUtY29tbW9uIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGgge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAudHJpYmUtY29tbW9uIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGggLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9faGVhZGVyLWNvbHVtbi10aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiB2YXIoLS10ZWMtZm9udC1zaXplLTEpO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLXRlYy1saW5lLWhlaWdodC0wKTsgfVxuICAgIC50cmliZS1jb21tb24gLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aCAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19oZWFkZXItcm93IC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2hlYWRlci1jb2x1bW4gaDMgc3BhbiB7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjMkQzMzQ0OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAudHJpYmUtY29tbW9uIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGggLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9faGVhZGVyLXJvdyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19oZWFkZXItY29sdW1uIGgzIHNwYW4udHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19oZWFkZXItY29sdW1uLXRpdGxlLWRlc2t0b3Age1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnRyaWJlLWNvbW1vbiAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2hlYWRlci1yb3cgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9faGVhZGVyLWNvbHVtbiBoMyBzcGFuLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9faGVhZGVyLWNvbHVtbi10aXRsZS1tb2JpbGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9IH1cbiAgICAudHJpYmUtY29tbW9uIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGggLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fYm9keSAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXktY2VsbCBoMyB0aW1lIHtcbiAgICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIC50cmliZS1jb21tb24gLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aCAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19ib2R5IC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheS1jZWxsIGgzIHRpbWUgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fZGF5LWRhdGUtbGluayB7XG4gICAgICAgIGNvbG9yOiAjNzY1QkE3OyB9XG4gICAgLnRyaWJlLWNvbW1vbiAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2JvZHkgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fZGF5LWNlbGwgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fY2FsZW5kYXItZXZlbnQtZGV0YWlscyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19jYWxlbmRhci1ldmVudC1kYXRldGltZSB0aW1lIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICMyRDMzNDQ7IH1cbiAgICAgIC50cmliZS1jb21tb24gLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aCAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19ib2R5IC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheS1jZWxsIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2NhbGVuZGFyLWV2ZW50LWRldGFpbHMgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fY2FsZW5kYXItZXZlbnQtZGF0ZXRpbWUgdGltZSAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXktZGF0ZS1saW5rIHtcbiAgICAgICAgY29sb3I6ICM3NjVCQTc7IH1cbiAgICAudHJpYmUtY29tbW9uIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGggLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fYm9keSAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXktY2VsbCAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19jYWxlbmRhci1ldmVudC1kZXRhaWxzIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2NhbGVuZGFyLWV2ZW50LXRpdGxlIC50cmliZS1jb21tb24tYW5jaG9yLXRoaW4gdG9vbHRpcHN0ZXJlZCB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC50cmliZS1jb21tb24gLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aCAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19ib2R5IC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheS1jZWxsOmhvdmVyOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICM3NjVCQTcgIWltcG9ydGFudDsgfVxuICAgIC50cmliZS1jb21tb24gLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aCAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19ib2R5IHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS10ZWMtY29sb3ItYm9yZGVyLXNlY29uZGFyeS1tb250aC1ncmlkKTsgfVxuICAgIC50cmliZS1jb21tb24gLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aCAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX193ZWVrIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tdGVjLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbW9udGgtZ3JpZCk7IH1cbiAgICAudHJpYmUtY29tbW9uIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGggLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fZGF5IHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBhc3BlY3QtcmF0aW86IGF1dG87XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXRlYy1jb2xvci1ib3JkZXItc2Vjb25kYXJ5LW1vbnRoLWdyaWQpO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDA7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIG1pbi1oZWlnaHQ6IDE2OHB4O1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAgIC50cmliZS1jb21tb24gLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aCAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXkgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fZGF5LWRhdGUge1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS10ZWMtc3BhY2VyLTEpIHZhcigtLXRlYy1zcGFjZXItMyk7IH1cbiAgICAgIC50cmliZS1jb21tb24gLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aCAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXkudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXktLWN1cnJlbnQgYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzc2NUJBNzsgfVxuICAgICAgICAudHJpYmUtY29tbW9uIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGggLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fZGF5LnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fZGF5LS1jdXJyZW50IGJ1dHRvbiAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXktZGF0ZS1kYXludW0ge1xuICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC50cmliZS1jb21tb24gLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aCAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXkudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXktLWN1cnJlbnQgYnV0dG9uIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX21vYmlsZS1ldmVudHMtaWNvbi0tZXZlbnQge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAgIC50cmliZS1jb21tb24gLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aCAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXkgYnV0dG9uIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheS1kYXRlLWRheW51bSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdGVjLWZvbnQtc2l6ZS03KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLXRlYy1saW5lLWhlaWdodC0xKTsgfVxuICAgICAgLnRyaWJlLWNvbW1vbiAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheSBidXR0b24gLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fbW9iaWxlLWV2ZW50cy1pY29uLS1ldmVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7IH1cbiAgICAgIC50cmliZS1jb21tb24gLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aCAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXkgYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMTgsIDkxLCAxNjcsIDAuMzUpOyB9XG4gICAgICAudHJpYmUtY29tbW9uIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGggLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fZGF5IGJ1dHRvbi50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheS1jZWxsLS1zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7IH1cbiAgICAgICAgLnRyaWJlLWNvbW1vbiAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheSBidXR0b24udHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXktY2VsbC0tc2VsZWN0ZWQgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fZGF5LWRhdGUtZGF5bnVtIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAudHJpYmUtY29tbW9uIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGggLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fZGF5IGJ1dHRvbi50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheS1jZWxsLS1zZWxlY3RlZCAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19tb2JpbGUtZXZlbnRzLWljb24tLWV2ZW50IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIC50cmliZS1jb21tb24udHJpYmUtY29tbW9uIC50cmliZS1maWx0ZXItYmFyIC50cmliZS1maWx0ZXItYmFyLWMtZmlsdGVyLS1waWxsIC50cmliZS1maWx0ZXItYmFyLWMtZmlsdGVyX19jb250YWluZXIge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgdG9wOiA0LjM3NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnRyaWJlLWNvbW1vbi50cmliZS1jb21tb24gLnRyaWJlLWZpbHRlci1iYXIgLnRyaWJlLWZpbHRlci1iYXItYy1maWx0ZXItLXBpbGwgLnRyaWJlLWZpbHRlci1iYXItYy1maWx0ZXJfX2NvbnRhaW5lciBsZWdlbmQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAudHJpYmUtY29tbW9uLnRyaWJlLWNvbW1vbiAudHJpYmUtZmlsdGVyLWJhciAudHJpYmUtZmlsdGVyLWJhci1jLWZpbHRlci0tcGlsbCAudHJpYmUtZmlsdGVyLWJhci1jLWZpbHRlcl9fY29udGFpbmVyIGJ1dHRvbi50cmliZS1maWx0ZXItYmFyLWMtZmlsdGVyX19maWx0ZXJzLWNsb3NlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnRyaWJlLWNvbW1vbi50cmliZS1jb21tb24gLnRyaWJlLWZpbHRlci1iYXIgLnRyaWJlLWZpbHRlci1iYXItYy1jaGVja2JveCxcbiAgLnRyaWJlLWNvbW1vbi50cmliZS1jb21tb24gLnRyaWJlLWZpbHRlci1iYXIgLnRyaWJlLWZpbHRlci1iYXItYy1kcm9wZG93biAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgIHBhZGRpbmc6IDEuMTI1cmVtIDEuODc1cmVtO1xuICAgIG1hcmdpbjogMDsgfVxuICAudHJpYmUtY29tbW9uLnRyaWJlLWNvbW1vbiAudHJpYmUtZmlsdGVyLWJhciAudHJpYmUtZmlsdGVyLWJhci1jLWNoZWNrYm94IGlucHV0LnRyaWJlLWNvbW1vbi1mb3JtLWNvbnRyb2wtY2hlY2tib3hfX2lucHV0IHtcbiAgICBtYXJnaW4tdG9wOiAwLjE4NzVyZW07IH1cbiAgLnRyaWJlLWNvbW1vbi50cmliZS1jb21tb24gLnRyaWJlLWZpbHRlci1iYXIgLnRyaWJlLWZpbHRlci1iYXItYy1jaGVja2JveCBsYWJlbCxcbiAgLnRyaWJlLWNvbW1vbi50cmliZS1jb21tb24gLnRyaWJlLWZpbHRlci1iYXIgLnRyaWJlLWZpbHRlci1iYXItYy1kcm9wZG93biAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTsgfVxuICAudHJpYmUtY29tbW9uLnRyaWJlLWNvbW1vbiAudHJpYmUtZmlsdGVyLWJhciAudHJpYmUtZmlsdGVyLWJhci1jLWRyb3Bkb3duIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWQge1xuICAgIGJhY2tncm91bmQ6ICNGMEYzRjg7IH1cbiAgLnRyaWJlLWNvbW1vbi50cmliZS1jb21tb24gLnRyaWJlLWZpbHRlci1iYXIgLnNlbGVjdDItc2VhcmNoLFxuICAudHJpYmUtY29tbW9uLnRyaWJlLWNvbW1vbiAudHJpYmUtZmlsdGVyLWJhciAuc2VsZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC50cmliZS1jb21tb24gLnRyaWJlLWZpbHRlci1iYXIudHJpYmUtZmlsdGVyLWJhci0taG9yaXpvbnRhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgbWFyZ2luOiBjYWxjKHZhcigtLXRlYy1zcGFjZXItMykqLTEpIDAgdmFyKC0tdGVjLXNwYWNlci04KTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgLnRyaWJlLWNvbW1vbiAudHJpYmUtZmlsdGVyLWJhciAudHJpYmUtZmlsdGVyLWJhcl9fZmlsdGVycy1zbGlkZXItY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHotaW5kZXg6IHZhcigtLXRlYy16LWluZGV4LWZpbHRlcnMpOyB9XG4gIC50cmliZS1jb21tb24gLnRyaWJlLWZpbHRlci1iYXItLWhvcml6b250YWwudHJpYmUtZmlsdGVyLWJhciAudHJpYmUtZmlsdGVyLWJhcl9fZmlsdGVycy1zbGlkZSB7XG4gICAgZmxleDogbm9uZTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXRlYy1zcGFjZXItMSk7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnRyaWJlLWNvbW1vbiAudHJpYmUtZmlsdGVyLWJhci0taG9yaXpvbnRhbC50cmliZS1maWx0ZXItYmFyIC50cmliZS1maWx0ZXItYmFyX19maWx0ZXJzLXNsaWRlci13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC50cmliZS1jb21tb24gLnRyaWJlLWZpbHRlci1iYXIudHJpYmUtZmlsdGVyLWJhci0taG9yaXpvbnRhbCAudHJpYmUtZmlsdGVyLWJhcl9fc2VsZWN0ZWQtZmlsdGVycyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLnRyaWJlLWNvbW1vbiAudHJpYmUtZmlsdGVyLWJhci0taG9yaXpvbnRhbC50cmliZS1maWx0ZXItYmFyLS1oYXMtc2VsZWN0ZWQtZmlsdGVycy50cmliZS1maWx0ZXItYmFyIC50cmliZS1maWx0ZXItYmFyX19hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IG5vbmU7XG4gICAgb3JkZXI6IDE7XG4gICAgcGFkZGluZzogMCAwIDAgdmFyKC0tdGVjLXNwYWNlci0yKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB6LWluZGV4OiB2YXIoLS10ZWMtei1pbmRleC1zZWFyY2gpOyB9XG4gIC50cmliZS1jb21tb24gLnRyaWJlLWZpbHRlci1iYXIgLnRyaWJlLWZpbHRlci1iYXJfX2FjdGlvbi1kb25lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAudHJpYmUtY29tbW9uIC50cmliZS1maWx0ZXItYmFyIC50cmliZS1maWx0ZXItYmFyLWMtY2xlYXItYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC50cmliZS1jb21tb24gLnRyaWJlLWV2ZW50cy1oZWFkZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnRyaWJlLWNvbW1vbiAudHJpYmUtZXZlbnRzLWhlYWRlciAudHJpYmUtZXZlbnRzLWhlYWRlcl9fZXZlbnRzLWJhciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS10ZWMtc3BhY2VyLTcpO1xuICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXRlYy1zcGFjZXItMyk7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC50cmliZS1jb21tb24gLnRyaWJlLWZpbHRlci1iYXItLWhvcml6b250YWwudHJpYmUtZmlsdGVyLWJhciAudHJpYmUtZmlsdGVyLWJhcl9fZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnRyaWJlLWNvbW1vbiAudHJpYmUtZmlsdGVyLWJhci0taG9yaXpvbnRhbC50cmliZS1maWx0ZXItYmFyIC50cmliZS1maWx0ZXItYmFyX19maWx0ZXJzLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IHZhcigtLXRlYy16LWluZGV4LWZpbHRlcnMpOyB9XG4gIC50cmliZS1jb21tb24gLnRyaWJlLWZpbHRlci1iYXItLWhvcml6b250YWwudHJpYmUtZmlsdGVyLWJhciAudHJpYmUtZmlsdGVyLWJhcl9fZmlsdGVycyB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC50cmliZS1jb21tb24gLnRyaWJlLWZpbHRlci1iYXItLWhvcml6b250YWwudHJpYmUtZmlsdGVyLWJhciAudHJpYmUtZmlsdGVyLWJhci1jLWZpbHRlciwgLnRyaWJlLWNvbW1vbiAudHJpYmUtZmlsdGVyLWJhci0taG9yaXpvbnRhbC50cmliZS1maWx0ZXItYmFyIC50cmliZS1maWx0ZXItYmFyX19maWx0ZXJzLXNsaWRlIHtcbiAgICBmbGV4OiBub25lO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tdGVjLXNwYWNlci0xKTtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAudHJpYmUtY29tbW9uIC50cmliZS1maWx0ZXItYmFyIC50cmliZS1maWx0ZXItYmFyLWMtZmlsdGVyLS1waWxsIC50cmliZS1maWx0ZXItYmFyLWMtZmlsdGVyX190b2dnbGUtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtbC1jb250YWluZXIge1xuICBwYWRkaW5nOiAwO1xuICBtaW4taGVpZ2h0OiA0My43NXJlbTsgfVxuXG4udG9vbHRpcHN0ZXItYmFzZSB7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLnRyaWJlLWNvbW1vbi0tYnJlYWtwb2ludC1tZWRpdW0udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheTpob3Zlcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY1QkE3OyB9XG5cbiNtYWluIC5ldHMtZXZlbnRzIHtcbiAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjbWFpbiAuZXRzLWV2ZW50cyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgI21haW4gLmV0cy1ldmVudHMgLmV2ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI21haW4gLmV0cy1ldmVudHMgLmV2ZW50IHtcbiAgICAgICAgd2lkdGg6IDIzLjEyNXJlbTtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtOyB9IH1cbiAgI21haW4gLmV0cy1ldmVudHMgLmV2ZW50LWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjBGM0Y4O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNtYWluIC5ldHMtZXZlbnRzIC5ldmVudC1pbm5lciAuY2FyZC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDEuNjI1cmVtIDEuODc1cmVtIDYuMTI1cmVtOyB9XG4gICAgI21haW4gLmV0cy1ldmVudHMgLmV2ZW50LWlubmVyIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMzc1cmVtOyB9XG4gICAgICAjbWFpbiAuZXRzLWV2ZW50cyAuZXZlbnQtaW5uZXIgaDMgYSB7XG4gICAgICAgIGNvbG9yOiAjMkQzMzQ0OyB9XG4gICAgI21haW4gLmV0cy1ldmVudHMgLmV2ZW50LWlubmVyIC5ldHMtbWV0YSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgICAgI21haW4gLmV0cy1ldmVudHMgLmV2ZW50LWlubmVyIC5ldHMtbWV0YSxcbiAgICAgICNtYWluIC5ldHMtZXZlbnRzIC5ldmVudC1pbm5lciAuZXRzLW1ldGEgdGltZSB7XG4gICAgICAgIGNvbG9yOiAjOTAxQTNEOyB9XG4gICAgICAjbWFpbiAuZXRzLWV2ZW50cyAuZXZlbnQtaW5uZXIgLmV0cy1tZXRhIHRpbWUsXG4gICAgICAjbWFpbiAuZXRzLWV2ZW50cyAuZXZlbnQtaW5uZXIgLmV0cy1tZXRhIC5tZXRhLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAjbWFpbiAuZXRzLWV2ZW50cyAuZXZlbnQtaW5uZXIgLnZpZXctZGV0YWlscyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDEuODc1cmVtO1xuICAgICAgbGVmdDogMS44NzVyZW07XG4gICAgICByaWdodDogMS44NzVyZW07IH1cbiAgICAgICNtYWluIC5ldHMtZXZlbnRzIC5ldmVudC1pbm5lciAudmlldy1kZXRhaWxzIGEge1xuICAgICAgICBjb2xvcjogIzJEMzM0NDtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMnJlbTsgfVxuICAgICAgICAjbWFpbiAuZXRzLWV2ZW50cyAuZXZlbnQtaW5uZXIgLnZpZXctZGV0YWlscyBhIGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgY29sb3I6ICM5MDFBM0Q7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGxlZnQ6IDAuMTg3NXJlbTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuM3M7IH1cbiAgICAgICAgI21haW4gLmV0cy1ldmVudHMgLmV2ZW50LWlubmVyIC52aWV3LWRldGFpbHMgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICM5MDFBM0Q7IH1cbiAgICAgICAgICAjbWFpbiAuZXRzLWV2ZW50cyAuZXZlbnQtaW5uZXIgLnZpZXctZGV0YWlscyBhOmhvdmVyIGkge1xuICAgICAgICAgICAgbGVmdDogMC42MjVyZW07IH1cblxuI21haW4gLnRyaWJlLWV2ZW50cyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICNtYWluIC50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1saXN0LW5hdiB7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gICNtYWluIC50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jLW5hdl9fbGlzdC1pdGVtLS10b2RheSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAjbWFpbiAudHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYy1uYXZfX3ByZXYsXG4gICNtYWluIC50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jLW5hdl9fbmV4dCB7XG4gICAgY29sb3I6ICMyRDMzNDQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMnJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgI21haW4gLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtbmF2X19wcmV2OmhvdmVyLFxuICAgICNtYWluIC50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jLW5hdl9fbmV4dDpob3ZlciB7XG4gICAgICBjb2xvcjogIzkwMUEzRDsgfVxuICAgICNtYWluIC50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jLW5hdl9fcHJldjpkaXNhYmxlZCxcbiAgICAjbWFpbiAudHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYy1uYXZfX25leHQ6ZGlzYWJsZWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICAgICNtYWluIC50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jLW5hdl9fcHJldiAudHJpYmUtY29tbW9uLWMtc3ZnaWNvbixcbiAgICAjbWFpbiAudHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYy1uYXZfX25leHQgLnRyaWJlLWNvbW1vbi1jLXN2Z2ljb24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAjbWFpbiAudHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYy1uYXZfX3ByZXY6YmVmb3JlLFxuICAjbWFpbiAudHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYy1uYXZfX25leHQ6YWZ0ZXIge1xuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gICAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICAgIHNwZWFrOiBuZXZlcjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAyXCI7XG4gICAgY29sb3I6ICM5MDFBM0Q7IH1cbiAgI21haW4gLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtbmF2X19wcmV2ID4gc3BhbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTsgfVxuICAjbWFpbiAudHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYy1uYXZfX3ByZXY6YmVmb3JlIHtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAwLjNzOyB9XG4gICNtYWluIC50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jLW5hdl9fcHJldjpob3ZlcjpiZWZvcmUge1xuICAgIGxlZnQ6IC0wLjQzNzVyZW07IH1cbiAgI21haW4gLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtbmF2X19uZXh0ID4gc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cbiAgI21haW4gLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtbmF2X19uZXh0OmFmdGVyIHtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOiByaWdodCAwLjNzOyB9XG4gICNtYWluIC50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jLW5hdl9fbmV4dDpob3ZlcjphZnRlciB7XG4gICAgcmlnaHQ6IC0wLjQzNzVyZW07IH1cbiAgI21haW4gLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXktZGF0ZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZWMtZm9udC1zaXplLTcpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS10ZWMtbGluZS1oZWlnaHQtMSk7IH1cbiAgI21haW4gLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXk6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3R0b206IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgbGVmdDogLTFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdGVjLXRyYW5zaXRpb24tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7IH1cbiAgI21haW4gLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXk6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTAxQTNEOyB9XG5cbiNtYWluIC50cmliZS1ldmVudHMtdmlldy0tbGlzdCAudHJpYmUtZXZlbnRzLWMtdG9wLWJhciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI21haW4gLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fZGF5LWNlbGwtLWRlc2t0b3AsXG4gICNtYWluIC50cmliZS1ldmVudHMtYy10b3AtYmFyX19kYXRlcGlja2VyLWRlc2t0b3AsXG4gICNtYWluIC50cmliZS1ldmVudHMtYy10b3AtYmFyX190b2RheS1idXR0b24sXG4gICNtYWluIC50cmliZS1ldmVudHMtYy10b3AtYmFyX19uYXYge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjbWFpbiAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXktY2VsbC0tbW9iaWxlLFxuICAjbWFpbiAudHJpYmUtZXZlbnRzLWMtdG9wLWJhcl9fZGF0ZXBpY2tlci1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9IH1cblxuI21haW4gLnRyaWJlLWV2ZW50cy1oZWFkZXJfX3RvcC1iYXIge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS10ZWMtc3BhY2VyLTcpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXg6IGF1dG87IH1cblxuI21haW4gLnRyaWJlLWV2ZW50cy1jLXRvcC1iYXJfX3RvZGF5LWJ1dHRvbiB7XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nOiA2cHggMTVweDtcbiAgZmxleDogbm9uZTtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICBjb2xvcjogdmFyKC0tdGVjLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsgfVxuXG4jbWFpbiBidXR0b24udHJpYmUtZXZlbnRzLWMtdG9wLWJhcl9fZGF0ZXBpY2tlci1idXR0b24ge1xuICBmb250LXNpemU6IHZhcigtLXRlYy1mb250LXNpemUtOCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS10ZWMtbGluZS1oZWlnaHQtMSk7IH1cblxuI21haW4gLnRyaWJlLWZpbHRlci1iYXIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAjbWFpbiAudHJpYmUtZXZlbnRzLWMtdmlldy1zZWxlY3RvciB7XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAjbWFpbiAudHJpYmUtZXZlbnRzLWMtdmlldy1zZWxlY3Rvcl9fY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogYXV0bztcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4jbWFpbiAudHJpYmUtZXZlbnRzLWMtdmlldy1zZWxlY3Rvcl9fbGlzdC1pdGVtLWljb24ge1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDA7IH1cblxuI21haW4gLnRyaWJlLWV2ZW50cy1jLXZpZXctc2VsZWN0b3JfX2xpc3QtaXRlbS1saW5rIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG5cbiNtYWluIC50cmliZS1ldmVudHMtaGVhZGVyX19ldmVudHMtYmFyIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cblxuLnRyaWJlLWNvbW1vbiAudHJpYmUtZmlsdGVyLWJhciAudHJpYmUtZmlsdGVyLWJhci1jLWZpbHRlci0tcGlsbCAudHJpYmUtZmlsdGVyLWJhci1jLWZpbHRlcl9fY29udGFpbmVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdGVjLWNvbG9yLWJvcmRlci1zZWNvbmRhcnkpO1xuICBib3gtc2hhZG93OiB2YXIoLS10ZWMtYm94LXNoYWRvdy10b29sdGlwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVjLWNvbG9yLWJhY2tncm91bmQpO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAyNDhweDtcbiAgei1pbmRleDogdmFyKC0tdGVjLXotaW5kZXgtZmlsdGVycyk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgLnRyaWJlLWV2ZW50cyB7XG4gICAgcGFkZGluZzogMCAxLjU2MjVyZW07IH0gfVxuXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtaGVhZGVyLS1oYXMtZXZlbnQtc2VhcmNoIC50cmliZS1ldmVudHMtYy1ldmVudHMtYmFyIHtcbiAgYmFja2dyb3VuZDogI0Y4RjhGOCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAxLjkzNzVyZW07XG4gIGJvcmRlcjogbm9uZTsgfVxuICAudHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtaGVhZGVyLS1oYXMtZXZlbnQtc2VhcmNoIC50cmliZS1ldmVudHMtYy1ldmVudHMtYmFyIC50cmliZS1ldmVudHMtYy1ldmVudHMtYmFyX19zZWFyY2gtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWhlYWRlci0taGFzLWV2ZW50LXNlYXJjaCAudHJpYmUtZXZlbnRzLWMtZXZlbnRzLWJhciAudHJpYmUtZXZlbnRzLWMtZXZlbnRzLWJhcl9fc2VhcmNoLWNvbnRhaW5lciAudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19pbnB1dC1ncm91cCAudHJpYmUtY29tbW9uLWZvcm0tY29udHJvbC10ZXh0IHtcbiAgICAgIG1hcmdpbjogMTJweDsgfVxuICAgICAgLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWhlYWRlci0taGFzLWV2ZW50LXNlYXJjaCAudHJpYmUtZXZlbnRzLWMtZXZlbnRzLWJhciAudHJpYmUtZXZlbnRzLWMtZXZlbnRzLWJhcl9fc2VhcmNoLWNvbnRhaW5lciAudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19pbnB1dC1ncm91cCAudHJpYmUtY29tbW9uLWZvcm0tY29udHJvbC10ZXh0IGlucHV0IHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzLjEyNXJlbTsgfVxuICAgICAgICAudHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtaGVhZGVyLS1oYXMtZXZlbnQtc2VhcmNoIC50cmliZS1ldmVudHMtYy1ldmVudHMtYmFyIC50cmliZS1ldmVudHMtYy1ldmVudHMtYmFyX19zZWFyY2gtY29udGFpbmVyIC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2lucHV0LWdyb3VwIC50cmliZS1jb21tb24tZm9ybS1jb250cm9sLXRleHQgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAudHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtaGVhZGVyLS1oYXMtZXZlbnQtc2VhcmNoIC50cmliZS1ldmVudHMtYy1ldmVudHMtYmFyIC50cmliZS1ldmVudHMtYy1ldmVudHMtYmFyX19zZWFyY2gtY29udGFpbmVyIC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2lucHV0LWdyb3VwIC50cmliZS1jb21tb24tZm9ybS1jb250cm9sLXRleHQgLnRyaWJlLWNvbW1vbi1jLXN2Z2ljb24gcGF0aCB7XG4gICAgICAgIGZpbGw6ICMwMDA7IH1cbiAgICAudHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtaGVhZGVyLS1oYXMtZXZlbnQtc2VhcmNoIC50cmliZS1ldmVudHMtYy1ldmVudHMtYmFyIC50cmliZS1ldmVudHMtYy1ldmVudHMtYmFyX19zZWFyY2gtY29udGFpbmVyIC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVyZW07XG4gICAgICBwYWRkaW5nOiAwIDEuNTYyNXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEuMjVyZW07XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjNzY1QkE3O1xuICAgICAgYmFja2dyb3VuZDogIzc2NUJBNztcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgaGVpZ2h0OiAyLjQzNzVyZW07IH1cbiAgICAgIC50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1oZWFkZXItLWhhcy1ldmVudC1zZWFyY2ggLnRyaWJlLWV2ZW50cy1jLWV2ZW50cy1iYXIgLnRyaWJlLWV2ZW50cy1jLWV2ZW50cy1iYXJfX3NlYXJjaC1jb250YWluZXIgLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLCAudHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtaGVhZGVyLS1oYXMtZXZlbnQtc2VhcmNoIC50cmliZS1ldmVudHMtYy1ldmVudHMtYmFyIC50cmliZS1ldmVudHMtYy1ldmVudHMtYmFyX19zZWFyY2gtY29udGFpbmVyIC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAuMTg3NXJlbSAwLjM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMTYpOyB9XG4gIC50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1oZWFkZXItLWhhcy1ldmVudC1zZWFyY2ggLnRyaWJlLWV2ZW50cy1jLWV2ZW50cy1iYXIgLnRyaWJlLWV2ZW50cy1jLWV2ZW50cy1iYXJfX3ZpZXdzIC50cmliZS1ldmVudHMtYy12aWV3LXNlbGVjdG9yIC50cmliZS1ldmVudHMtYy12aWV3LXNlbGVjdG9yX19jb250ZW50IC50cmliZS1ldmVudHMtYy12aWV3LXNlbGVjdG9yX19saXN0IC50cmliZS1ldmVudHMtYy12aWV3LXNlbGVjdG9yX19saXN0LWl0ZW0gLnRyaWJlLWV2ZW50cy1jLXZpZXctc2VsZWN0b3JfX2xpc3QtaXRlbS1saW5rIC50cmliZS1ldmVudHMtYy12aWV3LXNlbGVjdG9yX19saXN0LWl0ZW0tdGV4dCB7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAudHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtaGVhZGVyLS1oYXMtZXZlbnQtc2VhcmNoIC50cmliZS1ldmVudHMtYy1ldmVudHMtYmFyIC50cmliZS1ldmVudHMtYy1ldmVudHMtYmFyX192aWV3cyAudHJpYmUtZXZlbnRzLWMtdmlldy1zZWxlY3RvciAudHJpYmUtZXZlbnRzLWMtdmlldy1zZWxlY3Rvcl9fY29udGVudCAudHJpYmUtZXZlbnRzLWMtdmlldy1zZWxlY3Rvcl9fbGlzdCAudHJpYmUtZXZlbnRzLWMtdmlldy1zZWxlY3Rvcl9fbGlzdC1pdGVtLnRyaWJlLWV2ZW50cy1jLXZpZXctc2VsZWN0b3JfX2xpc3QtaXRlbS0tYWN0aXZlIC50cmliZS1ldmVudHMtYy12aWV3LXNlbGVjdG9yX19saXN0LWl0ZW0tbGluazphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzc2NUJBNztcbiAgICBoZWlnaHQ6IDNweDsgfVxuXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtaGVhZGVyLS1oYXMtZXZlbnQtc2VhcmNoIC50cmliZS1ldmVudHMtYy10b3AtYmFyIHtcbiAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWhlYWRlci0taGFzLWV2ZW50LXNlYXJjaCAudHJpYmUtZXZlbnRzLWMtdG9wLWJhciAudHJpYmUtZXZlbnRzLWMtdG9wLWJhcl9fbmF2IC50cmliZS1ldmVudHMtYy10b3AtYmFyX19uYXYtbGlzdCAudHJpYmUtZXZlbnRzLWMtdG9wLWJhcl9fbmF2LWxpc3QtaXRlbSAudHJpYmUtY29tbW9uLWMtYnRuLWljb24gc3ZnIHBhdGgge1xuICAgIGZpbGw6ICM3NjVCQTc7IH1cbiAgLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWhlYWRlci0taGFzLWV2ZW50LXNlYXJjaCAudHJpYmUtZXZlbnRzLWMtdG9wLWJhciAudHJpYmUtY29tbW9uLWMtYnRuLWJvcmRlci1zbWFsbCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzc2NUJBNztcbiAgICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbTtcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxLjYyNXJlbTsgfVxuICAudHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtaGVhZGVyLS1oYXMtZXZlbnQtc2VhcmNoIC50cmliZS1ldmVudHMtYy10b3AtYmFyIC50cmliZS1ldmVudHMtYy10b3AtYmFyX19kYXRlcGlja2VyIC50cmliZS1ldmVudHMtYy10b3AtYmFyX19kYXRlcGlja2VyLWJ1dHRvbiB7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMi4xMjVyZW07XG4gICAgY29sb3I6ICM3NjVCQTc7IH1cblxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2hlYWRlciAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19oZWFkZXItcm93IC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2hlYWRlci1jb2x1bW4gaDMge1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93bl9fY29udGFpbmVyIC50cmliZS1ldmVudHMtYy1zdWJzY3JpYmUtZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtc3Vic2NyaWJlLWRyb3Bkb3duX19jb250YWluZXIgLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93biAudHJpYmUtZXZlbnRzLWMtc3Vic2NyaWJlLWRyb3Bkb3duX19idXR0b24ge1xuICAgIGhlaWdodDogMy4wNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjYyNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICM3NjVCQTc7XG4gICAgYm9yZGVyLXJhZGl1czogMS41NjI1cmVtO1xuICAgIHBhZGRpbmc6IDAgMS4yNXJlbSAwIDEuNTYyNXJlbTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtc3Vic2NyaWJlLWRyb3Bkb3duX19jb250YWluZXIgLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93biAudHJpYmUtZXZlbnRzLWMtc3Vic2NyaWJlLWRyb3Bkb3duX19idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAwIDIuNXJlbSAwIDIuODEyNXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMi42MjVyZW07XG4gICAgICAgIGhlaWdodDogNC40Mzc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogNC40Mzc1cmVtO1xuICAgICAgICB3aWR0aDogMjMuNjI1cmVtICFpbXBvcnRhbnQ7IH0gfVxuICAgIC50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93bl9fY29udGFpbmVyIC50cmliZS1ldmVudHMtYy1zdWJzY3JpYmUtZHJvcGRvd24gLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93bl9fYnV0dG9uOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG4gICAgICBmb250LWZhbWlseTogJ2ljb21vb24nLCBzYW5zLXNlcmlmO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDEuMjVyZW07XG4gICAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgICAgY29sb3I6ICM3NjVCQTc7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBsaW5lYXI7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAudHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYy1zdWJzY3JpYmUtZHJvcGRvd25fX2NvbnRhaW5lciAudHJpYmUtZXZlbnRzLWMtc3Vic2NyaWJlLWRyb3Bkb3duIC50cmliZS1ldmVudHMtYy1zdWJzY3JpYmUtZHJvcGRvd25fX2J1dHRvbjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6IDEuODc1cmVtOyB9IH1cbiAgICAudHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYy1zdWJzY3JpYmUtZHJvcGRvd25fX2NvbnRhaW5lciAudHJpYmUtZXZlbnRzLWMtc3Vic2NyaWJlLWRyb3Bkb3duIC50cmliZS1ldmVudHMtYy1zdWJzY3JpYmUtZHJvcGRvd25fX2J1dHRvbjpob3ZlciwgLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtc3Vic2NyaWJlLWRyb3Bkb3duX19jb250YWluZXIgLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93biAudHJpYmUtZXZlbnRzLWMtc3Vic2NyaWJlLWRyb3Bkb3duX19idXR0b246Zm9jdXMsIC50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93bl9fY29udGFpbmVyIC50cmliZS1ldmVudHMtYy1zdWJzY3JpYmUtZHJvcGRvd24gLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93bl9fYnV0dG9uOmFjdGl2ZSwgLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtc3Vic2NyaWJlLWRyb3Bkb3duX19jb250YWluZXIgLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93biAudHJpYmUtZXZlbnRzLWMtc3Vic2NyaWJlLWRyb3Bkb3duX19idXR0b246dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50OyB9XG4gICAgLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtc3Vic2NyaWJlLWRyb3Bkb3duX19jb250YWluZXIgLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93biAudHJpYmUtZXZlbnRzLWMtc3Vic2NyaWJlLWRyb3Bkb3duX19idXR0b24gc3ZnIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93bl9fY29udGFpbmVyIC50cmliZS1ldmVudHMtYy1zdWJzY3JpYmUtZHJvcGRvd24gLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93bl9fYnV0dG9uIGJ1dHRvbjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93bl9fY29udGFpbmVyIC50cmliZS1ldmVudHMtYy1zdWJzY3JpYmUtZHJvcGRvd24gLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93bl9fY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMjA7IH1cbiAgICAudHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYy1zdWJzY3JpYmUtZHJvcGRvd25fX2NvbnRhaW5lciAudHJpYmUtZXZlbnRzLWMtc3Vic2NyaWJlLWRyb3Bkb3duIC50cmliZS1ldmVudHMtYy1zdWJzY3JpYmUtZHJvcGRvd25fX2NvbnRlbnQgLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93bl9fbGlzdCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAxLjg3NXJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAwOyB9XG4gICAgICAudHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYy1zdWJzY3JpYmUtZHJvcGRvd25fX2NvbnRhaW5lciAudHJpYmUtZXZlbnRzLWMtc3Vic2NyaWJlLWRyb3Bkb3duIC50cmliZS1ldmVudHMtYy1zdWJzY3JpYmUtZHJvcGRvd25fX2NvbnRlbnQgLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93bl9fbGlzdCBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgICAgLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtc3Vic2NyaWJlLWRyb3Bkb3duX19jb250YWluZXIgLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93biAudHJpYmUtZXZlbnRzLWMtc3Vic2NyaWJlLWRyb3Bkb3duX19jb250ZW50IC50cmliZS1ldmVudHMtYy1zdWJzY3JpYmUtZHJvcGRvd25fX2xpc3QgbGkgYSB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgcGFkZGluZzogMC40Mzc1cmVtIDEuNTYyNXJlbTsgfVxuICAgICAgICAgIC50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93bl9fY29udGFpbmVyIC50cmliZS1ldmVudHMtYy1zdWJzY3JpYmUtZHJvcGRvd24gLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93bl9fY29udGVudCAudHJpYmUtZXZlbnRzLWMtc3Vic2NyaWJlLWRyb3Bkb3duX19saXN0IGxpIGE6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGNvbG9yOiAjNzY1QkE3OyB9XG5cbiN0cmliZS1ldmVudHMtcGctdGVtcGxhdGUge1xuICBtYXgtd2lkdGg6IDc1LjYyNXJlbTtcbiAgcGFkZGluZzogMCAxLjU2MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjdHJpYmUtZXZlbnRzLXBnLXRlbXBsYXRlIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAjdHJpYmUtZXZlbnRzLXBnLXRlbXBsYXRlIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgI3RyaWJlLWV2ZW50cy1wZy10ZW1wbGF0ZSB1bCBsaSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgICN0cmliZS1ldmVudHMtcGctdGVtcGxhdGUgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAjdHJpYmUtZXZlbnRzLXBnLXRlbXBsYXRlIC50cmliZS1ldmVudHMtc2luZ2xlLWV2ZW50LXRpdGxlIHtcbiAgICBjb2xvcjogIzc2NUJBNzsgfVxuICAjdHJpYmUtZXZlbnRzLXBnLXRlbXBsYXRlIC50cmliZS1ldmVudHMtc2NoZWR1bGUgaDIgc3BhbiB7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgI3RyaWJlLWV2ZW50cy1wZy10ZW1wbGF0ZSAudHJpYmUtY29tbW9uIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICN0cmliZS1ldmVudHMtcGctdGVtcGxhdGUgLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93bl9fY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjdHJpYmUtZXZlbnRzLXBnLXRlbXBsYXRlIC50cmliZS1ldmVudHMtYy1zdWJzY3JpYmUtZHJvcGRvd25fX2NvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAyNXJlbTsgfSB9XG4gICAgI3RyaWJlLWV2ZW50cy1wZy10ZW1wbGF0ZSAudHJpYmUtZXZlbnRzLWMtc3Vic2NyaWJlLWRyb3Bkb3duX19jb250YWluZXIgLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93bl9fYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjdHJpYmUtZXZlbnRzLXBnLXRlbXBsYXRlIC50cmliZS1ldmVudHMtYy1zdWJzY3JpYmUtZHJvcGRvd25fX2NvbnRhaW5lciAudHJpYmUtZXZlbnRzLWMtc3Vic2NyaWJlLWRyb3Bkb3duX19idXR0b24ge1xuICAgICAgICAgIHdpZHRoOiAyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICN0cmliZS1ldmVudHMtcGctdGVtcGxhdGUgLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93bl9fY29udGFpbmVyIC50cmliZS1ldmVudHMtYy1zdWJzY3JpYmUtZHJvcGRvd25fX2NvbnRlbnQge1xuICAgICAgICB0b3A6IDMuNzVyZW07IH0gfVxuICAjdHJpYmUtZXZlbnRzLXBnLXRlbXBsYXRlIC50cmliZS1ldmVudHMtc2luZ2xlLXNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICN0cmliZS1ldmVudHMtcGctdGVtcGxhdGUgLnRyaWJlLWV2ZW50cy1zaW5nbGUtc2VjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjdHJpYmUtZXZlbnRzLXBnLXRlbXBsYXRlIC50cmliZS1ldmVudHMtc2luZ2xlLXNlY3Rpb24gLnRyaWJlLWV2ZW50cy1tZXRhLWdyb3VwIHtcbiAgICAgICAgd2lkdGg6IDE1LjYyNXJlbTsgfSB9XG4gICAgI3RyaWJlLWV2ZW50cy1wZy10ZW1wbGF0ZSAudHJpYmUtZXZlbnRzLXNpbmdsZS1zZWN0aW9uIC50cmliZS1ldmVudHMtbWV0YS1ncm91cCAudHJpYmUtZXZlbnRzLXNpbmdsZS1zZWN0aW9uLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAjNzY1QkE3OyB9XG4gICAgI3RyaWJlLWV2ZW50cy1wZy10ZW1wbGF0ZSAudHJpYmUtZXZlbnRzLXNpbmdsZS1zZWN0aW9uIC50cmliZS1ldmVudHMtbWV0YS1ncm91cCBkbCBkdCwgI3RyaWJlLWV2ZW50cy1wZy10ZW1wbGF0ZSAudHJpYmUtZXZlbnRzLXNpbmdsZS1zZWN0aW9uIC50cmliZS1ldmVudHMtbWV0YS1ncm91cCBkbCBkZCB7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAjdHJpYmUtZXZlbnRzLXBnLXRlbXBsYXRlIC50cmliZS1ldmVudHMtc2luZ2xlLXNlY3Rpb24gLnRyaWJlLWV2ZW50cy1tZXRhLWdyb3VwIGRsIGR0IGEsICN0cmliZS1ldmVudHMtcGctdGVtcGxhdGUgLnRyaWJlLWV2ZW50cy1zaW5nbGUtc2VjdGlvbiAudHJpYmUtZXZlbnRzLW1ldGEtZ3JvdXAgZGwgZGQgYSB7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgI3RyaWJlLWV2ZW50cy1wZy10ZW1wbGF0ZSAudHJpYmUtZXZlbnRzLXNpbmdsZS1zZWN0aW9uIC50cmliZS1ldmVudHMtbWV0YS1ncm91cCBkbCBkdCB7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAjdHJpYmUtZXZlbnRzLXBnLXRlbXBsYXRlICN0cmliZS1ldmVudHMtZm9vdGVyIC50cmliZS1ldmVudHMtbmF2LXBhZ2luYXRpb24gLnRyaWJlLWV2ZW50cy1zdWItbmF2IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjdHJpYmUtZXZlbnRzLXBnLXRlbXBsYXRlICN0cmliZS1ldmVudHMtZm9vdGVyIC50cmliZS1ldmVudHMtbmF2LXBhZ2luYXRpb24gLnRyaWJlLWV2ZW50cy1zdWItbmF2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gICAgI3RyaWJlLWV2ZW50cy1wZy10ZW1wbGF0ZSAjdHJpYmUtZXZlbnRzLWZvb3RlciAudHJpYmUtZXZlbnRzLW5hdi1wYWdpbmF0aW9uIC50cmliZS1ldmVudHMtc3ViLW5hdiBsaSB7XG4gICAgICBtYXJnaW46IDAgMCAxLjI1cmVtIDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICN0cmliZS1ldmVudHMtcGctdGVtcGxhdGUgI3RyaWJlLWV2ZW50cy1mb290ZXIgLnRyaWJlLWV2ZW50cy1uYXYtcGFnaW5hdGlvbiAudHJpYmUtZXZlbnRzLXN1Yi1uYXYgbGkge1xuICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgICAjdHJpYmUtZXZlbnRzLXBnLXRlbXBsYXRlICN0cmliZS1ldmVudHMtZm9vdGVyIC50cmliZS1ldmVudHMtbmF2LXBhZ2luYXRpb24gLnRyaWJlLWV2ZW50cy1zdWItbmF2IGxpIGEge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi5wYWdlLWluZm8gLnBhZ2UtaW5mby1jb250ZW50IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDEuODc1cmVtO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZDogI0Y4RjhGODtcbiAgd2lkdGg6IDIxLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAxLjg3NXJlbSAwIDAgMS44NzVyZW07XG4gIGZvbnQtc2l6ZTogMi4xMjVyZW07XG4gIGJveC1zaGFkb3c6IDAgMC4xODc1cmVtIDAuMzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4xNik7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMS4yNXJlbSAyLjVyZW0gMi41cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgei1pbmRleDogOTk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFnZS1pbmZvIC5wYWdlLWluZm8tY29udGVudCB7XG4gICAgICBib3R0b206IDE4Ljc1cmVtOyB9IH1cbiAgLnBhZ2UtaW5mbyAucGFnZS1pbmZvLWNvbnRlbnQgLnBhZ2UtaW5mby1jbG9zZSB7XG4gICAgd2lkdGg6IDIuMzEyNXJlbTtcbiAgICBoZWlnaHQ6IDIuMzEyNXJlbTtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjN0Y3RjdGO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY29sb3I6ICM3RjdGN0Y7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5wYWdlLWluZm8gLnBhZ2UtaW5mby1jb250ZW50IC5wYWdlLWluZm8tdGl0bGUgaDYge1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDYyNXJlbTsgfVxuICAucGFnZS1pbmZvIC5wYWdlLWluZm8tY29udGVudCAucGFnZS1pbmZvLWl0ZW1zIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLnBhZ2UtaW5mbyAucGFnZS1pbmZvLWNvbnRlbnQgLnBhZ2UtaW5mby1pdGVtcyB1bCBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgICAucGFnZS1pbmZvIC5wYWdlLWluZm8tY29udGVudCAucGFnZS1pbmZvLWl0ZW1zIHVsIGxpIGEge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgICAgICAucGFnZS1pbmZvIC5wYWdlLWluZm8tY29udGVudCAucGFnZS1pbmZvLWl0ZW1zIHVsIGxpIGEgc3BhbiB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5wYWdlLWluZm8gYS5wYWdlLWluZm8tb3BlbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAxOC43NXJlbTtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6ICM3NjVCQTc7XG4gIHdpZHRoOiAyLjEyNXJlbTtcbiAgaGVpZ2h0OiAzLjE4NzVyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgYm9yZGVyLXJhZGl1czogMC43NXJlbSAwIDAgMC43NXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgYm94LXNoYWRvdzogMCAwLjE4NzVyZW0gMC4zNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjE2KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICB6LWluZGV4OiA5OTtcbiAgYm9yZGVyOiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhZ2UtaW5mbyBhLnBhZ2UtaW5mby1vcGVuIHtcbiAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgaGVpZ2h0OiA0LjQzNzVyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAxLjQzNzVyZW0gMCAwIDEuNDM3NXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuXG4ucGFnZS1pbmZvLmNsb3NlZCAucGFnZS1pbmZvLWNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnBhZ2UtaW5mby5jbG9zZWQgLnBhZ2UtaW5mby1vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIC5wYWdlLWluZm8uY2xvc2VkIC5wYWdlLWluZm8tb3BlbiBpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG5cbi5yZXNvdXJjZXMge1xuICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJnYmEoMTE4LCA5MSwgMTY3LCAwLjI1KTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnJlc291cmNlcyAucmVzb3VyY2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICAucmVzb3VyY2VzIC5yZXNvdXJjZSA+IGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgIC5yZXNvdXJjZXMgLnJlc291cmNlIC5yZXNvdXJjZS1pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAucmVzb3VyY2VzIC5yZXNvdXJjZSAucmVzb3VyY2UtaW1hZ2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiA3LjVyZW07XG4gICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjg3NXJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWF4LWhlaWdodDogMTIuNXJlbTtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHotaW5kZXg6IDE7IH0gfVxuICAgICAgLnJlc291cmNlcyAucmVzb3VyY2UgLnJlc291cmNlLWltYWdlOmJlZm9yZSwgLnJlc291cmNlcyAucmVzb3VyY2UgLnJlc291cmNlLWltYWdlOmFmdGVyIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgICAucmVzb3VyY2VzIC5yZXNvdXJjZSAucmVzb3VyY2UtaW1hZ2U6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zMyk7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtOyB9XG4gICAgICAucmVzb3VyY2VzIC5yZXNvdXJjZSAucmVzb3VyY2UtaW1hZ2U6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcZTkxN1wiO1xuICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nLCBzYW5zLXNlcmlmO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgd2lkdGg6IDIuNzVyZW07XG4gICAgICAgIGhlaWdodDogMi43NXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsgfVxuICAgICAgLnJlc291cmNlcyAucmVzb3VyY2UgLnJlc291cmNlLWltYWdlIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAucmVzb3VyY2VzIC5yZXNvdXJjZSAucmVzb3VyY2UtZGV0YWlscyAucmVzb3VyY2UtdGl0bGUgaDYge1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICAucmVzb3VyY2VzIC5yZXNvdXJjZSAucmVzb3VyY2UtZGV0YWlscyAucmVzb3VyY2UtbWV0YSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICAgIC5yZXNvdXJjZXMgLnJlc291cmNlIC5yZXNvdXJjZS1kZXRhaWxzIC5yZXNvdXJjZS1tZXRhIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgIC5yZXNvdXJjZXMgLnJlc291cmNlIC5yZXNvdXJjZS1kZXRhaWxzIC5yZXNvdXJjZS1tZXRhIHVsIGxpIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICAgICAgLnJlc291cmNlcyAucmVzb3VyY2UgLnJlc291cmNlLWRldGFpbHMgLnJlc291cmNlLW1ldGEgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAucmVzb3VyY2VzIC5yZXNvdXJjZSAucmVzb3VyY2UtZGV0YWlscyAucmVzb3VyY2UtbWV0YSB1bCBsaTphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxLjA2MjVyZW07IH1cbiAgICAgICAgICAucmVzb3VyY2VzIC5yZXNvdXJjZSAucmVzb3VyY2UtZGV0YWlscyAucmVzb3VyY2UtbWV0YSB1bCBsaTpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucmVzb3VyY2VzIC5yZXNvdXJjZSAucmVzb3VyY2UtZGV0YWlscyAucmVzb3VyY2UtdG9vbHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5yZXNvdXJjZXMgLnJlc291cmNlIC5yZXNvdXJjZS1kZXRhaWxzIC5yZXNvdXJjZS10b29scyB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgICAgIC5yZXNvdXJjZXMgLnJlc291cmNlIC5yZXNvdXJjZS1kZXRhaWxzIC5yZXNvdXJjZS10b29scyAuZG93bmxvYWQge1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICM3NjVCQTc7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS41NjI1cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLnJlc291cmNlcyAucmVzb3VyY2UgLnJlc291cmNlLWRldGFpbHMgLnJlc291cmNlLXRvb2xzIC5kb3dubG9hZDpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM3NjVCQTc7IH1cbiAgICAucmVzb3VyY2VzIC5yZXNvdXJjZTpob3ZlciAucmVzb3VyY2UtaW1hZ2U6YmVmb3JlLCAucmVzb3VyY2VzIC5yZXNvdXJjZTpob3ZlciAucmVzb3VyY2UtaW1hZ2U6YWZ0ZXIge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uYmFjay13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogI0YwRUVGNjsgfVxuICAuYmFjay13cmFwcGVyIC5iYWNrLXdyYXBwZXItaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDQuMzEyNXJlbTtcbiAgICBwYWRkaW5nOiAwIDEuNTYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYmFjay13cmFwcGVyIC5iYWNrLXdyYXBwZXItaW5uZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDc1LjMxMjVyZW07XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuYmFjay13cmFwcGVyIC5iYWNrLXdyYXBwZXItaW5uZXIgLmJhY2ssXG4gICAgLmJhY2std3JhcHBlciAuYmFjay13cmFwcGVyLWlubmVyIC5uZXh0LFxuICAgIC5iYWNrLXdyYXBwZXIgLmJhY2std3JhcHBlci1pbm5lciAucHJldmlvdXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgIC5iYWNrLXdyYXBwZXIgLmJhY2std3JhcHBlci1pbm5lciAuYmFjayBpLFxuICAgICAgLmJhY2std3JhcHBlciAuYmFjay13cmFwcGVyLWlubmVyIC5uZXh0IGksXG4gICAgICAuYmFjay13cmFwcGVyIC5iYWNrLXdyYXBwZXItaW5uZXIgLnByZXZpb3VzIGkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICBmb250LXNpemU6IDAuNjg3NXJlbTsgfVxuICAgICAgLmJhY2std3JhcHBlciAuYmFjay13cmFwcGVyLWlubmVyIC5iYWNrOmhvdmVyLFxuICAgICAgLmJhY2std3JhcHBlciAuYmFjay13cmFwcGVyLWlubmVyIC5uZXh0OmhvdmVyLFxuICAgICAgLmJhY2std3JhcHBlciAuYmFjay13cmFwcGVyLWlubmVyIC5wcmV2aW91czpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjNzY1QkE3OyB9XG4gICAgLmJhY2std3JhcHBlciAuYmFjay13cmFwcGVyLWlubmVyIC5wcmV2aW91cy5oYXMtbmV4dDphZnRlciB7XG4gICAgICBjb250ZW50OiAnfCc7XG4gICAgICBjb2xvcjogIzcwNzA3MDtcbiAgICAgIG1hcmdpbjogMCAxLjYyNXJlbTsgfVxuICAgIC5iYWNrLXdyYXBwZXIgLmJhY2std3JhcHBlci1pbm5lciAubmV4dCBpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5zaW5nbGUtaXRlbS1jb250YWluZXIge1xuICBwYWRkaW5nOiAyLjVyZW0gMS41NjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNpbmdsZS1pdGVtLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDc1LjMxMjVyZW07XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBhZGRpbmc6IDIuNXJlbSAwOyB9IH1cbiAgLnNpbmdsZS1pdGVtLWNvbnRhaW5lciAuc2luZ2xlLWl0ZW0taW5mbyAuc2luZ2xlLWl0ZW0tZGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5zaW5nbGUtaXRlbS1jb250YWluZXIgLnNpbmdsZS1pdGVtLWluZm8gLnNpbmdsZS1pdGVtLXRpdGxlIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMy4xMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnNpbmdsZS1pdGVtLWNvbnRhaW5lciAuc2luZ2xlLWl0ZW0taW5mbyAuc2luZ2xlLWl0ZW0tdGl0bGUgaDQge1xuICAgICAgICBtYXgtd2lkdGg6IDU1LjYyNXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zaW5nbGUtaXRlbS1jb250YWluZXIgLnNpbmdsZS1pdGVtLWNvbnRlbnRzIHtcbiAgICAgIG1heC13aWR0aDogNTUuNjI1cmVtOyB9IH1cbiAgLnNpbmdsZS1pdGVtLWNvbnRhaW5lciAuc2luZ2xlLWl0ZW0tY29udGVudHMgLndwLWJsb2NrLWltYWdlIHtcbiAgICBtYXJnaW46IDEuODc1cmVtIDA7IH1cbiAgICAuc2luZ2xlLWl0ZW0tY29udGFpbmVyIC5zaW5nbGUtaXRlbS1jb250ZW50cyAud3AtYmxvY2staW1hZ2UgaW1nIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEuODc1cmVtOyB9XG4gIC5zaW5nbGUtaXRlbS1jb250YWluZXIgLnNpbmdsZS1pdGVtLWNvbnRlbnRzID4gaDIsIC5zaW5nbGUtaXRlbS1jb250YWluZXIgLnNpbmdsZS1pdGVtLWNvbnRlbnRzID4gaDMsIC5zaW5nbGUtaXRlbS1jb250YWluZXIgLnNpbmdsZS1pdGVtLWNvbnRlbnRzID4gaDQsIC5zaW5nbGUtaXRlbS1jb250YWluZXIgLnNpbmdsZS1pdGVtLWNvbnRlbnRzID4gaDUsIC5zaW5nbGUtaXRlbS1jb250YWluZXIgLnNpbmdsZS1pdGVtLWNvbnRlbnRzID4gaDYge1xuICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuICAuc2luZ2xlLWl0ZW0tY29udGFpbmVyIC5zaW5nbGUtaXRlbS1jb250ZW50cyA+IGgxIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgcGFkZGluZzogMC42MjVyZW07IH1cbiAgLnNpbmdsZS1pdGVtLWNvbnRhaW5lciAuc2luZ2xlLWl0ZW0tY29udGVudHMgPiB1bCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDsgfVxuICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5jbG9zZS1tZW51IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7IH1cbiAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubWVudS1wcmltYXJ5LW1lbnUtY29udGFpbmVyID4gdWwsXG4gIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1lbnUtc2Vjb25kYXJ5LW1lbnUtY29udGFpbmVyID4gdWwge1xuICAgIG1heC13aWR0aDogNzUuNjI1cmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tZW51LXByaW1hcnktbWVudS1jb250YWluZXIgPiB1bCA+IGxpOmJlZm9yZSxcbiAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tZW51LXNlY29uZGFyeS1tZW51LWNvbnRhaW5lciA+IHVsID4gbGk6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tZW51LXByaW1hcnktbWVudS1jb250YWluZXIgPiB1bCA+IGxpID4gYSxcbiAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tZW51LXNlY29uZGFyeS1tZW51LWNvbnRhaW5lciA+IHVsID4gbGkgPiBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNXJlbTtcbiAgICAgIGNvbG9yOiAjNkQ2RTcxO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubWVudS1wcmltYXJ5LW1lbnUtY29udGFpbmVyID4gdWwgPiBsaSA+IGE6aG92ZXIsXG4gICAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tZW51LXNlY29uZGFyeS1tZW51LWNvbnRhaW5lciA+IHVsID4gbGkgPiBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM3NjVCQTc7IH1cbiAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubWVudS1wcmltYXJ5LW1lbnUtY29udGFpbmVyID4gdWwge1xuICAgIHBhZGRpbmc6IDAgMCAwLjkzNzVyZW0gMDtcbiAgICBtYXJnaW46IDAuOTM3NXJlbSBhdXRvIDAgYXV0bzsgfVxuICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tZW51LXNlY29uZGFyeS1tZW51LWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZDogI2VkZWRlZDsgfVxuICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1lbnUtc2Vjb25kYXJ5LW1lbnUtY29udGFpbmVyID4gdWwgPiBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1lbnUtc2Vjb25kYXJ5LW1lbnUtY29udGFpbmVyID4gdWwgPiBsaTpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tZW51LXNlY29uZGFyeS1tZW51LWNvbnRhaW5lciA+IHVsID4gbGkgPiBhIHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAxLjA2MjVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubWVudS1zZWNvbmRhcnktbWVudS1jb250YWluZXIgPiB1bCA+IGxpID4gYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1lbnUtc2Vjb25kYXJ5LW1lbnUtY29udGFpbmVyID4gdWwgPiBsaSA+IC5kcm9wZG93biB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIG1pbi13aWR0aDogMTZyZW07XG4gICAgICAgIG1heC13aWR0aDogMjVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICNGOEY4Rjg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEuMjVyZW07XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMC4xODc1cmVtIDAuMzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4xNik7IH1cbiAgICAgICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubWVudS1zZWNvbmRhcnktbWVudS1jb250YWluZXIgPiB1bCA+IGxpID4gLmRyb3Bkb3duID4gbGkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1lbnUtc2Vjb25kYXJ5LW1lbnUtY29udGFpbmVyID4gdWwgPiBsaSA+IC5kcm9wZG93biA+IGxpOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubWVudS1zZWNvbmRhcnktbWVudS1jb250YWluZXIgPiB1bCA+IGxpID4gLmRyb3Bkb3duID4gbGkgYSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMS41NjI1cmVtO1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgICAgICAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tZW51LXNlY29uZGFyeS1tZW51LWNvbnRhaW5lciA+IHVsID4gbGkgPiAuZHJvcGRvd24gPiBsaSBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzc2NUJBNztcbiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tZW51LXNlY29uZGFyeS1tZW51LWNvbnRhaW5lciA+IHVsID4gbGkgPiAuZHJvcGRvd24gPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDYyNXJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07IH1cbiAgICAgICAgICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1lbnUtc2Vjb25kYXJ5LW1lbnUtY29udGFpbmVyID4gdWwgPiBsaSA+IC5kcm9wZG93biA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhOmFmdGVyIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgICAgcmlnaHQ6IDAuOTM3NXJlbTsgfVxuICAgICAgICAgICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubWVudS1zZWNvbmRhcnktbWVudS1jb250YWluZXIgPiB1bCA+IGxpID4gLmRyb3Bkb3duID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6aG92ZXIsIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1lbnUtc2Vjb25kYXJ5LW1lbnUtY29udGFpbmVyID4gdWwgPiBsaSA+IC5kcm9wZG93biA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgICAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tZW51LXNlY29uZGFyeS1tZW51LWNvbnRhaW5lciA+IHVsID4gbGkgPiAuZHJvcGRvd24gPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5kcm9wZG93biB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgICAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tZW51LXNlY29uZGFyeS1tZW51LWNvbnRhaW5lciA+IHVsID4gbGkgPiAuZHJvcGRvd24gPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5kcm9wZG93biBsaSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgICAgICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubWVudS1zZWNvbmRhcnktbWVudS1jb250YWluZXIgPiB1bCA+IGxpID4gLmRyb3Bkb3duID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAuZHJvcGRvd24gbGk6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1lbnUtc2Vjb25kYXJ5LW1lbnUtY29udGFpbmVyID4gdWwgPiBsaSA+IC5kcm9wZG93biA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLmRyb3Bkb3duIGxpIGEge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgICAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tZW51LXNlY29uZGFyeS1tZW51LWNvbnRhaW5lciA+IHVsID4gbGkgPiAuZHJvcGRvd24gPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLm9wZW5lZCAuZHJvcGRvd24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tZW51LXNlY29uZGFyeS1tZW51LWNvbnRhaW5lciA+IHVsID4gbGkgPiAuZHJvcGRvd24gPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLm9wZW5lZCA+IGE6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1lbnUtc2Vjb25kYXJ5LW1lbnUtY29udGFpbmVyID4gdWwgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYTphZnRlcixcbiAgICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1lbnUtc2Vjb25kYXJ5LW1lbnUtY29udGFpbmVyID4gdWwgPiBsaSBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNDM3NXJlbTtcbiAgICAgICAgY29sb3I6ICM3NjVCQTc7IH1cbiAgICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1lbnUtc2Vjb25kYXJ5LW1lbnUtY29udGFpbmVyID4gdWwgPiBsaTpob3ZlciA+IGE6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubWVudS1zZWNvbmRhcnktbWVudS1jb250YWluZXIgPiB1bCA+IGxpOmhvdmVyIC5kcm9wZG93biB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tZW51LXNlY29uZGFyeS1tZW51LWNvbnRhaW5lciA+IHVsID4gbGkud2lkZS1tZW51IC5kcm9wZG93biB7XG4gICAgICAgIG1pbi13aWR0aDogMjEuMjVyZW07IH1cbiAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAjbWVudS1zZWxlY3Rpb24td3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiA1cmVtIDAgMTAuOTM3NXJlbSAwOyB9XG4gICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAjbWVudS1zZWxlY3Rpb24td3JhcHBlciAubWVudS1zZWxlY3Rpb24td3JhcHBlci1pbm5lciB7XG4gICAgICBtYXgtd2lkdGg6IDc1LjYyNXJlbTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAjbWVudS1zZWxlY3Rpb24td3JhcHBlciAubWVudS1zZWxlY3Rpb24td3JhcHBlci1pbm5lciAubWVudS1jYXJkIHtcbiAgICAgICAgd2lkdGg6IDIzLjU2MjVyZW07XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxLjg3NXJlbTtcbiAgICAgICAgcGFkZGluZzogMi44MTI1cmVtIDIuODEyNXJlbSA2LjI1cmVtIDIuODEyNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgI21lbnUtc2VsZWN0aW9uLXdyYXBwZXIgLm1lbnUtc2VsZWN0aW9uLXdyYXBwZXItaW5uZXIgLm1lbnUtY2FyZCBoMyB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi42ODc1cmVtO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgI21lbnUtc2VsZWN0aW9uLXdyYXBwZXIgLm1lbnUtc2VsZWN0aW9uLXdyYXBwZXItaW5uZXIgLm1lbnUtY2FyZCBwIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyICNtZW51LXNlbGVjdGlvbi13cmFwcGVyIC5tZW51LXNlbGVjdGlvbi13cmFwcGVyLWlubmVyIC5tZW51LWNhcmQgc3BhbiB7XG4gICAgICAgICAgd2lkdGg6IDIuNjg3NXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDIuNjg3NXJlbTtcbiAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMi41cmVtO1xuICAgICAgICAgIGJvdHRvbTogMi41cmVtO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjsgfVxuICAgICAgICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgI21lbnUtc2VsZWN0aW9uLXdyYXBwZXIgLm1lbnUtc2VsZWN0aW9uLXdyYXBwZXItaW5uZXIgLm1lbnUtY2FyZCBzcGFuIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cbiAgICAgICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAjbWVudS1zZWxlY3Rpb24td3JhcHBlciAubWVudS1zZWxlY3Rpb24td3JhcHBlci1pbm5lciAubWVudS1jYXJkOmhvdmVyIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwLjE4NzVyZW0gMC4xODc1cmVtIDAuMzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4zNCk7IH1cbiAgICAgICAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyICNtZW51LXNlbGVjdGlvbi13cmFwcGVyIC5tZW51LXNlbGVjdGlvbi13cmFwcGVyLWlubmVyIC5tZW51LWNhcmQ6aG92ZXIgc3BhbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgI21lbnUtc2VsZWN0aW9uLXdyYXBwZXIgLm1lbnUtc2VsZWN0aW9uLXdyYXBwZXItaW5uZXIgLm1lbnUtY2FyZC5wdXJwbGUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7IH1cbiAgICAgICAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyICNtZW51LXNlbGVjdGlvbi13cmFwcGVyIC5tZW51LXNlbGVjdGlvbi13cmFwcGVyLWlubmVyIC5tZW51LWNhcmQucHVycGxlOmhvdmVyIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICM3NjVCQTc7IH1cbiAgICAgICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAjbWVudS1zZWxlY3Rpb24td3JhcHBlciAubWVudS1zZWxlY3Rpb24td3JhcHBlci1pbm5lciAubWVudS1jYXJkLnJlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI0JBMzA1NzsgfVxuICAgICAgICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgI21lbnUtc2VsZWN0aW9uLXdyYXBwZXIgLm1lbnUtc2VsZWN0aW9uLXdyYXBwZXItaW5uZXIgLm1lbnUtY2FyZC5yZWQ6aG92ZXIgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogI0JBMzA1NzsgfVxuICAgICAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyICNtZW51LXNlbGVjdGlvbi13cmFwcGVyIC5tZW51LXNlbGVjdGlvbi13cmFwcGVyLWlubmVyIC5tZW51LWNhcmQudGVhbCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzAwODA5QTsgfVxuICAgICAgICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgI21lbnUtc2VsZWN0aW9uLXdyYXBwZXIgLm1lbnUtc2VsZWN0aW9uLXdyYXBwZXItaW5uZXIgLm1lbnUtY2FyZC50ZWFsOmhvdmVyIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICMwMDgwOUE7IH1cbiAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubW9kYWwtbWVudSB1bC5tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubW9kYWwtbWVudSB1bC5tZW51ID4gbGkge1xuICAgICAgZmxleC1iYXNpczogMzMuMzMlOyB9XG4gICAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tb2RhbC1tZW51IHVsLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubW9kYWwtbWVudSB1bC5tZW51IGxpOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubW9kYWwtbWVudSB1bC5tZW51IHVsLnN1Yi1tZW51IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubW9kYWwtbWVudSB1bC5tZW51IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1vZGFsLW1lbnUge1xuICAgIHdpZHRoOiA3NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxLjg3NXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDAuMTg3NXJlbSAwLjM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMTYpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNGOEY4Rjg7XG4gICAgdG9wOiAxMC4zMTI1cmVtICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubW9kYWwtbWVudSAubW9kYWwtdGl0bGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmc6IDIuNXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1vZGFsLW1lbnUgLm1vZGFsLXRpdGxlIGgzIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubW9kYWwtbWVudSAubW9kYWwtdGl0bGUgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDIuMzc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuMzc1cmVtO1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogMi4zNzVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gICAgICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1vZGFsLW1lbnUgLm1vZGFsLXRpdGxlIC5jbG9zZS1idXR0b246aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAgICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubW9kYWwtbWVudSAubW9kYWwtdGl0bGUgLmNsb3NlLWJ1dHRvbiBpIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi4zNzVyZW07XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1vZGFsLW1lbnUgLnRoZS1tZW51IHtcbiAgICAgIHBhZGRpbmc6IDIuNXJlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtaW4taGVpZ2h0OiAzMS4yNXJlbTsgfVxuICAgICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubW9kYWwtbWVudSAudGhlLW1lbnUgLnRoZS1tZW51LWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMjAuNzVyZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRjVFQUVEO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBwYWRkaW5nOiAxMC45Mzc1cmVtIDEuODc1cmVtIDIuODEyNXJlbSAxLjg3NXJlbTsgfVxuICAgICAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tb2RhbC1tZW51IC50aGUtbWVudSAudGhlLW1lbnUtY29udGVudCBoNiB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zNzVyZW07IH1cbiAgICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1vZGFsLW1lbnUgLnRoZS1tZW51IC5tZW51IHtcbiAgICAgICAgbWFyZ2luOiAwIC0wLjYyNXJlbTsgfVxuICAgICAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tb2RhbC1tZW51IC50aGUtbWVudSAubWVudSA+IGxpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtOyB9XG4gICAgICAgICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubW9kYWwtbWVudSAudGhlLW1lbnUgLm1lbnUgPiBsaSAuc3ViLW1lbnUge1xuICAgICAgICAgICAgd2lkdGg6IDE2LjI1cmVtOyB9XG4gICAgICAgICAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tb2RhbC1tZW51IC50aGUtbWVudSAubWVudSA+IGxpIC5zdWItbWVudSBsaSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgICAgICAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tb2RhbC1tZW51IC50aGUtbWVudSAubWVudSA+IGxpIC5zdWItbWVudSBsaSBhIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgICAgICAgICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubW9kYWwtbWVudSAudGhlLW1lbnUgLm1lbnUgPiBsaSAuc3ViLW1lbnUgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMuNzVyZW07IH1cbiAgICAgICAgICAgICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubW9kYWwtbWVudSAudGhlLW1lbnUgLm1lbnUgPiBsaSAuc3ViLW1lbnUgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGEge1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgICAgICAgICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubW9kYWwtbWVudSAudGhlLW1lbnUgLm1lbnUgPiBsaSAuc3ViLW1lbnUgbGkgLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTYuNTYyNXJlbTsgfVxuICAgICAgICAgICAgICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1vZGFsLW1lbnUgLnRoZS1tZW51IC5tZW51ID4gbGkgLnN1Yi1tZW51IGxpIC5zdWItbWVudSBsaSB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1vZGFsLW1lbnUgLnRoZS1tZW51IC5tZW51ID4gbGkuc2luZ2xlLWNvbHVtbiA+IC5zdWItbWVudSB7XG4gICAgICAgICAgICB3aWR0aDogMTYuNTYyNXJlbTsgfVxuICAgICAgICAgICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubW9kYWwtbWVudSAudGhlLW1lbnUgLm1lbnUgPiBsaS5zaW5nbGUtY29sdW1uID4gLnN1Yi1tZW51ID4gbGkge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgICAgICAgICAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tb2RhbC1tZW51IC50aGUtbWVudSAubWVudSA+IGxpLnNpbmdsZS1jb2x1bW4gPiAuc3ViLW1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgICAgICAgICAgICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubW9kYWwtbWVudSAudGhlLW1lbnUgLm1lbnUgPiBsaS5zaW5nbGUtY29sdW1uID4gLnN1Yi1tZW51ID4gbGkgPiBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNzY1QkE3OyB9XG4gICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubW9kYWwtbWVudS5wdXJwbGUgLm1vZGFsLXRpdGxlIHtcbiAgICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7IH1cbiAgICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1vZGFsLW1lbnUucHVycGxlIC5tb2RhbC10aXRsZSAuY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM3NjVCQTc7IH1cbiAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tb2RhbC1tZW51LnB1cnBsZSAudGhlLW1lbnUgLnRoZS1tZW51LWNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZDogI0VBRTZGNDsgfVxuICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1vZGFsLW1lbnUucHVycGxlIC50aGUtbWVudSAubWVudSBsaSAuc3ViLW1lbnUgbGkgYSB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubW9kYWwtbWVudS5wdXJwbGUgLnRoZS1tZW51IC5tZW51IGxpIC5zdWItbWVudSBsaSBhOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM3NjVCQTc7IH1cbiAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tb2RhbC1tZW51LnB1cnBsZSAudGhlLW1lbnUgLm1lbnUgbGkgLnN1Yi1tZW51IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhIHtcbiAgICAgIGNvbG9yOiAjNzY1QkE3OyB9XG4gICAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tb2RhbC1tZW51LnB1cnBsZSAudGhlLW1lbnUgLm1lbnUgbGkgLnN1Yi1tZW51IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubW9kYWwtbWVudS5yZWQgLm1vZGFsLXRpdGxlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNDNDQzNjg7IH1cbiAgICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1vZGFsLW1lbnUucmVkIC5tb2RhbC10aXRsZSAuY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNDNDQzNjg7IH1cbiAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tb2RhbC1tZW51LnJlZCAudGhlLW1lbnUgLnRoZS1tZW51LWNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZDogI0Y1RUFFRDsgfVxuICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1vZGFsLW1lbnUucmVkIC50aGUtbWVudSAubWVudSBsaSAuc3ViLW1lbnUgbGkgYSB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubW9kYWwtbWVudS5yZWQgLnRoZS1tZW51IC5tZW51IGxpIC5zdWItbWVudSBsaSBhOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNDNDQzNjg7IH1cbiAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tb2RhbC1tZW51LnJlZCAudGhlLW1lbnUgLm1lbnUgbGkgLnN1Yi1tZW51IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhIHtcbiAgICAgIGNvbG9yOiAjQzQ0MzY4OyB9XG4gICAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tb2RhbC1tZW51LnJlZCAudGhlLW1lbnUgLm1lbnUgbGkgLnN1Yi1tZW51IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgYm9keSAuaGVhZGVyICNtYWluLW1lbnUtd3JhcHBlciAubW9kYWwtbWVudS50ZWFsIC5tb2RhbC10aXRsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDI3QjkzOyB9XG4gICAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tb2RhbC1tZW51LnRlYWwgLm1vZGFsLXRpdGxlIC5jbG9zZS1idXR0b246aG92ZXIge1xuICAgICAgICBjb2xvcjogIzAyN0I5MzsgfVxuICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1vZGFsLW1lbnUudGVhbCAudGhlLW1lbnUgLnRoZS1tZW51LWNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZDogI0RDRURGMDsgfVxuICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1vZGFsLW1lbnUudGVhbCAudGhlLW1lbnUgLm1lbnUgbGkgLnN1Yi1tZW51IGxpIGEge1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1vZGFsLW1lbnUudGVhbCAudGhlLW1lbnUgLm1lbnUgbGkgLnN1Yi1tZW51IGxpIGE6aG92ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAyN0I5MzsgfVxuICAgIGJvZHkgLmhlYWRlciAjbWFpbi1tZW51LXdyYXBwZXIgLm1vZGFsLW1lbnUudGVhbCAudGhlLW1lbnUgLm1lbnUgbGkgLnN1Yi1tZW51IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhIHtcbiAgICAgIGNvbG9yOiAjMDI3QjkzOyB9XG4gICAgICBib2R5IC5oZWFkZXIgI21haW4tbWVudS13cmFwcGVyIC5tb2RhbC1tZW51LnRlYWwgLnRoZS1tZW51IC5tZW51IGxpIC5zdWItbWVudSBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYTpob3ZlciB7XG4gICAgICAgIGJvcmRlcjogbm9uZTsgfVxuXG5ib2R5Lm1lbnUtZXhwYW5kZWQgLmhlYWRlciB7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk2KTtcbiAgbWF4LWhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgYm9keS5tZW51LWV4cGFuZGVkIC5oZWFkZXIgLmhlYWRlci1pbm5lciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIGJvZHkubWVudS1leHBhbmRlZCAuaGVhZGVyIC5oZWFkZXItaW5uZXIgLmNsb3NlLW1lbnUge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgIGJvZHkubWVudS1leHBhbmRlZCAuaGVhZGVyIC5oZWFkZXItaW5uZXIgLmxvZ28ge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICBib2R5Lm1lbnUtZXhwYW5kZWQgLmhlYWRlciAuaGVhZGVyLWlubmVyIC5sb2dvIC5jb2xvci1sb2dvIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIGJvZHkubWVudS1leHBhbmRlZCAuaGVhZGVyIC5oZWFkZXItaW5uZXIgLmxvZ28gLndoaXRlLWxvZ28ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgYm9keS5tZW51LWV4cGFuZGVkIC5oZWFkZXIgLmhlYWRlci1pbm5lciAuaGVhZGVyLXJpZ2h0LXNpZGUgLmhlYWRlci1yaWdodC10b3Atc2lkZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgYm9keS5tZW51LWV4cGFuZGVkIC5oZWFkZXIgLmhlYWRlci1pbm5lciAuaGVhZGVyLXJpZ2h0LXNpZGUgLmhlYWRlci1yaWdodC1ib3R0b20tc2lkZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbmJvZHkubWVudS1leHBhbmRlZCAjbWFpbi1tZW51LXdyYXBwZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMy4yNXJlbTsgfVxuXG4uYWpheC1jb250YWluZXIgLm5vLXJlc3VsdHMsXG4uYWpheC1jb250YWluZXIgYnV0dG9uLnNob3ctbW9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmFqYXgtY29udGFpbmVyLm5vLXJlc3VsdHMgLm5vLXJlc3VsdHMge1xuICBkaXNwbGF5OiBpbml0aWFsOyB9XG5cbi5hamF4LWNvbnRhaW5lci5oYXMtbW9yZS1yZXN1bHRzIGJ1dHRvbi5zaG93LW1vcmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYWpheC1jb250YWluZXIgLnNob3ctbW9yZSB7XG4gIG1hcmdpbjogNXJlbSBhdXRvOyB9XG5cbi5zcG90aWZ5LXdyYXBwZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5oYW1idXJnZXItbWVudSB7XG4gIHdpZHRoOiAyLjA2MjVyZW07XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaGFtYnVyZ2VyLW1lbnUge1xuICAgICAgbWFyZ2luOiAwLjM3NXJlbSAwIDAgMDsgfSB9XG4gIC5oYW1idXJnZXItbWVudSAudG9nZ2xlLW1lbnUge1xuICAgIHdpZHRoOiAxLjg3NXJlbTtcbiAgICBoZWlnaHQ6IDEuMzc1cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmhhbWJ1cmdlci1tZW51IC50b2dnbGUtbWVudSB7XG4gICAgICAgIHdpZHRoOiAyLjA2MjVyZW07XG4gICAgICAgIGhlaWdodDogMS41cmVtOyB9IH1cbiAgICAuaGFtYnVyZ2VyLW1lbnUgLnRvZ2dsZS1tZW51IHNwYW4ge1xuICAgICAgd2lkdGg6IDEuODc1cmVtO1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjNzY1QkE3O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuaGFtYnVyZ2VyLW1lbnUgLnRvZ2dsZS1tZW51IHNwYW4ge1xuICAgICAgICAgIHdpZHRoOiAyLjA2MjVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OyB9IH1cbiAgICAgIC5oYW1idXJnZXItbWVudSAudG9nZ2xlLW1lbnUgc3BhbjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgIHRvcDogMC42MjVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAuaGFtYnVyZ2VyLW1lbnUgLnRvZ2dsZS1tZW51IHNwYW46bnRoLW9mLXR5cGUoMikge1xuICAgICAgICAgICAgdG9wOiAwLjc1cmVtOyB9IH1cbiAgICAgIC5oYW1idXJnZXItbWVudSAudG9nZ2xlLW1lbnUgc3BhbjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICAgIHRvcDogMS4yNXJlbTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5oYW1idXJnZXItbWVudSAudG9nZ2xlLW1lbnUgc3BhbjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICAgICAgICB0b3A6IDEuNXJlbTsgfSB9XG5cbi5jb250YWN0LWluZm8ge1xuICBiYWNrZ3JvdW5kOiAjRkZDMjBFO1xuICBwYWRkaW5nOiAwIDEuMjVyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbnRhY3QtaW5mbyB7XG4gICAgICBoZWlnaHQ6IDIuNjI1cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMS4zMTI1cmVtO1xuICAgICAgbWFyZ2luOiAwIDEuMjVyZW0gMCAwLjkzNzVyZW07IH0gfVxuICAuY29udGFjdC1pbmZvIC5jb250YWN0LWluZm8taW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMC40Mzc1cmVtIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbnRhY3QtaW5mbyAuY29udGFjdC1pbmZvLWlubmVyIHtcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW0gMDsgfSB9XG4gICAgLmNvbnRhY3QtaW5mbyAuY29udGFjdC1pbmZvLWlubmVyIC5waG9uZSxcbiAgICAuY29udGFjdC1pbmZvIC5jb250YWN0LWluZm8taW5uZXIgLmNoYXQge1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmNvbnRhY3QtaW5mbyAuY29udGFjdC1pbmZvLWlubmVyIC5waG9uZSBpLFxuICAgICAgLmNvbnRhY3QtaW5mbyAuY29udGFjdC1pbmZvLWlubmVyIC5jaGF0IGkge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4zNzVyZW07IH1cbiAgICAgIC5jb250YWN0LWluZm8gLmNvbnRhY3QtaW5mby1pbm5lciAucGhvbmUgYSxcbiAgICAgIC5jb250YWN0LWluZm8gLmNvbnRhY3QtaW5mby1pbm5lciAuY2hhdCBhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAuY29udGFjdC1pbmZvIC5jb250YWN0LWluZm8taW5uZXIgLnBob25lIGEsXG4gICAgICAgICAgLmNvbnRhY3QtaW5mbyAuY29udGFjdC1pbmZvLWlubmVyIC5jaGF0IGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gICAgLmNvbnRhY3QtaW5mbyAuY29udGFjdC1pbmZvLWlubmVyIC5waG9uZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjg3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC44NzVyZW07XG4gICAgICBib3JkZXItcmlnaHQ6IDEuNXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuICAuY29udGFjdC1pbmZvIC5sZWFybi1tb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZDMjBFO1xuICAgIHRvcDogMi41cmVtO1xuICAgIHotaW5kZXg6IDk5OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb250YWN0LWluZm8gLmxlYXJuLW1vcmUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjEyNXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDEuMzEyNXJlbSAxLjMxMjVyZW07IH0gfVxuICAgIC5jb250YWN0LWluZm8gLmxlYXJuLW1vcmUgYSB7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGJvcmRlci10b3A6IDEuNXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgbWFyZ2luOiAwIDEuMjVyZW07XG4gICAgICBwYWRkaW5nOiAwLjQzNzVyZW0gMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbnRhY3QtaW5mbyAubGVhcm4tbW9yZSBhIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAgMC44NzVyZW0gMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbnRhY3QtaW5mbzpob3ZlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAxLjMxMjVyZW0gMS4zMTI1cmVtIDAgMDsgfSB9XG4gIC5jb250YWN0LWluZm86aG92ZXIgLmxlYXJuLW1vcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zZWFyY2gtZm9ybSBmb3JtIHtcbiAgd2lkdGg6IDE3LjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNlYXJjaC1mb3JtIGZvcm0gaW5wdXQge1xuICAgIHdpZHRoOiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDIuNjI1cmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDEuMzEyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjRjhGOEY4O1xuICAgIHBhZGRpbmc6IDAgMCAwIDEuMzEyNXJlbTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuc2VhcmNoLWZvcm0gZm9ybSBpbnB1dC5leHBhbmRlZCB7XG4gICAgICB3aWR0aDogMTcuMjVyZW07XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5zZWFyY2gtZm9ybSBmb3JtIC50b2dnbGUtc2VhcmNoIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAyLjYyNXJlbTtcbiAgICBoZWlnaHQ6IDIuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI0VERURFRDsgfVxuXG4uc2VhcmNoLWZvcm0uZXhwYW5kZWQgLnRvZ2dsZS1zZWFyY2gge1xuICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi5ub3QtZm91bmQge1xuICBwYWRkaW5nOiAzLjc1cmVtIDEuNTYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5ub3QtZm91bmQge1xuICAgICAgcGFkZGluZzogNi4yNXJlbSAwOyB9IH1cblxuLnNlYXJjaC1yZXN1bHRzLXBhZ2Uge1xuICBwYWRkaW5nOiAyLjVyZW0gMS41NjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNlYXJjaC1yZXN1bHRzLXBhZ2Uge1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMCAzLjEyNXJlbSAwOyB9IH1cbiAgLnNlYXJjaC1yZXN1bHRzLXBhZ2UgLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLnNlYXJjaC1yZXN1bHRzLXBhZ2UgLnNlYXJjaC1yZXN1bHRzLXdyYXBwZXIgLnBvc3QtZGV0YWlscyB7XG4gICAgcGFkZGluZzogMS44NzVyZW0gMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc2VhcmNoLXJlc3VsdHMtcGFnZSAuc2VhcmNoLXJlc3VsdHMtd3JhcHBlciAucG9zdC1kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW0gMDsgfSB9XG4gICAgLnNlYXJjaC1yZXN1bHRzLXBhZ2UgLnNlYXJjaC1yZXN1bHRzLXdyYXBwZXIgLnBvc3QtZGV0YWlscyBoNiBhIHtcbiAgICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAycmVtOyB9XG4gICAgICAuc2VhcmNoLXJlc3VsdHMtcGFnZSAuc2VhcmNoLXJlc3VsdHMtd3JhcHBlciAucG9zdC1kZXRhaWxzIGg2IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzc2NUJBNztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNzY1QkE3OyB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luOiAyLjVyZW0gMS44NzVyZW0gNXJlbSAxLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdpbmF0aW9uIHtcbiAgICAgIG1hcmdpbjogMi41cmVtIDAgNXJlbSAwOyB9IH1cbiAgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMubmV4dCB7XG4gICAgICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM3NjVCQTc7XG4gICAgICBiYWNrZ3JvdW5kOiAjNzY1QkE3O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAxLjI1cmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZzogMCAxLjU2MjVyZW07IH1cbiAgICAgIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMubmV4dDpob3ZlciwgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5uZXh0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgY29sb3I6ICM3NjVCQTc7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI2xvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDc1LjMxMjVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI2xvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtY29udGFpbmVyIC5mb3JtLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDU1JTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMy43NXJlbSAxMC4zMTI1cmVtIDAgMDsgfSB9XG5cbiNsb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWNvbnRhaW5lciAuZm9ybS1jb250YWluZXIgLmxvZ28ge1xuICBwYWRkaW5nOiAwLjYyNXJlbSAxLjU2MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMTg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNsb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWNvbnRhaW5lciAuZm9ybS1jb250YWluZXIgLmxvZ28ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87IH0gfVxuICAjbG9naW4tcGFnZSAubG9naW4tcGFnZS1jb250YWluZXIgLmZvcm0tY29udGFpbmVyIC5sb2dvIGEge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAjbG9naW4tcGFnZSAubG9naW4tcGFnZS1jb250YWluZXIgLmZvcm0tY29udGFpbmVyIC5sb2dvIGEgaW1nIHtcbiAgICAgIHdpZHRoOiAxNXJlbTtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI2xvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtY29udGFpbmVyIC5mb3JtLWNvbnRhaW5lciAubG9nbyBhIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDE3LjMxMjVyZW07IH0gfVxuXG4jbG9naW4tcGFnZSAubG9naW4tcGFnZS1jb250YWluZXIgLmZvcm0tY29udGFpbmVyIC53cHVtLWZvcm0ge1xuICBwYWRkaW5nOiAwIDEuNTYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNsb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWNvbnRhaW5lciAuZm9ybS1jb250YWluZXIgLndwdW0tZm9ybSB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgI2xvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtY29udGFpbmVyIC5mb3JtLWNvbnRhaW5lciAud3B1bS1mb3JtIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAjbG9naW4tcGFnZSAubG9naW4tcGFnZS1jb250YWluZXIgLmZvcm0tY29udGFpbmVyIC53cHVtLWZvcm0gZmllbGRzZXQgLmZpZWxkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAjbG9naW4tcGFnZSAubG9naW4tcGFnZS1jb250YWluZXIgLmZvcm0tY29udGFpbmVyIC53cHVtLWZvcm0gZmllbGRzZXQgLmZpZWxkIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgI2xvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtY29udGFpbmVyIC5mb3JtLWNvbnRhaW5lciAud3B1bS1mb3JtIGZpZWxkc2V0IC5maWVsZCBpbnB1dFt0eXBlPVwiZW1haWxcIl0ge1xuICAgIGhlaWdodDogMy40Mzc1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNFREVERUQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMi4xODc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMS41NjI1cmVtO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAjbG9naW4tcGFnZSAubG9naW4tcGFnZS1jb250YWluZXIgLmZvcm0tY29udGFpbmVyIC53cHVtLWZvcm0gZmllbGRzZXQgLmZpZWxkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjpwbGFjZWhvbGRlcixcbiAgICAjbG9naW4tcGFnZSAubG9naW4tcGFnZS1jb250YWluZXIgLmZvcm0tY29udGFpbmVyIC53cHVtLWZvcm0gZmllbGRzZXQgLmZpZWxkIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTo6cGxhY2Vob2xkZXIsXG4gICAgI2xvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtY29udGFpbmVyIC5mb3JtLWNvbnRhaW5lciAud3B1bS1mb3JtIGZpZWxkc2V0IC5maWVsZCBpbnB1dFt0eXBlPVwiZW1haWxcIl06OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAjbG9naW4tcGFnZSAubG9naW4tcGFnZS1jb250YWluZXIgLmZvcm0tY29udGFpbmVyIC53cHVtLWZvcm0gLnN1Ym1pdC1maWVsZCB7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbiNsb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWNvbnRhaW5lciAuZm9ybS1jb250YWluZXIgLndwdW0tYWN0aW9uLWxpbmtzIHtcbiAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwIDEuNTYyNXJlbSAxLjg3NXJlbSAxLjU2MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjbG9naW4tcGFnZSAubG9naW4tcGFnZS1jb250YWluZXIgLmZvcm0tY29udGFpbmVyIC53cHVtLWFjdGlvbi1saW5rcyB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgI2xvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtY29udGFpbmVyIC5mb3JtLWNvbnRhaW5lciAud3B1bS1hY3Rpb24tbGlua3MgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgI2xvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtY29udGFpbmVyIC5mb3JtLWNvbnRhaW5lciAud3B1bS1hY3Rpb24tbGlua3MgbGk6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjbG9naW4tcGFnZSAubG9naW4tcGFnZS1jb250YWluZXIgLmZvcm0tY29udGFpbmVyIC53cHVtLWFjdGlvbi1saW5rcyBsaSBhIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbiNsb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWNvbnRhaW5lciAuZm9ybS10ZXh0IHtcbiAgYmFja2dyb3VuZDogIzc2NUJBNzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNsb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWNvbnRhaW5lciAuZm9ybS10ZXh0IHtcbiAgICAgIHdpZHRoOiA0NSU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2xvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtY29udGFpbmVyIC5mb3JtLXRleHQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogLTEyNXJlbTtcbiAgICAgIHdpZHRoOiAxMjVyZW07XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAjNzY1QkE3OyB9IH1cbiAgI2xvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtY29udGFpbmVyIC5mb3JtLXRleHQgLmZvcm0tdGV4dC1pbm5lciB7XG4gICAgcGFkZGluZzogMy43NXJlbSAxLjU2MjVyZW0gNi4yNXJlbSAxLjU2MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2xvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtY29udGFpbmVyIC5mb3JtLXRleHQgLmZvcm0tdGV4dC1pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDMuNzVyZW07IH0gfVxuICAgICNsb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWNvbnRhaW5lciAuZm9ybS10ZXh0IC5mb3JtLXRleHQtaW5uZXIgaDIsICNsb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWNvbnRhaW5lciAuZm9ybS10ZXh0IC5mb3JtLXRleHQtaW5uZXIgcCB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICNsb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWNvbnRhaW5lciAuZm9ybS10ZXh0IC5mb3JtLXRleHQtaW5uZXIgLmJ1dHRvbiB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjsgfVxuICAgICAgI2xvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtY29udGFpbmVyIC5mb3JtLXRleHQgLmZvcm0tdGV4dC1pbm5lciAuYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM3NjVCQTc7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjsgfVxuXG5ib2R5LmxvZ2dlZC1pbiAjbG9naW4tcGFnZSAuZm9ybS1jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IH1cbiAgYm9keS5sb2dnZWQtaW4gI2xvZ2luLXBhZ2UgLmZvcm0tY29udGFpbmVyIC53cHVtLWFscmVhZHktbG9nZ2VkLWluIHtcbiAgICBtYXJnaW4tdG9wOiA1cmVtOyB9XG5cbmJvZHkubG9nZ2VkLWluICNsb2dpbi1wYWdlIC5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi53cHVtLWZvcm0gZmllbGRzZXQuZmllbGRzZXQtcHJpdmFjeSBsYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICAud3B1bS1mb3JtIGZpZWxkc2V0LmZpZWxkc2V0LXByaXZhY3kgbGFiZWwgaW5wdXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuNDM3NXJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAud3B1bS1mb3JtIGZpZWxkc2V0LmZpZWxkc2V0LXByaXZhY3kgbGFiZWwgc21hbGwuZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07IH1cblxuI3ZpZGVvX21vZGFsIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyB9XG4gICN2aWRlb19tb2RhbCAuY2xvc2UtYnV0dG9uIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgI3ZpZGVvX21vZGFsIC52aWRlby1yZXZlYWwgLm92ZXJsYXktdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgI3ZpZGVvX21vZGFsIC5jbG9zZS1idXR0b24ge1xuICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM3NjVCQTc7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICB3aWR0aDogMi41cmVtOyB9XG4gICAgI3ZpZGVvX21vZGFsIC5jbG9zZS1idXR0b24gLmljb24ge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgICN2aWRlb19tb2RhbCAuY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYWRtaW4tYmFyICN2aWRlb19tb2RhbCB7XG4gIHBhZGRpbmctdG9wOiAzLjEyNXJlbTsgfVxuICAuYWRtaW4tYmFyICN2aWRlb19tb2RhbCAuY2xvc2UtYnV0dG9uIHtcbiAgICB0b3A6IDQuMzc1cmVtOyB9XG5cbi5sb2FkaW5nOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiA0cmVtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogNnB4IHNvbGlkICM3NjVCQTc7XG4gIGJvcmRlci1jb2xvcjogIzc2NUJBNyB0cmFuc3BhcmVudCAjNzY1QkE3IHRyYW5zcGFyZW50O1xuICBhbmltYXRpb246IGxkcy1kdWFsLXJpbmcgMS4ycyBsaW5lYXIgaW5maW5pdGU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxuQGtleWZyYW1lcyBsZHMtZHVhbC1yaW5nIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICB6LWluZGV4OiA5OTk5OTk7IH1cblxuI3F1aXotZnVubmVsLW1vZGFsIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMjMuNDM3NXJlbTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDEuMjVyZW07XG4gIC8qIEJhc2UgZm9yIGxhYmVsIHN0eWxpbmcgKi9cbiAgLyogY2hlY2tib3ggYXNwZWN0ICovXG4gIC8qIGNoZWNrZWQgbWFyayBhc3BlY3QgKi9cbiAgLyogY2hlY2tlZCBtYXJrIGFzcGVjdCBjaGFuZ2VzICovXG4gIC8qIGRpc2FibGVkIGNoZWNrYm94ICovXG4gIC8qIGFjY2Vzc2liaWxpdHkgKi8gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNxdWl6LWZ1bm5lbC1tb2RhbCB7XG4gICAgICBtYXgtd2lkdGg6IDk4JTtcbiAgICAgIHdpZHRoOiA4NnJlbTtcbiAgICAgIGhlaWdodDogNDguMDYyNXJlbTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICAjcXVpei1mdW5uZWwtbW9kYWwgLmxvZ28ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAxLjg3NXJlbTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAyMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwLjkpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmxvZ28ge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0b3A6IDVyZW07XG4gICAgICAgIGxlZnQ6IDMuNjg3NXJlbTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH0gfVxuICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAubG9nbyBpbWcge1xuICAgICAgd2lkdGg6IDE1cmVtO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmxvZ28gaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTcuMzEyNXJlbTsgfSB9XG4gICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmxvZ28gaW1nLmNvbG91ci1sb2dvIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAubG9nbyBpbWcuY29sb3VyLWxvZ28ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5sb2dvIGltZy53aGl0ZS1sb2dvIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgI3F1aXotZnVubmVsLW1vZGFsIC5jbG9zZS1idXR0b24ge1xuICAgIGhlaWdodDogMS45Mzc1cmVtO1xuICAgIHdpZHRoOiAxLjkzNzVyZW07XG4gICAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjZmVmZWZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgcmlnaHQ6IDEuNTYyNXJlbTtcbiAgICB0b3A6IDEuODc1cmVtO1xuICAgIHotaW5kZXg6IDI1OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyOiAwLjE4NzVyZW0gc29saWQgI2ZlZmVmZTtcbiAgICAgICAgaGVpZ2h0OiAyLjY4NzVyZW07XG4gICAgICAgIHdpZHRoOiAyLjY4NzVyZW07XG4gICAgICAgIHJpZ2h0OiAxLjU2MjVyZW07XG4gICAgICAgIHRvcDogMS44NzVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9IH1cbiAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmNsb3NlLWJ1dHRvbjpob3ZlciwgI3F1aXotZnVubmVsLW1vZGFsIC5jbG9zZS1idXR0b246YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuY2xvc2UtYnV0dG9uOmFmdGVyIHtcbiAgICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gICAgICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XG4gICAgICBzcGVhazogbmV2ZXI7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICBjb250ZW50OiBcIlxcZTkwNVwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmJnLWltYWdlIGltZyB7XG4gICAgICBoZWlnaHQ6IDQ4LjA2MjVyZW07XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gICNxdWl6LWZ1bm5lbC1tb2RhbCAuc2hhcGUtYmc6YmVmb3JlLCAjcXVpei1mdW5uZWwtbW9kYWwgLnNoYXBlLWJnOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTEwLjkzNzVyZW07XG4gICAgdG9wOiAxOS41cmVtO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMTVkZWcpO1xuICAgIGhlaWdodDogMzUuNDM3NXJlbTtcbiAgICB3aWR0aDogMzguMzc1cmVtO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy93aGl0ZS1zaGFwZS5zdmdcIikgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5zaGFwZS1iZzpiZWZvcmUsICNxdWl6LWZ1bm5lbC1tb2RhbCAuc2hhcGUtYmc6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiAtMTZyZW07XG4gICAgICAgIHRvcDogLTIuNjg3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiA1My44MTI1cmVtO1xuICAgICAgICB3aWR0aDogNTguMzEyNXJlbTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTM0OGRlZyk7IH0gfVxuICAjcXVpei1mdW5uZWwtbW9kYWwgLnNoYXBlLWJnOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2JsdWUtc2hhcGUuc3ZnXCIpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMzFkZWcpO1xuICAgIGxlZnQ6IC03LjgxMjVyZW07XG4gICAgYm90dG9tOiAtMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLnNoYXBlLWJnOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0zMjNkZWcpO1xuICAgICAgICBsZWZ0OiAtMTIuNjI1cmVtOyB9IH1cbiAgI3F1aXotZnVubmVsLW1vZGFsIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgZm9ybSxcbiAgI3F1aXotZnVubmVsLW1vZGFsIC5jb25maXJtYXRpb24td3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogIzc2NUJBNzsgfVxuICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIGZvcm06YmVmb3JlLCAjcXVpei1mdW5uZWwtbW9kYWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBmb3JtOmFmdGVyLFxuICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuY29uZmlybWF0aW9uLXdyYXBwZXI6YmVmb3JlLFxuICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuY29uZmlybWF0aW9uLXdyYXBwZXI6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTE2cmVtO1xuICAgICAgdG9wOiAtMi43cmVtO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTM0OGRlZyk7XG4gICAgICBoZWlnaHQ6IDUzLjgxMjVyZW07XG4gICAgICB3aWR0aDogNTguMzEyNXJlbTtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy93aGl0ZS1zaGFwZS5zdmc/dj0xLjJcIikgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBmb3JtOmJlZm9yZSwgI3F1aXotZnVubmVsLW1vZGFsIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgZm9ybTphZnRlcixcbiAgICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5jb25maXJtYXRpb24td3JhcHBlcjpiZWZvcmUsXG4gICAgICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuY29uZmlybWF0aW9uLXdyYXBwZXI6YWZ0ZXIge1xuICAgICAgICAgIGxlZnQ6IC0xNnJlbTtcbiAgICAgICAgICB0b3A6IC0yLjdyZW07XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE3OCk7XG4gICAgICAgICAgaGVpZ2h0OiA1My44MTI1cmVtO1xuICAgICAgICAgIHdpZHRoOiA1OC4zMTI1cmVtO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBmb3JtOmJlZm9yZSxcbiAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmNvbmZpcm1hdGlvbi13cmFwcGVyOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYmx1ZS1zaGFwZS5zdmdcIik7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMzIzZGVnKTtcbiAgICAgIGxlZnQ6IC0xMi42cmVtO1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgZm9ybTpiZWZvcmUsXG4gICAgICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuY29uZmlybWF0aW9uLXdyYXBwZXI6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMzIzZGVnKTtcbiAgICAgICAgICBsZWZ0OiAtMTIuNnJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICNxdWl6LWZ1bm5lbC1tb2RhbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIGZvcm06YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcveWVsbG93LXNoYXBlLnN2Z1wiKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuY29uZmlybWF0aW9uLXdyYXBwZXIge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gICNxdWl6LWZ1bm5lbC1tb2RhbCAuY29uZmlybWF0aW9uLXdyYXBwZXI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvZ3JlZW4tc2hhcGUuc3ZnXCIpOyB9XG4gICNxdWl6LWZ1bm5lbC1tb2RhbCAubGFuZGluZy1wYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgI3F1aXotZnVubmVsLW1vZGFsIC5sYW5kaW5nLXBhZ2UgaW1nLmRlc2t0b3Age1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5sYW5kaW5nLXBhZ2UgaW1nLmRlc2t0b3Age1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5sYW5kaW5nLXBhZ2UgaW1nLm1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAubGFuZGluZy1wYWdlIC5jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgcGFkZGluZzogMCAxLjU2MjVyZW0gMi41cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmxhbmRpbmctcGFnZSAuY29udGVudCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgIHdpZHRoOiAzMy43NXJlbTtcbiAgICAgICAgICBib3R0b206IDMuOTM3NXJlbTtcbiAgICAgICAgICBsZWZ0OiA1LjVyZW07XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgI3F1aXotZnVubmVsLW1vZGFsIC5sYW5kaW5nLXBhZ2UgaDIge1xuICAgICAgZm9udC1zaXplOiAxLjY4NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi4xODc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogNC4zNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjEyNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5sYW5kaW5nLXBhZ2UgaDIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMi4zNzVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMuMjVyZW07XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtOyB9IH1cbiAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmxhbmRpbmctcGFnZSBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5sYW5kaW5nLXBhZ2UgcCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjkzNzVyZW07IH0gfVxuICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAubGFuZGluZy1wYWdlIC50YWtlLXF1aXoge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGVmdDogLTEuNTYyNXJlbTtcbiAgICAgIHdpZHRoOiAyMS44NzVyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAjNzY1QkE3O1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDFyZW0gNy41cmVtIDFyZW0gMS41NjI1cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCA2LjI1cmVtIDYuMjVyZW0gMDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi4zMTI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmxhbmRpbmctcGFnZSAudGFrZS1xdWl6IHtcbiAgICAgICAgICBsZWZ0OiAtNS41cmVtO1xuICAgICAgICAgIHdpZHRoOiAzOC44MTI1cmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS44MTI1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjE4NzVyZW07XG4gICAgICAgICAgcGFkZGluZzogMi41cmVtIDUuNXJlbTsgfSB9XG4gICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmxhbmRpbmctcGFnZSAudGFrZS1xdWl6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMi44NzVyZW07XG4gICAgICAgIGhlaWdodDogMi44NzVyZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHJpZ2h0OiAxLjU2MjVyZW07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAtNTAlKSByb3RhdGUoOTBkZWcpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBib3JkZXI6IDAuMTg3NXJlbSBzb2xpZCAjZmVmZWZlO1xuICAgICAgICBjb250ZW50OiAnJzsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAubGFuZGluZy1wYWdlIC50YWtlLXF1aXo6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiAzLjM3NXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMy4zNzVyZW07XG4gICAgICAgICAgICByaWdodDogMy4xMjVyZW07IH0gfVxuICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5sYW5kaW5nLXBhZ2UgLnRha2UtcXVpejphZnRlciB7XG4gICAgICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgICAgICAgc3BlYWs6IG5ldmVyO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgY29udGVudDogXCJcXGU5MDFcIjtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHJpZ2h0OiAzcmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpIHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmxhbmRpbmctcGFnZSAudGFrZS1xdWl6OmFmdGVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICAgICAgcmlnaHQ6IDQuODEyNXJlbTsgfSB9XG4gICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmxhbmRpbmctcGFnZSAudGFrZS1xdWl6OmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAubGFuZGluZy1wYWdlIC50YWtlLXF1aXo6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogIzc2NUJBNzsgfVxuICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAubGFuZGluZy1wYWdlIC5idXR0b24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAjcXVpei1mdW5uZWwtbW9kYWwgLnF1aXotcGFnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTA7IH1cbiAgI3F1aXotZnVubmVsLW1vZGFsLnNob3ctcXVpeiAucXVpei1wYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjcXVpei1mdW5uZWwtbW9kYWwuc2hvdy1xdWl6IC5sYW5kaW5nLXBhZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI3F1aXotZnVubmVsLW1vZGFsLnNob3ctcXVpeiAubG9nbyB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3F1aXotZnVubmVsLW1vZGFsLnNob3ctcXVpeiAubG9nbyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfSB9XG4gICAgI3F1aXotZnVubmVsLW1vZGFsLnNob3ctcXVpeiAubG9nbyBpbWcud2hpdGUtbG9nbyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI3F1aXotZnVubmVsLW1vZGFsLnNob3ctcXVpeiAubG9nbyBpbWcuY29sb3VyLWxvZ28ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgICAjcXVpei1mdW5uZWwtbW9kYWwuc2hvdy1xdWl6IC5jbG9zZS1idXR0b24ge1xuICAgICAgY29sb3I6ICM3NjVCQTc7XG4gICAgICBib3JkZXItY29sb3I6ICM3NjVCQTc7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAgICNxdWl6LWZ1bm5lbC1tb2RhbC5zaG93LXF1aXogLmNsb3NlLWJ1dHRvbjpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7IH0gfVxuICAjcXVpei1mdW5uZWwtbW9kYWwgLmdmX3Byb2dyZXNzYmFyX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI3F1aXotZnVubmVsLW1vZGFsIC5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlcixcbiAgI3F1aXotZnVubmVsLW1vZGFsIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUge1xuICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAjcXVpei1mdW5uZWwtbW9kYWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBmb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ4LjA2MjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDlyZW0gNS4wNjI1cmVtIDYuMjVyZW07XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgI3F1aXotZnVubmVsLW1vZGFsIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgZm9ybSAuZ2Zvcm1fcGFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyMDtcbiAgICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIGZvcm0gLmdmb3JtX3BhZ2Uge1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7IH0gfVxuICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIGZvcm0gbGVnZW5kLFxuICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIGZvcm0gLmdpbnB1dF9jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogNTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgZm9ybSBsZWdlbmQsXG4gICAgICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIGZvcm0gLmdpbnB1dF9jb250YWluZXIge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMS41NjI1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIGZvcm0gbGVnZW5kLFxuICAgICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBmb3JtIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gICAgI3F1aXotZnVubmVsLW1vZGFsIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgZm9ybSBsZWdlbmQge1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gICAgICBjb2xvcjogIzc2NUJBNzsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgZm9ybSBsZWdlbmQge1xuICAgICAgICAgIHBhZGRpbmc6IDIuNXJlbSAyLjE4NzVyZW0gMS44NzVyZW0gMS41NjI1cmVtO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB6LWluZGV4OiAxMDsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBmb3JtIGxlZ2VuZCB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogNy41cmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS44MTI1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAgICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBmb3JtIGxlZ2VuZDpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAxOC43NXJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBmb3JtIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzc2NUJBNztcbiAgICAgICAgcGFkZGluZy10b3A6IDkuMzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDU7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBmb3JtIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA2LjI1cmVtOyB9IH1cbiAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBmb3JtIC5naW5wdXRfY29udGFpbmVyOmJlZm9yZSwgI3F1aXotZnVubmVsLW1vZGFsIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgZm9ybSAuZ2lucHV0X2NvbnRhaW5lcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC0xMHJlbTtcbiAgICAgIHRvcDogLTMxLjI1cmVtO1xuICAgICAgaGVpZ2h0OiAzNS40Mzc1cmVtO1xuICAgICAgd2lkdGg6IDM4LjM3NXJlbTtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy93aGl0ZS1zaGFwZS5zdmc/dj0xLjJcIikgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBmb3JtIC5naW5wdXRfY29udGFpbmVyOmJlZm9yZSwgI3F1aXotZnVubmVsLW1vZGFsIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgZm9ybSAuZ2lucHV0X2NvbnRhaW5lcjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgI3F1aXotZnVubmVsLW1vZGFsIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgZm9ybSAuZ2lucHV0X2NvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3llbGxvdy1zaGFwZS5zdmdcIik7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjEyZGVnKTtcbiAgICAgIGxlZnQ6IC03LjVyZW07XG4gICAgICB0b3A6IC0zMHJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgZm9ybSAuZ2lucHV0X2NvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIGZvcm0gbGFiZWwge1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS43NXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgZm9ybSBsYWJlbCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfSB9XG4gICAgI3F1aXotZnVubmVsLW1vZGFsIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgZm9ybSAuZ2Nob2ljZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICNxdWl6LWZ1bm5lbC1tb2RhbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMS41NjI1cmVtIDIuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7IH0gfVxuICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlcjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgaW1nIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgICB3aWR0aDogMi44MTI1cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZlZmVmZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIGJ1dHRvbiB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogMi4yNXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDMuMzc1cmVtO1xuICAgICAgICAgIHdpZHRoOiAzLjM3NXJlbTtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XG4gICAgICAgIHNwZWFrOiBuZXZlcjtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgY29udGVudDogJ1xcZTkwMSc7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgYnV0dG9uLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiB7XG4gICAgICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgICAgICBib3JkZXItY29sb3I6ICM3NjVCQTc7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgICAgICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgYnV0dG9uLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH0gfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciBidXR0b24uZ2Zvcm1fcHJldmlvdXNfYnV0dG9uIHtcbiAgICAgICAgICAgIGxlZnQ6IDUuMDYyNXJlbTsgfSB9XG4gICAgICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciBidXR0b24uZ2Zvcm1fcHJldmlvdXNfYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjNzY1QkE3O1xuICAgICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgICAgICAgICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciBidXR0b24uZ2Zvcm1fcHJldmlvdXNfYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgICAgICAgICAgY29sb3I6ICM3NjVCQTc7IH0gfVxuICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIGJ1dHRvbi5nZm9ybV9uZXh0X2J1dHRvbiwgI3F1aXotZnVubmVsLW1vZGFsIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIGJ1dHRvbi5nZm9ybV9zdWJtaXRfYnV0dG9uIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAgICAgICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciBidXR0b24uZ2Zvcm1fbmV4dF9idXR0b24sICNxdWl6LWZ1bm5lbC1tb2RhbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciBidXR0b24uZ2Zvcm1fc3VibWl0X2J1dHRvbiB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciBidXR0b24uZ2Zvcm1fbmV4dF9idXR0b24sICNxdWl6LWZ1bm5lbC1tb2RhbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciBidXR0b24uZ2Zvcm1fc3VibWl0X2J1dHRvbiB7XG4gICAgICAgICAgICByaWdodDogNS4wNjI1cmVtOyB9IH1cbiAgICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIGJ1dHRvbi5nZm9ybV9uZXh0X2J1dHRvbjpob3ZlciwgI3F1aXotZnVubmVsLW1vZGFsIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIGJ1dHRvbi5nZm9ybV9zdWJtaXRfYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgICAgICAgIGNvbG9yOiAjNzY1QkE3OyB9XG4gICNxdWl6LWZ1bm5lbC1tb2RhbCAuY29uZmlybWF0aW9uLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAjNzY1QkE3OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuY29uZmlybWF0aW9uLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtaW4taGVpZ2h0OiA0OC4wNjI1cmVtO1xuICAgICAgICBwYWRkaW5nOiA4Ljc1cmVtIDUuMDYyNXJlbSA2cmVtO1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuY29uZmlybWF0aW9uLXdyYXBwZXIgPiBkaXYge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogNTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5jb25maXJtYXRpb24td3JhcHBlciA+IGRpdiB7XG4gICAgICAgICAgZmxleC1iYXNpczogNTAlOyB9IH1cbiAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmNvbmZpcm1hdGlvbi13cmFwcGVyIC5jb25maXJtYXRpb24tbWVzc2FnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5jb25maXJtYXRpb24td3JhcHBlciAuY29uZmlybWF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41NjI1cmVtIDQuMTg3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmNvbmZpcm1hdGlvbi13cmFwcGVyIC5jb25maXJtYXRpb24tbWVzc2FnZSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogNy41cmVtOyB9IH1cbiAgICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuY29uZmlybWF0aW9uLXdyYXBwZXIgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLFxuICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5jb25maXJtYXRpb24td3JhcHBlciAuY29uZmlybWF0aW9uLW1lc3NhZ2UgcCB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS43NXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuY29uZmlybWF0aW9uLXdyYXBwZXIgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLFxuICAgICAgICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuY29uZmlybWF0aW9uLXdyYXBwZXIgLmNvbmZpcm1hdGlvbi1tZXNzYWdlIHAge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDJyZW07IH0gfVxuICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5jb25maXJtYXRpb24td3JhcHBlciAuY29uZmlybWF0aW9uLW1lc3NhZ2UgaDMge1xuICAgICAgICBjb2xvcjogIzc2NUJBNztcbiAgICAgICAgZm9udC1zaXplOiAxLjY4NzVyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjE4NzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmNvbmZpcm1hdGlvbi13cmFwcGVyIC5jb25maXJtYXRpb24tbWVzc2FnZSBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuOTM3NXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjgxMjVyZW07IH0gfVxuICAgICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmNvbmZpcm1hdGlvbi13cmFwcGVyIC5jb25maXJtYXRpb24tbWVzc2FnZSBoMzphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBib3R0b206IDI1cmVtO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgICAgICB6LWluZGV4OiAtMTsgfVxuICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5jb25maXJtYXRpb24td3JhcHBlciAuY29uZmlybWF0aW9uLW1lc3NhZ2U6YmVmb3JlLCAjcXVpei1mdW5uZWwtbW9kYWwgLmNvbmZpcm1hdGlvbi13cmFwcGVyIC5jb25maXJtYXRpb24tbWVzc2FnZTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC0xMHJlbTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBoZWlnaHQ6IDM1LjQzNzVyZW07XG4gICAgICAgIHdpZHRoOiAzOC4zNzVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy93aGl0ZS1zaGFwZS5zdmc/dj0xLjJcIikgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgICAgei1pbmRleDogLTE7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmNvbmZpcm1hdGlvbi13cmFwcGVyIC5jb25maXJtYXRpb24tbWVzc2FnZTpiZWZvcmUsICNxdWl6LWZ1bm5lbC1tb2RhbCAuY29uZmlybWF0aW9uLXdyYXBwZXIgLmNvbmZpcm1hdGlvbi1tZXNzYWdlOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5jb25maXJtYXRpb24td3JhcHBlciAuY29uZmlybWF0aW9uLW1lc3NhZ2U6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2dyZWVuLXNoYXBlLnN2Z1wiKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTIxMmRlZyk7XG4gICAgICAgIGxlZnQ6IC03LjVyZW07XG4gICAgICAgIGJvdHRvbTogLTEuMjVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmNvbmZpcm1hdGlvbi13cmFwcGVyIC5jb25maXJtYXRpb24tbWVzc2FnZTpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgI3F1aXotZnVubmVsLW1vZGFsIC5jb25maXJtYXRpb24td3JhcHBlciAuZnVubmVsLXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IHN0YXRpYzsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5jb25maXJtYXRpb24td3JhcHBlciAuZnVubmVsLXdyYXBwZXIge1xuICAgICAgICAgIHBhZGRpbmc6IDUuODEyNXJlbSAxLjVyZW0gMDsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmNvbmZpcm1hdGlvbi13cmFwcGVyIC5mdW5uZWwtd3JhcHBlciB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA2LjI1cmVtOyB9IH1cbiAgICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuY29uZmlybWF0aW9uLXdyYXBwZXIgLmZ1bm5lbC13cmFwcGVyIHVsIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZWZlZmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5jb25maXJtYXRpb24td3JhcHBlciAuZnVubmVsLXdyYXBwZXIgbGkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmVmZWZlOyB9XG4gICAgICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuY29uZmlybWF0aW9uLXdyYXBwZXIgLmZ1bm5lbC13cmFwcGVyIGxpOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmNvbmZpcm1hdGlvbi13cmFwcGVyIC5mdW5uZWwtd3JhcHBlciBsaSBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgICAgICBwYWRkaW5nOiAxLjM3NXJlbSAyLjVyZW0gMS4zNzVyZW0gMDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5jb25maXJtYXRpb24td3JhcHBlciAuZnVubmVsLXdyYXBwZXIgbGkgYSB7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfSB9XG4gICAgICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5jb25maXJtYXRpb24td3JhcHBlciAuZnVubmVsLXdyYXBwZXIgbGkgYSBzcGFuLnBsdXMtc2lnbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjYyNXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxLjYyNXJlbTtcbiAgICAgICAgICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgI2ZlZmVmZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTsgfVxuICAgICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5jb25maXJtYXRpb24td3JhcHBlciAuZnVubmVsLXdyYXBwZXIgbGkgYSBzcGFuLnBsdXMtc2lnbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAgICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmNvbmZpcm1hdGlvbi13cmFwcGVyIC5mdW5uZWwtd3JhcHBlciBsaSBhIHNwYW4ucGx1cy1zaWduOmFmdGVyIHtcbiAgICAgICAgICAgICAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBzcGVhazogbmV2ZXI7XG4gICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gICAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgICBjb250ZW50OiAnXFxlOTA5JztcbiAgICAgICAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5jb25maXJtYXRpb24td3JhcHBlciAuZnVubmVsLXdyYXBwZXIgbGkgYTpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5jb25maXJtYXRpb24td3JhcHBlciAuZnVubmVsLXdyYXBwZXIgbGkgYTpob3ZlciBzcGFuLnBsdXMtc2lnbiB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gICAgICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5jb25maXJtYXRpb24td3JhcHBlciAuZnVubmVsLXdyYXBwZXIgbGk6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH0gfVxuICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5jb25maXJtYXRpb24td3JhcHBlciAuZnVubmVsLXdyYXBwZXIgYS5idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtO1xuICAgICAgICBib3JkZXItY29sb3I6IHdoaXRlO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gICAgICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5jb25maXJtYXRpb24td3JhcHBlciAuZnVubmVsLXdyYXBwZXIgYS5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMi4zNzVyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjMxMjVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgICNxdWl6LWZ1bm5lbC1tb2RhbCAuY29uZmlybWF0aW9uLXdyYXBwZXIgLmZ1bm5lbC13cmFwcGVyIGEuYnV0dG9uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMi4yNXJlbTtcbiAgICAgICAgICAgIHJpZ2h0OiA1LjA2MjVyZW07IH0gfVxuICAgICAgICAjcXVpei1mdW5uZWwtbW9kYWwgLmNvbmZpcm1hdGlvbi13cmFwcGVyIC5mdW5uZWwtd3JhcHBlciBhLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgICAgICBjb2xvcjogIzc2NUJBNzsgfVxuICAgICAgI3F1aXotZnVubmVsLW1vZGFsIC5jb25maXJtYXRpb24td3JhcHBlciAuZnVubmVsLXdyYXBwZXI6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICNxdWl6LWZ1bm5lbC1tb2RhbCBbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCksXG4gICNxdWl6LWZ1bm5lbC1tb2RhbCBbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtOTk5OXB4OyB9XG4gICNxdWl6LWZ1bm5lbC1tb2RhbCBbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCxcbiAgI3F1aXotZnVubmVsLW1vZGFsIFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMC4xMjVyZW0gMCAwLjEyNXJlbSAzLjc1cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW46IDA7IH1cbiAgI3F1aXotZnVubmVsLW1vZGFsIFt0eXBlPVwicmFkaW9cIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmJlZm9yZSxcbiAgI3F1aXotZnVubmVsLW1vZGFsIFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlOyB9XG4gICNxdWl6LWZ1bm5lbC1tb2RhbCBbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlcixcbiAgI3F1aXotZnVubmVsLW1vZGFsIFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMC42MjVyZW07XG4gICAgdG9wOiAwLjYyNXJlbTtcbiAgICB3aWR0aDogMC43NXJlbTtcbiAgICBoZWlnaHQ6IDAuNzVyZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzOyB9XG4gICNxdWl6LWZ1bm5lbC1tb2RhbCBbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlciB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gICNxdWl6LWZ1bm5lbC1tb2RhbCBbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICNxdWl6LWZ1bm5lbC1tb2RhbCBbdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUsXG4gICNxdWl6LWZ1bm5lbC1tb2RhbCBbdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjYmJiO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7IH1cbiAgI3F1aXotZnVubmVsLW1vZGFsIFt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBjb2xvcjogIzk5OTsgfVxuICAjcXVpei1mdW5uZWwtbW9kYWwgW3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZCArIGxhYmVsIHtcbiAgICBjb2xvcjogI2FhYTsgfVxuICAjcXVpei1mdW5uZWwtbW9kYWwgW3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkOmZvY3VzICsgbGFiZWw6YmVmb3JlLFxuICAjcXVpei1mdW5uZWwtbW9kYWwgW3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpOmZvY3VzICsgbGFiZWw6YmVmb3JlIHtcbiAgICBib3JkZXI6IDJweCBkb3R0ZWQgYmx1ZTsgfVxuXG4uaGVhZGVyIHtcbiAgcGFkZGluZzogMS4yNXJlbSAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaGVhZGVyLmxhbmRpbmcge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTYpO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7IH1cbiAgLmhlYWRlciAuaGVhZGVyLWlubmVyIHtcbiAgICBtYXgtd2lkdGg6IDc1LjYyNXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmhlYWRlciAuaGVhZGVyLWlubmVyIC5jbG9zZS1tZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtMi41cmVtO1xuICAgICAgdG9wOiAwO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHdpZHRoOiAyLjM3NXJlbTtcbiAgICAgIGhlaWdodDogMi4zNzVyZW07XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjN0Y3RjdGO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIGNvbG9yOiAjN0Y3RjdGOyB9XG4gICAgICAuaGVhZGVyIC5oZWFkZXItaW5uZXIgLmNsb3NlLW1lbnU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjN0Y3RjdGO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5oZWFkZXIgLmhlYWRlci1pbm5lciAubG9nbyB7XG4gICAgICBtaW4td2lkdGg6IDE3LjE4NzVyZW07XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG1hcmdpbi10b3A6IDEuODc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTAwOyB9XG4gICAgICAuaGVhZGVyIC5oZWFkZXItaW5uZXIgLmxvZ28gYSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgICAgLmhlYWRlciAuaGVhZGVyLWlubmVyIC5sb2dvIGEgaW1nIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBoZWlnaHQ6IDQuMTI1cmVtOyB9XG4gICAgICAgICAgLmhlYWRlciAuaGVhZGVyLWlubmVyIC5sb2dvIGEgaW1nLndoaXRlLWxvZ28ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5oZWFkZXIgLmhlYWRlci1pbm5lciAuaGVhZGVyLXJpZ2h0LXNpZGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgICAgIC5oZWFkZXIgLmhlYWRlci1pbm5lciAuaGVhZGVyLXJpZ2h0LXNpZGUgLmhlYWRlci1yaWdodC10b3Atc2lkZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gICAgICAgIC5oZWFkZXIgLmhlYWRlci1pbm5lciAuaGVhZGVyLXJpZ2h0LXNpZGUgLmhlYWRlci1yaWdodC10b3Atc2lkZSAuYWNjZXNzaWJpbGl0eSAuZHJvcGRvd24gPiBsaSA+IGEge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgcGFkZGluZzogMC4zNzVyZW0gMDtcbiAgICAgICAgICBtYXJnaW46IDAgMS4yNXJlbTsgfVxuICAgICAgICAgIC5oZWFkZXIgLmhlYWRlci1pbm5lciAuaGVhZGVyLXJpZ2h0LXNpZGUgLmhlYWRlci1yaWdodC10b3Atc2lkZSAuYWNjZXNzaWJpbGl0eSAuZHJvcGRvd24gPiBsaSA+IGE6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjNzY1QkE3OyB9XG4gICAgICAgIC5oZWFkZXIgLmhlYWRlci1pbm5lciAuaGVhZGVyLXJpZ2h0LXNpZGUgLmhlYWRlci1yaWdodC10b3Atc2lkZSAuYWNjZXNzaWJpbGl0eSAuZHJvcGRvd24gPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjQzNzVyZW07XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTAuMjVyZW07XG4gICAgICAgICAgcmlnaHQ6IC0xLjA2MjVyZW07IH1cbiAgICAgICAgLmhlYWRlciAuaGVhZGVyLWlubmVyIC5oZWFkZXItcmlnaHQtc2lkZSAuaGVhZGVyLXJpZ2h0LXRvcC1zaWRlIC5hY2Nlc3NpYmlsaXR5IC5kcm9wZG93biA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxLjI1cmVtO1xuICAgICAgICAgIHotaW5kZXg6IDEwMTA7XG4gICAgICAgICAgYmFja2dyb3VuZDogI0Y4RjhGODtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgbWluLXdpZHRoOiAxNS42MjVyZW07XG4gICAgICAgICAgcGFkZGluZzogMS41NjI1cmVtO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMC4xODc1cmVtIDAuMzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4xNik7IH1cbiAgICAgICAgICAuaGVhZGVyIC5oZWFkZXItaW5uZXIgLmhlYWRlci1yaWdodC1zaWRlIC5oZWFkZXItcmlnaHQtdG9wLXNpZGUgLmFjY2Vzc2liaWxpdHkgLmRyb3Bkb3duID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgbGkgYSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgICAgICAgIC5oZWFkZXIgLmhlYWRlci1pbm5lciAuaGVhZGVyLXJpZ2h0LXNpZGUgLmhlYWRlci1yaWdodC10b3Atc2lkZSAuYWNjZXNzaWJpbGl0eSAuZHJvcGRvd24gPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCAuaXMtZHJvcGRvd24tc3VibWVudSBsaSBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjNzY1QkE3OyB9XG4gICAgICAgIC5oZWFkZXIgLmhlYWRlci1pbm5lciAuaGVhZGVyLXJpZ2h0LXNpZGUgLmhlYWRlci1yaWdodC10b3Atc2lkZSAuYWNjZXNzaWJpbGl0eSAuZHJvcGRvd24gPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+IGE6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gICAgICAgIC5oZWFkZXIgLmhlYWRlci1pbm5lciAuaGVhZGVyLXJpZ2h0LXNpZGUgLmhlYWRlci1yaWdodC10b3Atc2lkZSAuYWNjZXNzaWJpbGl0eSAuZHJvcGRvd24gPiBsaS51c2VyLWxpbmtzID4gYSB7XG4gICAgICAgICAgY29sb3I6ICM3NjVCQTc7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAgIC5oZWFkZXIgLmhlYWRlci1pbm5lciAuaGVhZGVyLXJpZ2h0LXNpZGUgLmhlYWRlci1yaWdodC10b3Atc2lkZSAuYWNjZXNzaWJpbGl0eSAuZHJvcGRvd24gPiBsaS51c2VyLWxpbmtzIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICBtaW4td2lkdGg6IGF1dG87IH1cbiAgICAgICAgICAuaGVhZGVyIC5oZWFkZXItaW5uZXIgLmhlYWRlci1yaWdodC1zaWRlIC5oZWFkZXItcmlnaHQtdG9wLXNpZGUgLmFjY2Vzc2liaWxpdHkgLmRyb3Bkb3duID4gbGkudXNlci1saW5rcyAuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgICBjb2xvcjogIzc2NUJBNzsgfVxuICAgICAgICAuaGVhZGVyIC5oZWFkZXItaW5uZXIgLmhlYWRlci1yaWdodC1zaWRlIC5oZWFkZXItcmlnaHQtdG9wLXNpZGUgLmFjY2Vzc2liaWxpdHkgLmRyb3Bkb3duID4gbGk6bGFzdC1jaGlsZCA+IGEge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgLmhlYWRlciAuaGVhZGVyLWlubmVyIC5oZWFkZXItcmlnaHQtc2lkZSAuaGVhZGVyLXJpZ2h0LWJvdHRvbS1zaWRlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuXG4ubW9iaWxlLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxLjU2MjVyZW07XG4gICAgYm94LXNoYWRvdzogMCAwLjE4NzVyZW0gMC4zNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjE2KTsgfVxuICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWlubmVyIC5sb2dvIGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgICAgLm1vYmlsZS1oZWFkZXIgLm1vYmlsZS1oZWFkZXItaW5uZXIgLmxvZ28gYSBpbWcge1xuICAgICAgICB3aWR0aDogMTVyZW07XG4gICAgICAgIGhlaWdodDogYXV0bzsgfVxuICAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxLjU2MjVyZW0gMCAxLjU2MjVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLnNlYXJjaC1mb3JtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLnNlYXJjaC1mb3JtIGZvcm0ge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IC5zZWFyY2gtZm9ybSBmb3JtIGlucHV0IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjRURFREVEOyB9XG4gICAgICAgICAgLm1vYmlsZS1oZWFkZXIgLm1vYmlsZS1oZWFkZXItY29udGVudCAuc2VhcmNoLWZvcm0gZm9ybSBpbnB1dC5leHBhbmRlZCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDIuMjVyZW07IH1cbiAgICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLnNlYXJjaC1mb3JtLmV4cGFuZGVkIC50b2dnbGUtc2VhcmNoIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87IH1cbiAgICAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IC51c2VyLWxpbmtzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgICAgLm1vYmlsZS1oZWFkZXIgLm1vYmlsZS1oZWFkZXItY29udGVudCAudXNlci1saW5rcyBhIHtcbiAgICAgICAgY29sb3I6ICM3NjVCQTc7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IC51c2VyLWxpbmtzIGE6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzc2NUJBNzsgfVxuICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLm11bHRpbGV2ZWwtbWVudSAuYWNjb3JkaW9uIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLm11bHRpbGV2ZWwtbWVudSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgICAgICAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IC5tdWx0aWxldmVsLW1lbnUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41NjI1cmVtO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIuMzc1cmVtOyB9XG4gICAgICAgICAgLm1vYmlsZS1oZWFkZXIgLm1vYmlsZS1oZWFkZXItY29udGVudCAubXVsdGlsZXZlbC1tZW51IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLm11bHRpbGV2ZWwtbWVudSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLm11bHRpbGV2ZWwtbWVudSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNDM3NXJlbTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgdG9wOiAxLjU2MjVyZW07XG4gICAgICAgICAgICByaWdodDogMC45Mzc1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDEuNjI1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjYyNXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLm11bHRpbGV2ZWwtbWVudSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjhGOEY4O1xuICAgICAgICAgIHBhZGRpbmc6IDIuMTg3NXJlbSAwIDEuMjVyZW0gMDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMS44NzVyZW0gMS44NzVyZW07IH1cbiAgICAgICAgICAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IC5tdWx0aWxldmVsLW1lbnUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHVsLm5vLWJ1bGxldHMge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLm11bHRpbGV2ZWwtbWVudSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgdWwubm8tYnVsbGV0cyA+IGxpID4gYSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLm11bHRpbGV2ZWwtbWVudSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgdWwubm8tYnVsbGV0cyBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSB7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgICAgICAgICAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IC5tdWx0aWxldmVsLW1lbnUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHVsLm5vLWJ1bGxldHMgPiBsaSA+IC5zdWItbWVudSB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAgICAgICAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IC5tdWx0aWxldmVsLW1lbnUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHVsLm5vLWJ1bGxldHMgPiBsaSA+IC5zdWItbWVudSA+IGxpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgICAgICAgICAgICAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IC5tdWx0aWxldmVsLW1lbnUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHVsLm5vLWJ1bGxldHMgPiBsaSA+IC5zdWItbWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgICAgICAgICAgICAgLm1vYmlsZS1oZWFkZXIgLm1vYmlsZS1oZWFkZXItY29udGVudCAubXVsdGlsZXZlbC1tZW51IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCB1bC5uby1idWxsZXRzID4gbGkgPiAuc3ViLW1lbnUgPiBsaSA+IC5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgICAgICAgICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLm11bHRpbGV2ZWwtbWVudSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgdWwubm8tYnVsbGV0cyA+IGxpID4gLnN1Yi1tZW51ID4gbGkgPiAuc3ViLW1lbnUgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgICAgICAgICAgICAgICAgLm1vYmlsZS1oZWFkZXIgLm1vYmlsZS1oZWFkZXItY29udGVudCAubXVsdGlsZXZlbC1tZW51IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCB1bC5uby1idWxsZXRzID4gbGkgPiAuc3ViLW1lbnUgPiBsaSA+IC5zdWItbWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgICAgICAgICAgLm1vYmlsZS1oZWFkZXIgLm1vYmlsZS1oZWFkZXItY29udGVudCAubXVsdGlsZXZlbC1tZW51IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCB1bC5uby1idWxsZXRzID4gbGkuc2luZ2xlLWNvbHVtbiA+IC5zdWItbWVudSA+IGxpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAgICAgICAgICAgLm1vYmlsZS1oZWFkZXIgLm1vYmlsZS1oZWFkZXItY29udGVudCAubXVsdGlsZXZlbC1tZW51IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCB1bC5uby1idWxsZXRzID4gbGkuc2luZ2xlLWNvbHVtbiA+IC5zdWItbWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgICAgICAgICAgICAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IC5tdWx0aWxldmVsLW1lbnUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHVsLm5vLWJ1bGxldHMgPiBsaS5zaW5nbGUtY29sdW1uID4gLnN1Yi1tZW51ID4gbGkgPiBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNzY1QkE3OyB9XG4gICAgICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLm11bHRpbGV2ZWwtbWVudSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMS44NzVyZW0gMS44NzVyZW0gMCAwOyB9XG4gICAgICAgICAgLm1vYmlsZS1oZWFkZXIgLm1vYmlsZS1oZWFkZXItY29udGVudCAubXVsdGlsZXZlbC1tZW51IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgICAgICAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IC5tdWx0aWxldmVsLW1lbnUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0ucHVycGxlIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7IH1cbiAgICAgICAgICAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IC5tdWx0aWxldmVsLW1lbnUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0ucHVycGxlIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLm11bHRpbGV2ZWwtbWVudSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbS5wdXJwbGUgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNzY1QkE3OyB9XG4gICAgICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLm11bHRpbGV2ZWwtbWVudSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbS5wdXJwbGUgLmFjY29yZGlvbi1jb250ZW50IC5uby1idWxsZXRzID4gbGkgPiAuc3ViLW1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIGNvbG9yOiAjNzY1QkE3OyB9XG4gICAgICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLm11bHRpbGV2ZWwtbWVudSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbS5wdXJwbGUgLmFjY29yZGlvbi1jb250ZW50IC5uby1idWxsZXRzID4gbGkgPiAuc3ViLW1lbnUgPiBsaSA+IC5zdWItbWVudSA+IGxpID4gYTpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM3NjVCQTc7IH1cbiAgICAgICAgLm1vYmlsZS1oZWFkZXIgLm1vYmlsZS1oZWFkZXItY29udGVudCAubXVsdGlsZXZlbC1tZW51IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtLnJlZCAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjQkEzMDU3OyB9XG4gICAgICAgICAgLm1vYmlsZS1oZWFkZXIgLm1vYmlsZS1oZWFkZXItY29udGVudCAubXVsdGlsZXZlbC1tZW51IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtLnJlZCAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IC5tdWx0aWxldmVsLW1lbnUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0ucmVkIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0JBMzA1NzsgfVxuICAgICAgICAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IC5tdWx0aWxldmVsLW1lbnUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0ucmVkIC5hY2NvcmRpb24tY29udGVudCAubm8tYnVsbGV0cyA+IGxpID4gLnN1Yi1tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBjb2xvcjogI0JBMzA1NzsgfVxuICAgICAgICAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IC5tdWx0aWxldmVsLW1lbnUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0ucmVkIC5hY2NvcmRpb24tY29udGVudCAubm8tYnVsbGV0cyA+IGxpID4gLnN1Yi1tZW51ID4gbGkgPiAuc3ViLW1lbnUgPiBsaSA+IGE6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjQkEzMDU3OyB9XG4gICAgICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLm11bHRpbGV2ZWwtbWVudSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbS50ZWFsIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMwMzZGODQ7IH1cbiAgICAgICAgICAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IC5tdWx0aWxldmVsLW1lbnUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0udGVhbCAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IC5tdWx0aWxldmVsLW1lbnUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0udGVhbCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMzZGODQ7IH1cbiAgICAgICAgLm1vYmlsZS1oZWFkZXIgLm1vYmlsZS1oZWFkZXItY29udGVudCAubXVsdGlsZXZlbC1tZW51IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtLnRlYWwgLmFjY29yZGlvbi1jb250ZW50IC5uby1idWxsZXRzID4gbGkgPiAuc3ViLW1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIGNvbG9yOiAjMDM2Rjg0OyB9XG4gICAgICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLm11bHRpbGV2ZWwtbWVudSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbS50ZWFsIC5hY2NvcmRpb24tY29udGVudCAubm8tYnVsbGV0cyA+IGxpID4gLnN1Yi1tZW51ID4gbGkgPiAuc3ViLW1lbnUgPiBsaSA+IGE6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDM2Rjg0OyB9XG4gICAgLm1vYmlsZS1oZWFkZXIgLm1vYmlsZS1oZWFkZXItY29udGVudCAubWVudS13aXRoLXN1Ym1lbnVzIC5hY2NvcmRpb24tbWVudSAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjhGOEY4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMi4zNzVyZW07XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLm1lbnUtd2l0aC1zdWJtZW51cyAuYWNjb3JkaW9uLW1lbnUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMS4yNXJlbSAyLjgxMjVyZW0gMS4yNXJlbSAxLjU2MjVyZW07XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLm1lbnUtd2l0aC1zdWJtZW51cyAuYWNjb3JkaW9uLW1lbnUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhOmFmdGVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuNDM3NXJlbTtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZTkwMVwiO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgY29sb3I6ICM3NjVCQTc7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICB0b3A6IDFyZW07XG4gICAgICAgICAgcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICB3aWR0aDogMS42MjVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAxLjYyNXJlbTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzc2NUJBNztcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLm1lbnUtd2l0aC1zdWJtZW51cyAuYWNjb3JkaW9uLW1lbnUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLnN1Ym1lbnUge1xuICAgICAgICBwYWRkaW5nOiAwIDEuNTYyNXJlbSAxLjg3NXJlbSAxLjU2MjVyZW07XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IC5tZW51LXdpdGgtc3VibWVudXMgLmFjY29yZGlvbi1tZW51IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5zdWJtZW51IC5tZW51LWl0ZW0gYSB7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6IDAuNDM3NXJlbSAwO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMnJlbTsgfVxuICAgICAgICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLm1lbnUtd2l0aC1zdWJtZW51cyAuYWNjb3JkaW9uLW1lbnUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLnN1Ym1lbnUgLm1lbnUtaXRlbSBhOmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogMC42MjVyZW07XG4gICAgICAgICAgICByaWdodDogLTAuNjI1cmVtOyB9XG4gICAgICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLm1lbnUtd2l0aC1zdWJtZW51cyAuYWNjb3JkaW9uLW1lbnUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLnN1Ym1lbnUgLm1lbnUtaXRlbSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLm1lbnUtd2l0aC1zdWJtZW51cyAuYWNjb3JkaW9uLW1lbnUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW5bYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLm1lbnUtd2l0aC1zdWJtZW51cyAuYWNjb3JkaW9uLW1lbnUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW5bYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhIC5zdWJtZW51IC5tZW51LWl0ZW0gPiBhOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IC5saW5rcy1tZW51IHtcbiAgICAgIGJhY2tncm91bmQ6ICNFREVERUQ7XG4gICAgICBwYWRkaW5nOiAzLjEyNXJlbSAxLjU2MjVyZW0gNXJlbSAxLjU2MjVyZW07XG4gICAgICBtYXJnaW46IDMuMTI1cmVtIC0xLjU2MjVyZW0gMCAtMS41NjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IC5saW5rcy1tZW51ID4gdWwgPiBsaSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuMjVyZW0gMDsgfVxuICAgICAgICAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IC5saW5rcy1tZW51ID4gdWwgPiBsaSA+IGEge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNXJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAgICAgLm1vYmlsZS1oZWFkZXIgLm1vYmlsZS1oZWFkZXItY29udGVudCAubGlua3MtbWVudSA+IHVsID4gbGkgPiBhOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTA5XCI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgY29sb3I6ICM3NjVCQTc7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLmxpbmtzLW1lbnUgLmFjY2Vzc2liaWxpdHktbGlua3Mge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuICAgICAgICAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IC5saW5rcy1tZW51IC5hY2Nlc3NpYmlsaXR5LWxpbmtzID4gdWwge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgICAgICAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IC5saW5rcy1tZW51IC5hY2Nlc3NpYmlsaXR5LWxpbmtzID4gdWwgPiBsaSA+IGEge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgICAgICAgLm1vYmlsZS1oZWFkZXIgLm1vYmlsZS1oZWFkZXItY29udGVudCAubGlua3MtbWVudSAuYWNjZXNzaWJpbGl0eS1saW5rcyA+IHVsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTkwMVwiO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjQzNzVyZW07XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMC4yNXJlbTsgfVxuICAgICAgICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLmxpbmtzLW1lbnUgLmFjY2Vzc2liaWxpdHktbGlua3MgPiB1bCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEuMzEyNXJlbTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMTA7IH1cbiAgICAgICAgICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWNvbnRlbnQgLmxpbmtzLW1lbnUgLmFjY2Vzc2liaWxpdHktbGlua3MgPiB1bCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IC5pcy1kcm9wZG93bi1zdWJtZW51IGxpIGEge1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbmJvZHkubWVudS1leHBhbmRlZCAubW9iaWxlLWhlYWRlciB7XG4gIGhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgYm9keS5tZW51LWV4cGFuZGVkIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWlubmVyIC5oYW1idXJnZXItbWVudSAudG9nZ2xlLW1lbnUgc3BhbiB7XG4gICAgdG9wOiAwLjkzNzVyZW07XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB3aWR0aDogMC45MTI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICM3RjdGN0Y7XG4gICAgbGVmdDogMC41cmVtOyB9XG4gICAgYm9keS5tZW51LWV4cGFuZGVkIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWlubmVyIC5oYW1idXJnZXItbWVudSAudG9nZ2xlLW1lbnUgc3BhbjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICB3aWR0aDogMS45Mzc1cmVtO1xuICAgICAgaGVpZ2h0OiAxLjkzNzVyZW07XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjN0Y3RjdGO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgYm9keS5tZW51LWV4cGFuZGVkIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtaGVhZGVyLWlubmVyIC5oYW1idXJnZXItbWVudSAudG9nZ2xlLW1lbnUgc3BhbjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICB3aWR0aDogMC45MTI1cmVtOyB9XG4gIGJvZHkubWVudS1leHBhbmRlZCAubW9iaWxlLWhlYWRlciAubW9iaWxlLWhlYWRlci1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogIzM4MzczOTtcbiAgcGFkZGluZzogMi44MTI1cmVtIDEuNTYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mb290ZXIge1xuICAgICAgcGFkZGluZzogNC4wNjI1cmVtIDA7IH0gfVxuICAuZm9vdGVyIC5mb290ZXItaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZm9vdGVyIC5mb290ZXItaW5uZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDc1LjYyNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gICAgLmZvb3RlciAuZm9vdGVyLWlubmVyIC5sb2dvLXdyYXBwZXIge1xuICAgICAgb3JkZXI6IDE7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1pbm5lciAubG9nby13cmFwcGVyIHtcbiAgICAgICAgICB3aWR0aDogMzguNXJlbTtcbiAgICAgICAgICBmbGV4LXNocmluazogMDsgfSB9XG4gICAgICAuZm9vdGVyIC5mb290ZXItaW5uZXIgLmxvZ28td3JhcHBlci5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICAgICAgb3JkZXI6IDQ7IH1cbiAgICAgIC5mb290ZXIgLmZvb3Rlci1pbm5lciAubG9nby13cmFwcGVyIC5sb2dvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1pbm5lciAubG9nby13cmFwcGVyIC5sb2dvIGEge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgICAgICAuZm9vdGVyIC5mb290ZXItaW5uZXIgLmxvZ28td3JhcHBlciAubG9nbyBhIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAgICAgLmZvb3RlciAuZm9vdGVyLWlubmVyIC5sb2dvLXdyYXBwZXIgLmxvZ28gYSBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMy42ODc1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1pbm5lciAubG9nby13cmFwcGVyIC5jb3B5cmlnaHRzLFxuICAgICAgICAuZm9vdGVyIC5mb290ZXItaW5uZXIgLmxvZ28td3JhcHBlciAuZGlzY2xhaW1lci10ZXh0IHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDIzLjU2MjVyZW07IH0gfVxuICAgICAgLmZvb3RlciAuZm9vdGVyLWlubmVyIC5sb2dvLXdyYXBwZXIgLmNvcHlyaWdodHMgcCxcbiAgICAgIC5mb290ZXIgLmZvb3Rlci1pbm5lciAubG9nby13cmFwcGVyIC5kaXNjbGFpbWVyLXRleHQgcCB7XG4gICAgICAgIGNvbG9yOiAjRDBEMEQwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY4NzVyZW07IH1cbiAgICAuZm9vdGVyIC5mb290ZXItaW5uZXIgLmZvb3Rlci1tZW51LWxpbmtzIHtcbiAgICAgIG9yZGVyOiAzOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuZm9vdGVyIC5mb290ZXItaW5uZXIgLmZvb3Rlci1tZW51LWxpbmtzIHtcbiAgICAgICAgICBvcmRlcjogMjsgfSB9XG4gICAgICAuZm9vdGVyIC5mb290ZXItaW5uZXIgLmZvb3Rlci1tZW51LWxpbmtzIC5mb290ZXItbWVudSB1bCxcbiAgICAgIC5mb290ZXIgLmZvb3Rlci1pbm5lciAuZm9vdGVyLW1lbnUtbGlua3MgLmZvb3Rlci1saW5rcyB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLmZvb3RlciAuZm9vdGVyLWlubmVyIC5mb290ZXItbWVudS1saW5rcyAuZm9vdGVyLW1lbnUgdWwsXG4gICAgICAgICAgLmZvb3RlciAuZm9vdGVyLWlubmVyIC5mb290ZXItbWVudS1saW5rcyAuZm9vdGVyLWxpbmtzIHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAgICAgLmZvb3RlciAuZm9vdGVyLWlubmVyIC5mb290ZXItbWVudS1saW5rcyAuZm9vdGVyLW1lbnUgdWwgbGksXG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1pbm5lciAuZm9vdGVyLW1lbnUtbGlua3MgLmZvb3Rlci1saW5rcyB1bCBsaSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgICAgICAgIC5mb290ZXIgLmZvb3Rlci1pbm5lciAuZm9vdGVyLW1lbnUtbGlua3MgLmZvb3Rlci1tZW51IHVsIGxpIGEsXG4gICAgICAgICAgLmZvb3RlciAuZm9vdGVyLWlubmVyIC5mb290ZXItbWVudS1saW5rcyAuZm9vdGVyLWxpbmtzIHVsIGxpIGEge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgICAgICAgICAuZm9vdGVyIC5mb290ZXItaW5uZXIgLmZvb3Rlci1tZW51LWxpbmtzIC5mb290ZXItbWVudSB1bCBsaSBhOmFmdGVyLFxuICAgICAgICAgICAgLmZvb3RlciAuZm9vdGVyLWlubmVyIC5mb290ZXItbWVudS1saW5rcyAuZm9vdGVyLWxpbmtzIHVsIGxpIGE6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuODEyNXJlbTsgfVxuICAgICAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgICAgICAgIC5mb290ZXIgLmZvb3Rlci1pbm5lciAuZm9vdGVyLW1lbnUtbGlua3MgLmZvb3Rlci1tZW51IHVsIGxpIGE6YWZ0ZXIsXG4gICAgICAgICAgICAgICAgLmZvb3RlciAuZm9vdGVyLWlubmVyIC5mb290ZXItbWVudS1saW5rcyAuZm9vdGVyLWxpbmtzIHVsIGxpIGE6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAgICAgLmZvb3RlciAuZm9vdGVyLWlubmVyIC5mb290ZXItbWVudS1saW5rcyAuZm9vdGVyLW1lbnUgdWwgbGk6bGFzdC1jaGlsZCBhOmFmdGVyLFxuICAgICAgICAgIC5mb290ZXIgLmZvb3Rlci1pbm5lciAuZm9vdGVyLW1lbnUtbGlua3MgLmZvb3Rlci1saW5rcyB1bCBsaTpsYXN0LWNoaWxkIGE6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmZvb3RlciAuZm9vdGVyLWlubmVyIC5mb290ZXItbWVudS1saW5rcyAuZm9vdGVyLW1lbnUge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDIuODc1cmVtIDA7IH0gfVxuICAgIC5mb290ZXIgLmZvb3Rlci1pbm5lciAuc29jaWFsLXdyYXBwZXIge1xuICAgICAgb3JkZXI6IDI7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1pbm5lciAuc29jaWFsLXdyYXBwZXIge1xuICAgICAgICAgIG9yZGVyOiAzOyB9IH1cbiAgICAgIC5mb290ZXIgLmZvb3Rlci1pbm5lciAuc29jaWFsLXdyYXBwZXIgLnNvY2lhbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuMTg3NXJlbTsgfVxuICAgICAgICAuZm9vdGVyIC5mb290ZXItaW5uZXIgLnNvY2lhbC13cmFwcGVyIC5zb2NpYWwgaDYge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjgxMjVyZW07IH1cbiAgICAgICAgLmZvb3RlciAuZm9vdGVyLWlubmVyIC5zb2NpYWwtd3JhcHBlciAuc29jaWFsIHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICAgICAgLmZvb3RlciAuZm9vdGVyLWlubmVyIC5zb2NpYWwtd3JhcHBlciAuc29jaWFsIHVsIGxpIGEge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgICAuZm9vdGVyIC5mb290ZXItaW5uZXIgLnNvY2lhbC13cmFwcGVyIC5kb25hdGUtYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1pbm5lciAuc29jaWFsLXdyYXBwZXIgLmRvbmF0ZS1idXR0b24gYSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgICAgLmZvb3RlciAuZm9vdGVyLWlubmVyIC5zb2NpYWwtd3JhcHBlciAuZG9uYXRlLWJ1dHRvbiBhOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzc2NUJBNztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7IH1cbiAgICAuZm9vdGVyIC5mb290ZXItaW5uZXIgLmRlc2lnbi1ieSB7XG4gICAgICBtYXJnaW46IDAgMCAyLjVyZW0gMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmZvb3RlciAuZm9vdGVyLWlubmVyIC5kZXNpZ24tYnkge1xuICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgICAuZm9vdGVyIC5mb290ZXItaW5uZXIgLmRlc2lnbi1ieSBwIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuODEyNXJlbTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgICAgLmZvb3RlciAuZm9vdGVyLWlubmVyIC5kZXNpZ24tYnkgcCBhIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjgxMjVyZW07IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5zbGljay1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5zbGljay1saXN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5zbGljay1saXN0LmRyYWdnaW5nIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiBoYW5kOyB9XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc2xpY2stdHJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLnNsaWNrLXRyYWNrOmJlZm9yZSwgLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXNsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBkaXNwbGF5OiBub25lOyB9XG4gIFtkaXI9XCJydGxcIl0gLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnNsaWNrLXNsaWRlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBTbGlkZXIgKi9cbi5zbGljay1sb2FkaW5nIC5zbGljay1saXN0IHtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4vKiBJY29ucyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvc2xpY2suZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3NsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL3NsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvc2xpY2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9zbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLyogQXJyb3dzICovXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxLjc1cmVtO1xuICB3aWR0aDogMS43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gIGZvbnQtc2l6ZTogMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc2xpY2stcHJldjpob3ZlciwgLnNsaWNrLXByZXY6Zm9jdXMsXG4gIC5zbGljay1uZXh0OmhvdmVyLFxuICAuc2xpY2stbmV4dDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuc2xpY2stcHJldjpob3ZlcjpiZWZvcmUsIC5zbGljay1wcmV2OmZvY3VzOmJlZm9yZSxcbiAgICAuc2xpY2stbmV4dDpob3ZlcjpiZWZvcmUsXG4gICAgLnNsaWNrLW5leHQ6Zm9jdXM6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLnNsaWNrLXByZXYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlLFxuICAuc2xpY2stbmV4dC5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDAuMjU7IH1cbiAgLnNsaWNrLXByZXY6YmVmb3JlLFxuICAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4uc2xpY2stcHJldiB7XG4gIGxlZnQ6IDEuNTYyNXJlbTtcbiAgei1pbmRleDogNTU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAtMjVweDsgfVxuICAuc2xpY2stcHJldjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAzXCI7XG4gICAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIFtkaXI9XCJydGxcIl0gLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi4oaSXCI7IH1cblxuLnNsaWNrLW5leHQge1xuICByaWdodDogMS41NjI1cmVtOyB9XG4gIFtkaXI9XCJydGxcIl0gLnNsaWNrLW5leHQge1xuICAgIGxlZnQ6IC0yNXB4O1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDNcIjtcbiAgICBmb250LWZhbWlseTogJ2ljb21vb24nO1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLihpBcIjsgfVxuXG4vKiBEb3RzICovXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLnNsaWNrLWRvdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTI1cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNsaWNrLWRvdHMgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuc2xpY2stZG90cyBsaSBidXR0b24ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICBmb250LXNpemU6IDBweDtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyLCAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlcjpiZWZvcmUsIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1czpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY29udGVudDogXCLigKJcIjtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgZm9udC1zaXplOiA2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cbiAgICAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBvcGFjaXR5OiAwLjc1OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxZW07IH1cbiAgLnNlbGVjdDItY29udGFpbmVyW2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtaW4taGVpZ2h0OiAzMnB4O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcmVzaXplOiBub25lO1xuICAgIGhlaWdodDogMThweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd29yZC1icmVhazoga2VlcC1hbGw7IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VhcmNoLS1pbmxpbmUgLnNlbGVjdDItc2VhcmNoX19maWVsZDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLnNlbGVjdDItZHJvcGRvd24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTAwMDAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDUxOyB9XG5cbi5zZWxlY3QyLXJlc3VsdHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gIHBhZGRpbmc6IDZweDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1zZWxlY3RhYmxlIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1kcm9wZG93biB7XG4gIGxlZnQ6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLWRyb3Bkb3duLS1hYm92ZSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1kcm9wZG93bi0tYmVsb3cge1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4uc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDRweDsgfVxuICAuc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gICAgLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93biAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuICAuc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duLnNlbGVjdDItc2VhcmNoLS1oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zZWxlY3QyLWNsb3NlLW1hc2sge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDk5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7IH1cblxuLnNlbGVjdDItaGlkZGVuLWFjY2Vzc2libGUge1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKSAhaW1wb3J0YW50O1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSkgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgIGNvbG9yOiAjNDQ0O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGhlaWdodDogMjZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMHB4OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzk5OTsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDFweDtcbiAgICByaWdodDogMXB4O1xuICAgIHdpZHRoOiAyMHB4OyB9XG4gICAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cgYiB7XG4gICAgICBib3JkZXItY29sb3I6ICM4ODggdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiA1cHggNHB4IDAgNHB4O1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB3aWR0aDogMDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICBsZWZ0OiAxcHg7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1kaXNhYmxlZCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IGIge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM4ODggdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMCA0cHggNXB4IDRweDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogdGV4dDtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUuc2VsZWN0Mi1zZWxlY3Rpb24tLWNsZWFyYWJsZSB7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDFweDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTRlNDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19kaXNwbGF5IHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAycHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYWFhO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IDAgNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmU6aG92ZXIsIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmU6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgb3V0bGluZTogbm9uZTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0W2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19kaXNwbGF5IHtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDJweDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFtkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1mb2N1cyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm9yZGVyOiBzb2xpZCBibGFjayAxcHg7XG4gIG91dGxpbmU6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1kaXNhYmxlZCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1hYm92ZSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSwgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1hYm92ZSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSwgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24gLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0cyA+IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMge1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gIHBhZGRpbmctbGVmdDogMWVtOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX2dyb3VwIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJlbTsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDNlbTsgfVxuICAgICAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTNlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0ZW07IH1cbiAgICAgICAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTRlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVlbTsgfVxuICAgICAgICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC01ZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDZlbTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1ncm91cCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0tZGlzYWJsZWQge1xuICBjb2xvcjogIzk5OTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWQuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLXNlbGVjdGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTg5N2ZiO1xuICBjb2xvcjogd2hpdGU7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX2dyb3VwIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNnB4OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgb3V0bGluZTogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCB3aGl0ZSA1MCUsICNlZWVlZWUgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHdoaXRlIDUwJSwgI2VlZWVlZSAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgd2hpdGUgNTAlLCAjZWVlZWVlIDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNGRkZGRkZGRicsIGVuZENvbG9yc3RyPScjRkZFRUVFRUUnLCBHcmFkaWVudFR5cGU9MCk7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNTg5N2ZiOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICBjb2xvcjogIzQ0NDtcbiAgICBsaW5lLWhlaWdodDogMjhweDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzk5OTsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYWFhO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMXB4O1xuICAgIHJpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZWVlZWVlIDUwJSwgI2NjY2NjYyAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZWVlZWVlIDUwJSwgI2NjY2NjYyAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZWVlZWVlIDUwJSwgI2NjY2NjYyAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI0ZGRUVFRUVFJywgZW5kQ29sb3JzdHI9JyNGRkNDQ0NDQycsIEdyYWRpZW50VHlwZT0wKTsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IGIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjODg4IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogNXB4IDRweCAwIDRweDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljW2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljW2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcbiAgbGVmdDogMXB4O1xuICByaWdodDogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjNTg5N2ZiOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyBiIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzg4OCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci13aWR0aDogMCA0cHggNXB4IDRweDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4uc2VsZWN0Mi1jb250YWluZXItLWFib3ZlIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgd2hpdGUgMCUsICNlZWVlZWUgNTAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgd2hpdGUgMCUsICNlZWVlZWUgNTAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgd2hpdGUgMCUsICNlZWVlZWUgNTAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjRkZGRkZGRkYnLCBlbmRDb2xvcnN0cj0nI0ZGRUVFRUVFJywgR3JhZGllbnRUeXBlPTApOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbi5zZWxlY3QyLWNvbnRhaW5lci0tYmVsb3cgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZWVlZWVlIDUwJSwgd2hpdGUgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNlZWVlZWUgNTAlLCB3aGl0ZSAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2VlZWVlZSA1MCUsIHdoaXRlIDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNGRkVFRUVFRScsIGVuZENvbG9yc3RyPScjRkZGRkZGRkYnLCBHcmFkaWVudFR5cGU9MCk7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IHRleHQ7XG4gIG91dGxpbmU6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzU4OTdmYjsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19kaXNwbGF5IHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAycHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuICAgIGNvbG9yOiAjODg4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwIDRweDsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmU6aG92ZXIge1xuICAgICAgY29sb3I6ICM1NTU7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpY1tkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWNbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX2Rpc3BsYXkge1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgcGFkZGluZy1yaWdodDogMnB4OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpY1tkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1ODk3ZmI7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1hYm92ZSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24gLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIG91dGxpbmU6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1kcm9wZG93biB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItZHJvcGRvd24tLWFib3ZlIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItZHJvcGRvd24tLWJlbG93IHtcbiAgYm9yZGVyLXRvcDogbm9uZTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0cyA+IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMge1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1ncm91cCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0tZGlzYWJsZWQge1xuICBjb2xvcjogZ3JleTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0tc2VsZWN0YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzODc1ZDc7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0c19fZ3JvdXAge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA2cHg7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgYm9yZGVyLWNvbG9yOiAjNTg5N2ZiOyB9XG5cbi5pbnRyby1zbGlkZXIge1xuICBtYXJnaW4tYm90dG9tOiA1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmludHJvLXNsaWRlciB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmludHJvLXNsaWRlciAuYmxvY2staW5uZXIge1xuICAgICAgbWF4LXdpZHRoOiA3NS42MjVyZW07XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5pbnRyby1zbGlkZXIgLmJsb2NrLWlubmVyIC5pbnRyby1zbGlkZXItd3JhcHBlciB7XG4gICAgICB3aWR0aDogNTUuNzVyZW07XG4gICAgICBtaW4taGVpZ2h0OiA0My41NjI1cmVtO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtYXJnaW46IDAgMi4xODc1cmVtIDAgMDsgfSB9XG4gIC5pbnRyby1zbGlkZXIgLmJsb2NrLWlubmVyIC5pbnRyby1zbGlkZXItd3JhcHBlciAuc2xpZGUgLnd5c2l3eWcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjNzY1QkE3O1xuICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAxLjU2MjVyZW0gNXJlbSAxLjU2MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmludHJvLXNsaWRlciAuYmxvY2staW5uZXIgLmludHJvLXNsaWRlci13cmFwcGVyIC5zbGlkZSAud3lzaXd5ZyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQzLjU2MjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDIuNXJlbSA2LjI1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxLjU2MjVyZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICAgIC5pbnRyby1zbGlkZXIgLmJsb2NrLWlubmVyIC5pbnRyby1zbGlkZXItd3JhcHBlciAuc2xpZGUgLnd5c2l3eWcgaDEge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuaW50cm8tc2xpZGVyIC5ibG9jay1pbm5lciAuaW50cm8tc2xpZGVyLXdyYXBwZXIgLnNsaWRlIC53eXNpd3lnIGEge1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuaW50cm8tc2xpZGVyIC5ibG9jay1pbm5lciAuaW50cm8tc2xpZGVyLXdyYXBwZXIgLnNsaWRlIC5zdG9yeSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWluLWhlaWdodDogMzMuNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmludHJvLXNsaWRlciAuYmxvY2staW5uZXIgLmludHJvLXNsaWRlci13cmFwcGVyIC5zbGlkZSAuc3Rvcnkge1xuICAgICAgICBtaW4taGVpZ2h0OiA0My41NjI1cmVtO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxLjU2MjVyZW07IH0gfVxuICAgIC5pbnRyby1zbGlkZXIgLmJsb2NrLWlubmVyIC5pbnRyby1zbGlkZXItd3JhcHBlciAuc2xpZGUgLnN0b3J5ID4gaW1nIHtcbiAgICAgIGhlaWdodDogMTUuNXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5pbnRyby1zbGlkZXIgLmJsb2NrLWlubmVyIC5pbnRyby1zbGlkZXItd3JhcHBlciAuc2xpZGUgLnN0b3J5ID4gaW1nIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiA0My41NjI1cmVtOyB9IH1cbiAgICAuaW50cm8tc2xpZGVyIC5ibG9jay1pbm5lciAuaW50cm8tc2xpZGVyLXdyYXBwZXIgLnNsaWRlIC5zdG9yeSAuc3RvcnktZGV0YWlscyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDE1LjVyZW07XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjNzY1QkE3O1xuICAgICAgei1pbmRleDogMztcbiAgICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAxLjU2MjVyZW0gNXJlbSAxLjU2MjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5pbnRyby1zbGlkZXIgLmJsb2NrLWlubmVyIC5pbnRyby1zbGlkZXItd3JhcHBlciAuc2xpZGUgLnN0b3J5IC5zdG9yeS1kZXRhaWxzIHtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDIuMTg3NXJlbSAyLjE4NzVyZW0gMi4xODc1cmVtIDMuNzVyZW07XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAgICAgLmludHJvLXNsaWRlciAuYmxvY2staW5uZXIgLmludHJvLXNsaWRlci13cmFwcGVyIC5zbGlkZSAuc3RvcnkgLnN0b3J5LWRldGFpbHMgLnN0b3J5LXRpdGxlIHtcbiAgICAgICAgd2lkdGg6IDE4Ljc1cmVtO1xuICAgICAgICBmbGV4LXNocmluazogMDsgfVxuICAgICAgICAuaW50cm8tc2xpZGVyIC5ibG9jay1pbm5lciAuaW50cm8tc2xpZGVyLXdyYXBwZXIgLnNsaWRlIC5zdG9yeSAuc3RvcnktZGV0YWlscyAuc3RvcnktdGl0bGUgaDIge1xuICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuaW50cm8tc2xpZGVyIC5ibG9jay1pbm5lciAuaW50cm8tc2xpZGVyLXdyYXBwZXIgLnNsaWRlIC5zdG9yeSAuc3RvcnktZGV0YWlscyAuc3RvcnktaW5mbyBwIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5pbnRyby1zbGlkZXIgLmJsb2NrLWlubmVyIC5pbnRyby1zbGlkZXItd3JhcHBlciAuc2xpZGUgLnN0b3J5IC5zdG9yeS1kZXRhaWxzIC5zdG9yeS1jdGEge1xuICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDAgMCAwOyB9XG4gICAgICAgIC5pbnRyby1zbGlkZXIgLmJsb2NrLWlubmVyIC5pbnRyby1zbGlkZXItd3JhcHBlciAuc2xpZGUgLnN0b3J5IC5zdG9yeS1kZXRhaWxzIC5zdG9yeS1jdGEgYSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgICAgLmludHJvLXNsaWRlciAuYmxvY2staW5uZXIgLmludHJvLXNsaWRlci13cmFwcGVyIC5zbGlkZSAuc3RvcnkgLnN0b3J5LWRldGFpbHMgLnN0b3J5LWN0YSBhOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBjb2xvcjogIzc2NUJBNzsgfVxuICAuaW50cm8tc2xpZGVyIC5ibG9jay1pbm5lciAuaW50cm8tc2xpZGVyLXdyYXBwZXIgLnNsaWNrLWRvdHMge1xuICAgIGJvdHRvbTogMi41cmVtO1xuICAgIGxlZnQ6IDEuNTYyNXJlbTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmludHJvLXNsaWRlciAuYmxvY2staW5uZXIgLmludHJvLXNsaWRlci13cmFwcGVyIC5zbGljay1kb3RzIHtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbGVmdDogMS44NzVyZW07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfSB9XG4gICAgLmludHJvLXNsaWRlciAuYmxvY2staW5uZXIgLmludHJvLXNsaWRlci13cmFwcGVyIC5zbGljay1kb3RzIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDIuNXJlbTtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgbWFyZ2luOiAwIDAuNDM3NXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmludHJvLXNsaWRlciAuYmxvY2staW5uZXIgLmludHJvLXNsaWRlci13cmFwcGVyIC5zbGljay1kb3RzIGxpIHtcbiAgICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgIG1hcmdpbjogMC42MjVyZW0gMDsgfSB9XG4gICAgICAuaW50cm8tc2xpZGVyIC5ibG9jay1pbm5lciAuaW50cm8tc2xpZGVyLXdyYXBwZXIgLnNsaWNrLWRvdHMgbGk6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmludHJvLXNsaWRlciAuYmxvY2staW5uZXIgLmludHJvLXNsaWRlci13cmFwcGVyIC5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyLjVyZW07XG4gICAgICAgIGhlaWdodDogNXB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLmludHJvLXNsaWRlciAuYmxvY2staW5uZXIgLmludHJvLXNsaWRlci13cmFwcGVyIC5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiA1cHg7IH0gfVxuICAgICAgICAuaW50cm8tc2xpZGVyIC5ibG9jay1pbm5lciAuaW50cm8tc2xpZGVyLXdyYXBwZXIgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDIuNXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAgIC5pbnRyby1zbGlkZXIgLmJsb2NrLWlubmVyIC5pbnRyby1zbGlkZXItd3JhcHBlciAuc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgICAgICAgIHdpZHRoOiA1cHg7IH0gfVxuICAgICAgLmludHJvLXNsaWRlciAuYmxvY2staW5uZXIgLmludHJvLXNsaWRlci13cmFwcGVyIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7IH1cbiAgLmludHJvLXNsaWRlciAuYmxvY2staW5uZXIgLmJsb2NrLWRldGFpbHMge1xuICAgIHBhZGRpbmc6IDEuNTYyNXJlbTsgfVxuICAgIC5pbnRyby1zbGlkZXIgLmJsb2NrLWlubmVyIC5ibG9jay1kZXRhaWxzIC5pdGVtLXdyYXBwZXIgaDUge1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjgxMjVyZW07XG4gICAgICBjb2xvcjogIzc2NUJBNzsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmludHJvLXNsaWRlciAuYmxvY2staW5uZXIgLmJsb2NrLWRldGFpbHMgLml0ZW0td3JhcHBlciBoNSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuOTM3NXJlbTsgfSB9XG4gICAgLmludHJvLXNsaWRlciAuYmxvY2staW5uZXIgLmJsb2NrLWRldGFpbHMgLml0ZW0td3JhcHBlciBwIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmludHJvLXNsaWRlciAuYmxvY2staW5uZXIgLmJsb2NrLWRldGFpbHMgLml0ZW0td3JhcHBlcjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW46IDAgMCAyLjVyZW0gMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmludHJvLXNsaWRlciAuYmxvY2staW5uZXIgLmJsb2NrLWRldGFpbHMgLml0ZW0td3JhcHBlcjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luOiAzLjQzNzVyZW0gMCA1cmVtIDA7IH0gfVxuXG4ucXVpY2stbGlua3Mge1xuICBtYXJnaW4tYm90dG9tOiA2Ljg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5xdWljay1saW5rcyB7XG4gICAgICBtYXJnaW4tdG9wOiA1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbTsgfSB9XG4gIC5xdWljay1saW5rcyAuYmxvY2staW5uZXIge1xuICAgIG1hcmdpbjogMCAxLjU2MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnF1aWNrLWxpbmtzIC5ibG9jay1pbm5lciB7XG4gICAgICAgIG1heC13aWR0aDogNzUuNjI1cmVtO1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5xdWljay1saW5rcyAuYmxvY2staW5uZXIgLmNhcmRzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luOiAwIC0xLjEyNXJlbSAxMC42MjVyZW0gLTEuMTI1cmVtOyB9IH1cbiAgICAucXVpY2stbGlua3MgLmJsb2NrLWlubmVyIC5jYXJkcyAuY2FyZCB7XG4gICAgICBtaW4taGVpZ2h0OiAyNi41cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW0gMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnF1aWNrLWxpbmtzIC5ibG9jay1pbm5lciAuY2FyZHMgLmNhcmQge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBtYXJnaW46IDAgMS4xMjVyZW07XG4gICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgd2lkdGg6IDM2LjQzNzVyZW07IH0gfVxuICAgICAgLnF1aWNrLWxpbmtzIC5ibG9jay1pbm5lciAuY2FyZHMgLmNhcmQgPiBpbWcge1xuICAgICAgICBoZWlnaHQ6IDExLjc1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLnF1aWNrLWxpbmtzIC5ibG9jay1pbm5lciAuY2FyZHMgLmNhcmQgPiBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiAyNS4zNzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnF1aWNrLWxpbmtzIC5ibG9jay1pbm5lciAuY2FyZHMgLmNhcmQgLmNhcmQtaW5mbyAuY2FyZC1pbmZvLWlubmVyIHAge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMuMTI1cmVtOyB9IH1cbiAgICAgIC5xdWljay1saW5rcyAuYmxvY2staW5uZXIgLmNhcmRzIC5jYXJkIC5jYXJkLWluZm8gLmNhcmQtaW5mby1pbm5lciAuY2FyZC1jdGEge1xuICAgICAgICB0b3A6IDguNzVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAucXVpY2stbGlua3MgLmJsb2NrLWlubmVyIC5jYXJkcyAuY2FyZCAuY2FyZC1pbmZvIC5jYXJkLWluZm8taW5uZXIgLmNhcmQtY3RhIHtcbiAgICAgICAgICAgIHRvcDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5xdWljay1saW5rcyAuYmxvY2staW5uZXIgLnF1aWNrLWxpbmtzLWxpc3Qge1xuICAgICAgICB3aWR0aDogMzMuODc1cmVtO1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gICAgLnF1aWNrLWxpbmtzIC5ibG9jay1pbm5lciAucXVpY2stbGlua3MtbGlzdCAuYmxvY2stZGV0YWlscyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5xdWljay1saW5rcyAuYmxvY2staW5uZXIgLnF1aWNrLWxpbmtzLWxpc3QgLmJsb2NrLWRldGFpbHMge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgICAucXVpY2stbGlua3MgLmJsb2NrLWlubmVyIC5xdWljay1saW5rcy1saXN0IC5ibG9jay1kZXRhaWxzIGgyIHtcbiAgICAgICAgY29sb3I6ICM3NjVCQTc7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuXG4ubGF0ZXN0LXBvc3RzIHtcbiAgcGFkZGluZzogMy43NXJlbSAxLjU2MjVyZW07XG4gIGJhY2tncm91bmQ6ICNGNkY0Rjk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubGF0ZXN0LXBvc3RzIHtcbiAgICAgIHBhZGRpbmc6IDQuNjg3NXJlbSAwIDguNDM3NXJlbSAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubGF0ZXN0LXBvc3RzIC5ibG9jay1pbm5lciB7XG4gICAgICBtYXgtd2lkdGg6IDc1LjYyNXJlbTtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgLmxhdGVzdC1wb3N0cyAuYmxvY2staW5uZXIgLmJsb2NrLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTsgfVxuICAgIC5sYXRlc3QtcG9zdHMgLmJsb2NrLWlubmVyIC5ibG9jay10aXRsZSBoMiB7XG4gICAgICBjb2xvcjogIzc2NUJBNzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sYXRlc3QtcG9zdHMgLmJsb2NrLWlubmVyIC5wb3N0cyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWFyZ2luOiAwIC0xLjEyNXJlbTsgfSB9XG4gIC5sYXRlc3QtcG9zdHMgLmJsb2NrLWlubmVyIC5wb3N0cyAuY2FyZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMCAwIDEuODc1cmVtIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmxhdGVzdC1wb3N0cyAuYmxvY2staW5uZXIgLnBvc3RzIC5jYXJkIHtcbiAgICAgICAgd2lkdGg6IDIzLjU2MjVyZW07XG4gICAgICAgIG1hcmdpbjogMCAxLjEyNXJlbTsgfSB9XG4gICAgLmxhdGVzdC1wb3N0cyAuYmxvY2staW5uZXIgLnBvc3RzIC5jYXJkID4gaW1nIHtcbiAgICAgIGhlaWdodDogMTMuMDYyNXJlbTtcbiAgICAgIGJvdHRvbTogMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmxhdGVzdC1wb3N0cyAuYmxvY2staW5uZXIgLnBvc3RzIC5jYXJkID4gaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDE5LjA2MjVyZW07IH0gfVxuICAgIC5sYXRlc3QtcG9zdHMgLmJsb2NrLWlubmVyIC5wb3N0cyAuY2FyZCAuY2FyZC1pbmZvIC5jYXJkLWluZm8taW5uZXIge1xuICAgICAgcGFkZGluZzogMS41NjI1cmVtIDEuODc1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAubGF0ZXN0LXBvc3RzIC5ibG9jay1pbm5lciAucG9zdHMgLmNhcmQgLmNhcmQtaW5mbyAuY2FyZC1pbmZvLWlubmVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMy43NXJlbSAxLjU2MjVyZW0gMS44NzVyZW07IH0gfVxuICAgICAgLmxhdGVzdC1wb3N0cyAuYmxvY2staW5uZXIgLnBvc3RzIC5jYXJkIC5jYXJkLWluZm8gLmNhcmQtaW5mby1pbm5lciBoNSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIC5sYXRlc3QtcG9zdHMgLmJsb2NrLWlubmVyIC5wb3N0cyAuY2FyZDpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwLjI1cmVtIDAuMjVyZW0gMC4zNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjMxKTsgfVxuICAgIC5sYXRlc3QtcG9zdHMgLmJsb2NrLWlubmVyIC5wb3N0cyAuY2FyZC50cmFuc3BhcmVudCB7XG4gICAgICBoZWlnaHQ6IDI2cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAubGF0ZXN0LXBvc3RzIC5ibG9jay1pbm5lciAucG9zdHMgLmNhcmQudHJhbnNwYXJlbnQge1xuICAgICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gICAgICAubGF0ZXN0LXBvc3RzIC5ibG9jay1pbm5lciAucG9zdHMgLmNhcmQudHJhbnNwYXJlbnQgPiBpbWcge1xuICAgICAgICBoZWlnaHQ6IDI2cmVtO1xuICAgICAgICBib3R0b206IDA7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAubGF0ZXN0LXBvc3RzIC5ibG9jay1pbm5lciAucG9zdHMgLmNhcmQudHJhbnNwYXJlbnQgPiBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgICAgIC5sYXRlc3QtcG9zdHMgLmJsb2NrLWlubmVyIC5wb3N0cyAuY2FyZC50cmFuc3BhcmVudCAuY2FyZC1pbmZvIC5jYXJkLWluZm8taW5uZXIgLmNhcmQtY3RhIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICB3aWR0aDogMi42ODc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuNjg3NXJlbTtcbiAgICAgICAgYm90dG9tOiAxLjU2MjVyZW0gIWltcG9ydGFudDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5sYXRlc3QtcG9zdHMgLmJsb2NrLWlubmVyIC5wb3N0cyAuY2FyZC50cmFuc3BhcmVudCAuY2FyZC1pbmZvIC5jYXJkLWluZm8taW5uZXIgLmNhcmQtY3RhIHtcbiAgICAgICAgICAgIGJvdHRvbTogMS41NjI1cmVtOyB9IH1cblxuLnBhZ2UtYmFubmVyIC5wYWdlLWJhbm5lci1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLWJhbm5lciAucGFnZS1iYW5uZXItaW5uZXIge1xuICAgICAgbWFyZ2luOiAxLjI1cmVtIGF1dG8gMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA3OS42ODc1cmVtOyB9IH1cbiAgLnBhZ2UtYmFubmVyIC5wYWdlLWJhbm5lci1pbm5lcjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMCwgMCwgMCwgMC44MSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNy44NzVyZW07XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDUuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucGFnZS1iYW5uZXIgLnBhZ2UtYmFubmVyLWlubmVyOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMS44NzVyZW0gMS44NzVyZW0gMCAwO1xuICAgICAgICBoZWlnaHQ6IDEzLjA2MjVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwgMCwgMCwgMC44MSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gICAgICAgIHRvcDogMDsgfSB9XG5cbi5wYWdlLWJhbm5lciBpbWcge1xuICBoZWlnaHQ6IDEzLjgxMjVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLWJhbm5lciBpbWcge1xuICAgICAgaGVpZ2h0OiAzMy42MjVyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAxLjg3NXJlbSAxLjg3NXJlbSAwIDA7IH0gfVxuXG4ucGFnZS1iYW5uZXIgLnBhZ2UtYmFubmVyLXRpdGxlIHtcbiAgYmFja2dyb3VuZDogIzc2NUJBNztcbiAgcGFkZGluZzogMS4yNXJlbSAxLjU2MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFnZS1iYW5uZXIgLnBhZ2UtYmFubmVyLXRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDIuMTg3NXJlbSAyLjVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDEuODc1cmVtIDEuODc1cmVtOyB9IH1cbiAgLnBhZ2UtYmFubmVyIC5wYWdlLWJhbm5lci10aXRsZSBoMiB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS44MTI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wYWdlLWJhbm5lciAucGFnZS1iYW5uZXItdGl0bGUgaDIge1xuICAgICAgICBtYXgtd2lkdGg6IDYyLjE4NzVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMi4zNzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjI1cmVtOyB9IH1cbiAgLnBhZ2UtYmFubmVyIC5wYWdlLWJhbm5lci10aXRsZSAuZmF2b3VyaXRlcy1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEuNTYyNXJlbTtcbiAgICB0b3A6IDEyLjVyZW07XG4gICAgei1pbmRleDogMzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucGFnZS1iYW5uZXIgLnBhZ2UtYmFubmVyLXRpdGxlIC5mYXZvdXJpdGVzLWljb24ge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAyLjVyZW07XG4gICAgICAgIGJvdHRvbTogMi4xODc1cmVtOyB9IH1cblxuLnBhZ2UtYmFubmVyIC5icmVhZGNydW1icyB7XG4gIG1hcmdpbjogMS44NzVyZW0gMS41NjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhZ2UtYmFubmVyIC5icmVhZGNydW1icyB7XG4gICAgICBtYXJnaW46IDEuODc1cmVtIDAgNXJlbSAwOyB9IH1cblxuLmxlYWRlcnNoaXAtbWVtYmVycyB7XG4gIG1hcmdpbjogMi41cmVtIDEuNTYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sZWFkZXJzaGlwLW1lbWJlcnMge1xuICAgICAgbWFyZ2luOiA1cmVtIDA7IH0gfVxuICAubGVhZGVyc2hpcC1tZW1iZXJzIC5ibG9jay10aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMS44NzVyZW0gMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAubGVhZGVyc2hpcC1tZW1iZXJzIC5ibG9jay10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDMuMTI1cmVtIDA7IH0gfVxuICAgIC5sZWFkZXJzaGlwLW1lbWJlcnMgLmJsb2NrLXRpdGxlIGg0IHtcbiAgICAgIGNvbG9yOiAjNzY1QkE3OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmxlYWRlcnNoaXAtbWVtYmVycyAubWVtYmVycyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luOiAwIC0xLjA2MjVyZW07IH0gfVxuICAubGVhZGVyc2hpcC1tZW1iZXJzIC5tZW1iZXJzIGEubWVtYmVyLWNhcmQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAubGVhZGVyc2hpcC1tZW1iZXJzIC5tZW1iZXJzIGEubWVtYmVyLWNhcmQ6aG92ZXIgLm1lbWJlci1waG90bzphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgICAgei1pbmRleDogMzsgfVxuICAgIC5sZWFkZXJzaGlwLW1lbWJlcnMgLm1lbWJlcnMgYS5tZW1iZXItY2FyZDpob3ZlciAubWVtYmVyLXBob3RvOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwOVwiO1xuICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJywgc2Fucy1zZXJpZjtcbiAgICAgIHdpZHRoOiAyLjc1cmVtO1xuICAgICAgaGVpZ2h0OiAyLjc1cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgei1pbmRleDogNDtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH1cblxuLm1lbWJlci1jYXJkIHtcbiAgd2lkdGg6IDE1cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIDAgMS44NzVyZW0gMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5tZW1iZXItY2FyZCB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIHdpZHRoOiAyMy41NjI1cmVtO1xuICAgICAgbWFyZ2luOiAwIDEuMDYyNXJlbSAyLjgxMjVyZW0gMS4wNjI1cmVtOyB9IH1cbiAgLm1lbWJlci1jYXJkIC5tZW1iZXItcGhvdG8ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMS45Mzc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDEuODc1cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm1lbWJlci1jYXJkIC5tZW1iZXItcGhvdG8ge1xuICAgICAgICBoZWlnaHQ6IDE3LjVyZW07IH0gfVxuICAgIC5tZW1iZXItY2FyZCAubWVtYmVyLXBob3RvIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTEuOTM3NXJlbTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAubWVtYmVyLWNhcmQgLm1lbWJlci1waG90byBpbWcge1xuICAgICAgICAgIGhlaWdodDogMTcuNXJlbTsgfSB9XG4gIC5tZW1iZXItY2FyZCAuY2FyZC1pbmZvIGg1IHtcbiAgICBjb2xvcjogIzc2NUJBNzsgfVxuICAubWVtYmVyLWNhcmQgLmNhcmQtaW5mbyAubWVtYmVyLXBvc2l0aW9uIHAge1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4jbWVtYmVyLW1vZGFsIHtcbiAgYm9yZGVyLXJhZGl1czogMS44NzVyZW07XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaGFkb3c6IDAgMC4xODc1cmVtIDAuMzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4xNik7XG4gIGJvcmRlcjogbm9uZTtcbiAgbGVmdDogMTVweDtcbiAgcmlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbiAgdG9wOiA2LjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjbWVtYmVyLW1vZGFsIHtcbiAgICAgIHdpZHRoOiA3NXJlbTtcbiAgICAgIHBhZGRpbmc6IDYuNTYyNXJlbSA0LjY4NzVyZW07IH0gfVxuICAjbWVtYmVyLW1vZGFsIC5jbG9zZS1idXR0b24ge1xuICAgIHJpZ2h0OiAxLjU2MjVyZW07XG4gICAgdG9wOiAxLjU2MjVyZW07XG4gICAgd2lkdGg6IDEuOTM3NXJlbTtcbiAgICBoZWlnaHQ6IDEuOTM3NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICM3RjdGN0Y7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjbWVtYmVyLW1vZGFsIC5jbG9zZS1idXR0b24ge1xuICAgICAgICByaWdodDogMi41cmVtO1xuICAgICAgICB0b3A6IDIuNXJlbTtcbiAgICAgICAgd2lkdGg6IDIuMzc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuMzc1cmVtOyB9IH1cbiAgICAjbWVtYmVyLW1vZGFsIC5jbG9zZS1idXR0b24gaSB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI21lbWJlci1tb2RhbCAuY2xvc2UtYnV0dG9uIGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICAgICNtZW1iZXItbW9kYWwgLmNsb3NlLWJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjN0Y3RjdGOyB9XG4gICAgICAjbWVtYmVyLW1vZGFsIC5jbG9zZS1idXR0b246aG92ZXIgaSB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI21lbWJlci1tb2RhbCAubW9kYWwtaW5uZXIgLm1lbWJlci1kZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAgICNtZW1iZXItbW9kYWwgLm1vZGFsLWlubmVyIC5tZW1iZXItZGV0YWlscyAubWVtYmVyLWNhcmQge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAgICNtZW1iZXItbW9kYWwgLm1vZGFsLWlubmVyIC5tZW1iZXItZGV0YWlscyAubWVtYmVyLWNhcmQgLm1lbWJlci1waG90byB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEuODc1cmVtIDEuODc1cmVtIDAgMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gICAgI21lbWJlci1tb2RhbCAubW9kYWwtaW5uZXIgLm1lbWJlci1kZXRhaWxzIC5tZW1iZXItY2FyZCAubWVtYmVyLXBob3RvIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTIuODEyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gICAgI21lbWJlci1tb2RhbCAubW9kYWwtaW5uZXIgLm1lbWJlci1kZXRhaWxzIC5tZW1iZXItY2FyZCAuY2FyZC1pbmZvIHtcbiAgICAgIHBhZGRpbmc6IDAgMS44NzVyZW07IH0gfVxuICAjbWVtYmVyLW1vZGFsIC5tb2RhbC1pbm5lciAubWVtYmVyLWRldGFpbHMgLm1lbWJlci1iaW8ge1xuICAgIG1hcmdpbjogMCAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjbWVtYmVyLW1vZGFsIC5tb2RhbC1pbm5lciAubWVtYmVyLWRldGFpbHMgLm1lbWJlci1iaW8ge1xuICAgICAgICBtYXJnaW46IDAgMCAwIDIuODEyNXJlbTsgfSB9XG4gICAgI21lbWJlci1tb2RhbCAubW9kYWwtaW5uZXIgLm1lbWJlci1kZXRhaWxzIC5tZW1iZXItYmlvIHAgc3Ryb25nIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi50ZWFtLW1lbWJlcnMge1xuICBtYXJnaW46IDIuNXJlbSAxLjU2MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGVhbS1tZW1iZXJzIHtcbiAgICAgIG1hcmdpbjogNXJlbSAwOyB9IH1cbiAgLnRlYW0tbWVtYmVycyAuYmxvY2stdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDEuODc1cmVtIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnRlYW0tbWVtYmVycyAuYmxvY2stdGl0bGUge1xuICAgICAgICBtYXJnaW46IDAgMCAzLjEyNXJlbSAwOyB9IH1cbiAgICAudGVhbS1tZW1iZXJzIC5ibG9jay10aXRsZSBoNCB7XG4gICAgICBjb2xvcjogIzc2NUJBNzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50ZWFtLW1lbWJlcnMgLm1lbWJlcnMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbjogMCAtMS4wNjI1cmVtOyB9IH1cbiAgLnRlYW0tbWVtYmVycyAubWVtYmVycyAubWVtYmVyLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMCAwIDIuMTg3NXJlbSAwO1xuICAgIGJhY2tncm91bmQ6ICNGOEY4Rjg7XG4gICAgYm9yZGVyLXJhZGl1czogMS44NzVyZW07XG4gICAgcGFkZGluZzogMi4xODc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC50ZWFtLW1lbWJlcnMgLm1lbWJlcnMgLm1lbWJlci13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDM2LjQzNzVyZW07XG4gICAgICAgIG1hcmdpbjogMCAxLjA2MjVyZW0gMi4xODc1cmVtIDEuMDYyNXJlbTsgfSB9XG4gICAgLnRlYW0tbWVtYmVycyAubWVtYmVycyAubWVtYmVyLXdyYXBwZXIgLm1lbWJlci1uYW1lIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRDBEMEQwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gICAgICAudGVhbS1tZW1iZXJzIC5tZW1iZXJzIC5tZW1iZXItd3JhcHBlciAubWVtYmVyLW5hbWUgaDUge1xuICAgICAgICBjb2xvcjogIzc2NUJBNzsgfVxuICAgICAgLnRlYW0tbWVtYmVycyAubWVtYmVycyAubWVtYmVyLXdyYXBwZXIgLm1lbWJlci1uYW1lIC5tZW1iZXItcG9zaXRpb24gcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLnRlYW0tbWVtYmVycyAubWVtYmVycyAubWVtYmVyLXdyYXBwZXIgLm1lbWJlci1kZXRhaWxzIC5tZW1iZXItYmlvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAudGVhbS1tZW1iZXJzIC5tZW1iZXJzIC5tZW1iZXItd3JhcHBlciAubWVtYmVyLWRldGFpbHMgLm1lbWJlci1waG9uZSBwLFxuICAgIC50ZWFtLW1lbWJlcnMgLm1lbWJlcnMgLm1lbWJlci13cmFwcGVyIC5tZW1iZXItZGV0YWlscyAubWVtYmVyLWVtYWlsIHAge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAudGVhbS1tZW1iZXJzIC5tZW1iZXJzIC5tZW1iZXItd3JhcHBlciAubWVtYmVyLWRldGFpbHMgLm1lbWJlci1waG9uZSBwIHN0cm9uZyxcbiAgICAgIC50ZWFtLW1lbWJlcnMgLm1lbWJlcnMgLm1lbWJlci13cmFwcGVyIC5tZW1iZXItZGV0YWlscyAubWVtYmVyLWVtYWlsIHAgc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAudGVhbS1tZW1iZXJzIC5tZW1iZXJzIC5tZW1iZXItd3JhcHBlciAubWVtYmVyLWRldGFpbHMgLm1lbWJlci1waG9uZSBwIHN0cm9uZyxcbiAgICAgICAgICAudGVhbS1tZW1iZXJzIC5tZW1iZXJzIC5tZW1iZXItd3JhcHBlciAubWVtYmVyLWRldGFpbHMgLm1lbWJlci1lbWFpbCBwIHN0cm9uZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNDM3NXJlbTsgfSB9XG4gICAgICAudGVhbS1tZW1iZXJzIC5tZW1iZXJzIC5tZW1iZXItd3JhcHBlciAubWVtYmVyLWRldGFpbHMgLm1lbWJlci1waG9uZSBwIGEsXG4gICAgICAudGVhbS1tZW1iZXJzIC5tZW1iZXJzIC5tZW1iZXItd3JhcHBlciAubWVtYmVyLWRldGFpbHMgLm1lbWJlci1lbWFpbCBwIGEge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzc2NUJBNztcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgICAgLnRlYW0tbWVtYmVycyAubWVtYmVycyAubWVtYmVyLXdyYXBwZXIgLm1lbWJlci1kZXRhaWxzIC5tZW1iZXItcGhvbmUgcCBhOmhvdmVyLFxuICAgICAgICAudGVhbS1tZW1iZXJzIC5tZW1iZXJzIC5tZW1iZXItd3JhcHBlciAubWVtYmVyLWRldGFpbHMgLm1lbWJlci1lbWFpbCBwIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjNzY1QkE3OyB9XG4gICAgICAudGVhbS1tZW1iZXJzIC5tZW1iZXJzIC5tZW1iZXItd3JhcHBlciAubWVtYmVyLWRldGFpbHMgLm1lbWJlci1waG9uZSBwIHNwYW4sXG4gICAgICAudGVhbS1tZW1iZXJzIC5tZW1iZXJzIC5tZW1iZXItd3JhcHBlciAubWVtYmVyLWRldGFpbHMgLm1lbWJlci1lbWFpbCBwIHNwYW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC40Mzc1cmVtOyB9XG4gICAgLnRlYW0tbWVtYmVycyAubWVtYmVycyAubWVtYmVyLXdyYXBwZXIgLm1lbWJlci1kZXRhaWxzIC5tZW1iZXItcGhvbmUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cblxuLmNvbnRlbnQtY2FyZHMge1xuICBwYWRkaW5nOiA0LjM3NXJlbSAxLjU2MjVyZW0gMi41cmVtIDEuNTYyNXJlbTtcbiAgYmFja2dyb3VuZDogI0YwRUVGNjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb250ZW50LWNhcmRzIHtcbiAgICAgIHBhZGRpbmc6IDVyZW0gMCA2Ljg3NXJlbSAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGVudC1jYXJkcyAuYmxvY2staW5uZXIge1xuICAgICAgbWF4LXdpZHRoOiA3NS42MjVyZW07XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5jb250ZW50LWNhcmRzIC5ibG9jay1pbm5lciAuYmxvY2stdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgLmNvbnRlbnQtY2FyZHMgLmJsb2NrLWlubmVyIC5ibG9jay10aXRsZSBoMyB7XG4gICAgICBjb2xvcjogIzc2NUJBNzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb250ZW50LWNhcmRzIC5ibG9jay1pbm5lciAuY2FyZHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbjogMCAtMS4xMjVyZW07IH0gfVxuICAuY29udGVudC1jYXJkcyAuYmxvY2staW5uZXIgLmNhcmRzIC5jYXJkIHtcbiAgICBtaW4taGVpZ2h0OiAyNi41cmVtO1xuICAgIG1hcmdpbjogMCAwIDEuODc1cmVtIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbnRlbnQtY2FyZHMgLmJsb2NrLWlubmVyIC5jYXJkcyAuY2FyZCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIDEuMTI1cmVtO1xuICAgICAgICBmbGV4LWJhc2lzOiA1MCU7IH0gfVxuICAgIC5jb250ZW50LWNhcmRzIC5ibG9jay1pbm5lciAuY2FyZHMgLmNhcmQgPiBpbWcge1xuICAgICAgaGVpZ2h0OiAxMS43NXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbnRlbnQtY2FyZHMgLmJsb2NrLWlubmVyIC5jYXJkcyAuY2FyZCA+IGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiAyNS4zNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29udGVudC1jYXJkcyAuYmxvY2staW5uZXIgLmNhcmRzIC5jYXJkIC5jYXJkLWluZm8gLmNhcmQtaW5mby1pbm5lciBwIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMy4xMjVyZW07IH0gfVxuICAgIC5jb250ZW50LWNhcmRzIC5ibG9jay1pbm5lciAuY2FyZHMgLmNhcmQgLmNhcmQtaW5mbyAuY2FyZC1pbmZvLWlubmVyIC5jYXJkLWN0YSB7XG4gICAgICB0b3A6IDguNzVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb250ZW50LWNhcmRzIC5ibG9jay1pbm5lciAuY2FyZHMgLmNhcmQgLmNhcmQtaW5mbyAuY2FyZC1pbmZvLWlubmVyIC5jYXJkLWN0YSB7XG4gICAgICAgICAgdG9wOiBhdXRvOyB9IH1cbiAgICAuY29udGVudC1jYXJkcyAuYmxvY2staW5uZXIgLmNhcmRzIC5jYXJkLnRyYW5zcGFyZW50LCAuY29udGVudC1jYXJkcyAuYmxvY2staW5uZXIgLmNhcmRzIC5jYXJkLmZ1bGxfdHJhbnNwYXJlbnQge1xuICAgICAgaGVpZ2h0OiAxNy4wNjI1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW0gMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbnRlbnQtY2FyZHMgLmJsb2NrLWlubmVyIC5jYXJkcyAuY2FyZC50cmFuc3BhcmVudCwgLmNvbnRlbnQtY2FyZHMgLmJsb2NrLWlubmVyIC5jYXJkcyAuY2FyZC5mdWxsX3RyYW5zcGFyZW50IHtcbiAgICAgICAgICBoZWlnaHQ6IDI5LjYyNXJlbTtcbiAgICAgICAgICBtYXJnaW46IDAgMS4xMjVyZW07IH0gfVxuICAgICAgLmNvbnRlbnQtY2FyZHMgLmJsb2NrLWlubmVyIC5jYXJkcyAuY2FyZC50cmFuc3BhcmVudCA+IGltZywgLmNvbnRlbnQtY2FyZHMgLmJsb2NrLWlubmVyIC5jYXJkcyAuY2FyZC5mdWxsX3RyYW5zcGFyZW50ID4gaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxNy4wNjI1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLmNvbnRlbnQtY2FyZHMgLmJsb2NrLWlubmVyIC5jYXJkcyAuY2FyZC50cmFuc3BhcmVudCA+IGltZywgLmNvbnRlbnQtY2FyZHMgLmJsb2NrLWlubmVyIC5jYXJkcyAuY2FyZC5mdWxsX3RyYW5zcGFyZW50ID4gaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMjkuNjI1cmVtOyB9IH1cbiAgICAgIC5jb250ZW50LWNhcmRzIC5ibG9jay1pbm5lciAuY2FyZHMgLmNhcmQudHJhbnNwYXJlbnQgLmNhcmQtaW5mbywgLmNvbnRlbnQtY2FyZHMgLmJsb2NrLWlubmVyIC5jYXJkcyAuY2FyZC5mdWxsX3RyYW5zcGFyZW50IC5jYXJkLWluZm8ge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogMDsgfVxuICAgICAgICAuY29udGVudC1jYXJkcyAuYmxvY2staW5uZXIgLmNhcmRzIC5jYXJkLnRyYW5zcGFyZW50IC5jYXJkLWluZm8gLmNhcmQtaW5mby1pbm5lciwgLmNvbnRlbnQtY2FyZHMgLmJsb2NrLWlubmVyIC5jYXJkcyAuY2FyZC5mdWxsX3RyYW5zcGFyZW50IC5jYXJkLWluZm8gLmNhcmQtaW5mby1pbm5lciB7XG4gICAgICAgICAgcGFkZGluZzogMS4yNXJlbSAxLjU2MjVyZW07IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgICAgLmNvbnRlbnQtY2FyZHMgLmJsb2NrLWlubmVyIC5jYXJkcyAuY2FyZC50cmFuc3BhcmVudCAuY2FyZC1pbmZvIC5jYXJkLWluZm8taW5uZXIsIC5jb250ZW50LWNhcmRzIC5ibG9jay1pbm5lciAuY2FyZHMgLmNhcmQuZnVsbF90cmFuc3BhcmVudCAuY2FyZC1pbmZvIC5jYXJkLWluZm8taW5uZXIge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAyLjVyZW0gMi44MTI1cmVtOyB9IH1cbiAgICAgICAgICAuY29udGVudC1jYXJkcyAuYmxvY2staW5uZXIgLmNhcmRzIC5jYXJkLnRyYW5zcGFyZW50IC5jYXJkLWluZm8gLmNhcmQtaW5mby1pbm5lciBoNCwgLmNvbnRlbnQtY2FyZHMgLmJsb2NrLWlubmVyIC5jYXJkcyAuY2FyZC5mdWxsX3RyYW5zcGFyZW50IC5jYXJkLWluZm8gLmNhcmQtaW5mby1pbm5lciBoNCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzLjEyNXJlbTsgfVxuICAgICAgICAgIC5jb250ZW50LWNhcmRzIC5ibG9jay1pbm5lciAuY2FyZHMgLmNhcmQudHJhbnNwYXJlbnQgLmNhcmQtaW5mbyAuY2FyZC1pbmZvLWlubmVyIC5jYXJkLWN0YSwgLmNvbnRlbnQtY2FyZHMgLmJsb2NrLWlubmVyIC5jYXJkcyAuY2FyZC5mdWxsX3RyYW5zcGFyZW50IC5jYXJkLWluZm8gLmNhcmQtaW5mby1pbm5lciAuY2FyZC1jdGEge1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIGJvdHRvbTogMS4yNXJlbTsgfVxuICAgICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAgICAgLmNvbnRlbnQtY2FyZHMgLmJsb2NrLWlubmVyIC5jYXJkcyAuY2FyZC50cmFuc3BhcmVudCAuY2FyZC1pbmZvIC5jYXJkLWluZm8taW5uZXIgLmNhcmQtY3RhLCAuY29udGVudC1jYXJkcyAuYmxvY2staW5uZXIgLmNhcmRzIC5jYXJkLmZ1bGxfdHJhbnNwYXJlbnQgLmNhcmQtaW5mbyAuY2FyZC1pbmZvLWlubmVyIC5jYXJkLWN0YSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDIuMTg3NXJlbTtcbiAgICAgICAgICAgICAgICBib3R0b206IDIuNXJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMy4zNzVyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzLjM3NXJlbTsgfSB9XG4gICAgICAgICAgICAuY29udGVudC1jYXJkcyAuYmxvY2staW5uZXIgLmNhcmRzIC5jYXJkLnRyYW5zcGFyZW50IC5jYXJkLWluZm8gLmNhcmQtaW5mby1pbm5lciAuY2FyZC1jdGEgaSwgLmNvbnRlbnQtY2FyZHMgLmJsb2NrLWlubmVyIC5jYXJkcyAuY2FyZC5mdWxsX3RyYW5zcGFyZW50IC5jYXJkLWluZm8gLmNhcmQtaW5mby1pbm5lciAuY2FyZC1jdGEgaSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICAgICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAgICAgICAuY29udGVudC1jYXJkcyAuYmxvY2staW5uZXIgLmNhcmRzIC5jYXJkLnRyYW5zcGFyZW50IC5jYXJkLWluZm8gLmNhcmQtaW5mby1pbm5lciAuY2FyZC1jdGEgaSwgLmNvbnRlbnQtY2FyZHMgLmJsb2NrLWlubmVyIC5jYXJkcyAuY2FyZC5mdWxsX3RyYW5zcGFyZW50IC5jYXJkLWluZm8gLmNhcmQtaW5mby1pbm5lciAuY2FyZC1jdGEgaSB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG5cbi5jb250YWN0LWJsb2NrIHtcbiAgbWFyZ2luOiAyLjVyZW0gMS41NjI1cmVtIDQuNjg3NXJlbSAxLjU2MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGFjdC1ibG9jayB7XG4gICAgICBtYXJnaW46IDVyZW0gMDsgfSB9XG4gIC5jb250YWN0LWJsb2NrIC5ibG9jay13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNzY1QkE3O1xuICAgIGJvcmRlci1yYWRpdXM6IDEuODc1cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbnRhY3QtYmxvY2sgLmJsb2NrLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiA3NS42MjVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEuODc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbnRhY3QtYmxvY2sgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLWRldGFpbHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICAuY29udGFjdC1ibG9jayAuYmxvY2std3JhcHBlciAuYmxvY2stZGV0YWlscyAuY29udGFjdC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuODc1cmVtIDIuNXJlbSAxLjg3NXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbnRhY3QtYmxvY2sgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLWRldGFpbHMgLmNvbnRhY3QtY29udGVudCB7XG4gICAgICAgICAgcGFkZGluZzogMy4xMjVyZW07IH0gfVxuICAgICAgLmNvbnRhY3QtYmxvY2sgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLWRldGFpbHMgLmNvbnRhY3QtY29udGVudCBoMSwgLmNvbnRhY3QtYmxvY2sgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLWRldGFpbHMgLmNvbnRhY3QtY29udGVudCBoMiwgLmNvbnRhY3QtYmxvY2sgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLWRldGFpbHMgLmNvbnRhY3QtY29udGVudCBoMywgLmNvbnRhY3QtYmxvY2sgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLWRldGFpbHMgLmNvbnRhY3QtY29udGVudCBoNCwgLmNvbnRhY3QtYmxvY2sgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLWRldGFpbHMgLmNvbnRhY3QtY29udGVudCBoNSwgLmNvbnRhY3QtYmxvY2sgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLWRldGFpbHMgLmNvbnRhY3QtY29udGVudCBwIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICAgLmNvbnRhY3QtYmxvY2sgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLWRldGFpbHMgLmNvbnRhY3QtY29udGVudCBoMSBhLCAuY29udGFjdC1ibG9jayAuYmxvY2std3JhcHBlciAuYmxvY2stZGV0YWlscyAuY29udGFjdC1jb250ZW50IGgyIGEsIC5jb250YWN0LWJsb2NrIC5ibG9jay13cmFwcGVyIC5ibG9jay1kZXRhaWxzIC5jb250YWN0LWNvbnRlbnQgaDMgYSwgLmNvbnRhY3QtYmxvY2sgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLWRldGFpbHMgLmNvbnRhY3QtY29udGVudCBoNCBhLCAuY29udGFjdC1ibG9jayAuYmxvY2std3JhcHBlciAuYmxvY2stZGV0YWlscyAuY29udGFjdC1jb250ZW50IGg1IGEsIC5jb250YWN0LWJsb2NrIC5ibG9jay13cmFwcGVyIC5ibG9jay1kZXRhaWxzIC5jb250YWN0LWNvbnRlbnQgcCBhIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmNvbnRhY3QtYmxvY2sgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLWRldGFpbHMgLmNvbnRhY3QtY29udGVudCAuYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICAgICAgbWFyZ2luOiAwLjYyNXJlbSAwIDAgMDsgfVxuICAgICAgICAuY29udGFjdC1ibG9jayAuYmxvY2std3JhcHBlciAuYmxvY2stZGV0YWlscyAuY29udGFjdC1jb250ZW50IC5idXR0b246aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgY29sb3I6ICM3NjVCQTc7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbnRhY3QtYmxvY2sgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLWRldGFpbHMgLmltYWdlIHtcbiAgICAgICAgd2lkdGg6IDQyLjg3NXJlbTtcbiAgICAgICAgbWluLWhlaWdodDogMzMuODc1cmVtO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICAgIC5jb250YWN0LWJsb2NrIC5ibG9jay13cmFwcGVyIC5ibG9jay1kZXRhaWxzIC5pbWFnZSBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEzLjEyNXJlbTtcbiAgICAgIG9iamVjdC1wb3NpdGlvbjogdG9wO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb250YWN0LWJsb2NrIC5ibG9jay13cmFwcGVyIC5ibG9jay1kZXRhaWxzIC5pbWFnZSBpbWcge1xuICAgICAgICAgIHBvc2l0aW9uOiBBYnNvbHV0ZTtcbiAgICAgICAgICBpbnNldDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uam9iLW9wcG9ydHVuaXRpZXMge1xuICBwYWRkaW5nOiAyLjVyZW0gMS41NjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmpvYi1vcHBvcnR1bml0aWVzIHtcbiAgICAgIHBhZGRpbmc6IDVyZW0gMCAwIDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5qb2Itb3Bwb3J0dW5pdGllcyAuYmxvY2staW5uZXIge1xuICAgICAgbWF4LXdpZHRoOiA3NS4zMTI1cmVtO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAuam9iLW9wcG9ydHVuaXRpZXMgLmJsb2NrLWlubmVyIC5ibG9jay10aXRsZSBoNCB7XG4gICAgY29sb3I6ICM3NjVCQTc7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gIC5qb2Itb3Bwb3J0dW5pdGllcyAuYmxvY2staW5uZXIgLm9wcG9ydHVuaXRpZXMge1xuICAgIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5qb2Itb3Bwb3J0dW5pdGllcyAuYmxvY2staW5uZXIgLm9wcG9ydHVuaXRpZXMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2LjI1cmVtOyB9IH1cbiAgICAuam9iLW9wcG9ydHVuaXRpZXMgLmJsb2NrLWlubmVyIC5vcHBvcnR1bml0aWVzIC5jYXJlZXItaXRlbSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjBFRUY2O1xuICAgICAgYm9yZGVyLXJhZGl1czogMS44NzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAzLjQzNzVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiA2LjU2MjVyZW0gMi44MTI1cmVtIDIuODEyNXJlbSAyLjgxMjVyZW07IH1cbiAgICAgIC5qb2Itb3Bwb3J0dW5pdGllcyAuYmxvY2staW5uZXIgLm9wcG9ydHVuaXRpZXMgLmNhcmVlci1pdGVtIC5kZWFkbGluZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAyLjVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7XG4gICAgICAgIGhlaWdodDogMi4zMTI1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDEuMDYyNXJlbSAxLjA2MjVyZW0gMDtcbiAgICAgICAgcGFkZGluZzogMCAyLjE4NzVyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgICAgLmpvYi1vcHBvcnR1bml0aWVzIC5ibG9jay1pbm5lciAub3Bwb3J0dW5pdGllcyAuY2FyZWVyLWl0ZW0gLmRlYWRsaW5lIHNwYW4ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMC40Mzc1cmVtOyB9XG4gICAgICAuam9iLW9wcG9ydHVuaXRpZXMgLmJsb2NrLWlubmVyIC5vcHBvcnR1bml0aWVzIC5jYXJlZXItaXRlbSAudGl0bGUgaDUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICAgICAgLmpvYi1vcHBvcnR1bml0aWVzIC5ibG9jay1pbm5lciAub3Bwb3J0dW5pdGllcyAuY2FyZWVyLWl0ZW0gLnRpdGxlIGg1IGEge1xuICAgICAgICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgIC5qb2Itb3Bwb3J0dW5pdGllcyAuYmxvY2staW5uZXIgLm9wcG9ydHVuaXRpZXMgLmNhcmVlci1pdGVtIC52aWV3LW1vcmUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAgIC5qb2Itb3Bwb3J0dW5pdGllcyAuYmxvY2staW5uZXIgLm9wcG9ydHVuaXRpZXMgLmNhcmVlci1pdGVtIC52aWV3LW1vcmUgLm1vcmUtbGluayB7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNXJlbTtcbiAgICAgICAgICBjb2xvcjogIzc2NUJBNztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICAgICAgLmpvYi1vcHBvcnR1bml0aWVzIC5ibG9jay1pbm5lciAub3Bwb3J0dW5pdGllcyAuY2FyZWVyLWl0ZW0gLnZpZXctbW9yZSAubW9yZS1saW5rOmhvdmVyLCAuam9iLW9wcG9ydHVuaXRpZXMgLmJsb2NrLWlubmVyIC5vcHBvcnR1bml0aWVzIC5jYXJlZXItaXRlbSAudmlldy1tb3JlIC5tb3JlLWxpbms6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICM3NjVCQTc7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICM3NjVCQTc7IH1cbiAgICAgICAgLmpvYi1vcHBvcnR1bml0aWVzIC5ibG9jay1pbm5lciAub3Bwb3J0dW5pdGllcyAuY2FyZWVyLWl0ZW0gLnZpZXctbW9yZSAuZmF2b3JpdGUgYSB7XG4gICAgICAgICAgaGVpZ2h0OiAxLjkzNzVyZW07XG4gICAgICAgICAgd2lkdGg6IDEuOTM3NXJlbTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM3NjVCQTc7XG4gICAgICAgICAgY29sb3I6ICM3NjVCQTc7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgICAgLmpvYi1vcHBvcnR1bml0aWVzIC5ibG9jay1pbm5lciAub3Bwb3J0dW5pdGllcyAuY2FyZWVyLWl0ZW0gLnZpZXctbW9yZSAuZmF2b3JpdGUgYSBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgICAuam9iLW9wcG9ydHVuaXRpZXMgLmJsb2NrLWlubmVyIC5vcHBvcnR1bml0aWVzIC5jYXJlZXItaXRlbTpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAuMTg3NXJlbSAwLjE4NzVyZW0gMC4zNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICAgICAgICAuam9iLW9wcG9ydHVuaXRpZXMgLmJsb2NrLWlubmVyIC5vcHBvcnR1bml0aWVzIC5jYXJlZXItaXRlbTpob3ZlciAudmlldy1tb3JlIC5tb3JlLWxpbmsge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzc2NUJBNzsgfVxuXG4uaW1hZ2UtdGV4dCB7XG4gIG1hcmdpbjogMi41cmVtIDEuNTYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5pbWFnZS10ZXh0IHtcbiAgICAgIG1hcmdpbjogNXJlbSAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaW1hZ2UtdGV4dCAuaW1hZ2UtdGV4dC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAuaW1hZ2UtdGV4dCAuaW1hZ2UtdGV4dC1jb250YWluZXIgLnRleHQtY29udGVudCBoNCB7XG4gICAgY29sb3I6ICM3NjVCQTc7XG4gICAgbWFyZ2luOiAwIDAgMS4yNXJlbSAwOyB9XG4gIC5pbWFnZS10ZXh0IC5pbWFnZS10ZXh0LWNvbnRhaW5lciAuaW1hZ2Utd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwIDAgMi4xODc1cmVtIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmltYWdlLXRleHQgLmltYWdlLXRleHQtY29udGFpbmVyIC5pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDM2LjQzNzVyZW07XG4gICAgICAgIG1hcmdpbjogMCAyLjE4NzVyZW0gMCAwO1xuICAgICAgICBmbGV4LXNocmluazogMDsgfSB9XG4gICAgLmltYWdlLXRleHQgLmltYWdlLXRleHQtY29udGFpbmVyIC5pbWFnZS13cmFwcGVyIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTVyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAxLjg3NXJlbSAxLjg3NXJlbSAwIDA7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmltYWdlLXRleHQgLmltYWdlLXRleHQtY29udGFpbmVyIC5pbWFnZS13cmFwcGVyIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDM2LjQzNzVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAzMC40Mzc1cmVtOyB9IH1cbiAgLmltYWdlLXRleHQgLmltYWdlLXRleHQtY29udGFpbmVyLnJpZ2h0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmltYWdlLXRleHQgLmltYWdlLXRleHQtY29udGFpbmVyLnJpZ2h0IC5pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIuMTg3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLnVzZWZ1bC1wYWdlcyB7XG4gIG1hcmdpbjogNXJlbSAxLjU2MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudXNlZnVsLXBhZ2VzIHtcbiAgICAgIG1hcmdpbjogNXJlbSAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudXNlZnVsLXBhZ2VzIC5ibG9jay13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC51c2VmdWwtcGFnZXMgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwOyB9IH1cbiAgLnVzZWZ1bC1wYWdlcyAuYmxvY2std3JhcHBlciAuYmxvY2stY29udGVudCBoMyB7XG4gICAgY29sb3I6ICM3NjVCQTc7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudXNlZnVsLXBhZ2VzIC5ibG9jay13cmFwcGVyIC5ibG9jay1jb250ZW50IHAge1xuICAgICAgbWF4LXdpZHRoOiAyOS45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudXNlZnVsLXBhZ2VzIC5ibG9jay13cmFwcGVyIC5ibG9jay1saW5rcyB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIuMTg3NXJlbTsgfSB9XG4gIC51c2VmdWwtcGFnZXMgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLWxpbmtzIHVsIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAudXNlZnVsLXBhZ2VzIC5ibG9jay13cmFwcGVyIC5ibG9jay1saW5rcyB1bCBsaSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RFRDhFQTtcbiAgICAgIHBhZGRpbmc6IDEuMzc1cmVtIDIuMTg3NXJlbSAxLjM3NXJlbSAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAudXNlZnVsLXBhZ2VzIC5ibG9jay13cmFwcGVyIC5ibG9jay1saW5rcyB1bCBsaSB7XG4gICAgICAgICAgcGFkZGluZzogMS43NXJlbSAyLjE4NzVyZW0gMS43NXJlbSAwOyB9IH1cbiAgICAgIC51c2VmdWwtcGFnZXMgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLWxpbmtzIHVsIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNERUQ4RUE7IH1cbiAgICAgIC51c2VmdWwtcGFnZXMgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLWxpbmtzIHVsIGxpIGEge1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjE4NzVyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC51c2VmdWwtcGFnZXMgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLWxpbmtzIHVsIGxpOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgY29udGVudDogXCJcXGU5MDlcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJywgc2Fucy1zZXJpZjtcbiAgICAgICAgd2lkdGg6IDEuNjg3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjY4NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM3NjVCQTc7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC51c2VmdWwtcGFnZXMgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLWxpbmtzIHVsIGxpOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgLnVzZWZ1bC1wYWdlcyAuYmxvY2std3JhcHBlciAuYmxvY2stbGlua3MgdWwgbGk6aG92ZXIgYSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzc2NUJBNzsgfVxuICAgICAgLnVzZWZ1bC1wYWdlcyAuYmxvY2std3JhcHBlciAuYmxvY2stbGlua3MgdWwgbGk6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnJlYWRpbmctY29udGVudCB7XG4gIG1hcmdpbjogMi41cmVtIDEuNTYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZWFkaW5nLWNvbnRlbnQge1xuICAgICAgbWFyZ2luOiA1cmVtIDA7IH0gfVxuICAucmVhZGluZy1jb250ZW50IC5pbWFnZS10ZXh0LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5yZWFkaW5nLWNvbnRlbnQgLmltYWdlLXRleHQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5yZWFkaW5nLWNvbnRlbnQgLmltYWdlLXRleHQtY29udGFpbmVyIC5pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIuMTg3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICAucmVhZGluZy1jb250ZW50IC5pbWFnZS10ZXh0LWNvbnRhaW5lciAuaW1hZ2Utd3JhcHBlciAuY2FyZCB7XG4gICAgICBtaW4taGVpZ2h0OiAxOS43NXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnJlYWRpbmctY29udGVudCAuaW1hZ2UtdGV4dC1jb250YWluZXIgLmltYWdlLXdyYXBwZXIgLmNhcmQge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDMyLjkzNzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnJlYWRpbmctY29udGVudCAuaW1hZ2UtdGV4dC1jb250YWluZXIgLmltYWdlLXdyYXBwZXIgLmNhcmQgaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDI0LjEyNXJlbTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgICAgIC5yZWFkaW5nLWNvbnRlbnQgLmltYWdlLXRleHQtY29udGFpbmVyIC5pbWFnZS13cmFwcGVyIC5jYXJkIC5jYXJkLWluZm8gLmNhcmQtaW5mby1pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAxLjI1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLnJlYWRpbmctY29udGVudCAuaW1hZ2UtdGV4dC1jb250YWluZXIgLmltYWdlLXdyYXBwZXIgLmNhcmQgLmNhcmQtaW5mbyAuY2FyZC1pbmZvLWlubmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMS41NjI1cmVtIDIuODEyNXJlbTsgfSB9XG4gICAgICAgIC5yZWFkaW5nLWNvbnRlbnQgLmltYWdlLXRleHQtY29udGFpbmVyIC5pbWFnZS13cmFwcGVyIC5jYXJkIC5jYXJkLWluZm8gLmNhcmQtaW5mby1pbm5lciBoMiB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtOyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAgIC5yZWFkaW5nLWNvbnRlbnQgLmltYWdlLXRleHQtY29udGFpbmVyIC5pbWFnZS13cmFwcGVyIC5jYXJkIC5jYXJkLWluZm8gLmNhcmQtaW5mby1pbm5lciBoMiB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4zNzVyZW07XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjI1cmVtO1xuICAgICAgICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgICAgICAgICAucmVhZGluZy1jb250ZW50IC5pbWFnZS10ZXh0LWNvbnRhaW5lciAuaW1hZ2Utd3JhcHBlciAuY2FyZCAuY2FyZC1pbmZvIC5jYXJkLWluZm8taW5uZXIgcCBzdHJvbmcge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH0gfVxuICAgICAgLnJlYWRpbmctY29udGVudCAuaW1hZ2UtdGV4dC1jb250YWluZXIgLmltYWdlLXdyYXBwZXIgLmNhcmQ6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICAgIC5yZWFkaW5nLWNvbnRlbnQgLmltYWdlLXRleHQtY29udGFpbmVyIC5pbWFnZS13cmFwcGVyIC5jYXJkOmhvdmVyID4gaW1nIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgLnJlYWRpbmctY29udGVudCAuaW1hZ2UtdGV4dC1jb250YWluZXIgLnRleHQtY29udGVudCAuYmxvY2stbGFiZWwge1xuICAgICAgYmFja2dyb3VuZDogI0YwRUVGNjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMS4zNzVyZW0gMS4zNzVyZW0gMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDAgNC4zNzVyZW0gMCAwO1xuICAgICAgaGVpZ2h0OiAyLjY4NzVyZW07XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wNjI1cmVtO1xuICAgICAgY29sb3I6ICM1MzM5ODY7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgdG9wOiAtMS4yNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnJlYWRpbmctY29udGVudCAuaW1hZ2UtdGV4dC1jb250YWluZXIgLnRleHQtY29udGVudCAuYmxvY2stbGFiZWwge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW46IDAgMCAzLjEyNXJlbSAwO1xuICAgICAgICAgIHRvcDogMDsgfSB9XG4gICAgICAucmVhZGluZy1jb250ZW50IC5pbWFnZS10ZXh0LWNvbnRhaW5lciAudGV4dC1jb250ZW50IC5ibG9jay1sYWJlbDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtMTI1cmVtO1xuICAgICAgICB3aWR0aDogMTI1cmVtO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZDogI0YwRUVGNjsgfVxuXG4uZm9ybS1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgcGFkZGluZzogMi41cmVtIDEuNTYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mb3JtLWJsb2NrIHtcbiAgICAgIHBhZGRpbmc6IDQuMDYyNXJlbSAwIDMuMTI1cmVtIDA7IH0gfVxuICAuZm9ybS1ibG9jay5kYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjBFRUY2OyB9XG4gICAgLmZvcm0tYmxvY2suZGFyayAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXIgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgLmZvcm0tYmxvY2suZGFyayAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXIgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgIC5mb3JtLWJsb2NrLmRhcmsgLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtLWJvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4gICAgLmZvcm0tYmxvY2suZGFyayAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXIgdGV4dGFyZWEge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgIC5mb3JtLWJsb2NrLmRhcmsgLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2Zvb3RlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3NS42MjVyZW07XG4gICAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgICAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIC5mb3JtLXRpdGxlIGg0IHtcbiAgICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gICAgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3JzIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5mb3JtLWJsb2NrIC5mb3JtLXdyYXBwZXIgLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtLWJvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0gfVxuICAgIC5mb3JtLWJsb2NrIC5mb3JtLXdyYXBwZXIgLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtLWJvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5nZmllbGRfbGFiZWwsXG4gICAgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdmb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgY29sb3I6ICMyRDMzNDQ7IH1cbiAgICAgIC5mb3JtLWJsb2NrIC5mb3JtLXdyYXBwZXIgLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtLWJvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5nZmllbGRfbGFiZWwgLmdmaWVsZF9yZXF1aXJlZCAuZ2ZpZWxkX3JlcXVpcmVkX3RleHQsXG4gICAgICAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybS1ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2Zvcm0tZmllbGQtbGFiZWwgLmdmaWVsZF9yZXF1aXJlZCAuZ2ZpZWxkX3JlcXVpcmVkX3RleHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG4gICAgICAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybS1ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2ZpZWxkX2xhYmVsIC5nZmllbGRfcmVxdWlyZWQ6YWZ0ZXIsXG4gICAgICAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybS1ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2Zvcm0tZmllbGQtbGFiZWwgLmdmaWVsZF9yZXF1aXJlZDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcqJztcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICAgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgIC5mb3JtLWJsb2NrIC5mb3JtLXdyYXBwZXIgLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtLWJvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4gICAgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgdGV4dGFyZWEge1xuICAgICAgaGVpZ2h0OiAzLjM3NXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEuNjg3NXJlbTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwIDEuNTYyNXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogI0VERURFRDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgICAgIC5mb3JtLWJsb2NrIC5mb3JtLXdyYXBwZXIgLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtLWJvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICAgICAgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgICAgICAgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgdGV4dGFyZWEge1xuICAgICAgICAgIGhlaWdodDogNC4zNzVyZW07XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07IH0gfVxuICAgICAgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgaW5wdXRbdHlwZT1cInRleHRcIl06OnBsYWNlaG9sZGVyLFxuICAgICAgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgaW5wdXRbdHlwZT1cImVtYWlsXCJdOjpwbGFjZWhvbGRlcixcbiAgICAgIC5mb3JtLWJsb2NrIC5mb3JtLXdyYXBwZXIgLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtLWJvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIGlucHV0W3R5cGU9XCJ0ZWxcIl06OnBsYWNlaG9sZGVyLFxuICAgICAgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29sb3I6ICMyRDMzNDQ7IH1cbiAgICAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybS1ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCBzZWxlY3Qge1xuICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDAgMC45Mzc1cmVtO1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2VlZTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDk5JSBjZW50ZXI7IH1cbiAgICAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybS1ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCB0ZXh0YXJlYSB7XG4gICAgICBwYWRkaW5nOiAxLjU2MjVyZW07XG4gICAgICBoZWlnaHQ6IDEzLjVyZW07XG4gICAgICByZXNpemU6IG5vbmU7IH1cbiAgICAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybS1ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGQtLXR5cGUtZmlsZXVwbG9hZCBsYWJlbCB7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBjb2xvcjogIzJEMzM0NDsgfVxuICAgICAgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkLS10eXBlLWZpbGV1cGxvYWQgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGU5MDJcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgICAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybS1ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGQtLXR5cGUtZmlsZXVwbG9hZCAuZ2Zvcm1fZmlsZXVwbG9hZF9ydWxlcyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkLS10eXBlLXNlY3Rpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMy4xMjVyZW07IH1cbiAgICAgIC5mb3JtLWJsb2NrIC5mb3JtLXdyYXBwZXIgLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtLWJvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmaWVsZC0tdHlwZS1zZWN0aW9uIC5nc2VjdGlvbl90aXRsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gICAgICAgIGNvbG9yOiAjMkQzMzQ0OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkLS10eXBlLXNlY3Rpb24gLmdzZWN0aW9uX3RpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1cmVtOyB9IH1cbiAgICAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybS1ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGQtLXR5cGUtaHRtbCB7XG4gICAgICBtYXJnaW4tdG9wOiAzLjEyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gICAgICAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybS1ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGQtLXR5cGUtbmFtZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIC5mb3JtLWJsb2NrIC5mb3JtLXdyYXBwZXIgLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtLWJvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmaWVsZC0tdHlwZS1uYW1lIC5naW5wdXRfY29udGFpbmVyIC5nZm9ybS1ncmlkLWNvbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5mb3JtLWJsb2NrIC5mb3JtLXdyYXBwZXIgLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtLWJvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmaWVsZC0tdHlwZS1uYW1lIC5naW5wdXRfY29udGFpbmVyIC5nZm9ybS1ncmlkLWNvbCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkLS10eXBlLXByb2R1Y3Qge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgIC5mb3JtLWJsb2NrIC5mb3JtLXdyYXBwZXIgLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtLWJvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmaWVsZC0tdHlwZS1wcm9kdWN0IC5naW5wdXRfY29udGFpbmVyX3NpbmdsZXByb2R1Y3QgaW5wdXQge1xuICAgICAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMCAwLjMxMjVyZW0gMCAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNlZWU7IH1cbiAgICAgICAgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkLS10eXBlLXByb2R1Y3QgLmdpbnB1dF9jb250YWluZXJfc2luZ2xlcHJvZHVjdCBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgY29sb3I6ICMyRDMzNDQ7IH1cbiAgICAgIC5mb3JtLWJsb2NrIC5mb3JtLXdyYXBwZXIgLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtLWJvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmaWVsZC0tdHlwZS1wcm9kdWN0IC5naW5wdXRfY29udGFpbmVyX3NpbmdsZXByb2R1Y3QgLmdmb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBjb2xvcjogIzJEMzM0NDsgfVxuICAgICAgICAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybS1ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGQtLXR5cGUtcHJvZHVjdCAuZ2lucHV0X2NvbnRhaW5lcl9zaW5nbGVwcm9kdWN0IC5nZm9ybS1maWVsZC1sYWJlbC5naW5wdXRfcHJvZHVjdF9wcmljZSB7XG4gICAgICAgICAgY29sb3I6ICM5MDFBM0Q7IH1cbiAgICAgIC5mb3JtLWJsb2NrIC5mb3JtLXdyYXBwZXIgLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtLWJvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmaWVsZC0tdHlwZS1wcm9kdWN0IC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGNvbG9yOiAjNTY1ZjgxOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgICAgIC5mb3JtLWJsb2NrIC5mb3JtLXdyYXBwZXIgLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtLWJvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmaWVsZC0tdHlwZS1jb25zZW50IC5naW5wdXRfY29udGFpbmVyX2NvbnNlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAgICAgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkLS10eXBlLWNvbnNlbnQgLmdpbnB1dF9jb250YWluZXJfY29uc2VudCBpbnB1dCB7XG4gICAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfSB9XG4gICAgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkLS10eXBlLWNvbnNlbnQgLmdpbnB1dF9jb250YWluZXJfY29uc2VudCBsYWJlbCB7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgICAgICAgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkLS10eXBlLWNvbnNlbnQgLmdpbnB1dF9jb250YWluZXJfY29uc2VudCBsYWJlbCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkLS10eXBlLXJhZGlvLCAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybS1ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGQtLXR5cGUtY2hlY2tib3gge1xuICAgICAgICBtYXgtd2lkdGg6IDQ5Ljc1cmVtOyB9IH1cbiAgICAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybS1ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGQtLXR5cGUtcmFkaW8gbGVnZW5kLCAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybS1ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGQtLXR5cGUtY2hlY2tib3ggbGVnZW5kIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDAuNXB4IHNvbGlkICM3NjVCQTc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkLS10eXBlLXJhZGlvIC5nZmllbGRfY2hlY2tib3gsXG4gICAgICAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybS1ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGQtLXR5cGUtcmFkaW8gLmdmaWVsZF9yYWRpbywgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkLS10eXBlLWNoZWNrYm94IC5nZmllbGRfY2hlY2tib3gsXG4gICAgICAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybS1ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGQtLXR5cGUtY2hlY2tib3ggLmdmaWVsZF9yYWRpbyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgIC5mb3JtLWJsb2NrIC5mb3JtLXdyYXBwZXIgLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtLWJvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmaWVsZC0tdHlwZS1yYWRpbyAuZ2Nob2ljZSwgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkLS10eXBlLWNoZWNrYm94IC5nY2hvaWNlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbSAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybS1ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGQtLXR5cGUtcmFkaW8gLmdjaG9pY2UsIC5mb3JtLWJsb2NrIC5mb3JtLXdyYXBwZXIgLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtLWJvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmaWVsZC0tdHlwZS1jaGVja2JveCAuZ2Nob2ljZSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDMuMTI1cmVtIDAgMDsgfSB9XG4gICAgICAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybS1ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGQtLXR5cGUtcmFkaW8gLmdjaG9pY2UgbGFiZWwsIC5mb3JtLWJsb2NrIC5mb3JtLXdyYXBwZXIgLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtLWJvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmaWVsZC0tdHlwZS1jaGVja2JveCAuZ2Nob2ljZSBsYWJlbCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybS1ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGQtLXR5cGUtcmFkaW8gLmdjaG9pY2UgaW5wdXQsIC5mb3JtLWJsb2NrIC5mb3JtLXdyYXBwZXIgLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtLWJvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmaWVsZC0tdHlwZS1jaGVja2JveCAuZ2Nob2ljZSBpbnB1dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGFjY2VudC1jb2xvcjogIzc2NUJBNzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybS1ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGQtLXR5cGUtc2VsZWN0IHtcbiAgICAgICAgd2lkdGg6IDIzLjYyNXJlbTsgfSB9XG4gICAgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm0tYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdmaWVsZF92YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9mb290ZXIge1xuICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuZm9ybS1ibG9jayAuZm9ybS13cmFwcGVyIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9mb290ZXIge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAgICAgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fZm9vdGVyIGlucHV0IHtcbiAgICAgICAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3NjVCQTc7XG4gICAgICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEuMjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIDEuNTYyNXJlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1cmVtOyB9XG4gICAgICAgIC5mb3JtLWJsb2NrIC5mb3JtLXdyYXBwZXIgLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2Zvb3RlciBpbnB1dDpob3ZlciwgLmZvcm0tYmxvY2sgLmZvcm0td3JhcHBlciAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fZm9vdGVyIGlucHV0OmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgIGNvbG9yOiAjNzY1QkE3OyB9XG5cbi5hZmZpbGlhdGUtY29tcGFuaWVzIHtcbiAgbWFyZ2luOiAyLjVyZW0gMS41NjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFmZmlsaWF0ZS1jb21wYW5pZXMge1xuICAgICAgbWFyZ2luOiA1cmVtIDA7IH0gfVxuICAuYWZmaWxpYXRlLWNvbXBhbmllcyAuYmxvY2stdGl0bGUgaDMge1xuICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFmZmlsaWF0ZS1jb21wYW5pZXMgLmxvZ29zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW46IDAgLTEuMDYyNXJlbTsgfSB9XG4gIC5hZmZpbGlhdGUtY29tcGFuaWVzIC5sb2dvcyAubG9nbyB7XG4gICAgbWFyZ2luOiAwIDAgMS41NjI1cmVtIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFmZmlsaWF0ZS1jb21wYW5pZXMgLmxvZ29zIC5sb2dvIHtcbiAgICAgICAgd2lkdGg6IDE3LjEyNXJlbTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIG1hcmdpbjogMCAxLjA2MjVyZW0gMi4xODc1cmVtIDEuMDYyNXJlbTsgfSB9XG4gICAgLmFmZmlsaWF0ZS1jb21wYW5pZXMgLmxvZ29zIC5sb2dvIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogOS42MjVyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAxLjg3NXJlbTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuYWZmaWxpYXRlLWNvbXBhbmllcyAubG9nb3MgLmxvZ28gaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDE3LjEyNXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuXG4udmlkZW8tY29udGVudCB7XG4gIG1hcmdpbjogMi41cmVtIDEuNTYyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC52aWRlby1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAudmlkZW8tY29udGVudCAuYmxvY2stY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy40Mzc1cmVtOyB9XG4gICAgLnZpZGVvLWNvbnRlbnQgLmJsb2NrLWNvbnRlbnQgaDQge1xuICAgICAgY29sb3I6ICM3NjVCQTc7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjE4NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudmlkZW8tY29udGVudCAudmlkZW9zLXNsaWRlciB7XG4gICAgICBtYXJnaW46IDAgLTEuMDYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnZpZGVvLWNvbnRlbnQgLnZpZGVvcy1zbGlkZXIgLnZpZGVvLWl0ZW0ge1xuICAgICAgd2lkdGg6IDMzLjYyNXJlbTtcbiAgICAgIG1hcmdpbjogMCAxLjA2MjVyZW07IH0gfVxuICAudmlkZW8tY29udGVudCAudmlkZW9zLXNsaWRlciAudmlkZW8taXRlbSAudmlkZW8tcGxhY2Vob2xkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAxLjg3NXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTMuMTI1cmVtO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudmlkZW8tY29udGVudCAudmlkZW9zLXNsaWRlciAudmlkZW8taXRlbSAudmlkZW8tcGxhY2Vob2xkZXIge1xuICAgICAgICBoZWlnaHQ6IDIyLjgxMjVyZW07IH0gfVxuICAgIC52aWRlby1jb250ZW50IC52aWRlb3Mtc2xpZGVyIC52aWRlby1pdGVtIC52aWRlby1wbGFjZWhvbGRlcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbiAgICAgIHotaW5kZXg6IDM7IH1cbiAgICAudmlkZW8tY29udGVudCAudmlkZW9zLXNsaWRlciAudmlkZW8taXRlbSAudmlkZW8tcGxhY2Vob2xkZXIgaW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAudmlkZW8tY29udGVudCAudmlkZW9zLXNsaWRlciAudmlkZW8taXRlbSAudmlkZW8tcGxhY2Vob2xkZXIgLnBsYXktdmlkZW8ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIHotaW5kZXg6IDQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMy4xMjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC52aWRlby1jb250ZW50IC52aWRlb3Mtc2xpZGVyIC52aWRlby1pdGVtIC52aWRlby1wbGFjZWhvbGRlciAucGxheS12aWRlbyB7XG4gICAgICAgICAgZm9udC1zaXplOiA1LjYyNXJlbTsgfSB9XG4gICAgLnZpZGVvLWNvbnRlbnQgLnZpZGVvcy1zbGlkZXIgLnZpZGVvLWl0ZW0gLnZpZGVvLXBsYWNlaG9sZGVyOmhvdmVyOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuICAudmlkZW8tY29udGVudCAudmlkZW9zLXNsaWRlciAudmlkZW8taXRlbSAudmlkZW8tZGV0YWlscyAudmlkZW8tdGl0bGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfVxuICAgIC52aWRlby1jb250ZW50IC52aWRlb3Mtc2xpZGVyIC52aWRlby1pdGVtIC52aWRlby1kZXRhaWxzIC52aWRlby10aXRsZSBoNSB7XG4gICAgICBtYXJnaW46IDAgMy40Mzc1cmVtIDAgMDsgfVxuICAgICAgLnZpZGVvLWNvbnRlbnQgLnZpZGVvcy1zbGlkZXIgLnZpZGVvLWl0ZW0gLnZpZGVvLWRldGFpbHMgLnZpZGVvLXRpdGxlIGg1IGEge1xuICAgICAgICBjb2xvcjogIzc2NUJBNztcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjkzNzVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAudmlkZW8tY29udGVudCAudmlkZW9zLXNsaWRlciAudmlkZW8taXRlbSAudmlkZW8tZGV0YWlscyAudmlkZW8tdGl0bGUgLmFkZC10by1mYXZvcml0ZSB7XG4gICAgICBmbGV4LXNocmluazogMDsgfVxuICAudmlkZW8tY29udGVudCAudmlkZW9zLXNsaWRlciAudmlkZW8taXRlbSAudmlkZW8tZGV0YWlscyAudmlkZW8tZHVyYXRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfVxuICAgIC52aWRlby1jb250ZW50IC52aWRlb3Mtc2xpZGVyIC52aWRlby1pdGVtIC52aWRlby1kZXRhaWxzIC52aWRlby1kdXJhdGlvbiBzcGFuIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC52aWRlby1jb250ZW50IC52aWRlb3Mtc2xpZGVyIC52aWRlby1pdGVtIC52aWRlby1kZXRhaWxzIC52aWRlby1kZXNjcmlwdGlvbiBoNiB7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAxMjVyZW07IH1cbiAgLnZpZGVvLWNvbnRlbnQgLnZpZGVvcy1zbGlkZXIgLnZpZGVvLWl0ZW0gLnZpZGVvLWRldGFpbHMgLnZpZGVvLWRlc2NyaXB0aW9uIHVsIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLnZpZGVvLWNvbnRlbnQgLnNsaWNrLXRyYWNrLFxuLmF1ZGlvLWNvbnRlbnQgLnNsaWNrLXRyYWNrIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4udmlkZW8tY29udGVudCAuc2xpY2stYXJyb3csXG4uYXVkaW8tY29udGVudCAuc2xpY2stYXJyb3cge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogLTIuNXJlbTtcbiAgdHJhbnNmb3JtOiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnZpZGVvLWNvbnRlbnQgLnNsaWNrLWFycm93LFxuICAgIC5hdWRpby1jb250ZW50IC5zbGljay1hcnJvdyB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDEwcmVtO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuLnZpZGVvLWNvbnRlbnQgLnNsaWNrLWFycm93LFxuLmF1ZGlvLWNvbnRlbnQgLnNsaWNrLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMi41cmVtO1xuICBoZWlnaHQ6IDIuNXJlbTtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudmlkZW8tY29udGVudCAuc2xpY2stYXJyb3csXG4gICAgLmF1ZGlvLWNvbnRlbnQgLnNsaWNrLWFycm93IHtcbiAgICAgIHdpZHRoOiAzLjY4NzVyZW07XG4gICAgICBoZWlnaHQ6IDMuNjg3NXJlbTsgfSB9XG4gIC52aWRlby1jb250ZW50IC5zbGljay1hcnJvdzpiZWZvcmUsXG4gIC5hdWRpby1jb250ZW50IC5zbGljay1hcnJvdzpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicsIHNhbnMtc2VyaWY7XG4gICAgd2lkdGg6IDIuNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgYm9yZGVyOiAzcHggc29saWQgIzc2NUJBNztcbiAgICBjb2xvcjogIzc2NUJBNztcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudmlkZW8tY29udGVudCAuc2xpY2stYXJyb3c6YmVmb3JlLFxuICAgICAgLmF1ZGlvLWNvbnRlbnQgLnNsaWNrLWFycm93OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICB3aWR0aDogMy42ODc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDMuNjg3NXJlbTtcbiAgICAgICAgYm9yZGVyOiBub25lOyB9IH1cbiAgLnZpZGVvLWNvbnRlbnQgLnNsaWNrLWFycm93LnNsaWNrLW5leHQsXG4gIC5hdWRpby1jb250ZW50IC5zbGljay1hcnJvdy5zbGljay1uZXh0IHtcbiAgICByaWdodDogY2FsYyg1MCUgLSAzLjc1cmVtKTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudmlkZW8tY29udGVudCAuc2xpY2stYXJyb3cuc2xpY2stbmV4dCxcbiAgICAgIC5hdWRpby1jb250ZW50IC5zbGljay1hcnJvdy5zbGljay1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IC0yLjgxMjVyZW07IH0gfVxuICAgIC52aWRlby1jb250ZW50IC5zbGljay1hcnJvdy5zbGljay1uZXh0OmJlZm9yZSxcbiAgICAuYXVkaW8tY29udGVudCAuc2xpY2stYXJyb3cuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDRcIjsgfVxuICAudmlkZW8tY29udGVudCAuc2xpY2stYXJyb3cuc2xpY2stcHJldixcbiAgLmF1ZGlvLWNvbnRlbnQgLnNsaWNrLWFycm93LnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMy43NXJlbSk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnZpZGVvLWNvbnRlbnQgLnNsaWNrLWFycm93LnNsaWNrLXByZXYsXG4gICAgICAuYXVkaW8tY29udGVudCAuc2xpY2stYXJyb3cuc2xpY2stcHJldiB7XG4gICAgICAgIGxlZnQ6IC0yLjgxMjVyZW07IH0gfVxuICAgIC52aWRlby1jb250ZW50IC5zbGljay1hcnJvdy5zbGljay1wcmV2OmJlZm9yZSxcbiAgICAuYXVkaW8tY29udGVudCAuc2xpY2stYXJyb3cuc2xpY2stcHJldjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDRcIjtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLnZpZGVvLWNvbnRlbnQgLnNsaWNrLWFycm93LnNsaWNrLWRpc2FibGVkOmJlZm9yZSxcbiAgLmF1ZGlvLWNvbnRlbnQgLnNsaWNrLWFycm93LnNsaWNrLWRpc2FibGVkOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTQ2LCAyMTksIDIzMiwgMC4zMSk7IH1cbiAgLnZpZGVvLWNvbnRlbnQgLnNsaWNrLWFycm93OmhvdmVyOmJlZm9yZSxcbiAgLmF1ZGlvLWNvbnRlbnQgLnNsaWNrLWFycm93OmhvdmVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogIzc2NUJBNztcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudmlkZW8tY29udGVudCAuc2xpY2stYXJyb3c6aG92ZXI6YmVmb3JlLFxuICAgICAgLmF1ZGlvLWNvbnRlbnQgLnNsaWNrLWFycm93OmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjNzY1QkE3OyB9IH1cblxuLnJlc291cmNlcy1saWJyYXJ5IHtcbiAgYmFja2dyb3VuZDogI0Y4RjhGODtcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmVzb3VyY2VzLWxpYnJhcnkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuMTg3NXJlbTsgfSB9XG4gIC5yZXNvdXJjZXMtbGlicmFyeSAuYmxvY2std3JhcHBlciB7XG4gICAgbWFyZ2luOiAwIDEuNTYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucmVzb3VyY2VzLWxpYnJhcnkgLmJsb2NrLXdyYXBwZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDc1LjYyNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucmVzb3VyY2VzLWxpYnJhcnkgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLXdyYXBwZXItaW5uZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDY4Ljc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwIDEuODc1cmVtOyB9IH1cbiAgICAucmVzb3VyY2VzLWxpYnJhcnkgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLXdyYXBwZXItaW5uZXIgLmJsb2NrLWxhYmVsIHtcbiAgICAgIG1hcmdpbi10b3A6IDIuNXJlbTsgfVxuICAgIC5yZXNvdXJjZXMtbGlicmFyeSAuYmxvY2std3JhcHBlciAuYmxvY2std3JhcHBlci1pbm5lciAucmVzb3VyY2VzLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyLjE4NzVyZW07XG4gICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI0I0QjRCNDsgfVxuICAgICAgLnJlc291cmNlcy1saWJyYXJ5IC5ibG9jay13cmFwcGVyIC5ibG9jay13cmFwcGVyLWlubmVyIC5yZXNvdXJjZXMtdGl0bGUgaDQge1xuICAgICAgICBjb2xvcjogIzc2NUJBNztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gICAgLnJlc291cmNlcy1saWJyYXJ5IC5ibG9jay13cmFwcGVyIC5sb2FkLW1vcmUtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAwIDAgMi4xODc1cmVtIDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLnJlc291cmNlcy1saWJyYXJ5IGJ1dHRvbi5zaG93LW1vcmUge1xuICAgIG1hcmdpbjogMCBhdXRvIDAuNjI1cmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnJlc291cmNlcy1saWJyYXJ5IC5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnJlc291cmNlcy1saWJyYXJ5Lmhhcy1tb3JlLXJlc3VsdHMgYnV0dG9uLnNob3ctbW9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnJlc291cmNlcy1saWJyYXJ5LnNob3ctbW9yZSBidXR0b24uc2hvdy1tb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5yZXNvdXJjZXMtbGlicmFyeS5zaG93LW1vcmUgLmhpZGRlbiB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuXG4uYXVkaW8tY29udGVudCB7XG4gIG1hcmdpbjogNXJlbSAxLjU2MjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hdWRpby1jb250ZW50IHtcbiAgICAgIG1hcmdpbjogNXJlbSAwOyB9IH1cbiAgLmF1ZGlvLWNvbnRlbnQgLmxpc3Rlbi1sYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTAuNjI1cmVtO1xuICAgIHotaW5kZXg6IDEwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hdWRpby1jb250ZW50IC5saXN0ZW4tbGFiZWwge1xuICAgICAgICB0b3A6IDMuNzVyZW07IH0gfVxuICAuYXVkaW8tY29udGVudCAuYXVkaW8tc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNTsgfVxuICAuYXVkaW8tY29udGVudCAuYmxvY2stY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogI0Y4RjhGODtcbiAgICBib3JkZXItcmFkaXVzOiAxLjg3NXJlbSAxLjg3NXJlbSAwLjc1cmVtIDEuODc1cmVtO1xuICAgIG1hcmdpbjogMC42MjVyZW0gMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXVkaW8tY29udGVudCAuYmxvY2stY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgIC5hdWRpby1jb250ZW50IC5ibG9jay1jb250ZW50IC5pbWFnZS1jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmF1ZGlvLWNvbnRlbnQgLmJsb2NrLWNvbnRlbnQgLmltYWdlLWNvbnRlbnQge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgZmxleC1zaHJpbms6IDA7IH0gfVxuICAgICAgLmF1ZGlvLWNvbnRlbnQgLmJsb2NrLWNvbnRlbnQgLmltYWdlLWNvbnRlbnQgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTIuODc1cmVtO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMS44NzVyZW0gMS44NzVyZW0gMCAwOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLmF1ZGlvLWNvbnRlbnQgLmJsb2NrLWNvbnRlbnQgLmltYWdlLWNvbnRlbnQgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEuODc1cmVtIDAgMCAxLjg3NXJlbTsgfSB9XG4gICAgLmF1ZGlvLWNvbnRlbnQgLmJsb2NrLWNvbnRlbnQgLmF1ZGlvLWRldGFpbHMge1xuICAgICAgcGFkZGluZzogMi4xODc1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuYXVkaW8tY29udGVudCAuYmxvY2stY29udGVudCAuYXVkaW8tZGV0YWlscyAuZmF2b3VyaXRlcy1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0wLjkzNzVyZW07XG4gICAgICAgIHJpZ2h0OiAxLjU2MjVyZW07IH1cbiAgICAgIC5hdWRpby1jb250ZW50IC5ibG9jay1jb250ZW50IC5hdWRpby1kZXRhaWxzIC5hdWRpby1oZWFkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgICAgLmF1ZGlvLWNvbnRlbnQgLmJsb2NrLWNvbnRlbnQgLmF1ZGlvLWRldGFpbHMgLmF1ZGlvLWhlYWQgLnBsYXksIC5hdWRpby1jb250ZW50IC5ibG9jay1jb250ZW50IC5hdWRpby1kZXRhaWxzIC5hdWRpby1oZWFkIC5wYXVzZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzLjYyNXJlbTtcbiAgICAgICAgICBjb2xvcjogIzc2NUJBNztcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgICAgIC5hdWRpby1jb250ZW50IC5ibG9jay1jb250ZW50IC5hdWRpby1kZXRhaWxzIC5hdWRpby1oZWFkIC5wYXVzZSB7XG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICBjb2xvcjogIzdGN0Y3RjtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuYXVkaW8tY29udGVudCAuYmxvY2stY29udGVudCAuYXVkaW8tZGV0YWlscyAuYXVkaW8tZGF0ZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfVxuICAgICAgICAuYXVkaW8tY29udGVudCAuYmxvY2stY29udGVudCAuYXVkaW8tZGV0YWlscyAuYXVkaW8tZGF0ZSBwIHtcbiAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5hdWRpby1jb250ZW50IC5ibG9jay1jb250ZW50IC5hdWRpby1kZXRhaWxzIC5hdWRpby10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuICAgICAgICAuYXVkaW8tY29udGVudCAuYmxvY2stY29udGVudCAuYXVkaW8tZGV0YWlscyAuYXVkaW8tdGl0bGUgaDUge1xuICAgICAgICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmF1ZGlvLWNvbnRlbnQgLmJsb2NrLWNvbnRlbnQgLmF1ZGlvLWRldGFpbHMgLmF1ZGlvLWRlc2NyaXB0aW9uIGg2IHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1cmVtO1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmF1ZGlvLWNvbnRlbnQgLmF1ZGlvLXNsaWRlLnBsYXlpbmcgLmF1ZGlvLWRldGFpbHMgLmF1ZGlvLWhlYWQgLnBsYXksIC5hdWRpby1jb250ZW50LnBsYXlpbmcgLmF1ZGlvLWRldGFpbHMgLmF1ZGlvLWhlYWQgLnBsYXkge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgY29sb3I6ICM3RjdGN0Y7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYXVkaW8tY29udGVudCAuYXVkaW8tc2xpZGUucGxheWluZyAuYXVkaW8tZGV0YWlscyAuYXVkaW8taGVhZCAucGF1c2UsIC5hdWRpby1jb250ZW50LnBsYXlpbmcgLmF1ZGlvLWRldGFpbHMgLmF1ZGlvLWhlYWQgLnBhdXNlIHtcbiAgICBjb2xvcjogIzc2NUJBNztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmF1ZGlvLWNvbnRlbnQgLnNsaWRlciB7XG4gICAgYmFja2dyb3VuZDogI0VERURFRDtcbiAgICBoZWlnaHQ6IDAuNzVyZW07XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXVkaW8tY29udGVudCAuc2xpZGVyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAuNzVyZW0gMDtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IDA7IH0gfVxuICAgIC5hdWRpby1jb250ZW50IC5zbGlkZXIgLnNsaWRlci1maWxsIHtcbiAgICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7XG4gICAgICBoZWlnaHQ6IDAuNzVyZW07IH1cbiAgICAuYXVkaW8tY29udGVudCAuc2xpZGVyIC5zbGlkZXItaGFuZGxlIHtcbiAgICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICAgIHdpZHRoOiAyLjI1cmVtO1xuICAgICAgYmFja2dyb3VuZDogIzc2NUJBNztcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZWZlZmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmF1ZGlvLWNvbnRlbnQgLnNsaWNrLWFycm93LnNsaWNrLW5leHQge1xuICAgICAgcmlnaHQ6IC00LjA2MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hdWRpby1jb250ZW50IC5zbGljay1hcnJvdy5zbGljay1wcmV2IHtcbiAgICAgIGxlZnQ6IC00LjA2MjVyZW07IH0gfVxuXG4uYXJjaGl2ZS1ibG9jayB7XG4gIHBhZGRpbmc6IDAgMS41NjI1cmVtIDIuNXJlbSAxLjU2MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXJjaGl2ZS1ibG9jayB7XG4gICAgICBwYWRkaW5nOiAwIDAgMi41cmVtIDA7IH0gfVxuICAuYXJjaGl2ZS1ibG9jayAuc2VhcmNoLWZvcm0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDIuNjI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNGOEY4Rjg7XG4gICAgYm9yZGVyLXJhZGl1czogMS4zMTI1cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjE4NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFyY2hpdmUtYmxvY2sgLnNlYXJjaC1mb3JtIHtcbiAgICAgICAgaGVpZ2h0OiAzLjg3NXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMS45Mzc1cmVtOyB9IH1cbiAgICAuYXJjaGl2ZS1ibG9jayAuc2VhcmNoLWZvcm0gaW5wdXQge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDIuNjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNjI1cmVtO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmFyY2hpdmUtYmxvY2sgLnNlYXJjaC1mb3JtIGlucHV0IHtcbiAgICAgICAgICBoZWlnaHQ6IDMuODc1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjg3NXJlbTsgfSB9XG4gICAgICAuYXJjaGl2ZS1ibG9jayAuc2VhcmNoLWZvcm0gaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgIC5hcmNoaXZlLWJsb2NrIC5zZWFyY2gtZm9ybSBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIG1hcmdpbjogMCAxLjg3NXJlbSAwIDAuOTM3NXJlbTsgfVxuICAgIC5hcmNoaXZlLWJsb2NrIC5zZWFyY2gtZm9ybSBidXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmFyY2hpdmUtYmxvY2sgLnNlYXJjaC1mb3JtIGJ1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwLjYyNXJlbTtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjNzY1QkE3O1xuICAgICAgICAgIGNvbG9yOiAjZmZmOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXJjaGl2ZS1ibG9jayAuZmlsdGVycyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWFyZ2luOiAwIC0xcmVtIDIuMTg3NXJlbSAtMXJlbTsgfSB9XG4gIC5hcmNoaXZlLWJsb2NrIC5maWx0ZXJzIC5maWx0ZXIge1xuICAgIG1hcmdpbjogMCAwIDEuODc1cmVtIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFyY2hpdmUtYmxvY2sgLmZpbHRlcnMgLmZpbHRlciB7XG4gICAgICAgIHdpZHRoOiAyMy44MTI1cmVtO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgbWFyZ2luOiAwIDFyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcmNoaXZlLWJsb2NrIC5wb3N0cy1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbjogMCAtMXJlbTsgfSB9XG4gIC5hcmNoaXZlLWJsb2NrIC5wb3N0LWl0ZW0ge1xuICAgIG1hcmdpbjogMCAwIDEuODc1cmVtIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFyY2hpdmUtYmxvY2sgLnBvc3QtaXRlbSB7XG4gICAgICAgIHdpZHRoOiAyMy44MTI1cmVtO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgbWFyZ2luOiAwIDFyZW0gMy4xMjVyZW0gMXJlbTsgfSB9XG4gICAgLmFyY2hpdmUtYmxvY2sgLnBvc3QtaXRlbSAucG9zdC1pdGVtLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAxMy45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4zNzVyZW07XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuYXJjaGl2ZS1ibG9jayAucG9zdC1pdGVtIC5wb3N0LWl0ZW0taW1hZ2Uge1xuICAgICAgICAgIGhlaWdodDogMTYuNXJlbTsgfSB9XG4gICAgLmFyY2hpdmUtYmxvY2sgLnBvc3QtaXRlbSAucG9zdC1sYWJlbCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAxLjg3NXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNXJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBjb2xvcjogIzc2NUJBNztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMS4xODc1cmVtIDEuMTg3NXJlbSAwO1xuICAgICAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDAgMS4yNXJlbSAwIDAuNjI1cmVtO1xuICAgICAgei1pbmRleDogNTsgfVxuICAgIC5hcmNoaXZlLWJsb2NrIC5wb3N0LWl0ZW0gaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMy45Mzc1cmVtO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAxLjg3NXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmFyY2hpdmUtYmxvY2sgLnBvc3QtaXRlbSBpbWcge1xuICAgICAgICAgIGhlaWdodDogMTYuNXJlbTsgfSB9XG4gICAgLmFyY2hpdmUtYmxvY2sgLnBvc3QtaXRlbSAucG9zdC1kYXRlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuYXJjaGl2ZS1ibG9jayAucG9zdC1pdGVtIGg1IHtcbiAgICAgIGNvbG9yOiAjNzY1QkE3OyB9XG4gICAgLmFyY2hpdmUtYmxvY2sgLnBvc3QtaXRlbSAucmVhZC1tb3JlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuYXJjaGl2ZS1ibG9jayAucG9zdC1pdGVtIC5yZWFkLW1vcmUgLm1vcmUtbGluayB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcbiAgICAgICAgY29sb3I6ICM3NjVCQTc7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgLmFyY2hpdmUtYmxvY2sgLnBvc3QtaXRlbTpob3ZlciAucG9zdC1pdGVtLWltYWdlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgYm9yZGVyLXJhZGl1czogMS44NzVyZW07IH1cbiAgICAuYXJjaGl2ZS1ibG9jayAucG9zdC1pdGVtOmhvdmVyIC5wb3N0LWl0ZW0taW1hZ2U6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTA5XCI7XG4gICAgICBmb250LWZhbWlseTogJ2ljb21vb24nLCBzYW5zLXNlcmlmO1xuICAgICAgd2lkdGg6IDIuNzVyZW07XG4gICAgICBoZWlnaHQ6IDIuNzVyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB6LWluZGV4OiA0O1xuICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuICAgIC5hcmNoaXZlLWJsb2NrIC5wb3N0LWl0ZW06aG92ZXIgLnBvc3QtaXRlbS1kZXRhaWxzIC5yZWFkLW1vcmUgLm1vcmUtbGluayB7XG4gICAgICBib3JkZXItY29sb3I6ICM3NjVCQTc7IH1cblxuLmFjY29yZGlvbi1jb250ZW50LWJsb2NrIHtcbiAgbWFyZ2luOiA1cmVtIDEuNTYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hY2NvcmRpb24tY29udGVudC1ibG9jayB7XG4gICAgICBtYXgtd2lkdGg6IDc1LjYyNXJlbTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVyZW07IH0gfVxuICAuYWNjb3JkaW9uLWNvbnRlbnQtYmxvY2sgLmFjY29yZGlvbi13cmFwcGVyIC5ibG9jay10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFjY29yZGlvbi1jb250ZW50LWJsb2NrIC5hY2NvcmRpb24td3JhcHBlciAuYmxvY2stdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfSB9XG4gIC5hY2NvcmRpb24tY29udGVudC1ibG9jayAuYWNjb3JkaW9uLXdyYXBwZXIgLmFjY29yZGlvbiB7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgIC5hY2NvcmRpb24tY29udGVudC1ibG9jayAuYWNjb3JkaW9uLXdyYXBwZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogI0Y4RjhGODtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41NjI1cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMS4wNjI1cmVtOyB9XG4gICAgICAuYWNjb3JkaW9uLWNvbnRlbnQtYmxvY2sgLmFjY29yZGlvbi13cmFwcGVyIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5hY2NvcmRpb24tY29udGVudC1ibG9jayAuYWNjb3JkaW9uLXdyYXBwZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuOTM3NXJlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDEyNXJlbTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDAgMS44NzVyZW0gMCAwOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLmFjY29yZGlvbi1jb250ZW50LWJsb2NrIC5hY2NvcmRpb24td3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gICAgICAgIC5hY2NvcmRpb24tY29udGVudC1ibG9jayAuYWNjb3JkaW9uLXdyYXBwZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi1jb250ZW50LWJsb2NrIC5hY2NvcmRpb24td3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgICAuYWNjb3JkaW9uLWNvbnRlbnQtYmxvY2sgLmFjY29yZGlvbi13cmFwcGVyIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZTkwNFwiO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gICAgICAgICAgd2lkdGg6IDEuNjg3NXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDEuNjg3NXJlbTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM3NjVCQTc7XG4gICAgICAgICAgdG9wOiAwLjEyNXJlbTtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuICAgICAgLmFjY29yZGlvbi1jb250ZW50LWJsb2NrIC5hY2NvcmRpb24td3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDAgMCAwOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLmFjY29yZGlvbi1jb250ZW50LWJsb2NrIC5hY2NvcmRpb24td3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLnd5c2l3eWcge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtOyB9IH1cbiAgICAgICAgLmFjY29yZGlvbi1jb250ZW50LWJsb2NrIC5hY2NvcmRpb24td3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLnd5c2l3eWcgcCxcbiAgICAgICAgLmFjY29yZGlvbi1jb250ZW50LWJsb2NrIC5hY2NvcmRpb24td3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLnd5c2l3eWcgdWwgbGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS44MTI1cmVtOyB9XG4gICAgICAgIC5hY2NvcmRpb24tY29udGVudC1ibG9jayAuYWNjb3JkaW9uLXdyYXBwZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC53eXNpd3lnIHVsIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgICAgLmFjY29yZGlvbi1jb250ZW50LWJsb2NrIC5hY2NvcmRpb24td3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAgICAgLmFjY29yZGlvbi1jb250ZW50LWJsb2NrIC5hY2NvcmRpb24td3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH1cblxuLnJlc291cmNlcy1jYXJkIC5hY2NvcmRpb24td3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSB7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMS41NjI1cmVtIDMuMTI1cmVtIDEuNTYyNXJlbTsgfVxuICAucmVzb3VyY2VzLWNhcmQgLmFjY29yZGlvbi13cmFwcGVyIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5yZXNvdXJjZXMtY2FyZCAuYWNjb3JkaW9uLXdyYXBwZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG4gICAgICBmb250LWZhbWlseTogJ2ljb21vb24nO1xuICAgICAgd2lkdGg6IDEuNjg3NXJlbTtcbiAgICAgIGhlaWdodDogMS42ODc1cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM3NjVCQTc7XG4gICAgICBib3R0b206IDEuODc1cmVtO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICByaWdodDogMS41NjI1cmVtOyB9XG4gICAgLnJlc291cmNlcy1jYXJkIC5hY2NvcmRpb24td3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1tb3JlLXRleHQpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDIuNXJlbTtcbiAgICAgIGJvdHRvbTogMS43NXJlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHJpZ2h0OiA0LjA2MjVyZW07IH1cbiAgLnJlc291cmNlcy1jYXJkIC5hY2NvcmRpb24td3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLnd5c2l3eWcgcCxcbiAgLnJlc291cmNlcy1jYXJkIC5hY2NvcmRpb24td3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLnd5c2l3eWcgdWwgbGkge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07IH1cbiAgLnJlc291cmNlcy1jYXJkIC5hY2NvcmRpb24td3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNTYyNXJlbSAxLjg3NXJlbSAxLjU2MjVyZW07IH1cbiAgICAucmVzb3VyY2VzLWNhcmQgLmFjY29yZGlvbi13cmFwcGVyIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAucmVzb3VyY2VzLWNhcmQgLmFjY29yZGlvbi13cmFwcGVyIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH1cbiAgICAgIC5yZXNvdXJjZXMtY2FyZCAuYWNjb3JkaW9uLXdyYXBwZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtbGVzcy10ZXh0KTsgfVxuICAgIC5yZXNvdXJjZXMtY2FyZCAuYWNjb3JkaW9uLXdyYXBwZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAwIDAgMy4xMjVyZW0gMDsgfVxuICAucmVzb3VyY2VzLWNhcmQgLmFjY29yZGlvbi13cmFwcGVyIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtLm5vLW1vcmUgLmFjY29yZGlvbi10aXRsZTpiZWZvcmUsIC5yZXNvdXJjZXMtY2FyZCAuYWNjb3JkaW9uLXdyYXBwZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0ubm8tbW9yZSAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5jYXNlLXN0dWR5LWJsb2NrIC5yZWFkLW1vcmUge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcmlnaHQ6IDIuNXJlbTsgfVxuICAuY2FzZS1zdHVkeS1ibG9jayAucmVhZC1tb3JlIGEge1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMi41cmVtOyB9XG4gICAgLmNhc2Utc3R1ZHktYmxvY2sgLnJlYWQtbW9yZSBhOmFmdGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb250ZW50OiBcIlxcZTkwNFwiO1xuICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgICAgIHdpZHRoOiAxLjY4NzVyZW07XG4gICAgICBoZWlnaHQ6IDEuNjg3NXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjNzY1QkE3O1xuICAgICAgYm90dG9tOiAxLjg3NXJlbTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDAuMDYyNXJlbTtcbiAgICAgIHJpZ2h0OiAwOyB9XG5cbi5jYXNlLXN0dWR5LWJsb2NrIC5hY2NvcmRpb24td3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbS5jYXNlLXN0dWR5IHtcbiAgcGFkZGluZy1ib3R0b206IDEuNzVyZW07IH1cblxuLnN1YnNjcmliZS1ibG9jayB7XG4gIG1pbi1oZWlnaHQ6IDE2LjY4NzVyZW07XG4gIHBhZGRpbmc6IDAgMS41NjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnN1YnNjcmliZS1ibG9jayB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLnN1YnNjcmliZS1ibG9jayB1bC50YWJzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNzY1QkE3O1xuICAgIGJvcmRlci1yYWRpdXM6IDEuMjVyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnN1YnNjcmliZS1ibG9jayB1bC50YWJzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gICAgLnN1YnNjcmliZS1ibG9jayB1bC50YWJzIGxpLnRhYnMtdGl0bGUge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuc3Vic2NyaWJlLWJsb2NrIHVsLnRhYnMgbGkudGFicy10aXRsZSB7XG4gICAgICAgICAgZmxleC1iYXNpczogNTAlOyB9IH1cbiAgICAgIC5zdWJzY3JpYmUtYmxvY2sgdWwudGFicyBsaS50YWJzLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5zdWJzY3JpYmUtYmxvY2sgdWwudGFicyBsaS50YWJzLXRpdGxlIGEge1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDEuNjI1cmVtO1xuICAgICAgICBmb250LXNpemU6IDEuODEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMTg3NXJlbTtcbiAgICAgICAgY29sb3I6ICM3NjVCQTc7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM3NjVCQTc7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAuc3Vic2NyaWJlLWJsb2NrIHVsLnRhYnMgbGkudGFicy10aXRsZSBhIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICM3NjVCQTc7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9IH1cbiAgICAgICAgLnN1YnNjcmliZS1ibG9jayB1bC50YWJzIGxpLnRhYnMtdGl0bGUgYTpob3ZlciwgLnN1YnNjcmliZS1ibG9jayB1bC50YWJzIGxpLnRhYnMtdGl0bGUgYTphY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7XG4gICAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgIC5zdWJzY3JpYmUtYmxvY2sgdWwudGFicyBsaS50YWJzLXRpdGxlLmlzLWFjdGl2ZSBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzc2NUJBNztcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgIC5zdWJzY3JpYmUtYmxvY2sgdWwudGFicyBsaS50YWJzLXRpdGxlOmxhc3Qtb2YtdHlwZSBhIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gIC5zdWJzY3JpYmUtYmxvY2sgLnRhYnMtY29udGVudCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDQuMzc1cmVtOyB9XG4gIC5zdWJzY3JpYmUtYmxvY2sgLnRhYnMtcGFuZWwge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLnN1YnNjcmliZS1ibG9jayAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIHtcbiAgICAvKiBCYXNlIGZvciBsYWJlbCBzdHlsaW5nICovXG4gICAgLyogY2hlY2tib3ggYXNwZWN0ICovXG4gICAgLyogY2hlY2tlZCBtYXJrIGFzcGVjdCAqL1xuICAgIC8qIGNoZWNrZWQgbWFyayBhc3BlY3QgY2hhbmdlcyAqL1xuICAgIC8qIGRpc2FibGVkIGNoZWNrYm94ICovXG4gICAgLyogYWNjZXNzaWJpbGl0eSAqLyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgICAgIC5zdWJzY3JpYmUtYmxvY2sgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5zdWJzY3JpYmUtYmxvY2sgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm0tYm9keSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gICAgICAuc3Vic2NyaWJlLWJsb2NrIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9IH1cbiAgICAuc3Vic2NyaWJlLWJsb2NrIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZC5nZmllbGQtLXR5cGUtY2hlY2tib3gge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gICAgLnN1YnNjcmliZS1ibG9jayAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGRfbGFiZWwge1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogIzc2NUJBNztcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOTM3NXJlbTsgfVxuICAgIC5zdWJzY3JpYmUtYmxvY2sgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAycmVtOyB9XG4gICAgLnN1YnNjcmliZS1ibG9jayAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGRfY2hlY2tib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5zdWJzY3JpYmUtYmxvY2sgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Nob2ljZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuODc1cmVtOyB9XG4gICAgLnN1YnNjcmliZS1ibG9jayAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIC5zdWJzY3JpYmUtYmxvY2sgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gICAgLnN1YnNjcmliZS1ibG9jayAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgICAuc3Vic2NyaWJlLWJsb2NrIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3Rpb24gLnNlbGVjdDItc2VsZWN0aW9uIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBiYWNrZ3JvdW5kOiAjRURFREVEO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XG4gICAgICBwYWRkaW5nOiAxLjA2MjVyZW0gMS42MjVyZW07XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgIC5zdWJzY3JpYmUtYmxvY2sgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBpbnB1dFt0eXBlPVwidGV4dFwiXTo6cGxhY2Vob2xkZXIsXG4gICAgICAuc3Vic2NyaWJlLWJsb2NrIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgaW5wdXRbdHlwZT1cImVtYWlsXCJdOjpwbGFjZWhvbGRlcixcbiAgICAgIC5zdWJzY3JpYmUtYmxvY2sgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06OnBsYWNlaG9sZGVyLFxuICAgICAgLnN1YnNjcmliZS1ibG9jayAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0aW9uIC5zZWxlY3QyLXNlbGVjdGlvbjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5zdWJzY3JpYmUtYmxvY2sgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuc2VsZWN0Mi1jb250YWluZXIuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAuc3Vic2NyaWJlLWJsb2NrIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAycmVtOyB9XG4gICAgLnN1YnNjcmliZS1ibG9jayAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0aW9uIC5zZWxlY3QyLXNlbGVjdGlvbiAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuc3Vic2NyaWJlLWJsb2NrIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpLFxuICAgIC5zdWJzY3JpYmUtYmxvY2sgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTk5OTlweDsgfVxuICAgIC5zdWJzY3JpYmUtYmxvY2sgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCxcbiAgICAuc3Vic2NyaWJlLWJsb2NrIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLnN1YnNjcmliZS1ibG9jayAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmJlZm9yZSxcbiAgICAuc3Vic2NyaWJlLWJsb2NrIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjNzY1QkE3OyB9XG4gICAgLnN1YnNjcmliZS1ibG9jayAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyLFxuICAgIC5zdWJzY3JpYmUtYmxvY2sgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDAuMzc1cmVtO1xuICAgICAgdG9wOiAwLjM3NXJlbTtcbiAgICAgIHdpZHRoOiAwLjc1cmVtO1xuICAgICAgaGVpZ2h0OiAwLjc1cmVtO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogIzc2NUJBNztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7IH1cbiAgICAuc3Vic2NyaWJlLWJsb2NrIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbiAgICAuc3Vic2NyaWJlLWJsb2NrIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICAuc3Vic2NyaWJlLWJsb2NrIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgW3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZDpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlLFxuICAgIC5zdWJzY3JpYmUtYmxvY2sgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2JiYjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7IH1cbiAgICAuc3Vic2NyaWJlLWJsb2NrIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgW3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgY29sb3I6ICM5OTk7IH1cbiAgICAuc3Vic2NyaWJlLWJsb2NrIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgW3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCArIGxhYmVsIHtcbiAgICAgIGNvbG9yOiAjYWFhOyB9XG4gICAgLnN1YnNjcmliZS1ibG9jayAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZDpmb2N1cyArIGxhYmVsOmJlZm9yZSxcbiAgICAuc3Vic2NyaWJlLWJsb2NrIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpOmZvY3VzICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogMnB4IGRvdHRlZCBibHVlOyB9XG4gICAgLnN1YnNjcmliZS1ibG9jayAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLnN1YnNjcmliZS1ibG9jayAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIsXG4gICAgICAuc3Vic2NyaWJlLWJsb2NrIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciBpbnB1dCB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAuc3Vic2NyaWJlLWJsb2NrIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuc3Vic2NyaWJlLWJsb2NrIC5idXR0b246aG92ZXIge1xuICAgICAgY29sb3I6ICM3NjVCQTc7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG4gIC5zdWJzY3JpYmUtYmxvY2sgLmNhbGxvdXQge1xuICAgIGJhY2tncm91bmQ6ICNGMEVFRjY7XG4gICAgYm9yZGVyLXJhZGl1czogMS4yNXJlbTtcbiAgICBtYXJnaW46IDRyZW0gMCAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAxLjU2MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnN1YnNjcmliZS1ibG9jayAuY2FsbG91dCB7XG4gICAgICAgIHBhZGRpbmc6IDMuMTI1cmVtOyB9IH1cbiAgICAuc3Vic2NyaWJlLWJsb2NrIC5jYWxsb3V0LCAuc3Vic2NyaWJlLWJsb2NrIC5jYWxsb3V0IHAge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAycmVtOyB9XG4gICAgLnN1YnNjcmliZS1ibG9jayAuY2FsbG91dCBoMyB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgICAuc3Vic2NyaWJlLWJsb2NrIC5jYWxsb3V0IGEuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDIuMjVyZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5zdWJzY3JpYmUtYmxvY2sgLmNhbGxvdXQgYS5idXR0b246YWZ0ZXIge1xuICAgICAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XG4gICAgICAgIHNwZWFrOiBuZXZlcjtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlOTFhXCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi42LjFcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIC0tLSBEZXBlbmRlbmNpZXMgLS0tXG5AaW1wb3J0ICd2ZW5kb3Ivbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyAtLS0gU2V0dGluZ3MgLS0tXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIC0tLSBDb21wb25lbnRzIC0tLVxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuLy8gR2xvYmFsIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5cbi8vIEdyaWRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbi8vIEdlbmVyaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbi8vIEJhc2ljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbi8vIENvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5cbi8vIExheW91dCBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcblxuLy8gSGVscGVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZSxcbiAgJHh5LWdyaWQ6ICR4eS1ncmlkXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpZiAkeHktZ3JpZCB7XG4gICAgJHh5LWdyaWQ6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCJAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Nb250c2VycmF0OndnaHRANDAwOzUwMDs2MDA7NzAwOzgwMCZkaXNwbGF5PXN3YXAnKTtcblxuQG1peGluIHByaW1hcnktZm9udCgkd2VpZ2h0OjQwMCkge1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogJHdlaWdodDtcbn1cblxuQG1peGluIGFsaWduZnVsbCgpIHtcbiAgbWFyZ2luLWxlZnQgIDogY2FsYyggLTEwMHZ3IC8gMiArIDEwMCUgLyAyICk7XG4gIG1hcmdpbi1yaWdodCA6IGNhbGMoIC0xMDB2dyAvIDIgKyAxMDAlIC8gMiApO1xuICBtYXgtd2lkdGggICAgOiAxMDB2dztcbn1cblxuQGZ1bmN0aW9uIGZvbnQtcmVtKCRzaXplKSB7XG4gIEByZXR1cm4gcmVtLWNhbGMoJHNpemUgKiAxKTtcbn1cblxuLmFsaWduZnVsbCB7XG4gIEBpbmNsdWRlIGFsaWduZnVsbCgpO1xufVxuYm9keSxcbmh0bWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTppbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIEBpbmNsdWRlIHByaW1hcnktZm9udCg3MDApO1xuICBmb250LXNpemU6Zm9udC1yZW0oMTYpO1xuICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMCk7XG4gIGxldHRlci1zcGFjaW5nOiByZW0tY2FsYygwLjQpO1xuICBwYWRkaW5nOnJlbS1jYWxjKDcgMjUpO1xuICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDIwKTtcbiAgYm9yZGVyOjNweCBzb2xpZCAjNzY1QkE3O1xuICBjb2xvcjojNzY1QkE3O1xuICBiYWNrZ3JvdW5kOm5vbmU7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6Izc2NUJBNztcbiAgICBjb2xvcjojZmZmO1xuICAgIGJveC1zaGFkb3c6MCByZW0tY2FsYygzKSByZW0tY2FsYyg2KSByZ2JhKDAsMCwwLDAuMTYpO1xuICB9XG4gICYucXVlc3Rpb24tY3RhIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIHdpZHRoOnJlbS1jYWxjKDE5KTtcbiAgICAgIGhlaWdodDpyZW0tY2FsYygxOSk7XG4gICAgICBib3JkZXItcmFkaXVzOjEwMCU7XG4gICAgICBjb2xvcjojZmZmO1xuICAgICAgY29udGVudDogXCJcXGU5MTZcIjtcbiAgICAgIGZvbnQtZmFtaWx5OidpY29tb29uJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0Om5vcm1hbDtcbiAgICAgIG1hcmdpbi1sZWZ0OnJlbS1jYWxjKDEwKTtcbiAgICAgIGJhY2tncm91bmQ6Izc2NUJBNztcbiAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSg5KTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgYmFja2dyb3VuZDojZmZmO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jd3BhZG1pbmJhciB7XG4gIHBvc2l0aW9uOmZpeGVkO1xufVxuXG4ud3AtYmxvY2stYnV0dG9ucyB7XG4gIC53cC1ibG9jay1idXR0b24ge1xuICAgIG1hcmdpbjpyZW0tY2FsYygwIDAgMzAgMCk7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICB3aWR0aDoxMDAlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOmF1dG87XG4gICAgfVxuICAgIC53cC1lbGVtZW50LWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OmlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDcwMCk7XG4gICAgICBmb250LXNpemU6Zm9udC1yZW0oMTYpO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjApO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDAuNCk7XG4gICAgICBwYWRkaW5nOnJlbS1jYWxjKDcgMjUpO1xuICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYygyMCk7XG4gICAgICBib3JkZXI6M3B4IHNvbGlkICM3NjVCQTc7XG4gICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgYmFja2dyb3VuZDpub25lO1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiM3NjVCQTc7XG4gICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgIGJveC1zaGFkb3c6MCByZW0tY2FsYygzKSByZW0tY2FsYyg2KSByZ2JhKDAsMCwwLDAuMTYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucGFnZS1jb250YWluZXIge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTIxMCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgPiAud3AtYmxvY2stYnV0dG9ucyB7XG4gICAgbWFyZ2luOnJlbS1jYWxjKDI1KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luOnJlbS1jYWxjKDIwIDApO1xuICAgIH1cbiAgfVxuICA+IHAge1xuICAgIG1hcmdpbi1sZWZ0OnJlbS1jYWxjKDI1KTtcbiAgICBtYXJnaW4tcmlnaHQ6cmVtLWNhbGMoMjUpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDEwOTgpO1xuICAgICAgbWFyZ2luLWxlZnQ6MDtcbiAgICAgIG1hcmdpbi1yaWdodDowO1xuICAgIH1cbiAgfVxuICA+IHVsIHtcbiAgICBtYXJnaW4tbGVmdDpyZW0tY2FsYygyNSk7XG4gICAgbWFyZ2luLXJpZ2h0OnJlbS1jYWxjKDI1KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6MDtcbiAgICB9XG4gIH1cbiAgPiBoMSwgPiBoMiwgPiBoMywgPiBoNCwgPiBoNSwgPiBoNiB7XG4gICAgbWFyZ2luLWxlZnQ6cmVtLWNhbGMoMjUpO1xuICAgIG1hcmdpbi1yaWdodDpyZW0tY2FsYygyNSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMzApO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6MDtcbiAgICB9XG4gIH1cbn1cblxuLmZhdm91cml0ZXMtaWNvbiB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyggNDAgKTtcbiAgXG4gICAgYS50b29sLXRpcCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyggMTYgKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKCAyOSApO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyggMCAxMCApO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyggMjkgKTtcbiAgICAgICAgYm94LXNoYWRvdzogcmVtLWNhbGMoIDAgMyA1IDAgKSByZ2JhKDAsMCwwLDAuMik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKCAxOTUgKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgfVxuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKCAxOTUgKTtcbiAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoIDYxICk7XG4gICAgICAgIFxuICAgICAgICBhLnRvb2wtdGlwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2luZ2xlLWl0ZW0tdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAuZmF2b3VyaXRlcy1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiByZW0tY2FsYyggLTQwICk7XG4gICAgfVxufVxuXG4uYWRkLXRvLWZhdm9yaXRlIHtcbiAgaGVpZ2h0OnJlbS1jYWxjKDMxKTtcbiAgd2lkdGg6cmVtLWNhbGMoMzEpO1xuICBib3JkZXItcmFkaXVzOjEwMCU7XG4gIGJvcmRlcjoycHggc29saWQgIzc2NUJBNztcbiAgY29sb3I6Izc2NUJBNztcbiAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMzEpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgXG4gIGkge1xuICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxNSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICB9XG4gICYubGlnaHQge1xuICAgIGJvcmRlcjoycHggc29saWQgI2ZmZjtcbiAgICBjb2xvcjojZmZmO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6I2ZmZjtcbiAgICB9XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6Izc2NUJBNztcbiAgfVxufVxuXG4uYmxvY2stbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDUwKTtcbiAgYmFja2dyb3VuZDojRjBFRUY2O1xuICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDAgMjIgMjIgMCk7XG4gIGRpc3BsYXk6aW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6cmVtLWNhbGMoMCA3MCAwIDApO1xuICBoZWlnaHQ6cmVtLWNhbGMoNDMpO1xuICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoODAwKTtcbiAgZm9udC1zaXplOmZvbnQtcmVtKDE2KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuICBjb2xvcjojNTMzOTg2O1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgbGVmdDpyZW0tY2FsYygtMjAwMCk7XG4gICAgd2lkdGg6cmVtLWNhbGMoMjAwMCk7XG4gICAgdG9wOjA7XG4gICAgYm90dG9tOjA7XG4gICAgYmFja2dyb3VuZDojRjBFRUY2O1xuICB9XG59XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtcGxhaW4ge1xuICAgIC5icmVhZGNydW1icy13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoIDMwICk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCA2MCApO1xuICAgIH1cbn1cblxuLmJ1dHRvbnMtd3JhcHBlciB7XG4gICAgYSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoIDEwICk7XG4gICAgICAgIFxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgSGlEUEkgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMgZm9yIHJlc29sdXRpb25zLlxuLy8vIFZhbHVlcyBtdXN0IHJlcHJlc2VudCB0aGUgZGV2aWNlIHBpeGVscyAvIHdlYiBwaXhlbHMgcmF0aW9uIGFuZCBiZSB1bml0bGVzcyBvciBpbiBEUFBYLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXG4gIGhpZHBpLTE6IDEsXG4gIGhpZHBpLTEtNTogMS41LFxuICBoaWRwaS0yOiAyLFxuICByZXRpbmE6IDIsXG4gIGhpZHBpLTM6IDNcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gV2ViIHN0YW5kYXJkIFBpeGVscyBwZXIgaW5jaC4gKDFkZHB4IC8gJHN0ZC13ZWItZHBpKSA9IDFkcGlcbiAgLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVzLTMvI2Fic29sdXRlLWxlbmd0aHNcbiAgJHN0ZC13ZWItZHBpOiA5NjtcblxuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIG9mIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludFxuICAkYnAtbmV4dDogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1taW46IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtaW4td2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiBudWxsO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gSWYgbmFtZWQsIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbiAgJG5hbWU6IG51bGw7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgSGlEUEkgYnJlYWtwb2ludFxuICAkaGlkcGk6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuXG4gIC8vIElmIGEgYnJlYWtwb2ludCBuYW1lIGlzIGdpdmVuLCBnZXQgaXRzIHZhbHVlIGZyb20gdGhlICRicmVha3BvaW50cy8kYnJlYWtwb2ludHMtaGlkcGkgbWFwLlxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMtaGlkcGksICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMtaGlkcGksICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQtbnVtYmVyKCRicmVha3BvaW50cy1oaWRwaSwgJGJwKTtcbiAgICAgICRoaWRwaTogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciBgJGJyZWFrcG9pbnRzYCBvciBgJGJyZWFrcG9pbnRzLWhpZHBpYCBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkbmFtZSBhbmQgJGRpciA9PSAnb25seScge1xuICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ3VwJyBoYXZlIGEgbWluIGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAndXAnIHtcbiAgICAkYnAtbWluOiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICB9XG4gIC8vIE9ubHkgJ29ubHknIGFuZCAnZG93bicgaGF2ZSBhIG1heCBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIHZhbHVlLCB1c2UgaXQgYXMgbWF4IGxpbWl0LlxuICAgIEBpZiBub3QgJG5hbWUge1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgbmFtZWQsIHRoZSBtYXggbGltaXQgaXMgdGhlIGZvbGxvd2luZyBicmVha3BvaW50IC0gMXB4LlxuICAgIEBlbHNlIGlmICRicC1uZXh0IHtcbiAgICAgIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgICAgIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksICRicC1uZXh0IC0gKDEvJHN0ZC13ZWItZHBpKSwgLXpmLWJwLXRvLWVtKCRicC1uZXh0KSAtIDAuMDAxMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyYXRlIHRoZSBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSBtaW4gYW5kIG1heCBsaW1pdHMuXG4gIEBpZiAkaGlkcGkge1xuICAgIC8vIEdlbmVyYXRlIHZhbHVlcyBpbiBEUEkgaW5zdGVhZCBvZiBEUFBYIGZvciBhbiBJRTktMTEvT3BlcmEgbWluaSBjb21wYXRpYmlsaXR5LlxuICAgIC8vIFNlZSBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gICAgJGJwLW1pbi1kcGk6IGlmKCRicC1taW4sICRicC1taW4gKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWluKTtcbiAgICAkYnAtbWF4LWRwaTogaWYoJGJwLW1heCwgJGJwLW1heCAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1tYXgpO1xuICAgIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4LCAnLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvJywgJy13ZWJraXQtbWF4LWRldmljZS1waXhlbC1yYXRpbycpLFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbi1kcGksICRicC1tYXgtZHBpLCAnbWluLXJlc29sdXRpb24nLCAnbWF4LXJlc29sdXRpb24nKSxcbiAgICAgICcsICcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgpO1xuICB9XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgYW5kIGAkYnJlYWtwb2ludHMtaGlkcGlgIG1hcHMsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBJZiBtdWx0aXBsZSB2YWx1ZXMgYXJlIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgZ2VuZXJhdGUgYSBtZWRpYSBxdWVyeSBmb3IgZWFjaCBvZiB0aGVtIGFzIGRlc2NyaWJlZCBhYm92ZS5cbi8vLyBTaW5jZSB0aGUgY29udGVudCBpcyBkdXBsaWNhdGVkIGZvciBlYWNoIGJyZWFrcG9pbnQsIHRoaXMgbWl4aW4gc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIHByb3BlcnRpZXMgdGhhdFxuLy8vIGNoYW5nZSBhY3Jvc3MgYnJlYWtwb2ludHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWVzLi4uIC0gQnJlYWtwb2ludCBuYW1lIG9yIHB4L3JlbS9lbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWVzLi4uKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZXMpIHtcbiAgICAkdmFsdWU6IG50aCgkdmFsdWVzLCAkaSk7XG4gICAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCBudGgoJHZhbHVlLCAxKSk7XG4gICAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG4gICAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgICAkZGlyOiBpZihsZW5ndGgoJHZhbHVlKSA+IDEsIG50aCgkdmFsdWUsIDIpLCB1cCk7XG5cbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gICAgQGlmICRzdHIgPT0gJycge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgICBAZWxzZSB7XG4gICAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgICAvLyBnZW5lcmF0ZSBwcmludCBpZiB0aGUgYnJlYWtwb2ludCBhZmZlY3RzIHRoZSBwcmludC1icmVha3BvaW50IChvciBzbWFsbGVyKS5cbiAgICAgIC8vIFRoaXMgbWVhbnMgdGhlIGN1cnJlbnQgY29uZGl0aW9uIG9ubHkgbmVlZHMgdG8gYmUgZXh0ZW5kZWQgc28gJ2Rvd24nIGFsd2F5cyBnZW5lcmF0ZXMgcHJpbnQuXG4gICAgICBAaWYgJGJwICE9IG51bGwgYW5kICgkYnAgPD0gJHBicCBvciAkZGlyID09IGRvd24pIHtcbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEZpbmQgdGhlIG5leHQgbnVtYmVyIGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJG51bWJlciAtIE51bWJlciB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIG51bWJlciBmb2xsb3dpbmcgYCRudW1iZXJgLCBpZiBgJG51bWJlcmAgd2FzIGZvdW5kLiBJZiBgJG51bWJlcmAgd2FzIG5vdCBmb3VuZCwgb3IgYCRudW1iZXJgIHdhcyB0aGUgYmlnZ2VzdCBudW1iZXIgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0LW51bWJlcigkbWFwLCAkbnVtYmVyKSB7XG5cbiAgJG5leHRfbnVtYmVyOiBudWxsO1xuXG4gIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICBAaWYgdHlwZS1vZigkdikgPT0gJ251bWJlcicgYW5kICR2ID4gJG51bWJlciBhbmQgKCRuZXh0X251bWJlciA9PSBudWxsIG9yICR2IDwgJG5leHRfbnVtYmVyKSB7XG4gICAgICAkbmV4dF9udW1iZXI6ICR2O1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5leHRfbnVtYmVyO1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vLyBSZXR1cm4gdGhlIGJlc3QgYnJlYWtwb2ludCB0byB1c2UgYWNjb3JkaW5nIHRvIHRoZSBjYWxsaW5nIGNvbnRleHQuIEl0IHJldHVybnMgaW4gb3JkZXI6XG4vLy8gMS4gdGhlIGdpdmVuIGAkdmFsdWVgIGFyZ3VtZW50IGlmIGl0IGlzIG5vdCBudWxsLlxuLy8vIDIuIHRoZSBnbG9iYWwgYnJlYWtwb2ludCBjb250ZXh0IGAkLXpmLXNpemVgIGlmIGl0IGlzIG5vdCBudWxsIChsaWtlIGlmIGNhbGxlZCBpbnNpZGUgdGhlbiBgYnJlYWtwb2ludCgpYCBtaXhpbilcbi8vLyAzLiB0aGUgZ2l2ZW4gYCRkZWZhdWx0YCBhcmd1bWVudC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGluIHByaW9yaXR5IGlmIG5vbi1udWxsLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRlZmF1bHQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgYnkgZGVmYXVsdCBpZiBubyBvdGhlciB2YWx1ZSBjYW4gYmUgdXNlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0tleXdvcmR9IFRoZSByZXNvbHZlZCBicmVha3BvaW50LlxuQGZ1bmN0aW9uIC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJHZhbHVlOiBudWxsLCAkZGVmYXVsdDogbnVsbCkge1xuICBAaWYgKCR2YWx1ZSAhPSBudWxsKSB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgQGVsc2UgaWYgKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICBAcmV0dXJuICQtemYtc2l6ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkZGVmYXVsdDtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIHRoZSBnaXZlbiBtaW4gYW5kL29yIG1heCBsaW1pdHMuXG4vLy8gSWYgYSBsaW1pdCBpcyBlcXVhbCB0byBgbnVsbGAgb3IgYDBgLCBpdCBpcyBpZ25vcmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtaW4gWzBdIC0gTWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IFswXSAtIE1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1pbi1uYW1lIFsnbWluLXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWxpbWl0ZXIgWydtYXgtd2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IE1lZGlhIFF1ZXJ5IHN0cmluZy5cbkBmdW5jdGlvbiAtemYtYnAtam9pbihcbiAgJG1pbjogMCxcbiAgJG1heDogMCxcbiAgJG1pbi1uYW1lOiAnbWluLXdpZHRoJyxcbiAgJG1heC1uYW1lOiAnbWF4LXdpZHRoJ1xuKSB7XG4gIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgaWYoJG1pbiBhbmQgJG1pbiA+IDAsICcoI3skbWluLW5hbWV9OiAjeyRtaW59KScsIG51bGwpLFxuICAgIGlmKCRtYXggYW5kICRtYXggPiAwLCAnKCN7JG1heC1uYW1lfTogI3skbWF4fSknLCBudWxsKSxcbiAgICAnIGFuZCAnKTtcbn1cblxuJHNtYWxsLXVwOiAnJztcbiRzbWFsbC1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuJG1lZGl1bS11cDogJyc7XG4kbWVkaXVtLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbiRsYXJnZS11cDogJyc7XG4kbGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4bGFyZ2UtdXA6ICcnO1xuJHhsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG4keHhsYXJnZS11cDogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbi8vIFRoaXMgc2hvdWxkIGJlIGluIHRoZSBzYW1lIGJyZWFrcG9pbnQgdGhlbiBgQG1peGluIHJldmVhbC1tb2RhbC13aWR0aGBcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIC8vIEV4dGVuZHMgbXVzdCBiZSBtYWRlIG91dHNpZGUgb2YgYnJlYWtwb2ludHMgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBuZXdlciBTYXNzIHZlcnNpb25zIChsaWJzYXNzIHYzLjUpXG4gIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuXG4gIC8vLyBEaXNhYmxlcyB0aGUgc2Nyb2xsIHdoZW4gUmV2ZWFsIGlzIHNob3duIHRvIHByZXZlbnQgdGhlIGJhY2tncm91bmQgZnJvbSBzaGlmdGluZ1xuICBodG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gICAgJi56Zi1oYXMtc2Nyb2xsIHtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB9XG5cbiAgICBib2R5IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbm9ybWFsaXplKCkge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLy8gRG9jdW1lbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuXG4gIGh0bWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG4gIH1cblxuICAvLyBTZWN0aW9uc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gIC8vIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG4gIH1cblxuICAvLyBHcm91cGluZyBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gICAgaGVpZ2h0OiAwOyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBwcmUge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBUZXh0LWxldmVsIHNlbWFudGljc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gIC8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8vIDFcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgY29kZSxcbiAga2JkLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gIC8vIGFsbCBicm93c2Vycy5cblxuICBzdWIsXG4gIHN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIC8vIEVtYmVkZGVkIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuXG4gIGltZyB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB9XG5cbiAgLy8gRm9ybXNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMTAwJTsgLy8gMVxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgbWFyZ2luOiAwOyAvLyAyXG4gIH1cblxuICAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgLy8gMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cblxuICBidXR0b24sXG4gIGlucHV0IHsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gIC8vIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cblxuICBidXR0b24sXG4gIHNlbGVjdCB7IC8vIDFcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG5cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBmaWVsZHNldCB7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAvLyAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gIC8vICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGxlZ2VuZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDFcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAzXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxuICBwcm9ncmVzcyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG5cbiAgdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gIC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cblxuICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gMlxuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cblxuICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxuICAgIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgfVxuXG4gIC8vIEludGVyYWN0aXZlXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cblxuICBkZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cblxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIH1cblxuICAvLyBNaXNjXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG5cbiAgW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKTtcbiRtZW51LWdyYXk6ICNlZGVkZWQ7XG4kbGlnaHQtZ3JheTogI2U2ZTZlNjtcbiRtZWRpdW0tZ3JheTogI2NhY2FjYTtcbiRkYXJrLWdyYXk6ICM4YThhOGE7XG4kYmxhY2s6ICMwYTBhMGE7XG4kd2hpdGU6ICNmZWZlZmU7XG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvO1xuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcbiRwcmludC1ocmVmczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDc2OHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBoaWRwaS0xOiAxLFxuICBoaWRwaS0xLTU6IDEuNSxcbiAgaGlkcGktMjogMixcbiAgcmV0aW5hOiAyLFxuICBoaWRwaS0zOiAzXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWU7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGNvZGUtYmxvY2stcGFkZGluZzogMXJlbTtcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogJ1xcMDAyQic7XG4kYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ6ICdcXDIwMTMnO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcbiRidXR0b24tZm9udC13ZWlnaHQ6IG51bGw7XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW07XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlO1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtc2l6ZXM6IChcbiAgc21hbGw6IDAuNXJlbSxcbiAgZGVmYXVsdDogMXJlbSxcbiAgbGFyZ2U6IDNyZW0sXG4pO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tei1pbmRleDogMTA7XG4kY2xvc2VidXR0b24tZGVmYXVsdC1zaXplOiBtZWRpdW07XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjIuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjMuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogJGJsYWNrO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xuXG4vLyAyNC4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI1LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcbiRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzOiAnXFwwMEFCJztcbiRwYWdpbmF0aW9uLWFycm93LW5leHQ6ICdcXDAwQkInO1xuXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKTtcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbik7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbik7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pO1xuXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKTtcblxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pO1xuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XG5cbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gNDguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDQ5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDogLjU7XG4kc3dpdGNoLWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweFxuKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiAxcHggI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiAxcHggI3skaW1wb3J0YW50fTtcbiAgcGFkZGluZzogMCAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogaGlkZGVuICN7JGltcG9ydGFudH07XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCkgI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAjeyRpbXBvcnRhbnR9O1xuICBib3JkZXI6IDAgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZihcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogc3RhdGljICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiBhdXRvICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogdmlzaWJsZSAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiBhdXRvICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludChcbiAgJHNtYWxsOiB0cnVlLFxuICAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWVcbikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKGF1dG8sIC16Zi1ib29sKCRzbWFsbCksIC16Zi1ib29sKCRhdXRvLWluc2VydC1icmVha3BvaW50cykpIHtcbiAgICBAY29udGVudFxuICB9O1xufVxuXG4vLy8gSXRlcmF0ZXMgd2l0aCBgQGNvbnRlbnRgIHRocm91Z2ggdGhlIGdpdmVuIGxpc3Qgb2YgYnJlYWtwb2ludHMgYCRicmVha3BvaW50c2AuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYnJlYWtwb2ludHMgW2F1dG9dIC0gQnJlYWtwb2ludHMgdG8gaXRlcmF0ZXMgb24uIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58TnVsbH0gJHplcm8tYnJlYWtwb2ludCBbbnVsbF0gLSBXaGV0aGVyIHRoZSB6ZXJvLWJyZWFrcG9pbnQgKG9mdGVuIGBzbWFsbGApIG11c3QgYmUgaW5jbHVkZWQuIElmIGB0cnVlYCwgaXQgd2lsbCBhbHdheXMgYmUgYWRkZWQgdG8gdGhlIGxpc3QgaWYgbm90IGFscmVhZHkgdGhlcmUuIElmIGBmYWxzZWAsIGl0IHdpbGwgYWx3YXlzIGJlIHJlbW92ZWQuIERvZXMgbm90aGluZyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxLZXl3b3JkfSAkbWVkaWEtcXVlcmllcyBbdHJ1ZV0gLSBXaGV0aGVyIG1lZGlhLXF1ZXJpZXMgbXVzdCBiZSBnZW5lcmF0ZWQuIElmIGBmb3ItbGlzdHNgLCBvbmx5IGdlbmVyYXRlIG1lZGlhLXF1ZXJpZXMgd2hlbiBgJGJyZWFrcG9pbnRzYCBpcyBhIGxpc3QuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludC1pbihcbiAgJGJyZWFrcG9pbnRzOiBhdXRvLFxuICAkemVyby1icmVha3BvaW50OiBudWxsLFxuICAkbWVkaWEtcXVlcmllczogdHJ1ZVxuKSB7XG4gICQtbGlzdDogKCk7XG4gICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiB0cnVlO1xuXG4gIC8vIFJldHJpZXZlIHRoZSBsaXN0IG9mIGJyZWFrcG9pbnQocykgdG8gaXRlcmF0ZSBvbi5cbiAgQGlmICRicmVha3BvaW50cyA9PSBhdXRvIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdsaXN0JyB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludHM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdzdHJpbmcnIHtcbiAgICAkLWxpc3Q6ICgkYnJlYWtwb2ludHMpO1xuICAgICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiBmYWxzZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiJGJyZWFrcG9pbnRzXCIgaW4gXCItemYtZWFjaC1icmVha3BvaW50LWluKClcIi4gR290IFwiI3skYnJlYWtwb2ludHN9XCIgKCN7dHlwZS1vZigkYnJlYWtwb2ludHMpfSkuIEV4cGVjdGVkIGEgYnJlYWtwb2ludCBuYW1lLCBhIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgXCJhdXRvXCInO1xuICB9XG5cbiAgLy8gQWRkIG9yIHJlbW92ZSB0aGUgemVybyBicmVha3BvaW50IGFjY29yZGluZyB0byBgJHplcm8tYnJlYWtwb2ludGBcbiAgQGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gdHJ1ZSB7XG4gICAgJC1saXN0OiBqb2luKCgkLXpmLXplcm8tYnJlYWtwb2ludCksIHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KSk7XG4gIH1cbiAgQGVsc2UgaWYgJHplcm8tYnJlYWtwb2ludCA9PSBmYWxzZSB7XG4gICAgJC1saXN0OiBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBJdGVyYXRlIG9uIGJyZWFrcG9pbnQocylcbiAgQGVhY2ggJGJwIGluICQtbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkYnAgIWdsb2JhbDtcblxuICAgIEBpZiAoJG1lZGlhLXF1ZXJpZXMgPT0gdHJ1ZVxuICAgICAgb3IgKCRtZWRpYS1xdWVyaWVzID09ICdmb3ItbGlzdHMnIGFuZCAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdCkpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRicC12YWx1ZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgICAgQGlmICRicC12YWx1ZSAhPSBudWxsIHtcbiAgICAgICAgJG5hbWU6ICRicC12YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICA6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqICRpbnB1dC1saW5lLWhlaWdodCkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTtcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBVc2UgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNvZGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNvZGUtaW5saW5lOiB0cnVlO1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQgYXMgZGVmYXVsdCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGVuYWJsZS1jaXRlLWJsb2NrOiB0cnVlO1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJbmxpbmUgQ2l0YXRpb25zXG4gIEBpZiAoJGVuYWJsZS1jaXRlLWJsb2NrID09IHRydWUpIHtcbiAgICBjaXRlIHtcbiAgICAgIC8vIEV4dGVuZGluZyBhIGNsYXNzIGlzIG5vdCByZWNvbW1lbmRlZC5cbiAgICAgIC8vIFRPRE86IEJyZWFrIHRoZSB0eXBvZ3JhcGh5LWJhc2UvdHlwb2dyYXBoeS1oZWxwZXJzIHNlcGFyYXRpb25cbiAgICAgIEBleHRlbmQgLmNpdGUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29kZVxuICBAaWYgKCRlbmFibGUtY29kZS1pbmxpbmUgPT0gdHJ1ZSkge1xuICAgIGNvZGUge1xuICAgICAgQGV4dGVuZCAuY29kZS1pbmxpbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIHVuZGVyIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGNpdGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICRjaXRlLWNvbG9yO1xuICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZCBiYXNpYyBzdHlsZXMgZm9yIGEgY29kZSBoZWxwZXIuXG4vLy8gU2VlIGBjb2RlLWlubGluZWAgYW5kIGBjb2RlLWJsb2NrYCBtaXhpbnMuXG5AbWl4aW4gY29kZS1zdHlsZSB7XG4gIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBpbmxpbmUuXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtaW5saW5lYFxuQG1peGluIGNvZGUtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gYSBibG9jay5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1ibG9ja2BcbkBtaXhpbiBjb2RlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuXG4gIHBhZGRpbmc6ICRjb2RlLWJsb2NrLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206ICRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b207XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5jaXRlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjaXRlLWJsb2NrO1xuICB9XG5cbiAgLmNvZGUtaW5saW5lIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtaW5saW5lO1xuICB9XG5cbiAgLmNvZGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1ibG9jaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXlzIG5leHQgdG8gYWxsIGxpbmtzIHRoZWlyIFwiaHJlZlwiIHdoZW4gcHJpbnRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIC8vIEVuc3VyZSBhIFwiYmxhY2stb24td2hpdGVcIiBwcmludCBieSByZW1vdmluZyBiYWNrZ3JvdW5kcyxcbiAgICAgIC8vIHVzaW5nIGJsYWNrIHRleHQgZXZlcnl3aGVyZSBhbmQgZm9yY2luZyB0aGUgYnJvd3NlciB0byBlY29ub21pemUgaW5rLlxuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICAgIGNvbG9yLWFkanVzdDogZWNvbm9teTtcbiAgICAgIH1cbiAgICAgIC8vIE90aGVyd2lzZSwgcHJldmVudCBhbnkgZWNvbm9teSBieSB0aGUgYnJvd3Nlci5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gT3V0cHV0cyBDU1MgY2xhc3NlcyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gZm91bmRhdGlvbi1ncmlkKFxuICAkcm93OiAncm93JyxcbiAgJGNvbHVtbjogJ2NvbHVtbicsXG4gICRjb2x1bW4tcm93OiAnY29sdW1uLXJvdycsXG4gICRndXR0ZXI6ICdndXR0ZXInLFxuICAkcHVzaDogJ3B1c2gnLFxuICAkcHVsbDogJ3B1bGwnLFxuICAkY2VudGVyOiAnY2VudGVyZWQnLFxuICAkdW5jZW50ZXI6ICd1bmNlbnRlcmVkJyxcbiAgJGNvbGxhcHNlOiAnY29sbGFwc2UnLFxuICAkdW5jb2xsYXBzZTogJ3VuY29sbGFwc2UnLFxuICAkb2Zmc2V0OiAnb2Zmc2V0JyxcbiAgJGVuZDogJ2VuZCcsXG4gICRleHBhbmRlZDogJ2V4cGFuZGVkJyxcbiAgJGJsb2NrOiAnYmxvY2snXG4pIHtcbiAgLy8gUm93XG4gIC4jeyRyb3d9IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdztcblxuICAgIC8vIENvbGxhcHNpbmdcbiAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcblxuICAgICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIChmdWxsLXdpZHRoKSByb3dcbiAgICAmLiN7JGV4cGFuZGVkfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguI3skZXhwYW5kZWR9KSAuI3skcm93fSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgQGlmIHR5cGUtb2YoJGdyaWQtY29sdW1uLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgLy8gU3RhdGljICh1bnJlc3BvbnNpdmUpIHJvdyBndXR0ZXJzXG4gICAgICAvL1xuICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHtcbiAgICAgICAgJi4jeyRndXR0ZXJ9LSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkdmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuI3skY29sdW1ufSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2w7XG5cbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJi4jeyRlbmR9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC4jeyRyb3d9IC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gQ29sdW1uIHdpZHRoXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtc2l6ZSgkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNvdXJjZSBvcmRlcmluZ1xuICAgICAgQGlmICRpIDwgJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgICAgQGlmICRwdXNoIHtcbiAgICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRwdWxsIHtcbiAgICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygtJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICBAaWYgJG9mZnNldCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skb2Zmc2V0fS0jeyRvfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtb2ZmKCRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksICcuI3skY29sdW1ufScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9IC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9LiN7JHJvd30ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG5cbiAgICAvLyBQb3NpdGlvbmluZ1xuICAgIEBpZiAkY2VudGVyIHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skY2VudGVyfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEd1dHRlciBhZGp1c3RtZW50XG4gICAgJC1ndXR0ZXItdW5wb3Mtc2VsZWN0b3I6IChcbiAgICAgIGlmKCR1bmNlbnRlciwgJy4jeyQtemYtc2l6ZX0tI3skdW5jZW50ZXJ9JywgbnVsbCksXG4gICAgICBpZigkcHVzaCwgJy4jeyQtemYtc2l6ZX0tI3skcHVzaH0tMCcsIG51bGwpLFxuICAgICAgaWYoJHB1bGwsICcuI3skLXpmLXNpemV9LSN7JHB1bGx9LTAnLCBudWxsKSxcbiAgICApO1xuICAgIEBpZiAoJHVuY2VudGVyIG9yICRwdXNoIG9yICRwdWxsKSB7XG4gICAgICAjeyQtZ3V0dGVyLXVucG9zLXNlbGVjdG9yfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXVucG9zO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuI3skY29sdW1ufS0jeyRibG9ja30ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIGFuZCBoYXMtdmFsdWUoJGdyaWQtY29sdW1uLWFsaWFzKSB7XG4gICAgLiN7JGdyaWQtY29sdW1uLWFsaWFzfSB7XG4gICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBwbGFjZWhvbGRlci1pbi1leHRlbmRcbiAgICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXNpemUpKSAvIDIgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIHdpZHRoIG9mIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkd2lkdGggWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCB0byBtYWtlIHRoZSBjb2x1bW4uIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXNpemUoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXNpemVcbkBtaXhpbiBncmlkLWNvbC1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cblxuLy8vIFBhcnNlIHRoZSBnaXZlbiBgJGZyYWN0aW9uYCB0byBudW1lcmF0b3JzIGFuZCBkZW51bWVyYXRvcnMuXG4vLy9cbi8vLyBAcGFyYW0geyp9ICRmcmFjdGlvbiAtIFZhbHVlIHJlcHJlc2VudGluZyBhIGZyYWN0aW9uIHRvIHBhcnNlLiBJdCBjYW4gYmUgZm9ybWF0dGVkIGFzIGA1MCVgLCBgMSBvZiAyYCwgYDEvMmAgb3IgYDUwYCAobm8gZGVub21pbmF0b3Igd291bGQgYmUgcmV0dXJuZWQpLlxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gTGlzdCBvZiBwYXJzZWQgdmFsdWVzIHdpdGggbnVtZXJhdG9yIGF0IGZpcnN0IHBvc2l0aW9uIGFuZCBkZW51bWVyYXRvciBhcyBzZWNvbmQuIFRoZXNlIHZhbHVlcyBtYXkgYmUgbnVsbC5cbkBmdW5jdGlvbiB6Zi1wYXJzZS1mcmFjdGlvbigkZnJhY3Rpb24pIHtcblxuICBAaWYgdHlwZS1vZigkZnJhY3Rpb24pID09ICdudW1iZXInIHtcbiAgICAvLyBcIjUwJVwiXG4gICAgQGlmIHVuaXQoJGZyYWN0aW9uKSA9PSAnJScge1xuICAgICAgQHJldHVybiAoc3RyaXAtdW5pdCgkZnJhY3Rpb24pLCAxMDApO1xuICAgIH1cbiAgICBAZWxzZSBpZiAodW5pdCgkZnJhY3Rpb24pID09ICcnKSB7XG4gICAgICAvLyBcIjAuNVwiXG4gICAgICBAaWYgJGZyYWN0aW9uIDwgMSB7XG4gICAgICAgIEByZXR1cm4gKCRmcmFjdGlvbiAqIDEwMCwgMTAwKTtcbiAgICAgIH1cbiAgICAgIC8vIFwiNTBcIlxuICAgICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuICgkZnJhY3Rpb24sIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGZyYWN0aW9uKSA9PSAnbGlzdCcge1xuICAgIC8vIFwiNTAgb2YgMTAwXCIsIFwiNTAvMTAwXCIuLi5cbiAgICBAaWYgbGVuZ3RoKCRmcmFjdGlvbikgPT0gM1xuICAgICAgYW5kIHR5cGUtb2YobnRoKCRmcmFjdGlvbiwgMSkgPT0gJ251bWJlcicpXG4gICAgICBhbmQgdHlwZS1vZihudGgoJGZyYWN0aW9uLCAzKSA9PSAnbnVtYmVyJykge1xuICAgICAgQHJldHVybiAobnRoKCRmcmFjdGlvbiwgMSksIG50aCgkZnJhY3Rpb24sIDMpKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIChudWxsLCBudWxsKTtcbn1cblxuLy8vIFJldHVybnMgd2hldGhlciB0aGUgZ2l2ZW4gYCR2YWx1ZWAgcmVwcmVzZW50cyBhIGZyYWN0aW9uLiBTdXBwb3J0cyBmb3JtYXRzIGxpa2UgYDUwJWAsIGAxIG9mIDJgLCBgMSBwZXIgMmAgb3IgYDEvMmAuXG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZSAtIFZhbHVlIHRvIHRlc3QuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYWxsb3ctbm8tZGVub21pbmF0b3IgW2ZhbHNlXSAtIElmIGB0cnVlYCwgc2ltcGxlIG51bWJlcnMgd2l0aG91dCBkZW5vbWluYXRvcnMgbGlrZSBgNTBgIGFyZSBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSBgdHJ1ZWAgaWYgYCR2YWx1ZWAgcmVwcmVzZW50cyBhIGZyYWN0aW9uLCBgZmFsc2VgIG90aGVyd2lzZS5cbkBmdW5jdGlvbiB6Zi1pcy1mcmFjdGlvbigkdmFsdWUsICRhbGxvdy1uby1kZW5vbWluYXRvcjogZmFsc2UpIHtcbiAgJHBhcnNlZDogemYtcGFyc2UtZnJhY3Rpb24oJHZhbHVlKTtcbiAgQHJldHVybiBub3QobnRoKCRwYXJzZWQsIDEpID09IG51bGxcbiAgICBvciAobnRoKCRwYXJzZWQsIDIpID09IG51bGwgYW5kICRhbGxvdy1uby1kZW5vbWluYXRvciA9PSBmYWxzZSkpO1xufVxuXG4vLy8gQ2FsY3VsYXRlIGEgcGVyY2VudGFnZSBmcm9tIGEgZ2l2ZW4gZnJhY3Rpb24uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZnJhY3Rpb24gLSBWYWx1ZSByZXByZXNlbnRpbmcgYSBmcmFjdGlvbiB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlLCBmb3JtYXR0ZWQgYXMgYDUwYCAocmVsYXRpdmUgdG8gYCRkZW5vbWluYXRvcmApLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGRlbm9taW5hdG9yIC0gRGVmYXVsdCB2YWx1ZSB0byB1c2UgYXMgZGVub21pbmF0b3Igd2hlbiBgJGZyYWN0aW9uYCByZXByZXNlbnRzIGFuIGFic29sdXRlIHZhbHVlLlxuQGZ1bmN0aW9uIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoXG4gICRmcmFjdGlvbixcbiAgJGRlbm9taW5hdG9yOiBudWxsXG4pIHtcbiAgJHBhcnNlZDogemYtcGFyc2UtZnJhY3Rpb24oJGZyYWN0aW9uKTtcbiAgJHBhcnNlZC1ub21pbmF0b3I6IG50aCgkcGFyc2VkLCAxKTtcbiAgJHBhcnNlZC1kZW5vbWluYXRvcjogbnRoKCRwYXJzZWQsIDIpO1xuXG4gIEBpZiAkcGFyc2VkLW5vbWluYXRvciA9PSBudWxsIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgXCJmcmFjdGlvbi10by1wZXJjZW50YWdlKClcIi4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG4gIEBpZiAkcGFyc2VkLWRlbm9taW5hdG9yID09IG51bGwge1xuICAgIEBpZiB0eXBlLW9mKCRkZW5vbWluYXRvcikgPT0gJ251bWJlcicge1xuICAgICAgJHBhcnNlZC1kZW5vbWluYXRvcjogJGRlbm9taW5hdG9yO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgJ0Vycm9yIHdpdGggXCJmcmFjdGlvbi10by1wZXJjZW50YWdlKClcIi4gQSBkZWZhdWx0IFwiJGRlbm9taW5hdG9yXCIgaXMgcmVxdWlyZWQgdG8gc3VwcG9ydCBhYnNvbHV0ZSB2YWx1ZXMnO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gcGVyY2VudGFnZSgkcGFyc2VkLW5vbWluYXRvciAvICRwYXJzZWQtZGVub21pbmF0b3IpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBsaXN0IG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiAod2l0aG91dCBxdW90ZXMpIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgQHJldHVybiBmcmFjdGlvbi10by1wZXJjZW50YWdlKCRjb2x1bW5zLCAkZGVub21pbmF0b3I6ICRncmlkLWNvbHVtbi1jb3VudCk7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIFBvc2l0aW9uXG4gIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhhdXRvKTtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIEl0IGNhbiBiZTpcbi8vLyAgICogQSBudW1iZXI6IFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50XG4vLy8gICAgIHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZVxuLy8vICAgICBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuXG4vLy8gICAqIGBjZW50ZXJgOiBDb2x1bW4gd2lsbCBiZSBjZW50ZXJlZFxuLy8vICAgKiBgYXV0b2A6IENvbHVtbiB3aWxsIGJlIHB1c2hlZCB0byB0aGUgbGVmdCAob3IgdG8gdGhlIHJpZ2h0IGZvciB0aGUgbGFzdCBjb2x1bW4pLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICAvLyBBdXRvIHBvc2l0aW9uaW5nXG4gIEBpZiAkcG9zaXRpb24gPT0gYXV0byB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHVzaC9wdWxsXG4gIEBlbHNlIGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuXG4gIC8vIENlbnRlciBwb3NpdGlvbmluZ1xuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBcImNlbnRlclwiIG9yIFwiYXV0b1wiLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oYXV0byk7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kIHtcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcbiAgJjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxuQG1peGluIGdyaWQtY29sLW9mZigkbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcbkBtaXhpbiBncmlkLWNvbC1lbmQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jb2x1bW4nXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGd1dHRlclxuLy8vICAgVGhlIGd1dHRlciB0byBhcHBseSB0byBjaGlsZCBlbGVtZW50cy4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtICRncmlkLWNvbHVtbi1ndXR0ZXIgd2lsbCB1c2UgdGhlIHZhbHVlcyBpbiB0aGUgJGdyaWQtY29sdW1uLWd1dHRlciBtYXAsIGluY2x1ZGluZyBicmVha3BvaW50IHNpemVzLlxuLy8vICAgLSBBIGZpeGVkIG51bWVyaWMgdmFsdWUgd2lsbCBhcHBseSB0aGlzIGd1dHRlciB0byBhbGwgYnJlYWtwb2ludHMuXG5AbWl4aW4gZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJyxcbiAgJGd1dHRlcjogbnVsbFxuKSB7XG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICAvLyBJZiBhICRndXR0ZXIgdmFsdWUgaXMgcGFzc2VkXG4gICAgQGlmKCRndXR0ZXIpIHtcbiAgICAgIC8vIEd1dHRlcnNcbiAgICAgIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XG4gICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoI3skbn1uKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBleHRyYSBDU1MgdG8gYmxvY2sgZ3JpZCBjaGlsZHJlbiBzbyB0aGUgbGFzdCBpdGVtcyBpbiB0aGUgcm93IGNlbnRlciBhdXRvbWF0aWNhbGx5LiBBcHBseSB0aGlzIHRvIHRoZSBjb2x1bW5zLCBub3QgdGhlIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBpdGVtcyB0aGF0IGFwcGVhciBpbiBlYWNoIHJvdy5cbkBtaXhpbiBncmlkLWxheW91dC1jZW50ZXItbGFzdCgkbikge1xuICBAZm9yICRpIGZyb20gMSB0byAkbiB7XG4gICAgQGlmICRpID09IDEge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEZvbnRcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIElnbm9yZWQgaWYgbnVsbCAoZGVmYXVsdClcbi8vLyBAdHlwZSBGb250LVdlaWdodFxuJGJ1dHRvbi1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBidXR0b25zLCB0cmFuc3BhcmVudCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1ib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZGl0aW9uYWwgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciAuZXhwYW5kZWRcbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIGJvcmRlcjogJGJ1dHRvbi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGZvbnQtd2VpZ2h0OiAkYnV0dG9uLWZvbnQtd2VpZ2h0O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBiYXNlIHN0eWxlcyBvZiBhIGhvbGxvdyBvciBjbGVhciBidXR0b24gZmlsbGluZyBhY2NvcmRpbmcgdG8gYCRmaWxsYC5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1maWxsLXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZpbGwgWyRidXR0b24tZmlsbF0gLSBUeXBlIG9mIGZpbGxpbmcgYmV0d2VlbiBgaG9sbG93YCBhbmQgYGNsZWFyYC4gYHNvbGlkYCBoYXMgbm8gZWZmZWN0cy5cbkBtaXhpbiBidXR0b24tZmlsbChcbiAgJGZpbGw6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpZiAkZmlsbCA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gY2xlYXIge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1jbGVhcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlcyBvZiBhIHNvbGlkL2hvbGxvdy9jbGVhciBidXR0b24gZmlsbGluZyBhY2NvcmRpbmcgdG8gYCRmaWxsYC5cbi8vLyBTZWUgbWl4aW5zIGBidXR0b24tc3R5bGVgLCBgYnV0dG9uLWhvbGxvdy1zdHlsZWAgYW5kIGBidXR0b24tY2xlYXItc3R5bGVgIGZvciBlZmZlY3RzIG9mIHZpc3VhbCBzdHlsaW5nIHBhcmFtZXRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZmlsbCBbJGJ1dHRvbi1maWxsXSAtIFR5cGUgb2YgZmlsbGluZyBiZXR3ZWVuIGBob2xsb3dgIGFuZCBgY2xlYXJgLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gLVxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gLVxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSAtXG5AbWl4aW4gYnV0dG9uLWZpbGwtc3R5bGUoXG4gICRmaWxsOiAkYnV0dG9uLWZpbGwsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkZmlsbCA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGNsZWFyIHtcbiAgICBAaW5jbHVkZSBidXR0b24tY2xlYXItc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBiYXNlIHN0eWxlcyBvZiBhIGhvbGxvdyBidXR0b24uXG4vLy8gU2VlIG1peGluIGBidXR0b24taG9sbG93LXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGhvbGxvdyBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWJhY2tncm91bmRdIC0gVGV4dCBhbmQgYm9yZGVyIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGhvdmVyLWxpZ2h0bmVzcyBbJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXSAtIENvbG9yIGxpZ2h0bmVzcyBvbiBob3Zlci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYm9yZGVyLXdpZHRoIFskYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhdIC0gQm9yZGVyIHdpZHRoIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBiYXNlIHN0eWxlcyBvZiBhIGNsZWFyIGJ1dHRvbi5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1jbGVhci1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbkBtaXhpbiBidXR0b24tY2xlYXIge1xuICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBjbGVhciBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWJhY2tncm91bmRdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRob3Zlci1saWdodG5lc3MgWyRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc10gLSBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIuXG5AbWl4aW4gYnV0dG9uLWNsZWFyLXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50IGFuZCByZXNldGluZyB0aGUgY3Vyc29yLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3BhY2l0eSBbJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkXSAtIE9wYWNpdHkgb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWRcbikge1xuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcbiAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJHN0eWxlKTtcbiAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJHN0eWxlLCAkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKCRzdHlsZTogbm9uZSk7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIEBpZiAkYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQge1xuICAgICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gb25seSkge1xuICAgICAgICAgICYuI3skc2l6ZX0tb25seS1leHBhbmRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gZG93bikge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1kb3duLWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9KSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb2xpZCwgaG9sbG93ICYgY2xlYXIgc3R5bGVzXG4gICAgQGVhY2ggJGZpbGxpbmcgaW4gKHNvbGlkIGhvbGxvdyBjbGVhcikge1xuICAgICAgJHNlbGVjdG9yOiBpZigkYnV0dG9uLWZpbGwgPT0gJGZpbGxpbmcsIG51bGwsICcuI3skZmlsbGluZ30nKTtcblxuICAgICAgJiN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRmaWxsaW5nKTtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcpO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nLCAkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdywgJi5jbGVhciB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cblxuICBhLmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuIChPbmx5IG5lZWRlZCB3aGVuICRnbG9iYWwtZmxleGJveDogZmFsc2U7KVxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1ha2UgYnV0dG9ucyBib25kZWQgd2l0aG91dCBnYXAgYmV0d2VlbiB0aGVtLiBCb3JkZXJzIGJldHdlZW4gYnV0dG9ucyBhcmUgbWVyZ2VkXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLW5vLWdhcHMoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiByZW0tY2FsYygtJGJvcmRlci13aWR0aCk7XG5cbiAgICArICN7JHNlbGVjdG9yfSB7XG4gICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skc3BhY2luZ30pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRiYXNlLXNlbGVjdG9yOiBpZigkYnV0dG9uLWZpbGwgPT0gJGZpbGxpbmcsIG51bGwsICcuI3skZmlsbGluZ30nKTtcblxuICAgICAgJiN7JGJhc2Utc2VsZWN0b3J9IHtcbiAgICAgICAgLy8gRG8gbm90IGdlbmVyYXRlIGJ1dHRvbiBiYXNlIHN0eWxlcyBmb3IgdGhlIGRlZmF1bHQgZmlsbGluZ1xuICAgICAgICBAaWYoJGJ1dHRvbi1maWxsICE9ICRmaWxsaW5nKSB7XG4gICAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRmaWxsaW5nKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJGluZGl2aWR1YWwtc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJyAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0uI3skbmFtZX0nKTtcblxuICAgICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9LCAjeyRpbmRpdmlkdWFsLXNlbGVjdG9yfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgICYubm8tZ2FwcyB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtbm8tZ2FwcztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG5cbiAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBzaXplIHRvIHVzZSBhcyBkZWZhdWx0XG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tc2l6ZVxuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsXG4kY2xvc2VidXR0b24tZGVmYXVsdC1zaXplOiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVXNlZCB0byBnZW5lcmF0ZSBzaXppbmcgbW9kaWZpZXJzLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cblxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkdmFsdWUgLSBBIG51bWJlciBvciBtYXAgdGhhdCByZXByZXNlbnRzIHRoZSBzaXplIG9yIHBvc2l0aW9uIHZhbHVlKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgZ2l2ZW4gbnVtYmVyIG9yIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBzaXplIG5hbWUgZXhpc3RzIGluIHRoZSB2YWx1ZSBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlLCAkc2l6ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlLCAkc2l6ZSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGNsb3NlLWJ1dHRvbi1zaXplKCRzaXplKSB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gICN7JHh9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbCwgJHNpemUpO1xuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XG4gIGZvbnQtc2l6ZTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tc2l6ZSwgJHNpemUpO1xuICBsaW5lLWhlaWdodDogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tbGluZWhlaWdodCwgJHNpemUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICRjbG9zZWJ1dHRvbi16LWluZGV4O1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAvLyBHZW5lcmF0ZSBhIHBsYWNlaG9sZGVyIGFuZCBhIGNsYXNzIGZvciBlYWNoIHNpemVcbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGNsb3NlYnV0dG9uLXNpemUge1xuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JG5hbWV9O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVzZSBieSBkZWZhdWx0IHRoZSBwbGFjZWhvbGRlciBvZiB0aGUgZGVmYXVsdCBzaXplXG4gICAgQGV4dGVuZCAlemYtY2xvc2UtYnV0dG9uLS0jeyRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemV9O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb2dyZXNzLWJhciB7XG4gIC8vIFByb2dyZXNzIGJhclxuICAucHJvZ3Jlc3Mge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLWNvbnRhaW5lcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbm5lciBtZXRlclxuICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyO1xuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXIgdGV4dFxuICAucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXItdGV4dDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXG5AbWl4aW4gc2xpZGVyLWhhbmRsZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgfVxuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zbGlkZXIge1xuICAvLyBDb250YWluZXJcbiAgLnNsaWRlciB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEZpbGwgYXJlYVxuICAuc2xpZGVyLWZpbGwge1xuICAgIEBpbmNsdWRlIHNsaWRlci1maWxsO1xuICB9XG5cbiAgLy8gRHJhZ2dhYmxlIGhhbmRsZVxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5zbGlkZXIuZGlzYWJsZWQsXG4gIC5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcbiAgLnNsaWRlci52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gUlRMIHN1cHBvcnRcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAuc2xpZGVyOm5vdCgudmVydGljYWwpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc3dpdGNoXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgYWN0aXZlIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAudGlueSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5zbWFsbCBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLmxhcmdlIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaFxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXIgYW5kIHBhZGRsZS5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGEgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2ggcGFkZGxlXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gc3dpdGNoIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGEgZGlzYWJsZWQgc3dpdGNoLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkOiAuNSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciBmb3IgYSBkaXNhYmxlZCBzd2l0Y2guXG4vLy8gQHR5cGUgQ3Vyc29yXG4kc3dpdGNoLWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vIG1ha2UgdGhlbSB2YXJpYWJsZXNcbi8vIGFzayBhYm91dCBhY2Nlc3NpYmlsaXR5IG9uIGxhYmVsXG4vLyBjaGFuZ2UgY2xhc3MgbmFtZSBmb3IgdGV4dFxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGNvbnRhaW5lciBjbGFzcy5cbkBtaXhpbiBzd2l0Y2gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLW1hcmdpbjtcbiAgb3V0bGluZTogMDtcblxuICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGNhc2NhZGUgZG93biB0byB0aGUgc3dpdGNoIHRleHRcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGlucHV0LiBBcHBseSB0aGlzIHRvIGFuIGA8aW5wdXQ+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBwYWRkbGUgb2YgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gYSBgPGxhYmVsPmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1wYWRkbGUge1xuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1yYWRpdXM7XG4gIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcblxuICAvLyBSZXNldHRpbmcgdGhlc2UgPGxhYmVsPiBwcmVzZXRzIHNvIHR5cGUgc3R5bGVzIGNhc2NhZGUgZG93blxuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIE5lZWRlZCB0byBvdmVycmlkZSBzcGVjaWZpY2l0eVxuICBpbnB1dCArICYge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFRoZSBwYWRkbGUgaXRzZWxmXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXBhZGRsZS1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gQ2hhbmdlIHRoZSB2aXN1YWwgc3R5bGUgd2hlbiB0aGUgc3dpdGNoIGlzIGFjdGl2ZVxuICBpbnB1dDpjaGVja2VkIH4gJiB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICAgIH1cbiAgfVxuXG4gIC8vIGluZGljYXRlIGEgZGlzYWJsZWQgc3dpdGNoXG4gIGlucHV0OmRpc2FibGVkIH4gJiB7XG4gICAgY3Vyc29yOiAkc3dpdGNoLWN1cnNvci1kaXNhYmxlZDtcbiAgICBvcGFjaXR5OiAkc3dpdGNoLW9wYWNpdHktZGlzYWJsZWQ7XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICRzd2l0Y2gtaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG5cbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6ICRwYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1vZmZzZXQ7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0IFtmYWxzZV0gLSBOZWVkZWQgaWYgeW91IG9ubHkgd2FudCB0byBhcHBseSB0aGlzIHRvIGEgc3BlY2lmaWMgdGFibGUuXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwcmltYXJ5LWNvbG9yOiAjMTc3OWJhICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiAjNzY3Njc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRhbGVydC1jb2xvcjogI2NjNGIzNyAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBiYWRnZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAkYmFkZ2UtbWlud2lkdGg7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tYmFkZ2Uge1xuICAuYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGJhZGdlO1xuXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJhZGdlLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGJhZGdlLWNvbG9yLCAkYmFkZ2UtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcbiAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgQ2FsbG91dCBwYWRkaW5ncy5cbi8vLyBAdHlwZSBNYXBcbiRjYWxsb3V0LXNpemVzOiAoXG4gIHNtYWxsOiAwLjVyZW0sXG4gIGRlZmF1bHQ6IDFyZW0sXG4gIGxhcmdlOiAzcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiBtYXAtZ2V0KCRjYWxsb3V0LXNpemVzLCBkZWZhdWx0KTtcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluIG1hcC1yZW1vdmUoJGNhbGxvdXQtc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoJHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FyZFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhcmRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNhcmQgc2hhZG93LlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbi5cbi8vLyBAdHlwZSBudW1iZXJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIGZvbnQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gLSBCb3R0b20gbWFyZ2luIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGJvcmRlciAtIEJvcmRlciBhcm91bmQgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmFkaXVzIC0gYm9yZGVyIHJhZGl1cyBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaGFkb3cgLSBib3ggc2hhZG93IG9mIHRoZSBjYXJkLlxuQG1peGluIGNhcmQtY29udGFpbmVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkY2FyZC1mb250LWNvbG9yLFxuICAkbWFyZ2luOiAkY2FyZC1tYXJnaW4tYm90dG9tLFxuICAkYm9yZGVyOiAkY2FyZC1ib3JkZXIsXG4gICRyYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXMsXG4gICRzaGFkb3c6ICRjYXJkLXNoYWRvd1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBkaXZpZGVyLlxuQG1peGluIGNhcmQtZGl2aWRlcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWRpdmlkZXItYmFja2dyb3VuZCxcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBzZWN0aW9uLlxuQG1peGluIGNhcmQtc2VjdGlvbihcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYXJkIHtcbiAgLmNhcmQge1xuICAgIEBpbmNsdWRlIGNhcmQtY29udGFpbmVyO1xuICB9XG5cbiAgLmNhcmQtZGl2aWRlciB7XG4gICAgQGluY2x1ZGUgY2FyZC1kaXZpZGVyO1xuICB9XG5cbiAgLmNhcmQtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgY2FyZC1zZWN0aW9uO1xuICB9XG5cbiAgLy8gRm9yIElFIDExIC0gRmxleGJ1Z1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzL2lzc3Vlcy83NVxuICAuY2FyZC1pbWFnZSB7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBub25lO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgcHJldmlvdXMgYXJyb3cgd2hlbiBgJHBhZ2luYXRpb24tYXJyb3dzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzOiAnXFwwMEFCJyAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBuZXh0IGFycm93IHdoZW4gYCRwYWdpbmF0aW9uLWFycm93c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFnaW5hdGlvbi1hcnJvdy1uZXh0OiAnXFwwMEJCJyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJHBhZ2luYXRpb24tYXJyb3ctbmV4dDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvb2x0aXBcbi8vLy9cblxuLy8vIERlZmF1bHQgY3Vyc29yIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhhcy10aXAtY3Vyc29yOiBoZWxwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIHRvb2x0aXAgdGV4dC4gQnkgZGVmYXVsdCwgd2UgcmVjb21tZW5kIGEgc21hbGxlciBmb250IHNpemUgdGhhbiB0aGUgYm9keSBjb3B5LlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgaGVpZ2h0IGZvciB0b29sdGlwcy4gVGhpcyBpcyBoZWxwZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9vbHRpcCB3b3JkLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcbiAgY3Vyc29yOiAkaGFzLXRpcC1jdXJzb3I7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICB6LWluZGV4OiAxMjAwO1xuXG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gICYuYm90dG9tIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYudG9wIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5sZWZ0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYucmlnaHQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBsZWZ0KTtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTtcbiAgfVxuXG4gICYuYWxpZ24tYm90dG9tOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIHRvcDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b29sdGlwIHtcbiAgLmhhcy10aXAge1xuICAgIEBpbmNsdWRlIGhhcy10aXA7XG4gIH1cblxuICAudG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBwbHVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6ICdcXDAwMkInICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIG1pbnVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiAnXFwyMDEzJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb24tcGx1cy1jb250ZW50O1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGFjY29yZGlvbi1taW51cy1jb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICYubWlkZGxlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgJi5ib3R0b20ge1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwOyAvLyBQcmV2ZW50IEZPVUMgYnkgbm90IHNob3dpbmcgdW50aWwgSlMgc2V0cyBoZWlnaHRcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICYubm8tbW90aW9udWkge1xuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBvcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzbGlkZSBjb250YWluaW5nIGFuIGltYWdlLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtaW1hZ2VgIGNsYXNzLlxuQG1peGluIG9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIG9yYml0IHNsaWRlIGNhcHRpb24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jYXB0aW9uYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQpO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBpbiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIGAub3JiaXQtbmV4dGAgYW5kIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzZXMgaW4gdGhlIGRlZmF1bHQgQ1NTLlxuQG1peGluIG9yYml0LWNvbnRyb2wge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgei1pbmRleDogJG9yYml0LWNvbnRyb2wtemluZGV4O1xuICBwYWRkaW5nOiAkb3JiaXQtY29udHJvbC1wYWRkaW5nO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXByZXZpb3VzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1wcmV2aW91cyB7XG4gICN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgbmV4dCBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1uZXh0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1uZXh0IHtcbiAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY29udGFpbmVyIG9mIE9yYml0IGJ1bGxldHMuIC8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWJ1bGxldHNgIGNsYXNzLlxuQG1peGluIG9yYml0LWJ1bGxldHMge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wO1xuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBidXR0b24ge1xuICAgIHdpZHRoOiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIGhlaWdodDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBtYXJnaW46ICRvcmJpdC1idWxsZXQtbWFyZ2luO1xuXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vcmJpdCB7XG4gIC5vcmJpdCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtd3JhcHBlcjtcbiAgfVxuXG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5vcmJpdC1zbGlkZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtc2xpZGU7XG4gIH1cblxuICAub3JiaXQtZmlndXJlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1maWd1cmU7XG4gIH1cblxuICAub3JiaXQtaW1hZ2Uge1xuICAgIEBpbmNsdWRlIG9yYml0LWltYWdlO1xuICB9XG5cbiAgLm9yYml0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG9yYml0LWNhcHRpb247XG4gIH1cblxuICAlb3JiaXQtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udHJvbDtcbiAgfVxuXG4gIC5vcmJpdC1wcmV2aW91cyB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1wcmV2aW91cztcbiAgfVxuXG4gIC5vcmJpdC1uZXh0IHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LW5leHQ7XG4gIH1cblxuICAub3JiaXQtYnVsbGV0cyB7XG4gICAgQGluY2x1ZGUgb3JiaXQtYnVsbGV0cztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgZm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRjb2xvci1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCAoXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkdGFiLWNvbnRlbnQtY29sb3IsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwgKFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwgKFxuICAkcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmdcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cblxuICBhLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgdGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLi5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB1c2luZyBgaWNvbi0qYCBjbGFzc2VzIHdpdGhvdXQgYC5pY29uc2AgY2xhc3Nlc1xuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IHRoaXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxuXG4gIGEsXG4gIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmUsICgkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZSwgJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlKSk7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEJyZWFrcG9pbnQgc3BlY2lmaWMgdmVyc2lvbnNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogZmFsc2UpIHtcbiAgICAgICYuI3skLXpmLXNpemV9LWhvcml6b250YWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXNpbXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJhc2UgU3R5bGVzXG4gICAgJi5pY29ucyB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1pY29ucy1iYWNrLWNvbXBhdCB7XG4gICAgICAmLmljb24tdG9wLFxuICAgICAgJi5pY29uLXJpZ2h0LFxuICAgICAgJi5pY29uLWJvdHRvbSxcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJY29uIExlZnRcbiAgICAmLmljb24tbGVmdCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBSaWdodFxuICAgICYuaWNvbi1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgIH1cblxuICAgIC8vIEljb24gVG9wXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24odG9wKTtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJvdHRvbVxuICAgICYuaWNvbi1ib3R0b20ge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuICAgIFxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuXG4gICAgICAubmVzdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJG5lc3RlZC1hbGlnbm1lbnQ6IHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjZW50ZXJcbiAgICAmLmFsaWduLWNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLm1lbnUtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0IHtcbiAgICAubWVudS1jZW50ZXJlZCB7XG4gICAgICA+IC5tZW51IHtcbiAgICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIGJvcmRlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBMaXN0XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgaGVpZ2h0LlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG5cbiAgLmFjY29yZGlvbi1tZW51IHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gIH1cblxuICAvLyBTdWJtZW51IHRvZ2dsZVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcblxuICAgIHdpZHRoOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyO1xuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIGFycm93IHRvIHRoZSB0b2dnbGVcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG5cbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBSb3RhdGUgdGhlIGFycm93IHdoZW4gbWVudSBpcyBvcGVuXG4gIC5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgfVxuXG4gIC5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxuXG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51IHtcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcbiAgLmlzLWRyaWxsZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSB0b3AgbGV2ZWwgPHVsPlxuICAuZHJpbGxkb3duIHtcbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBcHBsaWVkIHRvIHN1Ym1lbnUgPHVsPnNcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdWJtZW51IGl0ZW0gcGFkZGluZ1xuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBzdWItbWVudSBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtXG4gICAgPiBsaSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtIGFjdGl2ZSBzdGF0ZVxuICAgID4gbGkuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBCaW5kIHRvIGhhcy10cmFuc2l0aW9uLVggY2xhc3MgdG8gcHJldmVudCB0cmFuc2l0aW9uIGZvciB0cmFuc2Zvcm06bm9uZVxuICAmLmhhcy10cmFuc2l0aW9uLW92ZXJsYXAsXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzcyxcbiRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbjogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcblxuICAgICAgLm1lbnUtaWNvbiB7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtanVzdGlmeSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKXtcbiAgJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgICAnbGVmdCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KSxcbiAgICAncmlnaHQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCksXG4gICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbiAgKTtcblxuICBAcmV0dXJuICQtemYtZmxleC1qdXN0aWZ5O1xufVxuXG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAuMDAxMjU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAuMDAxMjU7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIHBhdXNlLXF1ZXVlLWNsYXNzOiAnaXMtcGF1c2VkJyxcbiAgYWN0aXZhdGUtcXVldWUtY2xhc3M6ICdpcy1hbmltYXRpbmcnLFxuKSAhZGVmYXVsdDtcbiIsIi8vIEludGVybmFsIGNvdW50ZXIgZm9yIGNyZWF0aW5nIHVuaXF1ZSBrZXlmcmFtZSBuYW1lc1xuJC1tdWktY3VzdG9tOiAwO1xuXG4vLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucy4gVXNlIHRoaXMgZnVuY3Rpb24gaW5zdGVhZCBvZiBgbXVpLWFuaW1hdGlvbmAgaWYgeW91IHdhbnQgdG8gY3JlYXRlIGEga2V5ZnJhbWUgYW5pbWF0aW9uICp3aXRob3V0KiBhdXRvbWF0aWNhbGx5IGFzc2lnbmluZyBpdCB0byB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBrZXlmcmFtZS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBcIiN7JG91dHB1dH1cIjtcbn1cblxuLy8vIFByaW50cyB0aGUgQ1NTIHByb3BlcnRpZXMgZnJvbSBhIHNwZWNpZmljIGtleSBpbiBhIGtleWZyYW1lcyBtYXAuIFVzZWQgdG8gYm9ycm93IENTUyBmcm9tIGtleWZyYW1lIGZ1bmN0aW9ucyBmb3IgdXNlIGluIHRyYW5zaXRpb25zLlxuLy8vIEBwYXJhbSB7TWFwfSAka2YgLSBLZXlmcmFtZSBtYXAgdG8gZXh0cmFjdCBmcm9tLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAka2V5IC0gS2V5IGluIHRoZSBtYXAgdG8gcHJpbnQgdGhlIENTUyBvZi5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtbXVpLWtleWZyYW1lLWdldCgka2YsICRrZXkpIHtcbiAgJG1hcDogbWFwLWdldCgka2YsICRrZXkpO1xuXG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJG1hcCBvciAoKSB7XG4gICAgLy8gU29tZSBrZXlmcmFtZSBtYXBzIHN0b3JlIHRyYW5zZm9ybXMgYXMgcXVvdGVkIHN0cmluZ3NcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIHtcbiAgICAgICR2YWx1ZTogdW5xdW90ZSgkdmFsdWUpO1xuICAgIH1cbiAgICAjeyRwcm9wfTogJHZhbHVlO1xuICB9XG59XG5cbi8vLyBSZWZvcm1hdHMgYSBtYXAgY29udGFpbmluZyBrZXlzIHdpdGggYSBsaXN0IG9mIHZhbHVlcywgc28gdGhhdCBlYWNoIGtleSBpcyBhIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzcGxpdCB1cC5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgcmVmb3JtYXR0ZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCkge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gU3BsaXQga2V5cyB3aXRoIG11bHRpcGxlIHZhbHVlcyBpbnRvIGluZGl2aWR1YWwga2V5c1xuICBAZWFjaCAka2V5LCAkaXRlbSBpbiAkbWFwIHtcbiAgICAka2V5LXR5cGU6IHR5cGUtb2YoJGtleSk7XG5cbiAgICBAaWYgJGtleS10eXBlID09ICdudW1iZXInIHtcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkaXRlbSkpO1xuICAgIH0gQGVsc2UgaWYgJGtleS10eXBlID09ICdsaXN0JyB7XG4gICAgICBAZWFjaCAkayBpbiAka2V5IHtcbiAgICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrOiAkaXRlbSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyBhIHNlcmllcyBvZiBrZXlmcmFtZSBvYmplY3RzIGludG8gb25lLlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIC1tdWktaXMtZnVuY3Rpb24oJG1hcCkge1xuICAgICAgJG1hcDogLW11aS1zYWZlLWNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIHRyYW5zaXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtudWxsXSAtIERpcmVjdGlvbiB0byBzbGlkZSB0by4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLiBCeSBkZWZhdWx0IGBsZWZ0YCBhbmQgYHJpZ2h0YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJGFtb3VudCBbMTAwJV0gLSBMZW5ndGggb2YgdGhlIHNsaWRlIGFzIGEgcGVyY2VudGFnZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zbGlkZSAoXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IG51bGwsXG4gICRhbW91bnQ6IDEwMCUsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNsaWRlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uICE9IG51bGwsICRkaXJlY3Rpb24sIGlmKCRzdGF0ZSA9PSBpbiwgbGVmdCwgcmlnaHQpKTtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbbnVsbF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS4gQnkgZGVmYXVsdCBgMGAgYW5kIGAxYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFtudWxsXSAtIE9wYWNpdHkgdG8gZW5kIG9uLiBCeSBkZWZhdWx0IGAxYCBhbmQgYDBgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBudWxsLFxuICAkdG86IG51bGwsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZyb206IGlmKCRmcm9tICE9IG51bGwsICRmcm9tLCBpZigkc3RhdGUgPT0gaW4sIDAsIDEpKTtcbiAgJHRvOiBpZigkdG8gIT0gbnVsbCwgJHRvLCBpZigkc3RhdGUgPT0gaW4sIDEsIDApKTtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbbnVsbF0gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLiBCeSBkZWZhdWx0IGBmcm9tLWJhY2tgIGFuZCBgZnJvbS1mcm9udGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IG51bGxcbikge1xuICAvLyBSb3RhdGlvbiBkaXJlY3Rpb25zIHdoZW4gaGluZ2luZyBmcm9tIGJhY2sgdnMuIGZyb250XG4gICRyb3RhdGlvbi1hbW91bnQ6IDkwZGVnO1xuICAkcm90YXRpb25zLWJhY2s6IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICApO1xuICAkcm90YXRpb25zLWZyb206IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICApO1xuXG4gIC8vIFJvdGF0aW9uIG9yaWdpblxuICAkdHVybi1vcmlnaW46IGlmKCR0dXJuLW9yaWdpbiAhPSBudWxsLCAkdHVybi1vcmlnaW4sIGlmKCRzdGF0ZSA9PSBpbiwgZnJvbS1iYWNrLCBmcm9tLWZyb250KSk7XG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6IC1tdWktc3RyaW5nLXNhZmUoJ2hpbmdlLSN7JHN0YXRlfS0jeyRmcm9tfS0jeyRheGlzfS0jeyR0dXJuLW9yaWdpbn0nKSxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtudWxsXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuIEJ5IGRlZmF1bHQgYGZyb20tYmFja2AgYW5kIGBmcm9tLWZyb250YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBudWxsLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBoaW5nZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHR1cm4tb3JpZ2luOiBpZigkdHVybi1vcmlnaW4gIT0gbnVsbCwgJHR1cm4tb3JpZ2luLCBpZigkc3RhdGUgPT0gaW4sIGZyb20tYmFjaywgZnJvbS1mcm9udCkpO1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gW251bGxdIC0gU2l6ZSB0byBzdGFydCBhdC4gQnkgZGVmYXVsdCBgMGAgYW5kIGAxYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFtudWxsXSAtIFNpemUgdG8gZW5kIGF0LiBCeSBkZWZhdWx0IGAxYCBhbmQgYDBgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktem9vbShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IG51bGwsXG4gICR0bzogbnVsbCxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmcm9tOiBpZigkZnJvbSAhPSBudWxsLCAkZnJvbSwgaWYoJHN0YXRlID09IGluLCAwLCAxKSk7XG4gICR0bzogaWYoJHRvICE9IG51bGwsICR0bywgaWYoJHN0YXRlID09IGluLCAxLCAwKSk7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtudWxsXSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuIEJ5IGRlZmF1bHQgYGN3YCBhbmQgYGNjd2AgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiAhPSBudWxsLCAkZGlyZWN0aW9uLCBpZigkc3RhdGUgPT0gaW4sIGN3LCBjY3cpKTtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1hbmltYXRpb24oJGFyZ3MuLi4pIHtcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xuICBhbmltYXRpb24tbmFtZTogdW5xdW90ZSgkbmFtZSk7XG59XG4iLCJoMSB7XG4gIEBpbmNsdWRlIHByaW1hcnktZm9udCg2MDApO1xuICBmb250LXNpemU6Zm9udC1yZW0oMzkpO1xuICBsaW5lLWhlaWdodDpmb250LXJlbSg0Nyk7XG4gIGJhY2tncm91bmQ6ICM3NjVCQTc7XG4gIGNvbG9yOiNmZmY7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZm9udC1zaXplOmZvbnQtcmVtKDY3KTtcbiAgICBsaW5lLWhlaWdodDpmb250LXJlbSg4MCk7XG4gIH1cbn1cblxuaDIge1xuICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNjAwKTtcbiAgZm9udC1zaXplOmZvbnQtcmVtKDM0KTtcbiAgbGluZS1oZWlnaHQ6Zm9udC1yZW0oNDUpO1xuICBjb2xvcjojNzY1QkE3O1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGZvbnQtc2l6ZTpmb250LXJlbSgzOCk7XG4gICAgbGluZS1oZWlnaHQ6Zm9udC1yZW0oNTIpO1xuICB9XG59XG5oMyB7XG4gIEBpbmNsdWRlIHByaW1hcnktZm9udCg2MDApO1xuICBmb250LXNpemU6IGZvbnQtcmVtKDI3KTtcbiAgbGluZS1oZWlnaHQ6IGZvbnQtcmVtKDMzKTtcbiAgY29sb3I6Izc2NUJBNztcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBmb250LXNpemU6IGZvbnQtcmVtKDM0KTtcbiAgICBsaW5lLWhlaWdodDogZm9udC1yZW0oNDYpO1xuICB9XG59XG5cbmg0IHtcbiAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDYwMCk7XG4gIGZvbnQtc2l6ZTogZm9udC1yZW0oMjQpO1xuICBsaW5lLWhlaWdodDogZm9udC1yZW0oMzUpO1xuICBjb2xvcjojNzY1QkE3O1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGZvbnQtc2l6ZTogZm9udC1yZW0oMjkpO1xuICB9XG59XG5cbmg1IHtcbiAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDYwMCk7XG4gIGZvbnQtc2l6ZTpmb250LXJlbSgyMCk7XG4gIGxpbmUtaGVpZ2h0OmZvbnQtcmVtKDI4KTtcbiAgY29sb3I6Izc2NUJBNztcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBmb250LXNpemU6Zm9udC1yZW0oMjQpO1xuICAgIGxpbmUtaGVpZ2h0OmZvbnQtcmVtKDMxKTtcbiAgfVxufVxuXG5oNiB7XG4gIEBpbmNsdWRlIHByaW1hcnktZm9udCg2MDApO1xuICBmb250LXNpemU6Zm9udC1yZW0oMTgpO1xuICBsaW5lLWhlaWdodDpmb250LXJlbSgyMik7XG59XG5cbnAge1xuICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNTAwKTtcbiAgZm9udC1zaXplOmZvbnQtcmVtKDE4KTtcbiAgbGluZS1oZWlnaHQ6Zm9udC1yZW0oMzIpO1xuICBjb2xvcjogIzE4MjAyQztcbiAgJi5oYXMtc21hbGwtZm9udC1zaXplIHtcbiAgICBmb250LXNpemU6Zm9udC1yZW0oMTYpO1xuICAgIGxpbmUtaGVpZ2h0OmZvbnQtcmVtKDI5KTtcbiAgfVxuICBhIHtcbiAgICBjb2xvcjojMDAwO1xuICAgIGJvcmRlci1ib3R0b206MnB4IHNvbGlkICM3NjVCQTc7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgYm9yZGVyLWNvbG9yOiM3NjVCQTc7XG4gICAgfVxuICB9XG59XG5cbnVsLCBvbCB7XG4gIGxpc3Qtc3R5bGU6bm9uZTtcbiAgbGkge1xuICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg1MDApO1xuICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxOCk7XG4gICAgbGluZS1oZWlnaHQ6Zm9udC1yZW0oMzIpO1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDpyZW0tY2FsYygyMCk7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDpcIuKAolwiO1xuICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDI2KTtcbiAgICAgIGxlZnQ6MDtcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgdG9wOjA7XG4gICAgfVxuICB9XG4gICYubm8tYnVsbGV0cyB7XG4gICAgbGkge1xuICAgICAgcGFkZGluZy1sZWZ0OjA7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi50aHJlZS1jb2xzIHtcbiAgICBjb2x1bW5zOiAzO1xuICAgIC13ZWJraXQtY29sdW1uczogMztcbiAgICAtbW96LWNvbHVtbnM6IDM7XG4gIH1cbn1cblxuYSB7XG4gIEBpbmNsdWRlIHByaW1hcnktZm9udCg2MDApO1xuICBjb2xvcjojMDAwO1xuICBib3JkZXItYm90dG9tOjJweCBzb2xpZCAjNzY1QkE3O1xuICAmOmhvdmVyIHtcbiAgICBjb2xvcjojNzY1QkE3O1xuICAgIGJvcmRlci1jb2xvcjojNzY1QkE3O1xuICB9XG59XG5cbi53cC1ibG9jay1oZWFkaW5nIHtcbiAgbWFyZ2luOnJlbS1jYWxjKDUwIDAgMzAgMCk7XG59XG4iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgc3JjOiAgdXJsKCcuLi9mb250cy9pY29tb29uLmVvdD9zMHIyOHEyJyk7XG4gIHNyYzogIHVybCgnLi4vZm9udHMvaWNvbW9vbi5lb3Q/czByMjhxMiNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL2ljb21vb24ud29mZjI/czByMjhxMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL2ljb21vb24udHRmP3MwcjI4cTInKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcuLi9mb250cy9pY29tb29uLndvZmY/czByMjhxMicpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnLi4vZm9udHMvaWNvbW9vbi5zdmc/czByMjhxMiNpY29tb29uJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xufVxuXG5bY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBuZXZlcjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG4gIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmljb24tZXh0ZXJuYWwtbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxYVwiO1xufVxuXG4uaWNvbi1wYXVzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxOVwiO1xufVxuXG4uaWNvbi1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxN1wiO1xufVxuLmljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDBcIjtcbn1cbi5pY29uLWFycm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG59XG4uaWNvbi1hdHRhY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDJcIjtcbn1cbi5pY29uLWNoZXYtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwM1wiO1xufVxuLmljb24tY2hldi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNFwiO1xufVxuLmljb24tY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDVcIjtcbn1cbi5pY29uLWhlYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG59XG4uaWNvbi1pbmZvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XG59XG4uaWNvbi1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG59XG4uaWNvbi1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA5XCI7XG59XG4uaWNvbi1yb3VuZC1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XG59XG4uaWNvbi1yb3VuZC1hcnJvdy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwYlwiO1xufVxuLmljb24tc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGNcIjtcbn1cbi5pY29uLXlvdXR1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGRcIjtcbn1cbi5pY29uLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBlXCI7XG59XG4uaWNvbi14OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBmXCI7XG59XG4uaWNvbi1pbnN0YWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTBcIjtcbn1cbi5pY29uLWxpbmtlZGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTExXCI7XG59XG4uaWNvbi1uZXdzbGV0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTEyXCI7XG59XG4uaWNvbi1jaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTEzXCI7XG59XG4uaWNvbi1waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNFwiO1xufVxuLmljb24tc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTE1XCI7XG59XG4uaWNvbi1xdWVzdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNlwiO1xufVxuLmljb24taGVhcnQtZmlsbGVkOmJlZm9yZSxcbi5mYXZvdXJpdGVkIC5pY29uLWhlYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTE4XCI7XG59XG4iLCJib2R5IHtcbiAgJi5oaWdoLWNvbnRyYXN0ID4gKiB7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSkgY29udHJhc3QoMTAwJSk7XG4gICAgaW1nIHtcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7IC8qIFNhZmFyaSA2LjAgLSA5LjAgKi9cbiAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xuICAgIH1cbiAgfVxufVxuIiwiYm9keSB7XG4gICYubG93LWNvbnRyYXN0ID4gKiB7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSkgY29udHJhc3QoNTAlKTtcbiAgICBpbWcge1xuICAgICAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTsgLyogU2FmYXJpIDYuMCAtIDkuMCAqL1xuICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gICAgfVxuICB9XG59IiwiLmJyZWFkY3J1bWJzLXdyYXBwZXIge1xuICBtYXgtd2lkdGg6cmVtLWNhbGMoMTIxMCk7XG4gIG1hcmdpbjowIGF1dG87XG59XG4uYnJlYWRjcnVtYnMsXG4ueW9hc3QtYnJlYWRjcnVtYnMge1xuICA+IHNwYW4ge1xuICAgIGNvbG9yOiMzMzNDNDI7XG4gICAgPiBzcGFuIHtcbiAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg0MDApO1xuICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE0KTtcbiAgICAgIGNvbG9yOiMzMzNDNDI7XG4gICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMTAgMCAxMCk7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IzMzM0M0MjtcbiAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE0KTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xuICAgICAgfVxuICAgICAgJi5icmVhZGNydW1iX2xhc3Qge1xuICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMTAgMCAxMCk7XG4gICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg3MDApO1xuICAgICAgfVxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDowO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5hY2NvcmRpb24td3JhcHBlciB7XG4gICYudGhlbWUtMSB7XG4gICAgLmFjY29yZGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgICBib3JkZXItdG9wOjQuNXB4IHNvbGlkICMxNzM3NjY7XG4gICAgICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMTczNzY2O1xuICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgICBjb2xvcjojMTczNzY2O1xuICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg3MDApO1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygyMSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjgpO1xuICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMjAgMzAgMjAgMCk7XG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgY29udGVudDogXCJcXGU5MGJcIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBjb2xvcjojMTczNzY2O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgICAgICAgICAgdG9wOnJlbS1jYWxjKDI1KTtcbiAgICAgICAgICAgIHJpZ2h0OjA7XG4gICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygzMik7XG4gICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMzIpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czoxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDojQ0NGMEY3O1xuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMCAzMCAwKTtcblxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgY29sb3I6ICMxODIwMkM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDpub25lO1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTkwYVwiO1xuICAgICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMS41KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi50aGVtZS0yIHtcbiAgICAuYWNjb3JkaW9uIHtcbiAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgIC5hY2NvcmRpb24taXRlbSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoMTEpO1xuICAgICAgICBiYWNrZ3JvdW5kOiNGRkZGRkY7XG4gICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMTApO1xuICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgICBjb2xvcjojMTczNzY2O1xuICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg3MDApO1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygyNCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjgpO1xuICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDI3IDQwIDI3IDcyKTtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OmF1dG87XG4gICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNDAwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOSk7XG4gICAgICAgICAgICBjb2xvcjojMTgyMDJDO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDpub25lO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNik7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTkwYlwiO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGNvbG9yOiMxNzM3NjY7XG4gICAgICAgICAgICBmb250LXdlaWdodDo0MDA7XG4gICAgICAgICAgICB0b3A6cmVtLWNhbGMoMzIpO1xuICAgICAgICAgICAgbGVmdDpyZW0tY2FsYygxMyk7XG4gICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygzMik7XG4gICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMzIpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czoxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDojQ0NGMEY3O1xuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDQwIDMwIDcyKTtcblxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgY29sb3I6ICMxODIwMkM7XG4gICAgICAgICAgfVxuICAgICAgICAgIC50YWJsZSB7XG4gICAgICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgICAgICAgdGhlYWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOjJweCBzb2xpZCAjNzA3MDcwO1xuICAgICAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygwIDAgNDUgMCk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg3MDApO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMTkpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjojMTgyMDJDO1xuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDIxKTtcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjojMTczNzY2O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRib2R5IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICAgICAgdHIge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDpub25lO1xuICAgICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjojMTgyMDJDO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDEwIDApO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMTczNzY2O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNDAwKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE1KTtcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg3MDApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiMxODIwMkM7XG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjE7XG4gICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDonKyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6cmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICMxODIwMkM7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDpub25lO1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTkwYVwiO1xuICAgICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMS41KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuc2VsZWN0Mi1jb250YWluZXIge1xuICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7XG4gIC5zZWxlY3Rpb24ge1xuICAgIC5zZWxlY3QyLXNlbGVjdGlvbiB7XG4gICAgICBoZWlnaHQ6cmVtLWNhbGMoNDkpO1xuICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYygyNSk7XG4gICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgICBib3JkZXI6M3B4IHNvbGlkICM3NjVCQTc7XG4gICAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZzpyZW0tY2FsYygwIDIwKTtcbiAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg2MDApO1xuICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE4KTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMCAyNSk7XG4gICAgICAgIGhlaWdodDpyZW0tY2FsYyg2Mik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoMzEpO1xuICAgICAgfVxuICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgICAgIHJpZ2h0OnJlbS1jYWxjKDIwKTtcbiAgICAgICAgdG9wOnJlbS1jYWxjKDEwKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICByaWdodDpyZW0tY2FsYyg0MCk7XG4gICAgICAgICAgdG9wOnJlbS1jYWxjKDE2KTtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZTkwMVwiO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDEwKTtcbiAgICAgICAgICBmb250LXdlaWdodDo0MDA7XG4gICAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICB0cmFuc2l0aW9uOmFsbCAwLjJzIGxpbmVhcjtcbiAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKC0xODBkZWcpO1xuICAgICAgICB9XG4gICAgICAgIGIge1xuICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDBkZWcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuc2VsZWN0Mi1kcm9wZG93biB7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMzApO1xuICAgIGJvcmRlcjpub25lO1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiM3NjVCQTc7XG4gICAgYm94LXNoYWRvdzowIHJlbS1jYWxjKDMpIHJlbS1jYWxjKDYpIHJnYmEoMCwwLDAsMC4xNik7XG4gICAgdG9wOnJlbS1jYWxjKDEwKTtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDM1IDApO1xuICAgIC5zZWxlY3QyLXJlc3VsdHMge1xuICAgICAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyB7XG4gICAgICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZDojNzY1QkE3O1xuICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMTcgMjUpO1xuICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg2MDApO1xuICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxOCk7XG4gICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDojZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjojMDAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiMwMDA7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5zZWxlY3QyLWRyb3Bkb3duLS1hYm92ZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzMCkgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoLTIwKTtcbiAgICB9XG4gIH1cbiAgJi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiB7XG4gICAgLnNlbGVjdDItc2VsZWN0aW9uIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoMzEpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5zZWxlY3QyLWRyb3Bkb3duLS1iZWxvdyB7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzMSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn0iLCIud3AtYmxvY2stcXVvdGUge1xuICBwYWRkaW5nOnJlbS1jYWxjKDMwIDQwIDIwIDQwKTtcbiAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYygzNSk7XG4gIGJhY2tncm91bmQ6I0VBRjlGQztcbiAgYm9yZGVyOm5vbmU7XG4gIG1hcmdpbjpyZW0tY2FsYygzMCAwKTtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luOnJlbS1jYWxjKDYwIDApO1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwZVwiO1xuICAgIGZvbnQtZmFtaWx5OidpY29tb29uJywgc2Fucy1zZXJpZjtcbiAgICBjb2xvcjojMTczNzY2O1xuICAgIGZvbnQtc2l6ZTpmb250LXJlbSgzNSk7XG4gICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyMCk7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDQwKTtcbiAgICB9XG4gIH1cbiAgcCB7XG4gICAgY29sb3I6IzE3Mzc2NjtcbiAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNzAwKTtcbiAgICBmb250LXNpemU6Zm9udC1yZW0oMjMpO1xuICAgIGxpbmUtaGVpZ2h0OmZvbnQtcmVtKDI3KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDI5KTtcbiAgICAgIGxpbmUtaGVpZ2h0OmZvbnQtcmVtKDM3KTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIHByaW50IHtcbiAgLndwLWJsb2NrLXF1b3RlIHtcbiAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIG1hcmdpbjpyZW0tY2FsYygxMCAwKTtcbiAgfVxufSIsIi5uZXdzbGV0dGVyLXNpZ251cCB7XG4gIGJhY2tncm91bmQ6IzAwODA5QTtcbiAgcGFkZGluZzpyZW0tY2FsYyg0MCAyNSk7XG4gIG1hcmdpbi10b3A6YXV0bztcbiAgYm9yZGVyLWJvdHRvbTpub25lO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBhZGRpbmc6cmVtLWNhbGMoMzAgMCk7XG4gIH1cbiAgLm5ld3NsZXR0ZXItc2lnbnVwLWlubmVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMjEwKTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgIC5pY29uLXdyYXBwZXIge1xuICAgICAgd2lkdGg6cmVtLWNhbGMoNzEpO1xuICAgICAgaGVpZ2h0OnJlbS1jYWxjKDcxKTtcbiAgICAgIGZsZXgtc2hyaW5rOjA7XG4gICAgICBib3JkZXI6NHB4IHNvbGlkICNGRkZGRkY7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgMCAyNSAwKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOnJlbS1jYWxjKDg2KTtcbiAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDg2KTtcbiAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgMjUgMCAwKTtcbiAgICAgIH1cbiAgICAgIGkge1xuICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMjgpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgzMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLm5ld3NsZXR0ZXItdGl0bGUge1xuICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjpyZW0tY2FsYygwIDAgMzAgMCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDExMCAwIDApO1xuICAgICAgfVxuICAgICAgaDQge1xuICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgfVxuICAgIH1cbiAgICAubmV3c2xldHRlci1kZXNjcmlwdGlvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6cmVtLWNhbGMoNDApO1xuICAgICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg2MDApO1xuICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICBtYXJnaW46MDtcbiAgICAgIH1cbiAgICB9XG4gICAgLm5ld3NsZXR0ZXItY3RhIHtcbiAgICAgIGxlZnQ6MDtcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjNzO1xuICAgICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgyNik7XG4gICAgICAgIGJvcmRlci1ib3R0b206bm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDojMDI3QjkzO1xuICAgIC5uZXdzbGV0dGVyLXNpZ251cC1pbm5lciB7XG4gICAgICAubmV3c2xldHRlci1jdGEge1xuICAgICAgICBsZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmNhcmQge1xuICBib3JkZXI6bm9uZTtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIGRpc3BsYXk6YmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoMzApO1xuICBvdmVyZmxvdzpoaWRkZW47XG4gIHotaW5kZXg6MTtcbiAgPiBpbWcge1xuICAgIHBvc2l0aW9uOnN0YXRpYztcbiAgICB0b3A6MDtcbiAgICBsZWZ0OjA7XG4gICAgcmlnaHQ6MDtcbiAgICB3aWR0aDoxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHotaW5kZXg6MjtcbiAgICB0cmFuc2l0aW9uOmFsbCAwLjJzIGxpbmVhcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgaW5zZXQ6MDtcbiAgICB9XG4gIH1cbiAgLmNhcmQtaW5mbyB7XG4gICAgei1pbmRleDo1O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB0b3A6YXV0bztcbiAgICAgIGJvdHRvbTowO1xuICAgIH1cbiAgICAuY2FyZC1pbmZvLWlubmVyIHtcbiAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMjUgMzApO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzpyZW0tY2FsYyg0NSA1MCk7XG4gICAgICB9XG4gICAgICBoMiwgaDMsIGg0LCBoNSwgcCB7XG4gICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgIG1hcmdpbjowO1xuICAgICAgfVxuICAgICAgLmNhcmQtY3RhIHtcbiAgICAgICAgd2lkdGg6cmVtLWNhbGMoMzQpO1xuICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMzQpO1xuICAgICAgICBib3JkZXI6M3B4IHNvbGlkICNmZmY7XG4gICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6MTAwJTtcbiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OnJlbS1jYWxjKDIwKTtcbiAgICAgICAgdG9wOnJlbS1jYWxjKDE2MCk7XG4gICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgIHRyYW5zaXRpb246YWxsIDAuMnMgbGluZWFyO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDQzKTtcbiAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNDMpO1xuICAgICAgICAgIHRvcDphdXRvO1xuICAgICAgICAgIHJpZ2h0OnJlbS1jYWxjKDI1KTtcbiAgICAgICAgICBib3R0b206cmVtLWNhbGMoMjUpO1xuICAgICAgICB9XG4gICAgICAgIGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxNyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuICAmLnB1cnBsZSB7XG4gICAgYmFja2dyb3VuZDojNzY1QkE3O1xuICAgIC5jYXJkLWluZm8ge1xuICAgICAgYmFja2dyb3VuZDojNzY1QkE3O1xuICAgIH1cbiAgfVxuICAmLnBpbmsge1xuICAgIGJhY2tncm91bmQ6I0M0NDM2ODtcbiAgICAuY2FyZC1pbmZvIHtcbiAgICAgIGJhY2tncm91bmQ6I0M0NDM2ODtcbiAgICB9XG4gIH1cbiAgJi50ZWFsIHtcbiAgICBiYWNrZ3JvdW5kOiMwMDgwOUE7XG4gICAgLmNhcmQtaW5mbyB7XG4gICAgICBiYWNrZ3JvdW5kOiMwMDgwOUE7XG4gICAgfVxuICB9XG4gICYudHJhbnNwYXJlbnQge1xuICAgIC5jYXJkLWluZm8ge1xuICAgICAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNDQpO1xuICAgIH1cbiAgfVxuICAmLmZ1bGxfdHJhbnNwYXJlbnQge1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDonJztcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgaW5zZXQ6MDtcbiAgICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjE0KTtcbiAgICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgICAgIHotaW5kZXg6MztcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDonJztcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgYm90dG9tOjA7XG4gICAgICBsZWZ0OjA7XG4gICAgICByaWdodDowO1xuICAgICAgYmFja2dyb3VuZDogcmdiKDAsMCwwKTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsMCwwLDAuNzcpIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuICAgICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICAgICAgei1pbmRleDo0O1xuICAgICAgaGVpZ2h0OnJlbS1jYWxjKDIzNyk7XG4gICAgfVxuICB9XG4gICYudHJhbnNwYXJlbnQsXG4gICYuZnVsbF90cmFuc3BhcmVudCB7XG4gICAgPiBpbWcge1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICB0b3A6MDtcbiAgICAgIGxlZnQ6MDtcbiAgICAgIHJpZ2h0OjA7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICB6LWluZGV4OjI7XG4gICAgICB0cmFuc2l0aW9uOmFsbCAwLjJzIGxpbmVhcjtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGluc2V0OjA7XG4gICAgICB9XG4gICAgfVxuICAgIC5jYXJkLWluZm8ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiByZW0tY2FsYygxODgpO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OjAgcmVtLWNhbGMoMykgcmVtLWNhbGMoNikgcmdiYSgwLDAsMCwwLjMxKTtcbiAgICA+IGltZyB7XG4gICAgICB0cmFuc2Zvcm06c2NhbGUoMS4wNSk7XG4gICAgfVxuICAgIC5jYXJkLWluZm8ge1xuICAgICAgLmNhcmQtaW5mby1pbm5lciB7XG4gICAgICAgIC5jYXJkLWN0YSB7XG4gICAgICAgICAgYmFja2dyb3VuZDojZmZmO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYucHVycGxlIHtcbiAgICAgIC5jYXJkLWluZm8taW5uZXIge1xuICAgICAgICAuY2FyZC1jdGEge1xuICAgICAgICAgIGNvbG9yOiM3NjVCQTc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5waW5rIHtcbiAgICAgIC5jYXJkLWluZm8taW5uZXIge1xuICAgICAgICAuY2FyZC1jdGEge1xuICAgICAgICAgIGNvbG9yOiNDNDQzNjg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi50ZWFsIHtcbiAgICAgIC5jYXJkLWluZm8taW5uZXIge1xuICAgICAgICAuY2FyZC1jdGEge1xuICAgICAgICAgIGNvbG9yOiMwMDgwOUE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi50cmFuc3BhcmVudCxcbiAgICAmLmZ1bGxfdHJhbnNwYXJlbnQge1xuXG4gICAgICAgIC5jYXJkLWluZm8taW5uZXIge1xuICAgICAgICAgIC5jYXJkLWN0YSB7XG4gICAgICAgICAgICBjb2xvcjojMDAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuICB9XG59IiwiLmhlbHAtbWVudSB7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAuaGVscC1tZW51LXRvZ2dsZSB7XG4gICAgaGVpZ2h0OnJlbS1jYWxjKDQ5KTtcbiAgICBsaW5lLWhlaWdodDpmb250LXJlbSg0Mik7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGJvcmRlcjozcHggc29saWQgIzc2NUJBNztcbiAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDI1KTtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMjAgMCAyNSk7XG4gICAgY29sb3I6IzAwMDtcbiAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNzAwKTtcbiAgICBmb250LXNpemU6Zm9udC1yZW0oMTgpO1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgNDAgMCA0NSk7XG4gICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDQyKTtcbiAgICAgIGhlaWdodDpyZW0tY2FsYyg3MSk7XG4gICAgICBsaW5lLWhlaWdodDpmb250LXJlbSg3MSk7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcXGU5MDFcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicsIHNhbnMtc2VyaWY7XG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OnJlbS1jYWxjKDIwKTtcbiAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxMCk7XG4gICAgICBjb2xvcjogIzc2NUJBNztcbiAgICAgIHRyYW5zaXRpb246YWxsIDAuM3MgbGluZWFyO1xuICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcmlnaHQ6cmVtLWNhbGMoMzApO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmhvdmVyIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDBkZWcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYygyNSk7XG4gICAgbWFyZ2luLXRvcDpyZW0tY2FsYygxMik7XG4gICAgYm9yZGVyOjFweCBzb2xpZCAjNzY1QkE3O1xuICAgIHBhZGRpbmc6MDtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgYmFja2dyb3VuZDojNzY1QkE3O1xuICAgIHRvcDpyZW0tY2FsYyg0MikgIWltcG9ydGFudDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYyg0Mik7XG4gICAgICB3aWR0aDpyZW0tY2FsYyg1NDIpO1xuICAgICAgdG9wOnJlbS1jYWxjKDYyKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgICBtYXJnaW46MDtcbiAgICAgIHBhZGRpbmc6MDtcbiAgICAgIGxpIHtcbiAgICAgICAgcGFkZGluZzpyZW0tY2FsYygxNSAyNSk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygyNSA0NSk7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDUwMCk7XG4gICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE4KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDpmb250LXJlbSgzMik7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsImJvZHkge1xuICAmLmZpeGVkLWhlYWRlciB7XG4gICAgaGVhZGVyIHtcbiAgICAgICYubGFuZGluZyB7XG4gICAgICAgIC5oZWFkZXItaW5uZXIge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgLmxvZ28ge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgIC5oZWFkZXItcmlnaHQtc2lkZSB7XG4gICAgICAgICAgICAuaGVhZGVyLXJpZ2h0LXRvcC1zaWRlIHtcbiAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiYm9keSB7XG4gICAgJi5wYWdlLXRlbXBsYXRlLWRlZmF1bHQge1xuICAgICAgICAuaGVhZGVyIHtcbiAgICAgICAgICAgIC5oZWFkZXItaW5uZXIge1xuICAgICAgICAgICAgICAgIC5oZWFkZXItcmlnaHQtc2lkZSB7XG4gICAgICAgICAgICAgICAgICAgIC5oZWFkZXItcmlnaHQtYm90dG9tLXNpZGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmhhbWJ1cmdlci1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudG9nZ2xlLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuYm9keSB7XG4gICY6bm90KC5ob21lKSxcbiAgJi5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMge1xuICAgIC5oZWFkZXIge1xuICAgICAgcG9zaXRpb246Zml4ZWQ7XG4gICAgICB6LWluZGV4OjEwMDtcbiAgICAgIHRvcDowO1xuICAgICAgbGVmdDowO1xuICAgICAgcmlnaHQ6MDtcbiAgICAgIC5oZWFkZXItaW5uZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAubG9nbyB7XG4gICAgICAgICAgLmNvbG9yLWxvZ28ge1xuICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgICAud2hpdGUtbG9nbyB7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaGVhZGVyLXJpZ2h0LXNpZGUge1xuICAgICAgICAgIC5oZWFkZXItcmlnaHQtdG9wLXNpZGUge1xuICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICAgICYuZml4ZWQtaGVhZGVyIHtcbiAgICAgIC5oZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC45Nik7XG4gICAgICAgIC5oZWFkZXItaW5uZXIge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgLmxvZ28ge1xuICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgICAuY29sb3ItbG9nbyB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAud2hpdGUtbG9nbyB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmhlYWRlci1yaWdodC1zaWRlIHtcbiAgICAgICAgICAgIC5oZWFkZXItcmlnaHQtYm90dG9tLXNpZGUge1xuICAgICAgICAgICAgICAuaGFtYnVyZ2VyLW1lbnUge1xuICAgICAgICAgICAgICAgIC50b2dnbGUtbWVudSB7XG4gICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDojNzY1QkE3O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG4gICYuc2luZ2xlOm5vdCguc2luZ2xlLXRyaWJlX2V2ZW50cykge1xuICAgIC5oZWFkZXIge1xuXG4gICAgICAuaGVhZGVyLWlubmVyIHtcbiAgICAgICAgLmxvZ28ge1xuICAgICAgICAgIC53aGl0ZS1sb2dvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIudG9vbHRpcCB7XG4gIGJhY2tncm91bmQ6I0ZGRkZGRjtcbiAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYygyMSk7XG4gIEBpbmNsdWRlIHByaW1hcnktZm9udCg1MDApO1xuICBmb250LXNpemU6Zm9udC1yZW0oMTYpO1xuICBsaW5lLWhlaWdodDpmb250LXJlbSgyOSk7XG4gIGNvbG9yOiMwMDA7XG4gIG1heC13aWR0aDpyZW0tY2FsYygyMDApO1xuICBwYWRkaW5nOnJlbS1jYWxjKDcgMTUpO1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcZTkwN1wiO1xuICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicsIHNhbnMtc2VyaWY7XG4gICAgbWFyZ2luLWxlZnQ6cmVtLWNhbGMoMTApO1xuICB9XG4gICYudG9wIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxuICB9XG5cbn1cbiIsIi50cmliZS1jb21tb24tLWJyZWFrcG9pbnQtbWVkaXVtLFxuLnRyaWJlLWV2ZW50cy12aWV3LS1tb250aCB7XG4gICYudHJpYmUtZXZlbnRzIHtcbiAgICB1bCB7XG4gICAgICBsaSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnRyaWJlLWV2ZW50cy1sLWNvbnRhaW5lcixcbiAgICAudHJpYmUtY29tbW9uLWwtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6MDtcbiAgICB9XG4gIH1cbn1cblxuLnRyaWJlLWNvbW1vbiB7XG4gIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDUwKTtcbiAgJi50cmliZS1ldmVudHMge1xuICAgIC50cmliZS1ldmVudHMtaGVhZGVyIHtcbiAgICAgIHRvcDowICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC50cmliZS1ldmVudHMtYy1zdWJzY3JpYmUtZHJvcGRvd24sXG4gICAgLnRyaWJlLWV2ZW50cy1jLWV2ZW50cy1iYXJfX2ZpbHRlci1idXR0b24tY29udGFpbmVyLFxuICAgIC50cmliZS1ldmVudHMtYy12aWV3LXNlbGVjdG9yX19idXR0b24sXG4gICAgLnRyaWJlLWV2ZW50cy1jLXZpZXctc2VsZWN0b3JfX2xpc3QtaXRlbS10ZXh0LFxuICAgIC50cmliZS1ldmVudHMtYy12aWV3LXNlbGVjdG9yX19saXN0LWl0ZW0taWNvbiBzdmcge1xuXG4gICAgfVxuICAgIC50cmliZS1ldmVudHMtYy12aWV3LXNlbGVjdG9yX19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgIHBhZGRpbmc6MDtcbiAgICAgIGJveC1zaGFkb3c6bm9uZTtcbiAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgIGJvcmRlcjpub25lO1xuICAgIH1cbiAgICAudHJpYmUtZmlsdGVyLWJhcl9fZmlsdGVycy1zbGlkZXItd3JhcHBlciB7XG4gICAgICAudHJpYmUtZmlsdGVyLWJhcl9fZmlsdGVycy1zbGlkZSB7XG4gICAgICAgIC50cmliZS1maWx0ZXItYmFyLWMtcGlsbCB7XG4gICAgICAgICAgLnRyaWJlLWZpbHRlci1iYXItYy1waWxsX19waWxsIHtcbiAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg1NCk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDM0KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgIzJEMzM0NDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IzJEMzM0NDtcbiAgICAgICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMjYpO1xuICAgICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDYwMCk7XG4gICAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMTkpO1xuICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICAgIHdpZHRoOmF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC50cmliZS1ldmVudHMtYy12aWV3LXNlbGVjdG9yX19saXN0LWl0ZW0taWNvbiB7XG4gICAgICBpIHtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDQwKTtcbiAgICAgICAgY29sb3I6cmdiYSg0NSw1MSw2OCwwLjM1KTtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC1zdHlsZTpub3JtYWw7XG4gICAgICAgIH1cbiAgICAgICAgJi5tb250aCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGU5MDVcIjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5saXN0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTkwNFwiO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5hY3RpdmUtbGluayB7XG4gICAgICAgIGkge1xuICAgICAgICAgIGNvbG9yOiMyRDMzNDQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuICBcbiAgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aCB7XG4gICAgbWFyZ2luLXRvcDpyZW0tY2FsYygwKTtcbiAgICBcbiAgICAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19oZWFkZXItY29sdW1uLXRpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS10ZWMtZm9udC1zaXplLTEpO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tdGVjLWxpbmUtaGVpZ2h0LTApO1xuICAgIH1cbiAgICBcbiAgICAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19oZWFkZXItcm93IHtcbiAgICAgIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2hlYWRlci1jb2x1bW4ge1xuICAgICAgICBoMyB7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNDAwKTtcbiAgICAgICAgICAgIGNvbG9yOiMyRDMzNDQ7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICYudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19oZWFkZXItY29sdW1uLXRpdGxlLWRlc2t0b3Age1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJi50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2hlYWRlci1jb2x1bW4tdGl0bGUtbW9iaWxlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19ib2R5IHtcbiAgICAgIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheS1jZWxsIHtcbiAgICAgICAgaDMge1xuICAgICAgICAgIHRpbWUge1xuICAgICAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg3MDApO1xuICAgICAgICAgICAgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fZGF5LWRhdGUtbGluayB7XG4gICAgICAgICAgICAgIGNvbG9yOiM3NjVCQTc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgICAgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fY2FsZW5kYXItZXZlbnQtZGV0YWlscyB7XG4gICAgICAgICAgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fY2FsZW5kYXItZXZlbnQtZGF0ZXRpbWUge1xuICAgICAgICAgICAgdGltZSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg0MDApO1xuICAgICAgICAgICAgICBjb2xvcjojMkQzMzQ0O1xuICAgICAgICAgICAgICAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXktZGF0ZS1saW5rIHtcbiAgICAgICAgICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2NhbGVuZGFyLWV2ZW50LXRpdGxlIHtcbiAgICAgICAgICAgIC50cmliZS1jb21tb24tYW5jaG9yLXRoaW4gdG9vbHRpcHN0ZXJlZCB7XG4gICAgICAgICAgICAgIGNvbG9yOiMwMDAwMDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiM3NjVCQTcgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fYm9keSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS10ZWMtY29sb3ItYm9yZGVyLXNlY29uZGFyeS1tb250aC1ncmlkKTtcbiAgICB9XG4gICAgXG4gICAgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fd2VlayB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tdGVjLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbW9udGgtZ3JpZCk7XG4gICAgfVxuICAgIFxuICAgIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogYXV0bztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZWMtY29sb3ItYm9yZGVyLXNlY29uZGFyeS1tb250aC1ncmlkKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE2OHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fZGF5LWRhdGUge1xuICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLXRlYy1zcGFjZXItMSkgdmFyKC0tdGVjLXNwYWNlci0zKTtcbiAgICAgICAgfVxuICAgICAgJi50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheS0tY3VycmVudCB7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZDojNzY1QkE3O1xuICAgICAgICAgIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheS1kYXRlLWRheW51bSB7XG4gICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgIH1cbiAgICAgICAgICAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19tb2JpbGUtZXZlbnRzLWljb24tLWV2ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fZGF5LWRhdGUtZGF5bnVtIHtcbiAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNzAwKTtcbiAgICAgICAgICBmb250LXNpemU6dmFyKC0tdGVjLWZvbnQtc2l6ZS03KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tdGVjLWxpbmUtaGVpZ2h0LTEpO1xuICAgICAgICB9XG4gICAgICAgIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX21vYmlsZS1ldmVudHMtaWNvbi0tZXZlbnQge1xuICAgICAgICAgIGJhY2tncm91bmQ6Izc2NUJBNztcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDExOCwgOTEsIDE2NywgMC4zNSlcbiAgICAgICAgfVxuICAgICAgICAmLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fZGF5LWNlbGwtLXNlbGVjdGVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiM3NjVCQTc7XG4gICAgICAgICAgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fZGF5LWRhdGUtZGF5bnVtIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIH1cbiAgICAgICAgICAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19tb2JpbGUtZXZlbnRzLWljb24tLWV2ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG4gICYudHJpYmUtY29tbW9uIHtcbiAgICAgIC50cmliZS1maWx0ZXItYmFyIHtcbiAgICAgICAgICAudHJpYmUtZmlsdGVyLWJhci1jLWZpbHRlci0tcGlsbCB7XG4gICAgICAgICAgICAgIC50cmliZS1maWx0ZXItYmFyLWMtZmlsdGVyX19jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTpub25lO1xuICAgICAgICAgICAgICAgICAgICB0b3A6cmVtLWNhbGMoNzApO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyggMTAgKTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIGxlZ2VuZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uLnRyaWJlLWZpbHRlci1iYXItYy1maWx0ZXJfX2ZpbHRlcnMtY2xvc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICAgIC50cmliZS1maWx0ZXItYmFyLWMtY2hlY2tib3gsXG4gICAgICAgICAgLnRyaWJlLWZpbHRlci1iYXItYy1kcm9wZG93biAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyggMTggMzAgKTtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgICAudHJpYmUtZmlsdGVyLWJhci1jLWNoZWNrYm94IGlucHV0LnRyaWJlLWNvbW1vbi1mb3JtLWNvbnRyb2wtY2hlY2tib3hfX2lucHV0IHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoIDMgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgICAgLnRyaWJlLWZpbHRlci1iYXItYy1jaGVja2JveCBsYWJlbCAsXG4gICAgICAgICAgLnRyaWJlLWZpbHRlci1iYXItYy1kcm9wZG93biAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCAxOCApO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoIDI0ICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICAgIC50cmliZS1maWx0ZXItYmFyLWMtZHJvcGRvd24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICYuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGMEYzRjg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgICAgLnNlbGVjdDItc2VhcmNoLFxuICAgICAgICAgIC5zZWxlY3Rpb24ge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgfVxuICBcbiAgLnRyaWJlLWZpbHRlci1iYXIudHJpYmUtZmlsdGVyLWJhci0taG9yaXpvbnRhbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIG1hcmdpbjogY2FsYyh2YXIoLS10ZWMtc3BhY2VyLTMpKi0xKSAwIHZhcigtLXRlYy1zcGFjZXItOCk7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxuICBcbiAgLnRyaWJlLWZpbHRlci1iYXIgLnRyaWJlLWZpbHRlci1iYXJfX2ZpbHRlcnMtc2xpZGVyLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB6LWluZGV4OiB2YXIoLS10ZWMtei1pbmRleC1maWx0ZXJzKTtcbiAgfVxuICBcbiAgLnRyaWJlLWZpbHRlci1iYXItLWhvcml6b250YWwudHJpYmUtZmlsdGVyLWJhciAudHJpYmUtZmlsdGVyLWJhcl9fZmlsdGVycy1zbGlkZSB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS10ZWMtc3BhY2VyLTEpO1xuICAgICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgXG4gIC50cmliZS1maWx0ZXItYmFyLS1ob3Jpem9udGFsLnRyaWJlLWZpbHRlci1iYXIgLnRyaWJlLWZpbHRlci1iYXJfX2ZpbHRlcnMtc2xpZGVyLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgfVxuICBcbiAgLnRyaWJlLWZpbHRlci1iYXIudHJpYmUtZmlsdGVyLWJhci0taG9yaXpvbnRhbCAudHJpYmUtZmlsdGVyLWJhcl9fc2VsZWN0ZWQtZmlsdGVycyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIFxuICAudHJpYmUtZmlsdGVyLWJhci0taG9yaXpvbnRhbC50cmliZS1maWx0ZXItYmFyLS1oYXMtc2VsZWN0ZWQtZmlsdGVycy50cmliZS1maWx0ZXItYmFyIC50cmliZS1maWx0ZXItYmFyX19hY3Rpb25zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgb3JkZXI6IDE7XG4gICAgICBwYWRkaW5nOiAwIDAgMCB2YXIoLS10ZWMtc3BhY2VyLTIpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIHotaW5kZXg6IHZhcigtLXRlYy16LWluZGV4LXNlYXJjaCk7XG4gIH1cbiAgXG4gIC50cmliZS1maWx0ZXItYmFyIC50cmliZS1maWx0ZXItYmFyX19hY3Rpb24tZG9uZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIFxuICAudHJpYmUtZmlsdGVyLWJhciAudHJpYmUtZmlsdGVyLWJhci1jLWNsZWFyLWJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBcbiAgfVxuICBcbiAgLnRyaWJlLWV2ZW50cy1oZWFkZXIge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIFxuICAgICAgLnRyaWJlLWV2ZW50cy1oZWFkZXJfX2V2ZW50cy1iYXIge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXRlYy1zcGFjZXItNyk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXRlYy1zcGFjZXItMyk7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIH1cbiAgfVxuICBcbiAgLnRyaWJlLWZpbHRlci1iYXItLWhvcml6b250YWwudHJpYmUtZmlsdGVyLWJhciAudHJpYmUtZmlsdGVyLWJhcl9fZm9ybSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIFxuICAudHJpYmUtZmlsdGVyLWJhci0taG9yaXpvbnRhbC50cmliZS1maWx0ZXItYmFyIC50cmliZS1maWx0ZXItYmFyX19maWx0ZXJzLWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiB2YXIoLS10ZWMtei1pbmRleC1maWx0ZXJzKTtcbiAgICAgIFxuICB9XG4gIFxuICAudHJpYmUtZmlsdGVyLWJhci0taG9yaXpvbnRhbC50cmliZS1maWx0ZXItYmFyIC50cmliZS1maWx0ZXItYmFyX19maWx0ZXJzIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIFxuICAudHJpYmUtZmlsdGVyLWJhci0taG9yaXpvbnRhbC50cmliZS1maWx0ZXItYmFyIC50cmliZS1maWx0ZXItYmFyLWMtZmlsdGVyLCAudHJpYmUtZmlsdGVyLWJhci0taG9yaXpvbnRhbC50cmliZS1maWx0ZXItYmFyIC50cmliZS1maWx0ZXItYmFyX19maWx0ZXJzLXNsaWRlIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXRlYy1zcGFjZXItMSk7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgXG4gIH1cbiAgXG4gIC50cmliZS1maWx0ZXItYmFyIC50cmliZS1maWx0ZXItYmFyLWMtZmlsdGVyLS1waWxsIC50cmliZS1maWx0ZXItYmFyLWMtZmlsdGVyX190b2dnbGUtd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cblxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWwtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKCA3MDAgKTtcbn1cblxuLnRvb2x0aXBzdGVyLWJhc2Uge1xuICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNDAwKTtcbn1cblxuLnRyaWJlLWNvbW1vbi0tYnJlYWtwb2ludC1tZWRpdW0udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheTpob3Zlcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiM3NjVCQTc7XG59XG5cbiNtYWluIHtcbiAgICAuZXRzLWV2ZW50cyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCA1MCApO1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6d3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydFxuICAgICAgICB9XG5cbiAgICAgICAgLmV2ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyggMzAgKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygzNzApO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKCAxMCApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmV2ZW50LWlubmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGMEYzRjg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyggMTAgKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLmNhcmQtc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoIDI2IDMwIDk4ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCAyMyApO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyggMzIgKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyggMjIgKTtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzJEMzM0NDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ldHMtbWV0YSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyggMTggKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoIDI0ICk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoIDE1ICk7XG5cbiAgICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAgIHRpbWUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzkwMUEzRDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aW1lLFxuICAgICAgICAgICAgICAgIC5tZXRhLWRlc2NyaXB0aW9uIHsgXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnZpZXctZGV0YWlscyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMoIDMwICk7XG4gICAgICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoIDMwICk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKCAzMCApO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMkQzMzQ0O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCAxNiApO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoIDMwICk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoIDAuMzIgKTtcblxuICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoIDEyICk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzkwMUEzRDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKCAzICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuM3M7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjOTAxQTNEO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiByZW0tY2FsYyggMTAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAudHJpYmUtZXZlbnRzIHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIFxuICAgICAgICAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLWxpc3QtbmF2IHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLnRyaWJlLWV2ZW50cy1jLW5hdl9fbGlzdC1pdGVtLS10b2RheSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAudHJpYmUtZXZlbnRzLWMtbmF2X19wcmV2LFxuICAgICAgICAudHJpYmUtZXZlbnRzLWMtbmF2X19uZXh0IHtcbiAgICAgICAgICAgIGNvbG9yOiAjMkQzMzQ0O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyggMTYgKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyggMzAgKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKCAwLjMyICk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzkwMUEzRDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC50cmliZS1jb21tb24tYy1zdmdpY29uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAudHJpYmUtZXZlbnRzLWMtbmF2X19wcmV2OmJlZm9yZSxcbiAgICAgICAgLnRyaWJlLWV2ZW50cy1jLW5hdl9fbmV4dDphZnRlciB7XG4gICAgICAgICAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgc3BlYWs6IG5ldmVyO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICAgICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCAxMiApO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgY29udGVudDogXCJcXGU5MDJcIjtcbiAgICAgICAgICAgIGNvbG9yOiAjOTAxQTNEO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAudHJpYmUtZXZlbnRzLWMtbmF2X19wcmV2IHtcbiAgICAgICAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoIDUgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuM3M7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKCAtNyApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLnRyaWJlLWV2ZW50cy1jLW5hdl9fbmV4dCB7XG4gICAgICAgICAgICAmID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyggNSApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAwLjNzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYyggLTcgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheS1kYXRlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdGVjLWZvbnQtc2l6ZS03KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS10ZWMtbGluZS1oZWlnaHQtMSk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXk6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRlYy10cmFuc2l0aW9uLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzkwMUEzRDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAudHJpYmUtZXZlbnRzLXZpZXctLWxpc3Qge1xuICAgICAgICAudHJpYmUtZXZlbnRzLWMtdG9wLWJhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheS1jZWxsLS1kZXNrdG9wLFxuICAgIC50cmliZS1ldmVudHMtYy10b3AtYmFyX19kYXRlcGlja2VyLWRlc2t0b3AsXG4gICAgLnRyaWJlLWV2ZW50cy1jLXRvcC1iYXJfX3RvZGF5LWJ1dHRvbixcbiAgICAudHJpYmUtZXZlbnRzLWMtdG9wLWJhcl9fbmF2IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXktY2VsbC0tbW9iaWxlLFxuICAgIC50cmliZS1ldmVudHMtYy10b3AtYmFyX19kYXRlcGlja2VyLW1vYmlsZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC50cmliZS1ldmVudHMtaGVhZGVyX190b3AtYmFyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdGVjLXNwYWNlci03KTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBmbGV4OiBhdXRvO1xuICAgIH1cbiAgICBcbiAgICAudHJpYmUtZXZlbnRzLWMtdG9wLWJhcl9fdG9kYXktYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDZweCAxNXB4O1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZWMtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cbiAgICBcbiAgICBidXR0b24udHJpYmUtZXZlbnRzLWMtdG9wLWJhcl9fZGF0ZXBpY2tlci1idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLXRlYy1mb250LXNpemUtOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS10ZWMtbGluZS1oZWlnaHQtMSk7XG4gICAgfVxuICAgIFxuICAgIC50cmliZS1maWx0ZXItYmFyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIFxuICAgIC50cmliZS1ldmVudHMtYy12aWV3LXNlbGVjdG9yIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAudHJpYmUtZXZlbnRzLWMtdmlldy1zZWxlY3Rvcl9fY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLnRyaWJlLWV2ZW50cy1jLXZpZXctc2VsZWN0b3JfX2xpc3QtaXRlbS1pY29uIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICBcbiAgICAudHJpYmUtZXZlbnRzLWMtdmlldy1zZWxlY3Rvcl9fbGlzdC1pdGVtLWxpbmsge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoIDEwICk7XG4gICAgfVxuICAgIFxuICAgIC50cmliZS1ldmVudHMtaGVhZGVyX19ldmVudHMtYmFyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoIDEwICk7XG4gICAgfVxufVxuXG5cbi50cmliZS1jb21tb24gLnRyaWJlLWZpbHRlci1iYXIgLnRyaWJlLWZpbHRlci1iYXItYy1maWx0ZXItLXBpbGwgLnRyaWJlLWZpbHRlci1iYXItYy1maWx0ZXJfX2NvbnRhaW5lciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdGVjLWNvbG9yLWJvcmRlci1zZWNvbmRhcnkpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXRlYy1ib3gtc2hhZG93LXRvb2x0aXApO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlYy1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMjQ4cHg7XG4gICAgei1pbmRleDogdmFyKC0tdGVjLXotaW5kZXgtZmlsdGVycyk7XG59XG5cblxuLnRyaWJlLWV2ZW50cy1jLWV2ZW50cy1iYXIge1xuXG5cblxufVxuXG4udHJpYmUtZXZlbnRzIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZzpyZW0tY2FsYygwIDI1KTtcbiAgfVxuICAudHJpYmUtZXZlbnRzLWhlYWRlci0taGFzLWV2ZW50LXNlYXJjaCB7XG4gICAgLnRyaWJlLWV2ZW50cy1jLWV2ZW50cy1iYXIge1xuICAgICAgYmFja2dyb3VuZDojRjhGOEY4ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDMxKTtcbiAgICAgIGJvcmRlcjpub25lO1xuICAgICAgLnRyaWJlLWV2ZW50cy1jLWV2ZW50cy1iYXJfX3NlYXJjaC1jb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgICAgIC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2lucHV0LWdyb3VwIHtcbiAgICAgICAgICAudHJpYmUtY29tbW9uLWZvcm0tY29udHJvbC10ZXh0IHtcbiAgICAgICAgICAgIG1hcmdpbjoxMnB4O1xuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg1MDApO1xuICAgICAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMTYpO1xuICAgICAgICAgICAgICBjb2xvcjojMDAwO1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6cmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eToxO1xuICAgICAgICAgICAgICAgIGNvbG9yOiMwMDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50cmliZS1jb21tb24tYy1zdmdpY29uIHtcbiAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDojMDAwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgICAgLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OmlubGluZS1mbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDcwMCk7XG4gICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE2KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDAuNCk7XG4gICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygwIDI1KTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBib3JkZXI6M3B4IHNvbGlkICM3NjVCQTc7XG4gICAgICAgICAgYmFja2dyb3VuZDojNzY1QkE3O1xuICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDM5KTtcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6MCByZW0tY2FsYygzKSByZW0tY2FsYyg2KSByZ2JhKDAsMCwwLDAuMTYpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnRyaWJlLWV2ZW50cy1jLWV2ZW50cy1iYXJfX3ZpZXdzIHtcbiAgICAgICAgLnRyaWJlLWV2ZW50cy1jLXZpZXctc2VsZWN0b3Ige1xuICAgICAgICAgIC50cmliZS1ldmVudHMtYy12aWV3LXNlbGVjdG9yX19jb250ZW50IHtcbiAgICAgICAgICAgIC50cmliZS1ldmVudHMtYy12aWV3LXNlbGVjdG9yX19saXN0IHtcbiAgICAgICAgICAgICAgLnRyaWJlLWV2ZW50cy1jLXZpZXctc2VsZWN0b3JfX2xpc3QtaXRlbSB7XG5cbiAgICAgICAgICAgICAgICAudHJpYmUtZXZlbnRzLWMtdmlldy1zZWxlY3Rvcl9fbGlzdC1pdGVtLWxpbmsge1xuICAgICAgICAgICAgICAgICAgLnRyaWJlLWV2ZW50cy1jLXZpZXctc2VsZWN0b3JfX2xpc3QtaXRlbS10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDUwMCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxNik7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi50cmliZS1ldmVudHMtYy12aWV3LXNlbGVjdG9yX19saXN0LWl0ZW0tLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAudHJpYmUtZXZlbnRzLWMtdmlldy1zZWxlY3Rvcl9fbGlzdC1pdGVtLWxpbmsge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiM3NjVCQTc7XG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjNweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAudHJpYmUtZXZlbnRzLWMtdG9wLWJhciB7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDUwKTtcbiAgICAgIC50cmliZS1ldmVudHMtYy10b3AtYmFyX19uYXYge1xuICAgICAgICAudHJpYmUtZXZlbnRzLWMtdG9wLWJhcl9fbmF2LWxpc3Qge1xuICAgICAgICAgIC50cmliZS1ldmVudHMtYy10b3AtYmFyX19uYXYtbGlzdC1pdGVtIHtcbiAgICAgICAgICAgIC50cmliZS1jb21tb24tYy1idG4taWNvbiB7XG4gICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICBmaWxsOiM3NjVCQTc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAudHJpYmUtY29tbW9uLWMtYnRuLWJvcmRlci1zbWFsbCB7XG4gICAgICAgIGJvcmRlcjoycHggc29saWQgIzc2NUJBNztcbiAgICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYygxMCk7XG4gICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg3MDApO1xuICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMTYpO1xuICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDggMjYpO1xuICAgICAgfVxuICAgICAgLnRyaWJlLWV2ZW50cy1jLXRvcC1iYXJfX2RhdGVwaWNrZXIge1xuICAgICAgICAudHJpYmUtZXZlbnRzLWMtdG9wLWJhcl9fZGF0ZXBpY2tlci1idXR0b24ge1xuICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg2MDApO1xuICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgzNCk7XG4gICAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoIHtcbiAgICAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19oZWFkZXIge1xuICAgICAgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9faGVhZGVyLXJvdyB7XG4gICAgICAgIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2hlYWRlci1jb2x1bW4ge1xuICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg1MDApO1xuICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE2KTtcbiAgICAgICAgICAgIGNvbG9yOiMwMDAwMDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC50cmliZS1ldmVudHMtYy1zdWJzY3JpYmUtZHJvcGRvd25fX2NvbnRhaW5lciB7XG4gICAgLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93biB7XG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgIC50cmliZS1ldmVudHMtYy1zdWJzY3JpYmUtZHJvcGRvd25fX2J1dHRvbiB7XG4gICAgICAgIGhlaWdodDpyZW0tY2FsYyg0OSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OmZvbnQtcmVtKDQyKTtcbiAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICBib3JkZXI6M3B4IHNvbGlkICM3NjVCQTc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoMjUpO1xuICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMjAgMCAyNSk7XG4gICAgICAgIGNvbG9yOiMwMDA7XG4gICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg3MDApO1xuICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMTgpO1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgNDAgMCA0NSk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYyg0Mik7XG4gICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDcxKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDpmb250LXJlbSg3MSk7XG4gICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMzc4KSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDEwKTtcbiAgICAgICAgICBjb2xvcjogIzc2NUJBNztcbiAgICAgICAgICB0cmFuc2l0aW9uOmFsbCAwLjNzIGxpbmVhcjtcbiAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHJpZ2h0OnJlbS1jYWxjKDMwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgY29sb3I6IzAwMCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQ6I2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6bm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6IzAwMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZDpub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAudHJpYmUtZXZlbnRzLWMtc3Vic2NyaWJlLWRyb3Bkb3duX19jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6MDtcbiAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgei1pbmRleDoyMDtcbiAgICAgICAgLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93bl9fbGlzdCB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgYmFja2dyb3VuZDojNzY1QkE3O1xuICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMzAgMCk7XG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czowO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoNyAyNSk7XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICAgICAgICAgICAgICBjb2xvcjojNzY1QkE3O1xuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jdHJpYmUtZXZlbnRzLXBnLXRlbXBsYXRlIHtcbiAgbWF4LXdpZHRoOiByZW0tY2FsYygxMjEwKTtcbiAgcGFkZGluZzpyZW0tY2FsYygwIDI1KTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBwYWRkaW5nOjA7XG4gIH1cblxuICB1bCB7XG4gICAgbGlzdC1zdHlsZTpub25lO1xuICAgIGxpIHtcbiAgICAgIHBhZGRpbmctbGVmdDowO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC50cmliZS1ldmVudHMtc2luZ2xlLWV2ZW50LXRpdGxlIHtcbiAgICBjb2xvcjojNzY1QkE3O1xuICB9XG4gIC50cmliZS1ldmVudHMtc2NoZWR1bGUge1xuICAgIGgyIHtcbiAgICAgIHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNzAwKTtcbiAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6Zm9udC1yZW0oMzIpO1xuICAgICAgICBjb2xvcjojMDAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAudHJpYmUtY29tbW9uIHtcbiAgICBwYWRkaW5nOjA7XG4gIH1cbiAgLnRyaWJlLWV2ZW50cy1jLXN1YnNjcmliZS1kcm9wZG93bl9fY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDQwMCk7XG4gICAgfVxuICAgIC50cmliZS1ldmVudHMtYy1zdWJzY3JpYmUtZHJvcGRvd25fX2J1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg0MDApO1xuICAgICAgfVxuICAgIH1cbiAgICAudHJpYmUtZXZlbnRzLWMtc3Vic2NyaWJlLWRyb3Bkb3duX19jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoNjApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAudHJpYmUtZXZlbnRzLXNpbmdsZS1zZWN0aW9uIHtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OmZsZXg7XG4gICAgfVxuICAgIC50cmliZS1ldmVudHMtbWV0YS1ncm91cCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjUwKTtcbiAgICAgIH1cbiAgICAgIC50cmliZS1ldmVudHMtc2luZ2xlLXNlY3Rpb24tdGl0bGUge1xuICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgfVxuICAgICAgZGwge1xuICAgICAgICBkdCwgZGQge1xuICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg1MDApO1xuICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxNik7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6Zm9udC1yZW0oMzApO1xuICAgICAgICAgIGNvbG9yOiMwMDA7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjojMDAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkdCB7XG4gICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDcwMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgI3RyaWJlLWV2ZW50cy1mb290ZXIge1xuICAgIC50cmliZS1ldmVudHMtbmF2LXBhZ2luYXRpb24ge1xuICAgICAgLnRyaWJlLWV2ZW50cy1zdWItbmF2IHtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbjpyZW0tY2FsYygwIDAgMjAgMCk7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgIH1cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206bm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxufSIsIi5wYWdlLWluZm8ge1xuICAucGFnZS1pbmZvLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOmZpeGVkO1xuICAgIGJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgcmlnaHQ6MDtcbiAgICBiYWNrZ3JvdW5kOiNGOEY4Rjg7XG4gICAgd2lkdGg6cmVtLWNhbGMoMzQ4KTtcbiAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDMwIDAgMCAzMCk7XG4gICAgZm9udC1zaXplOmZvbnQtcmVtKDM0KTtcbiAgICBib3gtc2hhZG93OjAgcmVtLWNhbGMoMykgcmVtLWNhbGMoNikgcmdiYSgwLDAsMCwwLjE2KTtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDIwIDIwIDQwIDQwKTtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246Y29sdW1uO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zaXRpb246YWxsIDAuMnMgbGluZWFyO1xuICAgIHotaW5kZXg6OTk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGJvdHRvbTpyZW0tY2FsYygzMDApO1xuICAgIH1cbiAgICAucGFnZS1pbmZvLWNsb3NlIHtcbiAgICAgIHdpZHRoOnJlbS1jYWxjKDM3KTtcbiAgICAgIGhlaWdodDpyZW0tY2FsYygzNyk7XG4gICAgICBib3JkZXI6M3B4IHNvbGlkICM3RjdGN0Y7XG4gICAgICBib3JkZXItcmFkaXVzOjEwMCU7XG4gICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6Zm9udC1yZW0oMTQpO1xuICAgICAgY29sb3I6IzdGN0Y3RjtcbiAgICAgIHRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO1xuICAgICAgbWFyZ2luLWxlZnQ6YXV0bztcbiAgICB9XG4gICAgLnBhZ2UtaW5mby10aXRsZSB7XG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg4MDApO1xuICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDE1KTtcbiAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE2KTtcbiAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuICAgICAgfVxuICAgIH1cbiAgICAucGFnZS1pbmZvLWl0ZW1zIHtcbiAgICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTpub25lO1xuICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgIG1hcmdpbjowO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjojMDAwMDAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDcwMCk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOm5vbmU7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDUwMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGEucGFnZS1pbmZvLW9wZW4ge1xuICAgIHBvc2l0aW9uOmZpeGVkO1xuICAgIGJvdHRvbTpyZW0tY2FsYygzMDApO1xuICAgIHJpZ2h0OjA7XG4gICAgYmFja2dyb3VuZDojNzY1QkE3O1xuICAgIHdpZHRoOnJlbS1jYWxjKDM0KTtcbiAgICBoZWlnaHQ6cmVtLWNhbGMoNTEpO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpO1xuICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoMTIgMCAwIDEyKTtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjojZmZmO1xuICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxNSk7XG4gICAgYm94LXNoYWRvdzowIHJlbS1jYWxjKDMpIHJlbS1jYWxjKDYpIHJnYmEoMCwwLDAsMC4xNik7XG4gICAgdHJhbnNpdGlvbjphbGwgMC4ycyBsaW5lYXI7XG4gICAgei1pbmRleDo5OTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHdpZHRoOnJlbS1jYWxjKDY0KTtcbiAgICAgIGhlaWdodDpyZW0tY2FsYyg3MSk7XG4gICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDIzIDAgMCAyMyk7XG4gICAgICBmb250LXNpemU6Zm9udC1yZW0oMTgpO1xuICAgIH1cbiAgfVxuICAmLmNsb3NlZCB7XG4gICAgLnBhZ2UtaW5mby1jb250ZW50IHtcbiAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpO1xuICAgIH1cbiAgICAucGFnZS1pbmZvLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7XG4gICAgICBcbiAgICAgIGkge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIucmVzb3VyY2VzIHtcbiAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYyg1MCk7XG4gIC5yZXNvdXJjZSB7XG4gICAgYm9yZGVyLWJvdHRvbToycHggc29saWQgcmdiYSgxMTgsIDkxLCAxNjcsIDAuMjUpO1xuXG4gICAgcGFkZGluZzpyZW0tY2FsYygyMCAwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgPiBhIHtcbiAgICAgIGJvcmRlci1ib3R0b206bm9uZTtcbiAgICB9XG4gICAgLnJlc291cmNlLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygxMjApO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoMjAwKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHZpc2liaWxpdHk6aGlkZGVuO1xuICAgICAgfVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OicnO1xuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6MDtcbiAgICAgICAgYmFja2dyb3VuZDpyZ2JhKDAsIDAsIDAsIDAuMzMpO1xuICAgICAgICB6LWluZGV4OjM7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoNik7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcXGU5MTdcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJywgc2Fucy1zZXJpZjtcbiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgIHRvcDo1MCU7XG4gICAgICAgIGxlZnQ6NTAlO1xuICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB6LWluZGV4OjQ7XG4gICAgICAgIGNvbG9yOiNGRkZGRkY7XG4gICAgICAgIHdpZHRoOmZvbnQtcmVtKDQ0KTtcbiAgICAgICAgaGVpZ2h0OmZvbnQtcmVtKDQ0KTtcbiAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDIwKTtcbiAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOjNweCBzb2xpZCAjZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgfVxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgaGVpZ2h0OmF1dG87XG4gICAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoNik7XG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OjI7XG4gICAgICB9XG4gICAgfVxuICAgIC5yZXNvdXJjZS1kZXRhaWxzIHtcbiAgICAgIC5yZXNvdXJjZS10aXRsZSB7XG4gICAgICAgIGg2IHtcbiAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNzAwKTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnJlc291cmNlLW1ldGEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDE1KTtcbiAgICAgICAgdWwge1xuICAgICAgICAgIGxpc3Qtc3R5bGU6bm9uZTtcbiAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg2MDApO1xuICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE2KTtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6XCJ8XCI7XG4gICAgICAgICAgICAgIG1hcmdpbjpyZW0tY2FsYygwIDE3KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnJlc291cmNlLXRvb2xzIHtcbiAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICAgIC5kb3dubG9hZCB7XG4gICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDcwMCk7XG4gICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE3KTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGNvbG9yOiM3NjVCQTc7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OnJlbS1jYWxjKDI1KTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOjJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbToycHggc29saWQgIzc2NUJBNztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAucmVzb3VyY2UtaW1hZ2Uge1xuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgdmlzaWJpbGl0eTp2aXNpYmxlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmJhY2std3JhcHBlciB7XG4gIGJhY2tncm91bmQ6I0YwRUVGNjtcbiAgLmJhY2std3JhcHBlci1pbm5lciB7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OnJlbS1jYWxjKDY5KTtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMjUpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDEyMDUpO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwYWRkaW5nOjA7XG4gICAgfVxuICAgIC5iYWNrLFxuICAgIC5uZXh0LFxuICAgIC5wcmV2aW91cyB7XG4gICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgY29sb3I6IzAwMDAwMDtcbiAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxNik7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNzAwKTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiByZW0tY2FsYygwLjQpO1xuICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xuICAgICAgaSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDpyZW0tY2FsYygxMCk7XG4gICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDExKTtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgfVxuICAgIH1cbiAgICAucHJldmlvdXMge1xuICAgICAgJi5oYXMtbmV4dCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6J3wnO1xuICAgICAgICAgIGNvbG9yOiM3MDcwNzA7XG4gICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgMjYpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5uZXh0IHtcbiAgICAgIGkge1xuICAgICAgICBtYXJnaW4tbGVmdDpyZW0tY2FsYygxMCk7XG4gICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7XG4gICAgICAgIG1hcmdpbi1yaWdodDowO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc2luZ2xlLWl0ZW0tY29udGFpbmVyIHtcbiAgcGFkZGluZzpyZW0tY2FsYyg0MCAyNSk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMjA1KTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDQwIDApO1xuICB9XG4gIC5zaW5nbGUtaXRlbS1pbmZvIHtcbiAgICAuc2luZ2xlLWl0ZW0tZGF0ZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg1MDApO1xuICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE2KTtcbiAgICB9XG4gICAgLnNpbmdsZS1pdGVtLXRpdGxlIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMzApO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoIDUwICk7XG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg4OTApO1xuICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg1MDApO1xuICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgyOCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6Zm9udC1yZW0oMzQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zaW5nbGUtaXRlbS1jb250ZW50cyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoODkwKTtcbiAgICB9XG4gICAgLndwLWJsb2NrLWltYWdlIHtcbiAgICAgIG1hcmdpbjpyZW0tY2FsYygzMCAwKTtcbiAgICAgIGltZyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoMzApO1xuICAgICAgfVxuICAgIH1cbiAgICA+IGgyLCA+IGgzLCA+IGg0LCA+IGg1LCA+IGg2IHtcbiAgICAgIGNvbG9yOiM3NjVCQTc7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDQwKTtcbiAgICB9XG4gICAgPiBoMSB7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDQwKTtcbiAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMTApO1xuICAgIH1cbiAgICA+IHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgfVxuICB9XG59IiwiYm9keSB7XG4gIC5oZWFkZXIge1xuICAgICNtYWluLW1lbnUtd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAuY2xvc2UtbWVudSB7XG4gICAgICAgIHBvc2l0aW9uOmZpeGVkO1xuICAgICAgICByaWdodDowO1xuICAgICAgfVxuICAgICAgLm1lbnUtcHJpbWFyeS1tZW51LWNvbnRhaW5lcixcbiAgICAgIC5tZW51LXNlY29uZGFyeS1tZW51LWNvbnRhaW5lciB7XG5cbiAgICAgICAgPiB1bCB7XG4gICAgICAgICAgbWF4LXdpZHRoOnJlbS1jYWxjKDEyMTApO1xuICAgICAgICAgIG1hcmdpbjowIGF1dG87XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg3MDApO1xuICAgICAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMTYpO1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoMC40KTtcbiAgICAgICAgICAgICAgY29sb3I6IzZENkU3MTtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubWVudS1wcmltYXJ5LW1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgPiB1bCB7XG4gICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygwIDAgMTUgMCk7XG4gICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDE1KSBhdXRvIDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLm1lbnUtc2Vjb25kYXJ5LW1lbnUtY29udGFpbmVye1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbWVudS1ncmF5O1xuICAgICAgICA+IHVsIHtcbiAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjA7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICBjb2xvcjojMDAwO1xuICAgICAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDI1IDE3KTtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjojMDAwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA+IC5kcm9wZG93biB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgbGVmdDo1MCU7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICBtaW4td2lkdGg6cmVtLWNhbGMoMjU2KTtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOnJlbS1jYWxjKDQwMCk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6I0Y4RjhGODtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgIHotaW5kZXg6MTA7XG4gICAgICAgICAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCByZW0tY2FsYygzKSByZW0tY2FsYyg2KSByZ2JhKDAsMCwwLDAuMTYpO1xuICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6MDtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg2MDApO1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE3KTtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OmZvbnQtcmVtKDMyKTtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMTUgMjUpO1xuICAgICAgICAgICAgICAgICAgY29sb3I6IzAwMDtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206bm9uZTtcbiAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiM3NjVCQTc7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKCA0MCApO1xuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiByZW0tY2FsYyggMTUgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogcmVtLWNhbGMoIDE1ICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAuZHJvcGRvd24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICYub3BlbmVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kcm9wZG93biB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4sXG4gICAgICAgICAgICBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG4gICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDEwKTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6cmVtLWNhbGMoNyk7XG4gICAgICAgICAgICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYud2lkZS1tZW51IHtcbiAgICAgICAgICAgICAgICAuZHJvcGRvd24ge1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6cmVtLWNhbGMoMzQwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAjbWVudS1zZWxlY3Rpb24td3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICAgICAgcGFkZGluZzpyZW0tY2FsYyg4MCAwIDE3NSAwKTtcbiAgICAgICAgLm1lbnUtc2VsZWN0aW9uLXdyYXBwZXItaW5uZXIge1xuICAgICAgICAgIG1heC13aWR0aDpyZW0tY2FsYygxMjEwKTtcbiAgICAgICAgICBtYXJnaW46MCBhdXRvO1xuICAgICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgLm1lbnUtY2FyZCB7XG4gICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygzNzcpO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6MDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgcGFkZGluZzpyZW0tY2FsYyg0NSA0NSAxMDAgNDUpO1xuICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOm5vbmU7XG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg3MDApO1xuICAgICAgICAgICAgICBmb250LXNpemU6IGZvbnQtcmVtKDMyKTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGZvbnQtcmVtKDQzKTtcbiAgICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoNDMpO1xuICAgICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNDMpO1xuICAgICAgICAgICAgICBib3JkZXI6M3B4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6MTAwJTtcbiAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgIHJpZ2h0OnJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgICAgYm90dG9tOnJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjphbGwgMC4ycyBsaW5lYXI7XG4gICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxNyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBib3gtc2hhZG93OnJlbS1jYWxjKDMpIHJlbS1jYWxjKDMpIHJlbS1jYWxjKDYpIHJnYmEoMCwwLDAsMC4zNCk7XG4gICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6I2ZmZjtcblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnB1cnBsZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6Izc2NUJBNztcbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5yZWQge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNCQTMwNTc7XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgY29sb3I6I0JBMzA1NztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYudGVhbCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IzAwODA5QTtcbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICBjb2xvcjojMDA4MDlBO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG5cbiAgICAgIC5tb2RhbC1tZW51IHtcbiAgICAgICAgdWwubWVudSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAzMy4zMyU7XG4gICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdWwuc3ViLW1lbnUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICAgIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5tb2RhbC1tZW51IHtcbiAgICAgICAgd2lkdGg6cmVtLWNhbGMoMTIwMCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoMzApO1xuICAgICAgICBib3gtc2hhZG93OiAwIHJlbS1jYWxjKDMpIHJlbS1jYWxjKDYpIHJnYmEoMCwwLDAsMC4xNik7XG4gICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6I0Y4RjhGODtcbiAgICAgICAgdG9wOnJlbS1jYWxjKDE2NSkgIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAubW9kYWwtdGl0bGUge1xuICAgICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgcGFkZGluZzpyZW0tY2FsYyg0MCk7XG4gICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDoyO1xuICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDM4KTtcbiAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygzOCk7XG4gICAgICAgICAgICBib3JkZXI6M3B4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOjEwMCU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygzOCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE2KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMzgpO1xuICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRoZS1tZW51IHtcbiAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDQwKTtcbiAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgICAgLy9vdmVyZmxvdy15OmF1dG87XG4gICAgICAgICAgbWluLWhlaWdodDpyZW0tY2FsYyg1MDApO1xuICAgICAgICAgIC50aGUtbWVudS1jb250ZW50IHtcbiAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDMzMik7XG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OjA7XG4gICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgIGJvdHRvbTowO1xuICAgICAgICAgICAgYmFja2dyb3VuZDojRjVFQUVEO1xuICAgICAgICAgICAgei1pbmRleDoxO1xuICAgICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygxNzUgMzAgNDUgMzApO1xuICAgICAgICAgICAgaDYge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNzAwKTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDIwKTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6Zm9udC1yZW0oMjIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAubWVudSB7XG4gICAgICAgICAgICBtYXJnaW46cmVtLWNhbGMoMCAtMTApO1xuICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMCAxMCk7XG4gICAgICAgICAgICAgIC5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMjYwKTtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6MDtcbiAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNTAwKTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IzAwMDAwMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbToycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmU7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICAgICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoNjApO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg3MDApO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiMwMDAwMDA7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE2KTtcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIC5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDI2NSk7XG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6MDtcblxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICYuc2luZ2xlLWNvbHVtbiB7XG4gICAgICAgICAgICAgICAgPiAuc3ViLW1lbnUge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMjY1KTtcbiAgICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNTAwKTtcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjojMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOjJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOjJweCBzb2xpZCAjNzY1QkE3O1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnB1cnBsZSB7XG4gICAgICAgICAgLm1vZGFsLXRpdGxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6Izc2NUJBNztcbiAgICAgICAgICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC50aGUtbWVudSB7XG4gICAgICAgICAgICAudGhlLW1lbnUtY29udGVudCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6I0VBRTZGNDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5tZW51IHtcbiAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIC5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiMwMDA7XG4gICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOjJweCBzb2xpZCAjNzY1QkE3O1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnJlZCB7XG4gICAgICAgICAgLm1vZGFsLXRpdGxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6I0M0NDM2ODtcbiAgICAgICAgICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjojQzQ0MzY4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC50aGUtbWVudSB7XG4gICAgICAgICAgICAudGhlLW1lbnUtY29udGVudCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6I0Y1RUFFRDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5tZW51IHtcbiAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIC5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiMwMDA7XG4gICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOjJweCBzb2xpZCAjQzQ0MzY4O1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjojQzQ0MzY4O1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnRlYWwge1xuICAgICAgICAgIC5tb2RhbC10aXRsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiMwMjdCOTM7XG4gICAgICAgICAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IzAyN0I5MztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAudGhlLW1lbnUge1xuICAgICAgICAgICAgLnRoZS1tZW51LWNvbnRlbnQge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNEQ0VERjA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubWVudSB7XG4gICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAuc3ViLW1lbnUge1xuICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjojMDAwO1xuICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbToycHggc29saWQgIzAyN0I5MztcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IzAyN0I5MztcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5tZW51LWV4cGFuZGVkIHtcbiAgICAuaGVhZGVyIHtcbiAgICAgIGJvdHRvbTowO1xuICAgICAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuOTYpO1xuICAgICAgbWF4LWhlaWdodDoxMDB2aDtcbiAgICAgIG92ZXJmbG93LXk6YXV0bztcbiAgICAgIC5oZWFkZXItaW5uZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAuY2xvc2UtbWVudSB7XG4gICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICB9XG4gICAgICAgIC5sb2dvIHtcbiAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICAuY29sb3ItbG9nbyB7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgICAud2hpdGUtbG9nbyB7XG4gICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgICAgLmhlYWRlci1yaWdodC1zaWRlIHtcbiAgICAgICAgICAuaGVhZGVyLXJpZ2h0LXRvcC1zaWRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmhlYWRlci1yaWdodC1ib3R0b20tc2lkZSB7XG4gICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICNtYWluLW1lbnUtd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoNTIpO1xuICAgIH1cbiAgfVxuXG59XG4iLCIuYWpheC1jb250YWluZXIge1xuICAgIFxuICAgIC5uby1yZXN1bHRzLFxuICAgIGJ1dHRvbi5zaG93LW1vcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAmLm5vLXJlc3VsdHMge1xuICAgICAgICAubm8tcmVzdWx0cyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbml0aWFsO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYuaGFzLW1vcmUtcmVzdWx0cyB7XG4gICAgICAgIGJ1dHRvbi5zaG93LW1vcmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLnNob3ctbW9yZSB7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoIDgwICkgYXV0bztcbiAgICB9XG4gICAgXG59IiwiLnNwb3RpZnktd3JhcHBlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn0iLCIuaGFtYnVyZ2VyLW1lbnUge1xuICB3aWR0aDpyZW0tY2FsYygzMyk7XG4gIGZsZXgtc2hyaW5rOjA7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1hcmdpbjogcmVtLWNhbGMoNiAwIDAgMCk7XG4gIH1cbiAgLnRvZ2dsZS1tZW51IHtcbiAgICB3aWR0aDpyZW0tY2FsYygzMCk7XG4gICAgaGVpZ2h0OnJlbS1jYWxjKDIyKTtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIGJvcmRlci1ib3R0b206bm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgd2lkdGg6cmVtLWNhbGMoMzMpO1xuICAgICAgaGVpZ2h0OnJlbS1jYWxjKDI0KTtcbiAgICB9XG4gICAgc3BhbiB7XG4gICAgICB3aWR0aDpyZW0tY2FsYygzMCk7XG4gICAgICBoZWlnaHQ6MnB4O1xuICAgICAgYmFja2dyb3VuZDojNzY1QkE3O1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICB0b3A6MDtcbiAgICAgIHRyYW5zaXRpb246YWxsIDAuMnMgbGluZWFyO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6cmVtLWNhbGMoMzMpO1xuICAgICAgICBoZWlnaHQ6M3B4O1xuICAgICAgICBib3JkZXItcmFkaXVzOjNweDtcbiAgICAgIH1cbiAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICB0b3A6cmVtLWNhbGMoMTApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHRvcDpyZW0tY2FsYygxMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bnRoLW9mLXR5cGUoMykge1xuICAgICAgICB0b3A6cmVtLWNhbGMoMjApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHRvcDpyZW0tY2FsYygyNCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuY29udGFjdC1pbmZvIHtcbiAgYmFja2dyb3VuZDojRkZDMjBFO1xuXG4gIHBhZGRpbmc6cmVtLWNhbGMoMCAyMCk7XG4gIGhlaWdodDpyZW0tY2FsYyg0MCk7XG4gIGxpbmUtaGVpZ2h0OjE7XG5cbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgaGVpZ2h0OnJlbS1jYWxjKDQyKTtcbiAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDIxKTtcbiAgICBtYXJnaW46cmVtLWNhbGMoMCAyMCAwIDE1KTtcbiAgfVxuICAuY29udGFjdC1pbmZvLWlubmVyIHtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNyAwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMCk7XG4gICAgfVxuICAgIC5waG9uZSxcbiAgICAuY2hhdCB7XG4gICAgICBsaW5lLWhlaWdodDoxO1xuICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGkge1xuICAgICAgICBjb2xvcjojMDAwMDAwO1xuICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMjEpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6cmVtLWNhbGMoNik7XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDYwMCk7XG4gICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OjE7XG4gICAgICAgIGNvbG9yOiMwMDAwMDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206bm9uZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMTgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5waG9uZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OnJlbS1jYWxjKDE0KTtcbiAgICAgIG1hcmdpbi1yaWdodDpyZW0tY2FsYygxNCk7XG4gICAgICBib3JkZXItcmlnaHQ6MS41cHggc29saWQgcmdiYSgwLDAsMCwwLjMpO1xuICAgIH1cbiAgfVxuICAubGVhcm4tbW9yZSB7XG4gICAgZGlzcGxheTpub25lO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDowO1xuICAgIGxlZnQ6MDtcbiAgICByaWdodDowO1xuXG4gICAgYmFja2dyb3VuZDojRkZDMjBFO1xuXG4gICAgdG9wOnJlbS1jYWxjKDQwKTtcblxuICAgIHotaW5kZXg6OTk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMik7XG4gICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDAgMCAyMSAyMSk7XG4gICAgfVxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDYwMCk7XG4gICAgICBmb250LXNpemU6Zm9udC1yZW0oMTYpO1xuXG4gICAgICBib3JkZXItdG9wOjEuNXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4zKTtcbiAgICAgIGNvbG9yOiMwMDAwMDA7XG4gICAgICBtYXJnaW46cmVtLWNhbGMoMCAyMCk7XG4gICAgICBwYWRkaW5nOnJlbS1jYWxjKDcgMCk7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjIpO1xuICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6MTtcbiAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE4KTtcbiAgICAgICAgcGFkZGluZzpyZW0tY2FsYygxMCAwIDE0IDApO1xuXG4gICAgICB9XG4gICAgfVxuICB9XG4gICY6aG92ZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygyMSAyMSAwIDApO1xuICAgIH1cbiAgICAubGVhcm4tbW9yZSB7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgIH1cbiAgfVxufSIsIi5zZWFyY2gtZm9ybSB7XG4gIGZvcm0ge1xuICAgIHdpZHRoOnJlbS1jYWxjKDI3Nik7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgaW5wdXQge1xuICAgICAgd2lkdGg6MDtcbiAgICAgIHZpc2liaWxpdHk6aGlkZGVuO1xuICAgICAgaGVpZ2h0OnJlbS1jYWxjKDQyKTtcbiAgICAgIGJvcmRlcjpub25lO1xuICAgICAgYm94LXNoYWRvdzpub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYygyMSk7XG4gICAgICBiYWNrZ3JvdW5kOiNGOEY4Rjg7XG4gICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMCAwIDIxKTtcbiAgICAgIG1hcmdpbjowO1xuICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgIHdpZHRoOnJlbS1jYWxjKDI3Nik7XG4gICAgICAgIHZpc2liaWxpdHk6dmlzaWJsZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRvZ2dsZS1zZWFyY2gge1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICByaWdodDowO1xuICAgICAgdG9wOjA7XG4gICAgICB3aWR0aDpyZW0tY2FsYyg0Mik7XG4gICAgICBoZWlnaHQ6cmVtLWNhbGMoNDIpO1xuICAgICAgYm9yZGVyLXJhZGl1czoxMDAlO1xuICAgICAgYmFja2dyb3VuZDojRURFREVEO1xuICAgIH1cbiAgfVxuICAmLmV4cGFuZGVkIHtcbiAgICAudG9nZ2xlLXNlYXJjaCB7XG4gICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgfVxuICB9XG59IiwiLm5vdC1mb3VuZCB7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDYwIDI1KTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMDAgMCk7XG4gIH1cbn0iLCIuc2VhcmNoLXJlc3VsdHMtcGFnZSB7XG4gIHBhZGRpbmc6cmVtLWNhbGMoNDAgMjUpO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBhZGRpbmc6cmVtLWNhbGMoMzAgMCA1MCAwKTtcbiAgfVxuICAucGFnZS10aXRsZS13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgfVxuICAuc2VhcmNoLXJlc3VsdHMtd3JhcHBlciB7XG4gICAgLnBvc3QtZGV0YWlscyB7XG4gICAgICBwYWRkaW5nOnJlbS1jYWxjKDMwIDApO1xuICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMzAgMCk7XG4gICAgICB9XG4gICAgICBoNiB7XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiM3NjVCQTc7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbToycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE4KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDpmb250LXJlbSgzMik7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiM3NjVCQTc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxufVxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW46IHJlbS1jYWxjKDQwIDMwIDgwIDMwKTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDQwIDAgODAgMCk7XG4gIH1cbiAgLnBhZ2UtbnVtYmVycyB7XG4gICAgZGlzcGxheTpub25lO1xuICAgICYubmV4dCB7XG4gICAgICBoZWlnaHQ6cmVtLWNhbGMoMzkpO1xuICAgICAgYm9yZGVyOjJweCBzb2xpZCAjNzY1QkE3O1xuICAgICAgYmFja2dyb3VuZDojNzY1QkE3O1xuICAgICAgY29sb3I6I2ZmZjtcbiAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg3MDApO1xuICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE4KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoMjApO1xuICAgICAgZGlzcGxheTppbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMjUpO1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgICAgIGNvbG9yOiM3NjVCQTc7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiI2xvZ2luLXBhZ2Uge1xuICAubG9naW4tcGFnZS1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXgtd2lkdGg6cmVtLWNhbGMoMTIwNSk7XG4gICAgICBtYXJnaW46MCBhdXRvO1xuICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgaGVpZ2h0OjEwMHZoO1xuICAgIH1cblxuICAgIC5mb3JtLWNvbnRhaW5lciB7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOjU1JTtcbiAgICAgICAgZmxleC1zaHJpbms6MDtcbiAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzpyZW0tY2FsYyg2MCAxNjUgMCAwKTtcbiAgICAgIH1cbiAgICAgIC5sb2dvIHtcbiAgICAgICAgcGFkZGluZzpyZW0tY2FsYygxMCAyNSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMzUpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206bm9uZTtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMjQwKTtcbiAgICAgICAgICAgIGhlaWdodDphdXRvO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMjc3KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC53cHVtLWZvcm0ge1xuICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMjUpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgfVxuICAgICAgICBoMiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgICAgIH1cbiAgICAgICAgZmllbGRzZXQge1xuICAgICAgICAgIC5maWVsZCB7XG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSB7XG4gICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg1NSk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6I0VERURFRDtcbiAgICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6bm9uZTtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYygzNSk7XG4gICAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMCAyNSk7XG4gICAgICAgICAgICAgIGNvbG9yOiMwMDA7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg1MDApO1xuICAgICAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMTYpO1xuICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IzAwMDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OjE7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnN1Ym1pdC1maWVsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygxMCk7XG4gICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC53cHVtLWFjdGlvbi1saW5rcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206YXV0bztcbiAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGxpc3Qtc3R5bGU6bm9uZTtcbiAgICAgICAgcGFkZGluZzpyZW0tY2FsYygwIDI1IDMwIDI1KTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206bm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiMwMDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNTAwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxNik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5mb3JtLXRleHQge1xuICAgICAgYmFja2dyb3VuZDojNzY1QkE3O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6NDUlO1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYygtMjAwMCk7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIwMDApO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjNzY1QkE3O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZm9ybS10ZXh0LWlubmVyIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNjAgMjUgMTAwIDI1KTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDAgMCA2MCk7XG4gICAgICAgIH1cbiAgICAgICAgaDIsIHAge1xuICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICBib3JkZXItY29sb3I6I2ZmZjtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiM3NjVCQTc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6I2ZmZjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuYm9keSB7XG4gICYubG9nZ2VkLWluIHtcbiAgICAjbG9naW4tcGFnZSB7XG4gICAgICAuZm9ybS1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAud3B1bS1hbHJlYWR5LWxvZ2dlZC1pbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYyg4MCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5mb3JtLXRleHQge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLndwdW0tZm9ybSBmaWVsZHNldC5maWVsZHNldC1wcml2YWN5ICB7XG4gICAgbGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoIDMwICk7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKCAyMCApO1xuICAgICAgICBcbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiByZW0tY2FsYyggNyApO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgc21hbGwuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyggMTQgKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyggMTggKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIjdmlkZW9fbW9kYWwge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoIDI1NSwgMjU1LCAyNTUsIDAuOCApO1xuICAgIFxuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICAgIFxuICAgIC52aWRlby1yZXZlYWwge1xuICAgICAgICAub3ZlcmxheS12aWRlbyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCAtNTAlLCAtNTAlICk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG4gICAgXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjNzY1QkE3O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKCA0MCApO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoIDQwICk7XG4gICAgICAgIFxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCAyMCApO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNzY1QkE3O1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFkbWluLWJhciAjdmlkZW9fbW9kYWwge1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyggNTAgKTtcbiAgICBcbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgdG9wOiByZW0tY2FsYyggNzAgKTtcbiAgICB9XG59XG5cbi5sb2FkaW5nIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoIDY0ICk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoIDY0ICk7O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJvcmRlcjogNnB4IHNvbGlkICM3NjVCQTc7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzc2NUJBNyB0cmFuc3BhcmVudCAjNzY1QkE3IHRyYW5zcGFyZW50O1xuICAgICAgICBhbmltYXRpb246IGxkcy1kdWFsLXJpbmcgMS4ycyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgbGRzLWR1YWwtcmluZyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59IiwiLnJldmVhbC1vdmVybGF5IHtcbiAgICB6LWluZGV4OiA5OTk5OTk7XG59XG5cbiNxdWl6LWZ1bm5lbC1tb2RhbCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiByZW0tY2FsYyggMzc1ICk7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKCAyMCApO1xuICAgIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1heC13aWR0aDogOTglO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoIDEzNzYgKTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyggNzY5ICk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIFxuICAgIC5sb2dvIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyggMjAgMjQgMzAgKTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgei1pbmRleDogMjA7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLDAuOSksIHJnYmEoMCwwLDAsMCkpO1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB0b3A6IHJlbS1jYWxjKCA4MCApO1xuICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoIDU5ICk7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoIDI0MCApO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyggMjc3ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICYuY29sb3VyLWxvZ28ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmLndoaXRlLWxvZ28ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKCAzMSApO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoIDMxICk7XG4gICAgICAgIGJvcmRlcjogcmVtLWNhbGMoIDIgKSBzb2xpZCAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoIDE1ICk7XG4gICAgICAgIHJpZ2h0OiByZW0tY2FsYyggMjUgKTtcbiAgICAgICAgdG9wOiByZW0tY2FsYyggMzAgKTtcbiAgICAgICAgei1pbmRleDogMjU7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgYm9yZGVyOiByZW0tY2FsYyggMyApIHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoIDQzICk7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoIDQzICk7XG4gICAgICAgICAgICByaWdodDogcmVtLWNhbGMoIDI1ICk7XG4gICAgICAgICAgICB0b3A6IHJlbS1jYWxjKCAzMCApO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyggMTcgKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICM3NjVCQTc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHNwZWFrOiBuZXZlcjtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgY29udGVudDogXCJcXGU5MDVcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIC01MCUsIC01MCUgKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmJnLWltYWdlIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyggNzY5ICk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5zaGFwZS1iZyB7XG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoIC0xNzUgKTtcbiAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoIDMxMiApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoIC0yMTVkZWcgKTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoIDU2NyApO1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKCA2MTQgKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvd2hpdGUtc2hhcGUuc3ZnJykgbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoIC0yNTYgKTtcbiAgICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKCAtNDMgKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKCA4NjEgKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoIDkzMyApO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCAtMzQ4ZGVnICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9ibHVlLXNoYXBlLnN2ZycpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoIC0yMzFkZWcgKTtcbiAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKCAtMTI1ICk7XG4gICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKCAtMjAgKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSggLTMyM2RlZyApO1xuICAgICAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKCAtMjAyICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBmb3JtLFxuICAgIC5jb25maXJtYXRpb24td3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgICAgXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IC0xNnJlbTtcbiAgICAgICAgICAgIHRvcDogLTIuN3JlbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCAtMzQ4ZGVnICk7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKCA4NjEgKTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyggOTMzICk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL3doaXRlLXNoYXBlLnN2Zz92PTEuMicpIG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMTZyZW07XG4gICAgICAgICAgICAgICAgdG9wOiAtMi43cmVtO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCAtMTc4ICk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyggODYxICk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKCA5MzMgKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2JsdWUtc2hhcGUuc3ZnJyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSggLTMyM2RlZyApO1xuICAgICAgICAgICAgbGVmdDogLTEyLjZyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCAtMzIzZGVnICk7XG4gICAgICAgICAgICAgICAgbGVmdDogLTEyLjZyZW07XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBmb3JtIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcveWVsbG93LXNoYXBlLnN2ZycpO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5jb25maXJtYXRpb24td3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvZ3JlZW4tc2hhcGUuc3ZnJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmxhbmRpbmctcGFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBcbiAgICAgICAgaW1nLmRlc2t0b3Age1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaW1nLm1vYmlsZSB7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyggMCAyNSA0MCApO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoIDU0MCApO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMoIDYzICk7XG4gICAgICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoIDg4ICk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyggMjcgKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyggMzUgKTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKCA3MCApO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoIDE4ICk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyggMzggKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoIDUyICk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyggMzYgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNTAwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoIDE4ICk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoIDI4ICk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyggMjggKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyggMzIgKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyggMzEgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLnRha2UtcXVpeiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBsZWZ0OiByZW0tY2FsYyggLTI1ICk7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoIDM1MCApO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzc2NUJBNztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoIDIwICk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoIDI1ICk7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyggMTYgMTIwIDE2IDI1ICk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyggMCAgMTAwJSAxMDAlIDAgKTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyggMzcgKTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNjAwKTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiByZW0tY2FsYyggLTg4ICk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKCA2MjEgKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCAyOSApO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyggMzUgKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyggNDAgODggKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyggNDYgKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKCA0NiApO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICByaWdodDogcmVtLWNhbGMoIDI1ICk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIDAlLCAtNTAlICkgcm90YXRlKCA5MGRlZyApO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiByZW0tY2FsYyggMyApIHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoIDU0ICk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoIDU0ICk7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYyggNTAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHNwZWFrOiBuZXZlcjtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICAgICAgICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAgICAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MDFcIjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoIDE2ICk7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKCA0OCApO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCA1MCUsIC01MCUgKSByb3RhdGUoIDkwZGVnICk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoIDE5ICk7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYyggNzcgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM3NjVCQTc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLnF1aXotcGFnZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgfVxuICAgIFxuICAgICYuc2hvdy1xdWl6IHtcbiAgICAgICAgLnF1aXotcGFnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmxhbmRpbmctcGFnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAmLndoaXRlLWxvZ28ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmLmNvbG91ci1sb2dvIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzc2NUJBNztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5nZl9wcm9ncmVzc2Jhcl93cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyLFxuICAgIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNzY1QkE3O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICBcbiAgICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIHtcbiAgICAgICAgZm9ybSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyggNzY5ICk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoIDE0NCA4MSAxMDAgKTtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5nZm9ybV9wYWdlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzc2NUJBNztcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGxlZ2VuZCxcbiAgICAgICAgICAgIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoIDAgMjUgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgbGVnZW5kIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNjAwKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoIDIwICk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKCAyOCApO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyggNDAgMzUgMzAgMjUgKTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKCAxMjAgKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyggMjkgKTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKCA0MCApO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMoMzAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmdpbnB1dF9jb250YWluZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNzY1QkE3O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoIDE1MCApO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoIDQwICk7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyggMTAwICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiByZW0tY2FsYyggLTE2MCApO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKCAtNTAwICk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoIDU2NyApO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoIDYxNCApO1xuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL3doaXRlLXNoYXBlLnN2Zz92PTEuMicpIG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy95ZWxsb3ctc2hhcGUuc3ZnJyk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCAtMjEyZGVnICk7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKCAtMTIwICk7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoIC00ODAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDUwMCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyggMTggKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoIDI4ICk7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmdjaG9pY2Uge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCAyMCApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuZ2Zvcm1fcGFnZV9mb290ZXIge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoIDAgMjUgNDAgKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKCAwICk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyggNDUgKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoIDQ1ICk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoIDE1ICk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMoIDM2ICk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoIDU0ICk7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyggNTQgKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyggMTYgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHNwZWFrOiBuZXZlcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgICAgICAgICAgICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZTkwMSc7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICM3NjVCQTc7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiByZW0tY2FsYyggODEgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNzY1QkE3O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICYuZ2Zvcm1fbmV4dF9idXR0b24sXG4gICAgICAgICAgICAgICAgJi5nZm9ybV9zdWJtaXRfYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogcmVtLWNhbGMoIDgxICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM3NjVCQTc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxuICAgIFxuICAgIC5jb25maXJtYXRpb24td3JhcHBlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNzY1QkE3O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoIDc2OSApO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKCAxNDAgODEgOTYgKTtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICYgPiBkaXYge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5jb25maXJtYXRpb24tbWVzc2FnZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyggMjAgMjUgNjcgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoIDEyMCApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyggMTggKTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKCAyOCApO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNTAwKTtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoIDMyICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzc2NUJBNztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyggMjcgKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDYwMCk7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyggMzUgKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoIDIwICk7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyggNDcgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyggNjEgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKCA0MDAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoIC0xNjAgKTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKCA1NjcgKTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKCA2MTQgKTtcblxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy93aGl0ZS1zaGFwZS5zdmc/dj0xLjInKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2dyZWVuLXNoYXBlLnN2ZycpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSggLTIxMmRlZyApO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiByZW0tY2FsYyggLTEyMCApO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKCAtMjAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmZ1bm5lbC13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyggOTMgMjQgMCApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKCAxMDAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyggMTggKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNTAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKCAzMiApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoIDIyIDQwIDIyIDAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgc3Bhbi5wbHVzLXNpZ24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKCAyNiApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyggMjYgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IHJlbS1jYWxjKCAyICkgc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoIDAsIC01MCUgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWFrOiBuZXZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxlOTA5JztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCAtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyggMTUgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ucGx1cy1zaWduIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGEuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyggMTYgKTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKCAyMCApO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoODAwKTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoIDEwIDIwICk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoIDM4ICk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyggNTMgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMoIDM2ICk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogcmVtLWNhbGMoIDgxICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM3NjVCQTc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAvKiBCYXNlIGZvciBsYWJlbCBzdHlsaW5nICovXG4gICAgW3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpLFxuICAgIFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAtOTk5OXB4O1xuICAgIH1cbiAgICBbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCxcbiAgICBbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyggMiAwIDIgNjAgKTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvKiBjaGVja2JveCBhc3BlY3QgKi9cbiAgICBbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUsXG4gICAgW3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDsgXG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoIDMyICk7IFxuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyggMzIgKTsgXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICB9XG4gICAgLyogY2hlY2tlZCBtYXJrIGFzcGVjdCAqL1xuICAgIFt0eXBlPVwicmFkaW9cIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyLFxuICAgIFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoIDEwICk7IFxuICAgICAgICAgICAgdG9wOiByZW0tY2FsYyggMTAgKTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyggMTIgKTsgXG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKCAxMiApOyBcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICB9XG4gICAgLyogY2hlY2tlZCBtYXJrIGFzcGVjdCBjaGFuZ2VzICovXG4gICAgW3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgfVxuICAgIFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbiAgICAvKiBkaXNhYmxlZCBjaGVja2JveCAqL1xuICAgIFt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQ6bm90KDpjaGVja2VkKSArIGxhYmVsOmJlZm9yZSxcbiAgICBbdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2JiYjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG4gICAgfVxuICAgIFt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xuICAgIH1cbiAgICBbdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkICsgbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICNhYWE7XG4gICAgfVxuICAgIFxuICAgIC8qIGFjY2Vzc2liaWxpdHkgKi9cbiAgICBbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQ6Zm9jdXMgKyBsYWJlbDpiZWZvcmUsXG4gICAgW3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpOmZvY3VzICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IGRvdHRlZCBibHVlO1xuICAgIH1cbn0iLCIuaGVhZGVyIHtcbiAgcGFkZGluZzpyZW0tY2FsYygyMCAwKTtcbiAgdHJhbnNpdGlvbjphbGwgMC4ycyBsaW5lYXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJi5sYW5kaW5nIHtcbiAgICBwb3NpdGlvbjpmaXhlZDtcbiAgICB0b3A6MDtcbiAgICBsZWZ0OjA7XG4gICAgcmlnaHQ6MDtcbiAgICBiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC45Nik7XG4gICAgei1pbmRleDoxMDA7XG4gICAgdHJhbnNpdGlvbjphbGwgMC4ycyBsaW5lYXI7XG4gIH1cbiAgLmhlYWRlci1pbm5lciB7XG4gICAgbWF4LXdpZHRoOnJlbS1jYWxjKDEyMTApO1xuICAgIG1hcmdpbjowIGF1dG87XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB0cmFuc2l0aW9uOmFsbCAwLjJzIGxpbmVhcjtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgLmNsb3NlLW1lbnUge1xuICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgIHJpZ2h0OnJlbS1jYWxjKC00MCk7XG4gICAgICAgdG9wOjA7XG4gICAgICAgZGlzcGxheTpub25lO1xuICAgICAgIHdpZHRoOnJlbS1jYWxjKDM4KTtcbiAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMzgpO1xuICAgICAgIGJvcmRlcjozcHggc29saWQgIzdGN0Y3RjtcbiAgICAgICBib3JkZXItcmFkaXVzOjEwMCU7XG4gICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICB0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTtcbiAgICAgICBjb2xvcjojN0Y3RjdGO1xuICAgICAgICY6aG92ZXIge1xuICAgICAgICAgYmFja2dyb3VuZDojN0Y3RjdGO1xuICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICB9XG4gICAgIH1cbiAgICAubG9nbyB7XG4gICAgICBtaW4td2lkdGg6cmVtLWNhbGMoMjc1KTtcbiAgICAgIGZsZXgtc2hyaW5rOjA7XG4gICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDMwKTtcbiAgICAgIHRyYW5zaXRpb246YWxsIDAuMnMgbGluZWFyO1xuICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICB6LWluZGV4OjEwMDtcbiAgICAgIGEge1xuICAgICAgICBib3JkZXItYm90dG9tOm5vbmU7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6YXV0bztcbiAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoIDY2ICk7XG4gICAgICAgICAgJi53aGl0ZS1sb2dvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmhlYWRlci1yaWdodC1zaWRlIHtcbiAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAuaGVhZGVyLXJpZ2h0LXRvcC1zaWRlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyNSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoIDE2ICk7XG4gICAgICAgIC5hY2Nlc3NpYmlsaXR5IHtcbiAgICAgICAgICAuZHJvcGRvd24ge1xuICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDUwMCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE2KTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiMwMDAwMDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbToycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzpyZW0tY2FsYyg2IDApO1xuICAgICAgICAgICAgICAgIG1hcmdpbjpyZW0tY2FsYygwIDIwKTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjojNzY1QkE3O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICYuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OidpY29tb29uJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MDFcIjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDcpO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDphdXRvO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6YXV0bztcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKC00KTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6cmVtLWNhbGMoLTE3KTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgICB6LWluZGV4OjEwMTA7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNGOEY4Rjg7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDpyZW0tY2FsYygyNTApO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygyNSk7XG4gICAgICAgICAgICAgICAgICBib3gtc2hhZG93OjAgcmVtLWNhbGMoMykgcmVtLWNhbGMoNikgcmdiYSgwLDAsMCwwLjE2KTtcbiAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDYwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE2KTtcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiMwMDAwMDA7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbToycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lO1xuICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiM3NjVCQTc7ICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmLnVzZXItbGlua3Mge1xuICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDYwMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDphdXRvO1xuICAgICAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6MDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5oZWFkZXItcmlnaHQtYm90dG9tLXNpZGUge1xuICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLm1vYmlsZS1oZWFkZXIge1xuICBwb3NpdGlvbjpmaXhlZDtcbiAgdG9wOjA7XG4gIGxlZnQ6MDtcbiAgcmlnaHQ6MDtcbiAgei1pbmRleDoxMDA7XG4gIGJhY2tncm91bmQ6I2ZmZjtcblxuICAubW9iaWxlLWhlYWRlci1pbm5lciB7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDE1IDI1KTtcbiAgICBib3gtc2hhZG93OjAgcmVtLWNhbGMoMykgcmVtLWNhbGMoNikgcmdiYSgwLDAsMCwwLjE2KTtcbiAgICAubG9nbyB7XG4gICAgICBhIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDI0MCk7XG4gICAgICAgICAgaGVpZ2h0OmF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm1vYmlsZS1oZWFkZXItY29udGVudCB7XG4gICAgZGlzcGxheTpub25lO1xuICAgIHBhZGRpbmc6cmVtLWNhbGMoMTUgMjUgMCAyNSk7XG4gICAgYmFja2dyb3VuZDojZmZmO1xuICAgIC5zZWFyY2gtZm9ybSB7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDIwKTtcbiAgICAgIGZvcm0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIGJhY2tncm91bmQ6I0VERURFRDtcblxuICAgICAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMCAwIDAgMzYpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgIC50b2dnbGUtc2VhcmNoIHtcbiAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgcmlnaHQ6YXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAudXNlci1saW5rcyB7XG4gICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDIwKTtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNjAwKTtcbiAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE2KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6Izc2NUJBNztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubXVsdGlsZXZlbC1tZW51IHtcbiAgICAgIC5hY2NvcmRpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206bm9uZTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDE1KTtcblxuICAgICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg3MDApO1xuICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDIwIDI1KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoMzgpO1xuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuXG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoNyk7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgICAgICAgICAgICAgdG9wOnJlbS1jYWxjKDI1KTtcbiAgICAgICAgICAgICAgcmlnaHQ6cmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygyNik7XG4gICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygyNik7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6MTAwJTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDpub25lO1xuICAgICAgICAgICAgICBib3JkZXI6MnB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGOEY4Rjg7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzNSAwIDIwIDApO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYygwIDAgMzAgMzApO1xuICAgICAgICAgICAgdWwubm8tYnVsbGV0cyB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuXG5cbiAgICAgICAgICAgICAgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgPiAuc3ViLW1lbnUge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDowO1xuICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDcwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6IzAwMDAwMDtcbiAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMTcpO1xuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOm5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPiAuc3ViLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygxMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6MDtcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg1MDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjojMDAwMDAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMTcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOjJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLnNpbmdsZS1jb2x1bW4ge1xuICAgICAgICAgICAgICAgICAgPiAuc3ViLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNTAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiMwMDAwMDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxOCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOjJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206MnB4IHNvbGlkICM3NjVCQTc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoMzAgMzAgMCAwKTtcbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJi5wdXJwbGUge1xuICAgICAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6Izc2NUJBNztcbiAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDojNzY1QkE3O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICAgICAgICAubm8tYnVsbGV0cyB7XG4gICAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgICA+IC5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICA+IC5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206MnB4IHNvbGlkICM3NjVCQTc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICYucmVkIHtcbiAgICAgICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNCQTMwNTc7XG4gICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6I0JBMzA1NztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgICAgLm5vLWJ1bGxldHMge1xuICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgPiAuc3ViLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6I0JBMzA1NztcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgPiAuc3ViLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOjJweCBzb2xpZCAjQkEzMDU3O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLnRlYWwge1xuICAgICAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IzAzNkY4NDtcbiAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDojMDM2Rjg0O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICAgICAgICAubm8tYnVsbGV0cyB7XG4gICAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgICA+IC5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjojMDM2Rjg0O1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICA+IC5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206MnB4IHNvbGlkICMwMzZGODQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5tZW51LXdpdGgtc3VibWVudXMge1xuICAgICAgLmFjY29yZGlvbi1tZW51IHtcbiAgICAgICAgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICAgICAgIGJhY2tncm91bmQ6I0Y4RjhGODtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDM4KTtcbiAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDE1KTtcbiAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNzAwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxNik7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygyMCA0NSAyMCAyNSk7XG4gICAgICAgICAgICBjb2xvcjojMDAwO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSg3KTtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MDFcIjtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgICAgICAgICAgICB0b3A6cmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICByaWdodDpyZW0tY2FsYygxNSk7XG4gICAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDI2KTtcbiAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDI2KTtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czoxMDAlO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgICAgICAgICAgIGJvcmRlcjoycHggc29saWQgIzc2NUJBNztcbiAgICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLnN1Ym1lbnUge1xuICAgICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygwIDI1IDMwIDI1KTtcbiAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgICAgLm1lbnUtaXRlbSB7XG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoNyAwKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNTAwKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMTcpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OmZvbnQtcmVtKDMyKTtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIHRvcDpyZW0tY2FsYygxMCk7XG4gICAgICAgICAgICAgICAgICByaWdodDpyZW0tY2FsYygtMTApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLnN1Ym1lbnUge1xuICAgICAgICAgICAgICAgIC5tZW51LWl0ZW0ge1xuICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubGlua3MtbWVudSB7XG4gICAgICBiYWNrZ3JvdW5kOiNFREVERUQ7XG4gICAgICBwYWRkaW5nOnJlbS1jYWxjKDUwIDI1IDgwIDI1KTtcbiAgICAgIG1hcmdpbjpyZW0tY2FsYyg1MCAtMjUgMCAtMjUpO1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICA+IHVsIHtcbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgMCAyMCAwKTtcbiAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDcwMCk7XG4gICAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMTYpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6Zm9udC1yZW0oMjApO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGNvbG9yOiMwMDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOm5vbmU7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoMC40KTtcbiAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTA5XCI7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OidpY29tb29uJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDExKTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6NTAwO1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDpyZW0tY2FsYygxMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYWNjZXNzaWJpbGl0eS1saW5rcyB7XG4gICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMzApO1xuICAgICAgICA+IHVsIHtcbiAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNTAwKTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE2KTtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgY29sb3I6IzAwMDAwMDtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OidpY29tb29uJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oNyk7XG4gICAgICAgICAgICAgICAgICB3aWR0aDphdXRvO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OmF1dG87XG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKC00KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoMjEpO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6MTAxMDtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDUwMCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxNik7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiMwMDAwMDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206bm9uZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuYm9keSB7XG4gICYubWVudS1leHBhbmRlZCB7XG4gICAgLm1vYmlsZS1oZWFkZXIge1xuICAgICAgaGVpZ2h0OjEwMHZoO1xuICAgICAgb3ZlcmZsb3cteTphdXRvO1xuICAgICAgLm1vYmlsZS1oZWFkZXItaW5uZXIge1xuICAgICAgICAuaGFtYnVyZ2VyLW1lbnUge1xuICAgICAgICAgIC50b2dnbGUtbWVudSB7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgdG9wOnJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygxNC42KTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDojN0Y3RjdGO1xuICAgICAgICAgICAgICBsZWZ0OnJlbS1jYWxjKDgpO1xuICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygzMSk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDMxKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06bm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6MnB4IHNvbGlkICM3RjdGN0Y7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czoxMDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgICAgICBsZWZ0OjA7XG5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygxNC42KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLm1vYmlsZS1oZWFkZXItY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmZvb3RlciB7XG4gIGJhY2tncm91bmQ6IzM4MzczOTtcbiAgcGFkZGluZzpyZW0tY2FsYyg0NSAyNSk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgcGFkZGluZzpyZW0tY2FsYyg2NSAwKTtcbiAgfVxuICAuZm9vdGVyLWlubmVyIHtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246Y29sdW1uO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXgtd2lkdGg6cmVtLWNhbGMoMTIxMCk7XG4gICAgICBtYXJnaW46MCBhdXRvO1xuICAgICAgZmxleC1kaXJlY3Rpb246cm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgICAubG9nby13cmFwcGVyIHtcbiAgICAgIG9yZGVyOjE7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoNjE2KTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgICAmLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgICAgICBvcmRlcjo0O1xuICAgICAgfVxuICAgICAgLmxvZ28ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDQwKTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OmF1dG87XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyggNTkgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jb3B5cmlnaHRzLFxuICAgICAgLmRpc2NsYWltZXItdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygzNzcpO1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiNEMEQwRDA7XG4gICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE0KTtcbiAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICBsaW5lLWhlaWdodDpmb250LXJlbSgyNyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmZvb3Rlci1tZW51LWxpbmtzIHtcbiAgICAgIG9yZGVyOjM7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBvcmRlcjoyO1xuICAgICAgfVxuICAgICAgLmZvb3Rlci1tZW51LFxuICAgICAgLmZvb3Rlci1saW5rcyB7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgICAgZmxleC13cmFwOndyYXA7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjEuNjtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNTAwKTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE0KTtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6XCJ8XCI7XG4gICAgICAgICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgMTMpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5mb290ZXItbWVudSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDAgNDYgMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnNvY2lhbC13cmFwcGVyIHtcbiAgICAgIG9yZGVyOjI7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBvcmRlcjozO1xuICAgICAgfVxuICAgICAgLnNvY2lhbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMzUpO1xuICAgICAgICBoNiB7XG4gICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNzAwKTtcbiAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMTQpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OmZvbnQtcmVtKDI5KTtcbiAgICAgICAgfVxuICAgICAgICB1bCB7XG4gICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDpyZW0tY2FsYygyNSk7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgyMik7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206bm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5kb25hdGUtYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYyg0MCk7XG4gICAgICAgIGEge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjojZmZmO1xuICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6Izc2NUJBNztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6Izc2NUJBNztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmRlc2lnbi1ieSB7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMCA0MCAwKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbjowO1xuICAgICAgfVxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OmZvbnQtcmVtKDI5KTtcbiAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDQwMCk7XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMTQpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OmZvbnQtcmVtKDI5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gRGVmYXVsdCBWYXJpYWJsZXNcblxuLy8gU2xpY2sgaWNvbiBlbnRpdHkgY29kZXMgb3V0cHV0cyB0aGUgZm9sbG93aW5nXG4vLyBcIlxcMjE5MFwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaQXCJcbi8vIFwiXFwyMTkyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpJcIlxuLy8gXCJcXDIwMjJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKAolwiXG5cbiRzbGljay1mb250LXBhdGg6IFwiLi4vZm9udHMvXCIgIWRlZmF1bHQ7XG4kc2xpY2stZm9udC1mYW1pbHk6IFwic2xpY2tcIiAhZGVmYXVsdDtcbiRzbGljay1sb2FkZXItcGF0aDogXCIuL1wiICFkZWZhdWx0O1xuJHNsaWNrLWFycm93LWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU6ICRzbGljay1kb3QtY29sb3IgIWRlZmF1bHQ7XG4kc2xpY2stcHJldi1jaGFyYWN0ZXI6IFwiXFwyMTkwXCIgIWRlZmF1bHQ7XG4kc2xpY2stbmV4dC1jaGFyYWN0ZXI6IFwiXFwyMTkyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNoYXJhY3RlcjogXCJcXDIwMjJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3Qtc2l6ZTogNnB4ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktZGVmYXVsdDogMC43NSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW9uLWhvdmVyOiAxICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTogMC4yNSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIHNsaWNrLWltYWdlLXVybCgkdXJsKSB7XG4gIEBpZiBmdW5jdGlvbi1leGlzdHMoaW1hZ2UtdXJsKSB7XG4gICAgQHJldHVybiBpbWFnZS11cmwoJHVybCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsKCRzbGljay1sb2FkZXItcGF0aCArICR1cmwpO1xuICB9XG59XG5cbkBmdW5jdGlvbiBzbGljay1mb250LXVybCgkdXJsKSB7XG4gIEBpZiBmdW5jdGlvbi1leGlzdHMoZm9udC11cmwpIHtcbiAgICBAcmV0dXJuIGZvbnQtdXJsKCR1cmwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybCgkc2xpY2stZm9udC1wYXRoICsgJHVybCk7XG4gIH1cbn1cblxuLyogU2xpZGVyICovXG5cbi5zbGljay1saXN0IHtcbiAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgYmFja2dyb3VuZDogI2ZmZiA7XG4gIH1cbn1cblxuLyogSWNvbnMgKi9cbkBpZiAkc2xpY2stZm9udC1mYW1pbHkgPT0gXCJzbGlja1wiIHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90XCIpO1xuICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgfVxufVxuXG4vKiBBcnJvd3MgKi9cblxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogcmVtLWNhbGMoMjgpO1xuICB3aWR0aDogcmVtLWNhbGMoMjgpO1xuICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjgpO1xuICBmb250LXNpemU6IDBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgJjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgfVxuICB9XG4gICYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIH1cbn1cblxuLnNsaWNrLXByZXYge1xuICBsZWZ0OiByZW0tY2FsYygyNSk7XG4gIHotaW5kZXg6NTU7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICBbZGlyPVwicnRsXCJdICYge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0yNXB4O1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwM1wiO1xuICAgIGZvbnQtZmFtaWx5OidpY29tb29uJztcbiAgICBmb250LXNpemU6cmVtLWNhbGMoMzApO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcbiAgICB9XG4gIH1cbn1cblxuLnNsaWNrLW5leHQge1xuICByaWdodDogcmVtLWNhbGMoMjUpO1xuICBbZGlyPVwicnRsXCJdICYge1xuICAgIGxlZnQ6IC0yNXB4O1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwM1wiO1xuICAgIGZvbnQtZmFtaWx5OidpY29tb29uJztcbiAgICBmb250LXNpemU6cmVtLWNhbGMoMzApO1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcbiAgICB9XG4gIH1cbn1cblxuLyogRG90cyAqL1xuXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zbGljay1kb3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0yNXB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBidXR0b24ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICBmb250LXNpemU6IDBweDtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1kb3QtY2hhcmFjdGVyO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6ICRzbGljay1kb3Qtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3I7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgfVxuICAgIH1cbiAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yLWFjdGl2ZTtcbiAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgfVxuICB9XG59IiwiLnNlbGVjdDItY29udGFpbmVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gIEBpbXBvcnQgXCJzaW5nbGVcIjtcbiAgQGltcG9ydCBcIm11bHRpcGxlXCI7XG59XG5cbkBpbXBvcnQgXCJkcm9wZG93blwiO1xuXG4uc2VsZWN0Mi1jbG9zZS1tYXNrIHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiA5OTtcblxuICAvLyBzdHlsZXMgcmVxdWlyZWQgZm9yIElFIHRvIHdvcmtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG59XG5cbi5zZWxlY3QyLWhpZGRlbi1hY2Nlc3NpYmxlIHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCkgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1jbGlwLXBhdGg6IGluc2V0KDUwJSkgIWltcG9ydGFudDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbkBpbXBvcnQgXCJ0aGVtZS9kZWZhdWx0L2xheW91dFwiO1xuQGltcG9ydCBcInRoZW1lL2NsYXNzaWMvbGF5b3V0XCI7XG4iLCIuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcblxuICBoZWlnaHQ6IDI4cHg7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxufVxuXG4mW2Rpcj1cInJ0bFwiXSB7XG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgbWluLWhlaWdodDogMzJweDtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG59XG5cbi5zZWxlY3QyLXNlYXJjaC0taW5saW5lIHtcbiAgLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdvcmQtYnJlYWs6IGtlZXAtYWxsO1xuXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIuc2VsZWN0Mi1kcm9wZG93biB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcblxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTEwMDAwMHB4O1xuXG4gIHdpZHRoOiAxMDAlO1xuXG4gIHotaW5kZXg6IDEwNTE7XG59XG5cbi5zZWxlY3QyLXJlc3VsdHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgcGFkZGluZzogNnB4O1xuXG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLXNlbGVjdGFibGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1kcm9wZG93biB7XG4gIGxlZnQ6IDA7XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1kcm9wZG93bi0tYWJvdmUge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLWRyb3Bkb3duLS1iZWxvdyB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4uc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDRweDtcblxuICAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYuc2VsZWN0Mi1zZWFyY2gtLWhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCB7XG4gIEBpbXBvcnQgXCJzaW5nbGVcIjtcbiAgQGltcG9ydCBcIm11bHRpcGxlXCI7XG5cbiAgJi5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbi5zZWxlY3QyLWNvbnRhaW5lci0tYWJvdmUge1xuICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlLCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICB9XG4gIH1cblxuICAmLnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyB7XG4gICAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUsIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24ge1xuICAgIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgICB9XG4gIH1cblxuICAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSB7XG4gICAgLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgfVxuICB9XG5cbiAgLnNlbGVjdDItcmVzdWx0cyA+IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMge1xuICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cblxuICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcblxuICAgICAgLnNlbGVjdDItcmVzdWx0c19fZ3JvdXAge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcblxuICAgICAgICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogM2VtO1xuXG4gICAgICAgICAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtM2VtO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0ZW07XG5cbiAgICAgICAgICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNGVtO1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVlbTtcblxuICAgICAgICAgICAgICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNWVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1ncm91cCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0tZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjOTk5O1xuICB9XG5cbiAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgfVxuXG4gIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWQuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLXNlbGVjdGFibGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1ODk3ZmI7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgLnNlbGVjdDItcmVzdWx0c19fZ3JvdXAge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiA2cHg7XG4gIH1cbn1cbiIsIi5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgIGNvbG9yOiAjNDQ0O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgfVxuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjOTk5O1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgaGVpZ2h0OiAyNnB4O1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgdG9wOiAxcHg7XG4gICAgcmlnaHQ6IDFweDtcblxuICAgIHdpZHRoOiAyMHB4O1xuXG4gICAgYiB7XG4gICAgICBib3JkZXItY29sb3I6ICM4ODggdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiA1cHggNHB4IDAgNHB4O1xuXG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG5cbiAgICAgIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTJweDtcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG4mW2Rpcj1cInJ0bFwiXSB7XG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgICAgbGVmdDogMXB4O1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbiYuc2VsZWN0Mi1jb250YWluZXItLWRpc2FibGVkIHtcbiAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4mLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIHtcbiAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgICAgYiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzg4OCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDRweCA1cHggNHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogdGV4dDtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJi5zZWxlY3QyLXNlbGVjdGlvbi0tY2xlYXJhYmxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuXG4gICAgLy8gVGhpcyBwYWRkaW5nIGlzIHRvIGFjY291bnQgZm9yIHRoZSBib3R0b20gYm9yZGVyIGZvciB0aGUgZmlyc3RcbiAgICAvLyBzZWxlY3Rpb24gcm93IGFuZCB0aGUgdG9wIGJvcmRlciBvZiB0aGUgc2Vjb25kIHNlbGVjdGlvbiByb3cuXG4gICAgLy8gV2l0aG91dCBpdCwgc2VsZWN0aW9ucyBvbiB0aGUgZmlyc3Qgcm93IG1heSBiZSBvZmZzZXQgaW5jb3JyZWN0bHlcbiAgICAvLyBhbmQgYXBwZWFyIGluIHRoZWlyIG93biByb3cgaW5zdGVhZCBvZiBnb2luZyB0byB0aGUgc2Vjb25kIHJvd1xuICAgIHBhZGRpbmc6IDFweDtcbiAgfVxuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fZGlzcGxheSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgcGFkZGluZy1sZWZ0OiAycHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNhYWE7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcblxuICAgIGNvbG9yOiAjOTk5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgcGFkZGluZzogMCA0cHg7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG5cbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gICAgICBjb2xvcjogIzMzMztcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbiZbZGlyPVwicnRsXCJdIHtcbiAgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fZGlzcGxheSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgICB9XG5cbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2FhYTtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgfVxuXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4mLnNlbGVjdDItY29udGFpbmVyLS1mb2N1cyB7XG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICAgIGJvcmRlcjogc29saWQgYmxhY2sgMXB4O1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuJi5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQge1xuICAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJkZWZhdWx0c1wiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9ncmFkaWVudHNcIjtcblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIHtcbiAgQGltcG9ydCBcInNpbmdsZVwiO1xuICBAaW1wb3J0IFwibXVsdGlwbGVcIjtcblxuICAuc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIHtcbiAgICAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIHtcbiAgICAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmctY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAuc2VsZWN0Mi1kcm9wZG93bi0tYWJvdmUge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cblxuICAuc2VsZWN0Mi1kcm9wZG93bi0tYmVsb3cge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gIH1cblxuICAuc2VsZWN0Mi1yZXN1bHRzID4gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyB7XG4gICAgbWF4LWhlaWdodDogJHJlc3VsdHMtbWF4LWhlaWdodDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG5cbiAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1ncm91cCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0tZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkcmVzdWx0cy1jaG9pY2UtZmctdW5zZWxlY3RhYmxlLWNvbG9yO1xuICB9XG5cbiAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0tc2VsZWN0YWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlc3VsdHMtY2hvaWNlLWJnLWhvdmVyLWNvbG9yO1xuICAgIGNvbG9yOiAkcmVzdWx0cy1jaG9pY2UtZmctaG92ZXItY29sb3I7XG4gIH1cblxuICAuc2VsZWN0Mi1yZXN1bHRzX19ncm91cCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDZweDtcbiAgfVxuXG4gICYuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItZHJvcGRvd24ge1xuICAgIGJvcmRlci1jb2xvcjogJGZvY3VzLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuIiwiLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJHNlbGVjdGlvbi1iZy10b3AtY29sb3IsICRzZWxlY3Rpb24tYmctYm90dG9tLWNvbG9yKTtcblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcblxuICBvdXRsaW5lOiAwO1xuXG4gIEBpbmNsdWRlIGdyYWRpZW50LXZlcnRpY2FsKCRzZWxlY3Rpb24tYmctdG9wLWNvbG9yLCAkc2VsZWN0aW9uLWJnLWJvdHRvbS1jb2xvciwgNTAlLCAxMDAlKTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZm9jdXMtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgY29sb3I6ICM0NDQ7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIH1cblxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGhlaWdodDogMjZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cblxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzk5OTtcbiAgfVxuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG5cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cbiAgICBoZWlnaHQ6IDI2cHg7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICB0b3A6IDFweDtcbiAgICByaWdodDogMXB4O1xuXG4gICAgd2lkdGg6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBncmFkaWVudC12ZXJ0aWNhbCgjZWVlZWVlLCAjY2NjY2NjLCA1MCUsIDEwMCUpO1xuXG4gICAgYiB7XG4gICAgICBib3JkZXItY29sb3I6ICM4ODggdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiA1cHggNHB4IDAgNHB4O1xuXG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG5cbiAgICAgIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTJweDtcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG4mW2Rpcj1cInJ0bFwiXSB7XG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcblxuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cbiAgICAgIGxlZnQ6IDFweDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4mLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIHtcbiAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRmb2N1cy1ib3JkZXItY29sb3I7XG5cbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgIGIge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM4ODggdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCA0cHggNXB4IDRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnNlbGVjdDItY29udGFpbmVyLS1hYm92ZSB7XG4gICAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblxuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtdmVydGljYWwoJHNlbGVjdGlvbi1vcGVuZWQtYmctYm90dG9tLWNvbG9yLCAkc2VsZWN0aW9uLW9wZW5lZC1iZy10b3AtY29sb3IsIDAlLCA1MCUpO1xuICAgIH1cbiAgfVxuXG4gICYuc2VsZWN0Mi1jb250YWluZXItLWJlbG93IHtcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXG4gICAgICBAaW5jbHVkZSBncmFkaWVudC12ZXJ0aWNhbCgkc2VsZWN0aW9uLW9wZW5lZC1iZy10b3AtY29sb3IsICRzZWxlY3Rpb24tb3BlbmVkLWJnLWJvdHRvbS1jb2xvciwgNTAlLCAxMDAlKTtcbiAgICB9XG4gIH1cbn1cbiIsIiRyZW1vdmUtY29sb3I6ICM4ODggIWRlZmF1bHQ7XG4kcmVtb3ZlLWhvdmVyLWNvbG9yOiAjNTU1ICFkZWZhdWx0O1xuJHJlbW92ZS13aWR0aDogMjBweCAhZGVmYXVsdDtcblxuJHNlbGVjdGlvbi1jb2xvcjogIzQ0NCAhZGVmYXVsdDtcblxuJGJvcmRlci1jb2xvcjogI2FhYSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzOiA0cHggIWRlZmF1bHQ7XG5cbiRmb2N1cy1ib3JkZXItY29sb3I6ICM1ODk3ZmIgIWRlZmF1bHQ7XG5cbiRjb250YWluZXItaGVpZ2h0OiAyOHB4ICFkZWZhdWx0O1xuXG4kc2VsZWN0aW9uLWJnLXRvcC1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kc2VsZWN0aW9uLWJnLWJvdHRvbS1jb2xvcjogI2VlZWVlZSAhZGVmYXVsdDtcblxuJGNvbnRhaW5lci1wbGFjZWhvbGRlci1jb2xvcjogIzk5OSAhZGVmYXVsdDtcblxuJGNvbnRhaW5lci1mb2N1cy1ib3JkZXItY29sb3I6IGJsdWUgIWRlZmF1bHQ7XG5cbiRzZWxlY3Rpb24tb3BlbmVkLWJnLXRvcC1jb2xvcjogJHNlbGVjdGlvbi1iZy1ib3R0b20tY29sb3IgIWRlZmF1bHQ7XG4kc2VsZWN0aW9uLW9wZW5lZC1iZy1ib3R0b20tY29sb3I6ICRzZWxlY3Rpb24tYmctdG9wLWNvbG9yICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tei1pbmRleDogMSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWJnLWNvbG9yOiAkc2VsZWN0aW9uLWJnLXRvcC1jb2xvciAhZGVmYXVsdDtcblxuJHJlc3VsdHMtbWF4LWhlaWdodDogMjAwcHggIWRlZmF1bHQ7XG4kcmVzdWx0cy1uZXN0ZWQtcGFkZGluZzogMjBweCAhZGVmYXVsdDtcblxuJHJlc3VsdHMtY2hvaWNlLWJnLWhvdmVyLWNvbG9yOiAjMzg3NWQ3ICFkZWZhdWx0O1xuJHJlc3VsdHMtY2hvaWNlLWZnLWhvdmVyLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcblxuJHJlc3VsdHMtY2hvaWNlLWZnLXVuc2VsZWN0YWJsZS1jb2xvcjogZ3JleSAhZGVmYXVsdDtcbiIsIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC1zYXNzL2Jsb2IvMy4zLXN0YWJsZS9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fZ3JhZGllbnRzLnNjc3MjTDE3LUwyN1xuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAgLy8gT3BlcmEgMTJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duXG59XG4iLCIuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cbiAgY3Vyc29yOiB0ZXh0O1xuXG4gIG91dGxpbmU6IDA7XG5cbiAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRmb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNGU0ZTQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX2Rpc3BsYXkge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIHBhZGRpbmctbGVmdDogMnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgfVxuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcblxuICAgIGNvbG9yOiAkcmVtb3ZlLWNvbG9yO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgcGFkZGluZzogMCA0cHg7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkcmVtb3ZlLWhvdmVyLWNvbG9yO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuJltkaXI9XCJydGxcIl0ge1xuICAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19kaXNwbGF5IHtcbiAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgfVxuICB9XG59XG5cbiYuc2VsZWN0Mi1jb250YWluZXItLW9wZW4ge1xuICAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZm9jdXMtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi5zZWxlY3QyLWNvbnRhaW5lci0tYWJvdmUge1xuICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICB9XG4gIH1cblxuICAmLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyB7XG4gICAgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLmludHJvLXNsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoODApO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMzApO1xuICB9XG4gIC5ibG9jay1pbm5lciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1heC13aWR0aDpyZW0tY2FsYygxMjEwKTtcbiAgICAgIG1hcmdpbjowIGF1dG87XG4gICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgIC5pbnRyby1zbGlkZXItd3JhcHBlciB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB3aWR0aDpyZW0tY2FsYyg4OTIpO1xuICAgICAgICBtaW4taGVpZ2h0OnJlbS1jYWxjKDY5Nyk7XG4gICAgICAgIGZsZXgtc2hyaW5rOjA7XG4gICAgICAgIG1hcmdpbjpyZW0tY2FsYygwIDM1IDAgMCk7XG4gICAgICB9XG4gICAgICAuc2xpZGUge1xuICAgICAgICAud3lzaXd5ZyB7XG4gICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZDojNzY1QkE3O1xuICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMjUgMjUgODAgMjUpO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OnJlbS1jYWxjKDY5Nyk7XG4gICAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDQwIDEwMCk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDI1KTtcbiAgICAgICAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaDEge1xuICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc3Rvcnkge1xuICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgIHotaW5kZXg6MTtcbiAgICAgICAgICBtaW4taGVpZ2h0OnJlbS1jYWxjKDU0MCk7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6cmVtLWNhbGMoNjk3KTtcbiAgICAgICAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoMjUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICA+IGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMjQ4KTtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgaW5zZXQ6MDtcbiAgICAgICAgICAgIHotaW5kZXg6MjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQ6cmVtLWNhbGMoNjk3KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLnN0b3J5LWRldGFpbHMge1xuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6cmVtLWNhbGMoMjQ4KTtcbiAgICAgICAgICAgIGxlZnQ6MDtcbiAgICAgICAgICAgIHJpZ2h0OjA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiM3NjVCQTc7XG4gICAgICAgICAgICB6LWluZGV4OjM7XG4gICAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDI1IDI1IDgwIDI1KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgdG9wOmF1dG87XG4gICAgICAgICAgICAgIGJvdHRvbTowO1xuICAgICAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDM1IDM1IDM1IDYwKTtcbiAgICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc3RvcnktdGl0bGUge1xuICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygzMDApO1xuICAgICAgICAgICAgICBmbGV4LXNocmluazowO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zdG9yeS1pbmZvIHtcbiAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnN0b3J5LWN0YSB7XG4gICAgICAgICAgICAgIG1hcmdpbjpyZW0tY2FsYygxMCAwIDAgMCk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6I2ZmZjtcbiAgICAgICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDojZmZmO1xuICAgICAgICAgICAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5zbGljay1kb3RzIHtcblxuXG4gICAgICAgIGJvdHRvbTpyZW0tY2FsYyg0MCk7XG4gICAgICAgIGxlZnQ6cmVtLWNhbGMoMjUpO1xuICAgICAgICB3aWR0aDphdXRvO1xuICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOnJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgYm90dG9tOmF1dG87XG4gICAgICAgICAgdG9wOjUwJTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XG4gICAgICAgICAgbGVmdDpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgd2lkdGg6cmVtLWNhbGMoNDApO1xuICAgICAgICAgIGhlaWdodDo1cHg7XG4gICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgNyk7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICB3aWR0aDo1cHg7XG4gICAgICAgICAgICBtYXJnaW46cmVtLWNhbGMoMTAgMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgIGhlaWdodDo1cHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgICB3aWR0aDo1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgICAgaGVpZ2h0OjVweDtcbiAgICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6M3B4O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC40KTtcbiAgICAgICAgICAgICAgb3BhY2l0eToxO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICAgICAgd2lkdGg6NXB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICYuc2xpY2stYWN0aXZlIHtcbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmJsb2NrLWRldGFpbHMge1xuICAgICAgcGFkZGluZzpyZW0tY2FsYygyNSk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgICB9XG4gICAgICAuaXRlbS13cmFwcGVyIHtcbiAgICAgICAgaDUge1xuICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg2MDApO1xuICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgyNCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6Zm9udC1yZW0oMjkpO1xuICAgICAgICAgIGNvbG9yOiM3NjVCQTc7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgyNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDpmb250LXJlbSgzMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiMwMDAwMDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgMCA0MCAwKTtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDU1IDAgODAgMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLnF1aWNrLWxpbmtzIHtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTEwKTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg4MCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoODApO1xuICB9XG4gIC5ibG9jay1pbm5lciB7XG4gICAgbWFyZ2luOiByZW0tY2FsYygwIDI1KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMjEwKTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgICAuY2FyZHMge1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgIG1hcmdpbjpyZW0tY2FsYygwIC0xOCAxNzAgLTE4KTtcbiAgICAgIH1cbiAgICAgIC5jYXJkIHtcbiAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNDI0KTtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDAgMzAgMCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAxOCk7XG4gICAgICAgICAgZmxleC1zaHJpbms6MDtcbiAgICAgICAgICB3aWR0aDpyZW0tY2FsYyg1ODMpO1xuICAgICAgICB9XG4gICAgICAgID4gaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMTg4KTtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDQwNik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jYXJkLWluZm8ge1xuICAgICAgICAgIC5jYXJkLWluZm8taW5uZXIge1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY2FyZC1jdGEge1xuICAgICAgICAgICAgICB0b3A6cmVtLWNhbGMoMTQwKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICB0b3A6YXV0bztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAucXVpY2stbGlua3MtbGlzdCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoNTQyKTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgICAuYmxvY2stZGV0YWlscyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoNDApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIGgyIHtcbiAgICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoNDApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbn0iLCIubGF0ZXN0LXBvc3RzIHtcbiAgcGFkZGluZzpyZW0tY2FsYyg2MCAyNSk7XG4gIGJhY2tncm91bmQ6I0Y2RjRGOTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDc1IDAgMTM1IDApO1xuICB9XG4gIC5ibG9jay1pbm5lciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTIxMCk7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoNjApO1xuICAgICAgaDIge1xuICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgfVxuICAgIH1cbiAgICAucG9zdHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIC0xOCk7XG4gICAgICB9XG4gICAgICAuY2FyZCB7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIGhlaWdodDphdXRvO1xuICAgICAgICBtYXJnaW46cmVtLWNhbGMoMCAwIDMwIDApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDM3Nyk7XG4gICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgMTgpO1xuICAgICAgICB9XG4gICAgICAgID4gaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMjA5KTtcbiAgICAgICAgICBib3R0b206MDtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDMwNSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jYXJkLWluZm8ge1xuXG4gICAgICAgICAgLmNhcmQtaW5mby1pbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNSAzMCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNSA2MCAyNSAzMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBib3gtc2hhZG93OnJlbS1jYWxjKDQpIHJlbS1jYWxjKDQpIHJlbS1jYWxjKDYpIHJnYmEoMCwgMCwgMCwgMC4zMSk7XG4gICAgICAgIH1cbiAgICAgICAgJi50cmFuc3BhcmVudCB7XG4gICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDQxNik7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGhlaWdodDphdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgICA+IGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNDE2KTtcbiAgICAgICAgICAgIGJvdHRvbTowO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWluZm8ge1xuICAgICAgICAgICAgLmNhcmQtaW5mby1pbm5lciB7XG4gICAgICAgICAgICAgIC5jYXJkLWN0YSB7XG4gICAgICAgICAgICAgICAgdG9wOmF1dG87XG4gICAgICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoNDMpO1xuICAgICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg0Myk7XG4gICAgICAgICAgICAgICAgYm90dG9tOiByZW0tY2FsYygyNSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgYm90dG9tOiByZW0tY2FsYygyNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLnBhZ2UtYmFubmVyIHtcbiAgLnBhZ2UtYmFubmVyLWlubmVyIHtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDEyNzUpO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDonJztcbiAgICAgIGJhY2tncm91bmQ6IHJnYigwLDAsMCk7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgwLDAsMCwwLjgxKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgdG9wOnJlbS1jYWxjKDEyNik7XG4gICAgICBsZWZ0OjA7XG4gICAgICByaWdodDowO1xuICAgICAgaGVpZ2h0OnJlbS1jYWxjKDk1KTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoMzAgMzAgMCAwKTtcbiAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDIwOSk7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwwLDAsMC44MSkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG4gICAgICAgIHRvcDowO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgaGVpZ2h0OnJlbS1jYWxjKDIyMSk7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgaGVpZ2h0OnJlbS1jYWxjKDUzOCk7XG4gICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDMwIDMwIDAgMCk7XG4gICAgfVxuICB9XG4gIC5wYWdlLWJhbm5lci10aXRsZSB7XG4gICAgYmFja2dyb3VuZDojNzY1QkE3O1xuICAgIHBhZGRpbmc6cmVtLWNhbGMoMjAgMjUpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nOnJlbS1jYWxjKDM1IDQwKTtcbiAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYygwIDAgMzAgMzApO1xuICAgIH1cbiAgICBoMiB7XG4gICAgICBjb2xvcjojZmZmO1xuICAgICAgbWFyZ2luOjA7XG4gICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNjAwKTtcbiAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgyNCk7XG4gICAgICBsaW5lLWhlaWdodDpmb250LXJlbSgyOSk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXgtd2lkdGg6cmVtLWNhbGMoOTk1KTtcbiAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDM4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6Zm9udC1yZW0oNTIpO1xuICAgICAgfVxuICAgIH1cbiAgICAuZmF2b3VyaXRlcy1pY29uIHtcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgIHRvcDpyZW0tY2FsYygyMDApO1xuICAgICAgei1pbmRleDozO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgdG9wOmF1dG87XG4gICAgICAgIHJpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgICAgIGJvdHRvbTogcmVtLWNhbGMoMzUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYnJlYWRjcnVtYnMge1xuICAgIG1hcmdpbjpyZW0tY2FsYygzMCAyNSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMzAgMCA4MCAwKTtcbiAgICB9XG4gIH1cbn0iLCIubGVhZGVyc2hpcC1tZW1iZXJzIHtcbiAgbWFyZ2luOnJlbS1jYWxjKDQwIDI1KTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtYXJnaW46cmVtLWNhbGMoODAgMCk7XG4gIH1cbiAgLmJsb2NrLXRpdGxlIHtcbiAgICBtYXJnaW46cmVtLWNhbGMoMCAwIDMwIDApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW46cmVtLWNhbGMoMCAwIDUwIDApO1xuICAgIH1cbiAgICBoNCB7XG4gICAgICBjb2xvcjojNzY1QkE3O1xuICAgIH1cbiAgfVxuICAubWVtYmVycyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDAgLTE3KTtcbiAgICB9XG4gICAgYS5tZW1iZXItY2FyZCB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIC5tZW1iZXItcGhvdG8ge1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgaW5zZXQ6MDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjMpO1xuICAgICAgICAgICAgei1pbmRleDozO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTkwOVwiO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6J2ljb21vb24nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoNDQpO1xuICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDQ0KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6MTAwJTtcbiAgICAgICAgICAgIGJvcmRlcjozcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6NTAlO1xuICAgICAgICAgICAgdG9wOjUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAgICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHotaW5kZXg6NDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgyMik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5tZW1iZXItY2FyZCB7XG4gIHdpZHRoOnJlbS1jYWxjKDI0MCk7XG4gIGRpc3BsYXk6YmxvY2s7XG4gIG1hcmdpbjpyZW0tY2FsYygwIDAgMzAgMCk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZmxleC1zaHJpbms6MDtcbiAgICB3aWR0aDpyZW0tY2FsYygzNzcpO1xuICAgIG1hcmdpbjpyZW0tY2FsYygwIDE3IDQ1IDE3KTtcbiAgfVxuICAubWVtYmVyLXBob3RvIHtcbiAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDI1KTtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICBoZWlnaHQ6cmVtLWNhbGMoMTkxKTtcbiAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDMwKTtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGhlaWdodDpyZW0tY2FsYygyODApO1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIGhlaWdodDpyZW0tY2FsYygxOTEpO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMjgwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmNhcmQtaW5mbyB7XG4gICAgaDUge1xuICAgICAgY29sb3I6Izc2NUJBNztcbiAgICB9XG4gICAgLm1lbWJlci1wb3NpdGlvbiB7XG4gICAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDYwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNtZW1iZXItbW9kYWwge1xuICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDMwKTtcbiAgcGFkZGluZzowO1xuICBib3gtc2hhZG93OjAgcmVtLWNhbGMoMykgcmVtLWNhbGMoNikgcmdiYSgwLDAsMCwwLjE2KTtcbiAgYm9yZGVyOm5vbmU7XG4gIGxlZnQ6MTVweDtcbiAgcmlnaHQ6MTVweDtcbiAgd2lkdGg6Y2FsYygxMDAlIC0gMzBweCk7XG4gIHRvcDpyZW0tY2FsYygxMDApICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgd2lkdGg6cmVtLWNhbGMoMTIwMCk7XG4gICAgcGFkZGluZzpyZW0tY2FsYygxMDUgNzUpO1xuICB9XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIHJpZ2h0OnJlbS1jYWxjKDI1KTtcbiAgICB0b3A6cmVtLWNhbGMoMjUpO1xuICAgIHdpZHRoOnJlbS1jYWxjKDMxKTtcbiAgICBoZWlnaHQ6cmVtLWNhbGMoMzEpO1xuICAgIGJvcmRlci1yYWRpdXM6MTAwJTtcbiAgICBib3JkZXI6M3B4IHNvbGlkICM3RjdGN0Y7XG4gICAgdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHJpZ2h0OnJlbS1jYWxjKDQwKTtcbiAgICAgIHRvcDpyZW0tY2FsYyg0MCk7XG4gICAgICB3aWR0aDpyZW0tY2FsYygzOCk7XG4gICAgICBoZWlnaHQ6cmVtLWNhbGMoMzgpO1xuICAgIH1cbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxNCk7XG4gICAgICBmb250LXdlaWdodDozMDA7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMTgpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IzdGN0Y3RjtcbiAgICAgIGkge1xuICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubW9kYWwtaW5uZXIge1xuICAgIC5tZW1iZXItZGV0YWlscyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgICAgLm1lbWJlci1jYXJkIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLm1lbWJlci1waG90byB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoMzAgMzAgMCAwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDIwNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jYXJkLWluZm8ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygwIDMwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5tZW1iZXItYmlvIHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDMwKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMCAwIDQ1KTtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDYwMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLnRlYW0tbWVtYmVycyB7XG4gIG1hcmdpbjpyZW0tY2FsYyg0MCAyNSk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luOnJlbS1jYWxjKDgwIDApO1xuICB9XG4gIC5ibG9jay10aXRsZSB7XG4gICAgbWFyZ2luOnJlbS1jYWxjKDAgMCAzMCAwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgMCA1MCAwKTtcbiAgICB9XG4gICAgaDQge1xuICAgICAgY29sb3I6Izc2NUJBNztcbiAgICB9XG4gIH1cbiAgLm1lbWJlcnMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygwIC0xNyk7XG4gICAgfVxuICAgIC5tZW1iZXItd3JhcHBlciB7XG5cbiAgICAgIG1hcmdpbjpyZW0tY2FsYygwIDAgMzUgMCk7XG4gICAgICBiYWNrZ3JvdW5kOiNGOEY4Rjg7XG4gICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDMwKTtcbiAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMzUpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6cmVtLWNhbGMoNTgzKTtcbiAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgMTcgMzUgMTcpO1xuICAgICAgfVxuICAgICAgLm1lbWJlci1uYW1lIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI0QwRDBEMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyNSk7XG4gICAgICAgIGg1IHtcbiAgICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgICB9XG4gICAgICAgIC5tZW1iZXItcG9zaXRpb24ge1xuICAgICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDYwMCk7XG4gICAgICAgICAgICBjb2xvcjojMDAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLm1lbWJlci1kZXRhaWxzIHtcbiAgICAgICAgLm1lbWJlci1iaW8ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgICAgIC5tZW1iZXItcGhvbmUsXG4gICAgICAgIC5tZW1iZXItZW1haWwge1xuICAgICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOjJweCBzb2xpZCAjNzY1QkE3O1xuICAgICAgICAgICAgICBjb2xvcjojMDAwO1xuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6cmVtLWNhbGMoNyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgICAgLm1lbWJlci1waG9uZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygxMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jb250ZW50LWNhcmRzIHtcbiAgcGFkZGluZzpyZW0tY2FsYyg3MCAyNSA0MCAyNSk7XG4gIGJhY2tncm91bmQ6I0YwRUVGNjtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDgwIDAgMTEwIDApO1xuICB9XG4gIC5ibG9jay1pbm5lciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTIxMCk7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMzApO1xuICAgICAgaDMge1xuICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgfVxuICAgIH1cbiAgICAuY2FyZHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIC0xOCk7XG4gICAgICB9XG4gICAgICAuY2FyZCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQyNCk7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAwIDMwIDApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMTgpO1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICA+IGltZyB7XG4gICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDE4OCk7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg0MDYpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmNhcmQtaW5mbyB7XG4gICAgICAgICAgLmNhcmQtaW5mby1pbm5lciB7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jYXJkLWN0YSB7XG4gICAgICAgICAgICAgIHRvcDpyZW0tY2FsYygxNDApO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHRvcDphdXRvO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLnRyYW5zcGFyZW50LFxuICAgICAgICAmLmZ1bGxfdHJhbnNwYXJlbnQge1xuICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDI3Myk7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMCAzMCAwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg0NzQpO1xuICAgICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMTgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMjczKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQ3NCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmNhcmQtaW5mbyB7XG4gICAgICAgICAgICAgICAgdG9wOmF1dG87XG4gICAgICAgICAgICAgICAgYm90dG9tOjA7XG4gICAgICAgICAgICAgICAgLmNhcmQtaW5mby1pbm5lciB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCAyNSk7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg0MCA0NSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgLmNhcmQtY3RhIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOmF1dG87XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OnJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICByaWdodDpyZW0tY2FsYygzNSk7XG4gICAgICAgICAgICAgICAgICAgICAgYm90dG9tOnJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNTQpO1xuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNTQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZm9udC1yZW0oMTgpO1xuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGZvbnQtcmVtKDI0KTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5jb250YWN0LWJsb2NrIHtcbiAgbWFyZ2luOnJlbS1jYWxjKDQwIDI1IDc1IDI1KTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtYXJnaW46cmVtLWNhbGMoODAgMCk7XG4gIH1cbiAgLmJsb2NrLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6Izc2NUJBNztcbiAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDMwKTtcblxuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luOjAgYXV0bztcbiAgICAgIG1heC13aWR0aDpyZW0tY2FsYygxMjEwKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoMzApO1xuICAgIH1cbiAgICAuYmxvY2stZGV0YWlscyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuICAgICAgLmNvbnRhY3QtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwIDMwIDQwIDMwKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1MCk7XG4gICAgICAgIH1cbiAgICAgICAgaDEsaDIsaDMsaDQsaDUscCB7XG4gICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjojZmZmO1xuICAgICAgICAgIG1hcmdpbjpyZW0tY2FsYygxMCAwIDAgMCk7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNjg2KTtcbiAgICAgICAgICBtaW4taGVpZ2h0OnJlbS1jYWxjKDU0Mik7XG4gICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygyMTApO1xuICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogdG9wO1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjpBYnNvbHV0ZTtcbiAgICAgICAgICAgIGluc2V0OjA7XG4gICAgICAgICAgICBoZWlnaHQ6MTAwJTtcblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5qb2Itb3Bwb3J0dW5pdGllcyB7XG4gIHBhZGRpbmc6cmVtLWNhbGMoNDAgMjUpO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBhZGRpbmc6cmVtLWNhbGMoODAgMCAwIDApO1xuICB9XG4gIC5ibG9jay1pbm5lciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTIwNSk7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgIGg0IHtcbiAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYyg0MCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5vcHBvcnR1bml0aWVzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwMCk7XG4gICAgICB9XG4gICAgICAuY2FyZWVyLWl0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRjBFRUY2O1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzMCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoNTUpO1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzpyZW0tY2FsYygxMDUgNDUgNDUgNDUpO1xuICAgICAgICAuZGVhZGxpbmUge1xuICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6MDtcbiAgICAgICAgICB0b3A6cmVtLWNhbGMoNDApO1xuICAgICAgICAgIGJhY2tncm91bmQ6Izc2NUJBNztcbiAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMzcpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDAgMTcgMTcgMCk7XG4gICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygwIDM1KTtcbiAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg2MDApO1xuICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxNik7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6cmVtLWNhbGMoNyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgaDUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudmlldy1tb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAubW9yZS1saW5rIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg3MDApO1xuICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE2KTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiByZW0tY2FsYygwLjQpO1xuICAgICAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOjJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiM3NjVCQTc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5mYXZvcml0ZSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDMxKTtcbiAgICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMzEpO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOjEwMCU7XG4gICAgICAgICAgICAgIGJvcmRlcjoycHggc29saWQgIzc2NUJBNztcbiAgICAgICAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE1KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBib3gtc2hhZG93OnJlbS1jYWxjKDMpIHJlbS1jYWxjKDMpIHJlbS1jYWxjKDYpIHJnYmEoMCwwLDAsMC4yNSk7XG4gICAgICAgICAgLnZpZXctbW9yZSB7XG4gICAgICAgICAgICAubW9yZS1saW5rIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiM3NjVCQTc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmltYWdlLXRleHQge1xuICBtYXJnaW46cmVtLWNhbGMoNDAgMjUpO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1hcmdpbjpyZW0tY2FsYyg4MCAwKTtcbiAgfVxuICAuaW1hZ2UtdGV4dC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAudGV4dC1jb250ZW50IHtcbiAgICAgIGg0IHtcbiAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgMCAyMCAwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmltYWdlLXdyYXBwZXIge1xuICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgMCAzNSAwKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg1ODMpO1xuICAgICAgICBtYXJnaW46cmVtLWNhbGMoMCAzNSAwIDApO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIGhlaWdodDpyZW0tY2FsYygyNDApO1xuICAgICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDMwIDMwIDAgMCk7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg1ODMpO1xuICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg0ODcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYucmlnaHQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgLmltYWdlLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzNSk7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OjA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi51c2VmdWwtcGFnZXMge1xuICBtYXJnaW46cmVtLWNhbGMoODAgMjUpO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1hcmdpbjogcmVtLWNhbGMoODAgMCk7XG4gIH1cbiAgLmJsb2NrLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICAuYmxvY2stY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cbiAgICAgIGgzIHtcbiAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgICB9XG4gICAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDQ3OSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmJsb2NrLWxpbmtzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDM1KTtcbiAgICAgIH1cbiAgICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjREVEOEVBO1xuICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMjIgMzUgMjIgMCk7XG4gICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMjggMzUgMjggMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDoxcHggc29saWQgI0RFRDhFQTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNTAwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxOCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDpmb250LXJlbSgzMik7XG4gICAgICAgICAgICBjb2xvcjojMDAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbToycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6cmVtLWNhbGMoMzUpO1xuICAgICAgICAgICAgZGlzcGxheTppbmxpbmU7XG4gICAgICAgICAgICBib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OjA7XG4gICAgICAgICAgICB0b3A6NTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTkwOVwiO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6J2ljb21vb24nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMjcpO1xuICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDI3KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6MTAwJTtcbiAgICAgICAgICAgIGJvcmRlcjoycHggc29saWQgIzc2NUJBNztcbiAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDExKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgICAgICAgIGNvbG9yOiM3NjVCQTc7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6Izc2NUJBNztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIucmVhZGluZy1jb250ZW50IHtcbiAgbWFyZ2luOnJlbS1jYWxjKDQwIDI1KTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDgwIDApO1xuICB9XG4gIC5pbWFnZS10ZXh0LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICAuaW1hZ2Utd3JhcHBlciB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMzUpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgICAuY2FyZCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDMxNik7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNTI3KTtcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDM4Nik7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNhcmQtaW5mbyB7XG4gICAgICAgICAgLmNhcmQtaW5mby1pbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDI1IDIwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygyNSA0NSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDYwMCk7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgyMCk7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OmZvbnQtcmVtKDI1KTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMzgpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OmZvbnQtcmVtKDUyKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg1MDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOnNjYWxlKDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAudGV4dC1jb250ZW50IHtcbiAgICAgIC5ibG9jay1sYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQ6I0YwRUVGNjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYygwIDIyIDIyIDApO1xuICAgICAgICBkaXNwbGF5OmlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgNzAgMCAwKTtcbiAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDQzKTtcbiAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDgwMCk7XG4gICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxNik7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiAgICAgICAgY29sb3I6IzUzMzk4NjtcbiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6MztcbiAgICAgICAgdG9wOnJlbS1jYWxjKC0yMCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgMCA1MCAwKTtcbiAgICAgICAgICB0b3A6MDtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OnJlbS1jYWxjKC0yMDAwKTtcbiAgICAgICAgICB3aWR0aDpyZW0tY2FsYygyMDAwKTtcbiAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICBib3R0b206MDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiNGMEVFRjY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuZm9ybS1ibG9jayB7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICB6LWluZGV4OjE7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDQwIDI1KTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg2NSAwIDUwIDApO1xuICB9XG4gICYuZGFyayB7XG4gICAgYmFja2dyb3VuZDojRjBFRUY2O1xuICAgIC50aGUtZm9ybSB7XG4gICAgICAuZ2Zvcm1fd3JhcHBlciB7XG4gICAgICAgIGZvcm0ge1xuICAgICAgICAgIC5nZm9ybS1ib2R5IHtcbiAgICAgICAgICAgIC5nZm9ybV9maWVsZHMge1xuICAgICAgICAgICAgICAuZ2ZpZWxkIHtcbiAgICAgICAgICAgICAgICAuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4gICAgICAgICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmdmb3JtX2Zvb3RlciB7XG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mb3JtLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHotaW5kZXg6MztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMjEwKTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgICAuZm9ybS10aXRsZSB7XG4gICAgICBoNCB7XG4gICAgICAgIGNvbG9yOiM3NjVCQTc7XG4gICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoNDApO1xuICAgICAgfVxuICAgIH1cbiAgICAudGhlLWZvcm0ge1xuICAgICAgLmdmb3JtX3dyYXBwZXIge1xuICAgICAgICAuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvcnMge1xuICAgICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgYm94LXNoYWRvdzpub25lO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMzApO1xuICAgICAgICB9XG4gICAgICAgIGZvcm0ge1xuICAgICAgICAgIC5nZm9ybS1ib2R5IHtcbiAgICAgICAgICAgIC5nZm9ybV9maWVsZHMge1xuICAgICAgICAgICAgICAuZ2ZpZWxkIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZ2ZpZWxkX2xhYmVsLFxuICAgICAgICAgICAgICAgIC5nZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNjAwKTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxNik7XG4gICAgICAgICAgICAgICAgICBjb2xvcjojMkQzMzQ0O1xuICAgICAgICAgICAgICAgICAgLmdmaWVsZF9yZXF1aXJlZCB7XG4gICAgICAgICAgICAgICAgICAgIC5nZmllbGRfcmVxdWlyZWRfdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgY29udGVudDonKic7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgICAgICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNTQpO1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYygyNyk7XG4gICAgICAgICAgICAgICAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMjUpO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDUwMCk7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMTYpO1xuICAgICAgICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNFREVERUQ7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNzApO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eToxO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjojMkQzMzQ0O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzpub25lO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygwIDE1KTtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg0MDApO1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE4KTtcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjoycHggc29saWQgI2VlZTtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246OTklIGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygyNSk7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMjE2KTtcbiAgICAgICAgICAgICAgICAgIHJlc2l6ZTpub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmdmaWVsZC0tdHlwZS1maWxldXBsb2FkIHtcbiAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDUwMCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxOCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiMyRDMzNDQ7XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTkwMlwiO1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OidpY29tb29uJztcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjojMDAwO1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDpyZW0tY2FsYygxMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIC5nZm9ybV9maWxldXBsb2FkX3J1bGVzIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmdmaWVsZC0tdHlwZS1zZWN0aW9uIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgICAgICAgLmdzZWN0aW9uX3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDYwMCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxOSk7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OmZvbnQtcmVtKDI2KTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IzJEMzM0NDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMjApO1xuICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OmZvbnQtcmVtKDI4KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmdmaWVsZC0tdHlwZS1odG1sIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmdmaWVsZC0tdHlwZS1uYW1lIHtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgLmdpbnB1dF9jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAuZ2Zvcm0tZ3JpZC1jb2wge1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5nZmllbGQtLXR5cGUtcHJvZHVjdCB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgICAgICAgIC5naW5wdXRfY29udGFpbmVyX3NpbmdsZXByb2R1Y3Qge1xuICAgICAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygwIDUgMCAxNSk7XG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDQwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6MnB4IHNvbGlkICNlZWU7XG4gICAgICAgICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eToxO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IzJEMzM0NDtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmdmb3JtLWZpZWxkLWxhYmVsICB7XG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDQwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE2KTtcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjojMkQzMzQ0O1xuICAgICAgICAgICAgICAgICAgICAgICYuZ2lucHV0X3Byb2R1Y3RfcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IzkwMUEzRDtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNDAwKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE2KTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM1NjVmODE7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuZ2ZpZWxkLS10eXBlLWNvbnNlbnQge1xuICAgICAgICAgICAgICAgICAgLmdpbnB1dF9jb250YWluZXJfY29uc2VudCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNjAwKTtcbiAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMTYpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuZ2ZpZWxkLS10eXBlLXJhZGlvLFxuICAgICAgICAgICAgICAgICYuZ2ZpZWxkLS10eXBlLWNoZWNrYm94IHtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDpyZW0tY2FsYyg3OTYpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgbGVnZW5kIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTowLjVweCBzb2xpZCAjNzY1QkE3O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYygxNSk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg1MDApO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMTYpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjojMDAwMDAwO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgLmdmaWVsZF9jaGVja2JveCxcbiAgICAgICAgICAgICAgICAgIC5nZmllbGRfcmFkaW8ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIC5nY2hvaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46cmVtLWNhbGMoMCAwIDEwIDApO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjpyZW0tY2FsYygwIDUwIDAgMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg0MDApO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiMwMDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgICAgICAgICAgICAgICBhY2NlbnQtY29sb3I6Izc2NUJBNztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmdmaWVsZC0tdHlwZS1zZWxlY3Qge1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDM3OCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5nZmllbGRfdmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDQwMCk7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMTgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDM5KTtcbiAgICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAjNzY1QkE3O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiM3NjVCQTc7XG4gICAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg3MDApO1xuICAgICAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMTYpO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygwIDI1KTtcbiAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDAuNCk7XG4gICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmFmZmlsaWF0ZS1jb21wYW5pZXMge1xuICBtYXJnaW46IHJlbS1jYWxjKDQwIDI1KTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDgwIDApO1xuICB9XG4gIC5ibG9jay10aXRsZSB7XG4gICAgaDMge1xuICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoNTApO1xuICAgIH1cbiAgfVxuICAubG9nb3Mge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygwIC0xNyk7XG4gICAgfVxuICAgIC5sb2dvIHtcblxuICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgMCAyNSAwKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOnJlbS1jYWxjKDI3NCk7XG4gICAgICAgIGZsZXgtc2hyaW5rOjA7XG4gICAgICAgIG1hcmdpbjpyZW0tY2FsYygwIDE3IDM1IDE3KTtcbiAgICAgIH1cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIGhlaWdodDpyZW0tY2FsYygxNTQpO1xuICAgICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDMwKTtcbiAgICAgICAgb2JqZWN0LWZpdDpjb3ZlcjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBtYXgtd2lkdGg6cmVtLWNhbGMoMjc0KTtcbiAgICAgICAgICBoZWlnaHQ6YXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi52aWRlby1jb250ZW50IHtcbiAgbWFyZ2luOnJlbS1jYWxjKDQwIDI1KTtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDYwKTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg4MCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoODApO1xuICAgIHBhZGRpbmctYm90dG9tOjA7XG4gIH1cbiAgLmJsb2NrLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoNTUpO1xuICAgICBoNCB7XG4gICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDM1KTtcbiAgICAgfVxuICB9XG4gIC52aWRlb3Mtc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygwIC0xNyk7XG4gICAgfVxuICAgIC52aWRlby1pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg1MzgpO1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMTcpO1xuICAgICAgfVxuICAgICAgLnZpZGVvLXBsYWNlaG9sZGVyIHtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoMzApO1xuICAgICAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIGhlaWdodDpyZW0tY2FsYygyMTApO1xuICAgICAgICB6LWluZGV4OjE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoNTApO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygzNjUpO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgaW5zZXQ6MDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4yNik7XG4gICAgICAgICAgei1pbmRleDozO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgaW5zZXQ6MDtcbiAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgICAgIG9iamVjdC1maXQ6Y292ZXI7XG4gICAgICAgICAgei1pbmRleDoyO1xuICAgICAgICB9XG4gICAgICAgIC5wbGF5LXZpZGVvIHtcbiAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6NTAlO1xuICAgICAgICAgIGxlZnQ6NTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAgICAgICB6LWluZGV4OjQ7XG4gICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oNTApO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oOTApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnZpZGVvLWRldGFpbHMge1xuICAgICAgICAudmlkZW8tdGl0bGUge1xuICAgICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyNSk7XG4gICAgICAgICAgaDUge1xuICAgICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgNTUgMCAwKTtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMjQpO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDpmb250LXJlbSgzMSk7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5hZGQtdG8tZmF2b3JpdGUge1xuICAgICAgICAgICAgZmxleC1zaHJpbms6MDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnZpZGVvLWR1cmF0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDI1KTtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg1MDApO1xuICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE2KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnZpZGVvLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICBoNiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNjAwKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgY29sb3I6IzAwMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoMC4yKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdWwge1xuICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIFxuICB9XG4gIFxuXG59XG5cbi52aWRlby1jb250ZW50LFxuLmF1ZGlvLWNvbnRlbnQge1xuICAuc2xpY2stdHJhY2sge1xuICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgbWFyZ2luLXJpZ2h0OjA7XG4gIH1cbiAgLnNsaWNrLWFycm93IHtcbiAgICB0b3A6YXV0bztcbiAgICBib3R0b206cmVtLWNhbGMoLTQwKTtcbiAgICB0cmFuc2Zvcm06bm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgYm90dG9tOmF1dG87XG4gICAgICB0b3A6IHJlbS1jYWxjKDE2MCk7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICB9XG4gIC5zbGljay1hcnJvdyB7XG5cbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB3aWR0aDpyZW0tY2FsYyg0MCk7XG4gICAgaGVpZ2h0OnJlbS1jYWxjKDQwKTtcbiAgICBkaXNwbGF5OmJsb2NrO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHdpZHRoOnJlbS1jYWxjKDU5KTtcbiAgICAgIGhlaWdodDpyZW0tY2FsYyg1OSk7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicsIHNhbnMtc2VyaWY7XG4gICAgICB3aWR0aDpyZW0tY2FsYyg0MCk7XG4gICAgICBoZWlnaHQ6cmVtLWNhbGMoNDApO1xuICAgICAgYmFja2dyb3VuZDpub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGJvcmRlcjozcHggc29saWQgIzc2NUJBNztcblxuICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMjApO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBvcGFjaXR5OjE7XG4gICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoNDApO1xuICAgICAgICB3aWR0aDpyZW0tY2FsYyg1OSk7XG4gICAgICAgIGhlaWdodDpyZW0tY2FsYyg1OSk7XG4gICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAmLnNsaWNrLW5leHQge1xuICAgICAgcmlnaHQ6IGNhbGMoNTAlIC0gMy43NXJlbSk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICByaWdodDogcmVtLWNhbGMoLTQ1KTtcbiAgICAgIH1cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGU5MDRcIjtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5zbGljay1wcmV2IHtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMy43NXJlbSk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBsZWZ0OiByZW0tY2FsYygtNDUpO1xuICAgICAgfVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZTkwNFwiO1xuICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7XG4gICAgICB9XG4gICAgfVxuICAgICYuc2xpY2stZGlzYWJsZWQge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgICAgIGJvcmRlci1jb2xvcjpyZ2JhKDE0NiwyMTksMjMyLDAuMzEpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDojNzY1QkE3O1xuICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5yZXNvdXJjZXMtbGlicmFyeSB7XG4gIGJhY2tncm91bmQ6I0Y4RjhGODtcbiAgbWFyZ2luLXRvcDogcmVtLWNhbGMoIDQwICk7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCA0MCApO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKCAwICk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoIDM1ICk7XG4gIH1cbiAgLmJsb2NrLXdyYXBwZXIge1xuICAgIG1hcmdpbjpyZW0tY2FsYygwIDI1KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMjEwKTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgICAuYmxvY2std3JhcHBlci1pbm5lciB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXgtd2lkdGg6cmVtLWNhbGMoMTEwMCk7XG4gICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMCAzMCk7XG4gICAgICB9XG4gICAgICAuYmxvY2stbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDQwKTtcbiAgICAgIH1cbiAgICAgIC5yZXNvdXJjZXMtdGl0bGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYygzNSk7XG4gICAgICAgIGJvcmRlci1ib3R0b206M3B4IHNvbGlkICNCNEI0QjQ7XG4gICAgICAgIGg0IHtcbiAgICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5sb2FkLW1vcmUtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMCAzNSAwKTtcbiAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICB9XG5cbiAgYnV0dG9uLnNob3ctbW9yZSB7XG4gICAgICBtYXJnaW46IDAgYXV0byByZW0tY2FsYyggMTAgKTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgXG4gIC5oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBcbiAgJi5oYXMtbW9yZS1yZXN1bHRzIHtcbiAgICAgIGJ1dHRvbi5zaG93LW1vcmUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICB9XG4gIFxuICAmLnNob3ctbW9yZSB7XG4gICAgICBidXR0b24uc2hvdy1tb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgXG4gICAgICAuaGlkZGVuIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICB9XG59IiwiLmF1ZGlvLWNvbnRlbnQge1xuICBtYXJnaW46cmVtLWNhbGMoODAgMjUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luOnJlbS1jYWxjKDgwIDApO1xuICB9XG4gIC5saXN0ZW4tbGFiZWwge1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDpyZW0tY2FsYygtMTApO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB0b3A6cmVtLWNhbGMoNjApO1xuICAgIH1cbiAgfVxuICBcbiAgLmF1ZGlvLXNsaWRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiA1OyBcbiAgfVxuICAuYmxvY2stY29udGVudCB7XG5cbiAgICBiYWNrZ3JvdW5kOiAjRjhGOEY4O1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMwKSByZW0tY2FsYygzMCkgcmVtLWNhbGMoMTIpIHJlbS1jYWxjKDMwKTtcbiAgICBtYXJnaW46IHJlbS1jYWxjKCAxMCApIDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICAgIC5pbWFnZS1jb250ZW50IHtcblxuICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbGV4LXNocmluazowO1xuICAgICAgfVxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjA2KTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMwIDMwIDAgMCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMwIDAgMCAzMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmF1ZGlvLWRldGFpbHMge1xuICAgICAgcGFkZGluZzpyZW0tY2FsYygzNSk7XG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgIC5mYXZvdXJpdGVzLWljb24ge1xuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgdG9wOnJlbS1jYWxjKC0xNSk7XG4gICAgICAgIHJpZ2h0OnJlbS1jYWxjKDI1KTtcbiAgICAgIH1cbiAgICAgIC5hdWRpby1oZWFkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgICAgIC5wbGF5LCAucGF1c2Uge1xuICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSg1OCk7XG4gICAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgICBib3JkZXItYm90dG9tOm5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5wYXVzZSB7XG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgICAgY29sb3I6ICM3RjdGN0Y7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYXVkaW8tZGF0ZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMjUpO1xuICAgICAgICBwIHtcbiAgICAgICAgICBjb2xvcjojMDAwO1xuICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYXVkaW8tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDQwKTtcbiAgICAgICAgaDUge1xuICAgICAgICAgIGNvbG9yOiM3NjVCQTc7XG4gICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5hdWRpby1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGg2IHtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiByZW0tY2FsYygwLjQpO1xuICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg3MDApO1xuICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxNik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG4gIC5hdWRpby1zbGlkZS5wbGF5aW5nLFxuICAmLnBsYXlpbmcge1xuICAgICAgLmF1ZGlvLWRldGFpbHMge1xuICAgICAgICAgIC5hdWRpby1oZWFkIHtcbiAgICAgICAgICAgICAgLnBsYXkge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM3RjdGN0Y7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAucGF1c2Uge1xuICAgICAgICAgICAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgfVxuICB9XG5cbiAgLnNsaWRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRURFREVEO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYyggMTIgKTtcbiAgICAgIHRvcDowO1xuXG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHJlbS1jYWxjKCAxMiApIDA7XG4gICAgICB0b3A6YXV0bztcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gICAgICAuc2xpZGVyLWZpbGwge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyggMTIgKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLnNsaWRlci1oYW5kbGUge1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoIDM2ICk7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKCAzNiApO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7XG4gICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJHdoaXRlO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICB9XG4gIH1cbiAgXG4gIC5zbGljay1hcnJvdyB7XG4gICAgICAmLnNsaWNrLW5leHQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYygtNjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnNsaWNrLXByZXYge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKC02NSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgfVxufSIsIi5hcmNoaXZlLWJsb2NrIHtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMjUgNDAgMjUpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMCAwIDQwIDApO1xuICAgIH1cbiAgICAuc2VhcmNoLWZvcm0ge1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDQyKTtcbiAgICAgICAgYmFja2dyb3VuZDojRjhGOEY4O1xuICAgICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDIxKTtcbiAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDM1KTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg2Mik7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDMxKTtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg0Mik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg0Mik7XG4gICAgICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDYyKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg2Mik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eToxO1xuICAgICAgICAgICAgICAgIGNvbG9yOiMwMDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE2KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNTAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaSB7XG4gICAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMjIpO1xuICAgICAgICAgICAgY29sb3I6IzAwMDAwMDtcbiAgICAgICAgICAgIG1hcmdpbjpyZW0tY2FsYygwIDMwIDAgMTUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjpyZW0tY2FsYygxMCk7XG4gICAgICAgICAgICAgICAgd2lkdGg6YXV0bztcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazowO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6Izc2NUJBNztcbiAgICAgICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5maWx0ZXJzIHtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgLTE2IDM1IC0xNik7XG4gICAgICAgIH1cbiAgICAgICAgLmZpbHRlciB7XG5cbiAgICAgICAgICAgIG1hcmdpbjpyZW0tY2FsYygwIDAgMzAgMCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDM4MSk7XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6MDtcbiAgICAgICAgICAgICAgICBtYXJnaW46cmVtLWNhbGMoMCAxNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLnBvc3RzLWNvbnRhaW5lciB7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDp3cmFwO1xuICAgICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgLTE2KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAucG9zdC1pdGVtIHtcbiAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgMCAzMCAwKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDM4MSk7XG4gICAgICAgICAgICBmbGV4LXNocmluazowO1xuICAgICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgMTYgNTAgMTYpO1xuICAgICAgICB9XG4gICAgICAgIC5wb3N0LWl0ZW0taW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDIyMyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMjY0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLnBvc3QtbGFiZWwge1xuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgICB0b3A6cmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgQGluY2x1ZGUgcHJpbWFyeS1mb250KDcwMCk7XG4gICAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMTYpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiByZW0tY2FsYygwLjQpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDojZmZmO1xuICAgICAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoMCAxOSAxOSAwKTtcbiAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygzOSk7XG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygwIDIwIDAgMTApO1xuICAgICAgICAgICAgei1pbmRleDo1O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygyMjMpO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDI2NCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5wb3N0LWRhdGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNTAwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxNik7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBoNSB7XG4gICAgICAgICAgICBjb2xvcjojNzY1QkE3O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAucmVhZC1tb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5tb3JlLWxpbmsge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNzAwKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMTYpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjE7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoMC40KTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOjNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAucG9zdC1pdGVtLWltYWdlIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGluc2V0OjA7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjMpO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OjM7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTA5XCI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OidpY29tb29uJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoNDQpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNDQpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOjEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjozcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6NTAlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6NTAlO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6NDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDIyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucG9zdC1pdGVtLWRldGFpbHMge1xuICAgICAgICAgICAgICAgIC5yZWFkLW1vcmUge1xuICAgICAgICAgICAgICAgICAgICAubW9yZS1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjojNzY1QkE3O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5hY2NvcmRpb24tY29udGVudC1ibG9jayB7XG4gIG1hcmdpbjpyZW0tY2FsYyg4MCAyNSk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWF4LXdpZHRoOnJlbS1jYWxjKDEyMTApO1xuICAgIG1hcmdpbjowIGF1dG87XG4gICAgbWFyZ2luLXRvcDpyZW0tY2FsYyg4MCk7XG4gICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYyg4MCk7XG4gIH1cbiAgLmFjY29yZGlvbi13cmFwcGVyIHtcbiAgICAuYmxvY2stdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgfVxuICAgIH1cbiAgICAuYWNjb3JkaW9uIHtcbiAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgIC5hY2NvcmRpb24taXRlbSB7XG4gICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiNGOEY4Rjg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMTUpO1xuICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDIwIDI1KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYygxNyk7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNjAwKTtcbiAgICAgICAgICBmb250LXNpemU6Zm9udC1yZW0oMjQpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OmZvbnQtcmVtKDMxKTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoMC4yKTtcbiAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMzAgMCAwKTtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgICAgICAgICAgY29udGVudDogXCJcXGU5MDRcIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygyNyk7XG4gICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMjcpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czoxMDAlO1xuICAgICAgICAgICAgYm9yZGVyOjJweCBzb2xpZCAjNzY1QkE3O1xuICAgICAgICAgICAgdG9wOnJlbS1jYWxjKDIpO1xuICAgICAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiM3NjVCQTc7XG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDkwZGVnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCAwIDAgMCk7XG4gICAgICAgICAgLnd5c2l3eWcge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcCxcbiAgICAgICAgICAgIHVsIGxpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE2KTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6Zm9udC1yZW0oMjkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIiwiLnJlc291cmNlcy1jYXJkIHtcbiAgLmFjY29yZGlvbi13cmFwcGVyIHtcbiAgICAuYWNjb3JkaW9uIHtcbiAgICAgIC5hY2NvcmRpb24taXRlbSB7XG4gICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMjAgMjUgNTAgMjUpO1xuICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgICBwb3NpdGlvbjpzdGF0aWM7XG4gICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygwKTtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgICAgICAgICAgY29udGVudDogXCJcXGU5MDRcIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygyNyk7XG4gICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMjcpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czoxMDAlO1xuICAgICAgICAgICAgYm9yZGVyOjJweCBzb2xpZCAjNzY1QkE3O1xuICAgICAgICAgICAgYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgIHRvcDphdXRvO1xuICAgICAgICAgICAgYmFja2dyb3VuZDpub25lO1xuICAgICAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgcmlnaHQ6cmVtLWNhbGMoMjUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1tb3JlLXRleHQpO1xuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDpyZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICBib3R0b206cmVtLWNhbGMoMjgpO1xuICAgICAgICAgICAgZGlzcGxheTppbmxpbmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNzAwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxNik7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgcmlnaHQ6cmVtLWNhbGMoNjUpO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICAgICAgLnd5c2l3eWcge1xuICAgICAgICAgICAgcCxcbiAgICAgICAgICAgIHVsIGxpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOmZvbnQtcmVtKDE4KTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6Zm9udC1yZW0oMzIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDIwIDI1IDMwIDI1KTtcbiAgICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOnN0YXRpYztcbiAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtbGVzcy10ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMCAwIDUwIDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi5uby1tb3JlIHtcbiAgICAgICAgICAgIC5hY2NvcmRpb24tdGl0bGUgeyBcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuY2FzZS1zdHVkeS1ibG9jayB7XG4gICAgLnJlYWQtbW9yZSB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICByaWdodDpyZW0tY2FsYyg0MCk7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNzAwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpmb250LXJlbSgxNik7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoIDQwICk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxMik7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygyNyk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDI3KTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOjEwMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOjJweCBzb2xpZCAjNzY1QkE3O1xuICAgICAgICAgICAgICAgIGJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgICAgICAgdG9wOmF1dG87XG4gICAgICAgICAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6Izc2NUJBNztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoIDEgKTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAvL3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5hY2NvcmRpb24td3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbS5jYXNlLXN0dWR5IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKCAyOCApO1xuICAgIH1cbn0iLCIuc3Vic2NyaWJlLWJsb2NrICB7XG4gICAgbWluLWhlaWdodDogcmVtLWNhbGMoIDI2NyApO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKCAwIDI1ICk7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgXG4gICAgdWwudGFicyB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM3NjVCQTc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKCAyMCApO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyggNjMgKTtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBsaS50YWJzLXRpdGxlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNjAwKTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoIDI2ICk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyggMjkgKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoIDM1ICk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM3NjVCQTc7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNzY1QkE3O1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICM3NjVCQTc7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNzY1QkE3O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNzY1QkE3O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC50YWJzLWNvbnRlbnQge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCA3MCApO1xuICAgIH1cbiAgICBcbiAgICAudGFicy1wYW5lbCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIFxuICAgIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUge1xuICAgICAgICAuZ2Zvcm1fZmllbGRzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuZ2Zvcm0tYm9keSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyggMzAgKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmdmaWVsZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyggMTAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJi5nZmllbGQtLXR5cGUtY2hlY2tib3gge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCA0MCApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg2MDApO1xuICAgICAgICAgICAgY29sb3I6ICM3NjVCQTc7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCAyNCApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKCAzMSApO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHByaW1hcnktZm9udCg1MDApO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyggMTggKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyggMzIgKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmdmaWVsZF9jaGVja2JveCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuZ2Nob2ljZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKCA0NiApO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICAgICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgICAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gICAgICAgIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0aW9uIC5zZWxlY3QyLXNlbGVjdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNTAwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoIDE4ICk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoIDMyICk7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0VERURFRDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKCAxMCApO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoIDE3IDI2ICk7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5zZWxlY3QyLWNvbnRhaW5lci5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoIDEwICkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoIDAgKTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyggMzIgKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3Rpb24gLnNlbGVjdDItc2VsZWN0aW9uIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggMCwgLTUwJSApO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAvKiBCYXNlIGZvciBsYWJlbCBzdHlsaW5nICovXG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSxcbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogLTk5OTlweDtcbiAgICAgICAgfVxuICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCxcbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKCA0MCApO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5LWZvbnQoNTAwKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCAxNiApO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyggMjQgKTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBjaGVja2JveCBhc3BlY3QgKi9cbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlLFxuICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwOyBcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKCAyNCApOyBcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKCAyNCApOyBcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyggMyApO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM3NjVCQTc7XG4gICAgICAgIH1cbiAgICAgICAgLyogY2hlY2tlZCBtYXJrIGFzcGVjdCAqL1xuICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlcixcbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiByZW0tY2FsYyggNiApOyBcbiAgICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKCA2ICk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKCAxMiApOyBcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKCAxMiApOyBcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzc2NUJBNztcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyggMyApO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICAgIH1cbiAgICAgICAgLyogY2hlY2tlZCBtYXJrIGFzcGVjdCBjaGFuZ2VzICovXG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIH1cbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgfVxuICAgICAgICAvKiBkaXNhYmxlZCBjaGVja2JveCAqL1xuICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUsXG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQ6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNiYmI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgICAgICAgfVxuICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgIH1cbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2FhYTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIGFjY2Vzc2liaWxpdHkgKi9cbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOmZvY3VzICsgbGFiZWw6YmVmb3JlLFxuICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCk6Zm9jdXMgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IGRvdHRlZCBibHVlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuZ2Zvcm1fZm9vdGVyICB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmLCBcbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM3NjVCQTc7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNzY1QkE3O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5jYWxsb3V0IHtcbiAgICAgICAgYmFja2dyb3VuZDogI0YwRUVGNjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoIDIwICk7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoIDY0IDAgMCApO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKCAyNSApO1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKCA1MCApO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLCBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoIDE4ICk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoIDMyICk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoIDI0ICk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoIDMxICk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyggMjQgKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgYS5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoIDM2ICk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHNwZWFrOiBuZXZlcjtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICAgICAgICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAgICAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MWFcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKCAxMCApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSJdfQ== */
