@charset "UTF-8";
/**
 * Foundation for Sites
 * Version 6.7.3
 * https://get.foundation
 * Licensed under MIT Open Source
 */
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap");
@media print, screen and (min-width: 40em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  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=40em&large=64em&xlarge=75em&xxlarge=90em"; }

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

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

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  font-family: "Montserrat", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #2C3843;
  -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: 16px; }

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

.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: 16px;
  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: 9px;
  background-color: #ffffff;
  -webkit-box-shadow: inset 0 1px 2px rgba(44, 56, 67, 0.1);
          box-shadow: inset 0 1px 2px rgba(44, 56, 67, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #2C3843;
  -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: #ffffff;
    -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: #F8F8F8;
  cursor: not-allowed; }

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

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: #2C3843; }
  label.middle {
    margin: 0 0 1rem;
    line-height: 1.5;
    padding: 0.5625rem 0; }

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

.input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .input-group > :first-child, .input-group > :first-child.input-group-button > * {
    border-radius: 9px 0 0 9px; }
  .input-group > :last-child, .input-group > :last-child.input-group-button > * {
    border-radius: 0 9px 9px 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: #F8F8F8;
  color: #2C3843;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

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

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

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

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

.fieldset {
  margin: 1.125rem 0;
  padding: 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: 9px;
  background-color: #ffffff;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #2C3843;
  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: #ffffff;
    -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: #F8F8F8;
    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: #FF0200;
  background-color: #ffe6e6; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #FF0200; }
  .is-invalid-input:not(:focus)::-moz-placeholder {
    color: #FF0200; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #FF0200; }
  .is-invalid-input:not(:focus)::-ms-input-placeholder {
    color: #FF0200; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #FF0200; }

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

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #FF0200; }
  .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: "Montserrat", sans-serif;
  font-style: normal;
  font-weight: 500;
  color: #1643A4;
  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: 40em) {
  h1, .h1 {
    font-size: 3rem; }
  h2, .h2 {
    font-size: 2rem; }
  h3, .h3 {
    font-size: 1.75rem; }
  h4, .h4 {
    font-size: 1.5625rem; }
  h5, .h5 {
    font-size: 1.25rem; }
  h6, .h6 {
    font-size: 1rem; } }

a {
  line-height: inherit;
  color: #1643A4;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #133a8d; }
  a img {
    border: 0; }

hr {
  clear: both;
  max-width: 90rem;
  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 #2C3843;
  cursor: help;
  text-decoration: none; }

figure {
  margin: 0; }

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #F8F8F8;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #2C3843;
  border-radius: 16px; }

.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: #F8F8F8;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #2C3843;
  display: inline;
  max-width: 100%;
  word-wrap: break-word;
  padding: 0.125rem 0.3125rem 0.0625rem; }

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

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

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

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

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

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

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

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

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

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

@media print {
  * {
    background: transparent !important;
    color: black !important;
    -webkit-print-color-adjust: economy;
            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; } }

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

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

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

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

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

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

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

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

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

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

.grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.button, .form-container button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  border: 1px solid transparent;
  border-radius: 2em;
  -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, [data-whatinput='mouse'] .form-container button, .form-container [data-whatinput='mouse'] button {
    outline: 0; }
  .button.tiny, .form-container button.tiny {
    font-size: 0.6rem; }
  .button.small, .form-container button.small {
    font-size: 0.75rem; }
  .button.large, .form-container button.large {
    font-size: 1.25rem; }
  .button.expanded, .form-container button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button, .form-container button, .button.disabled, .form-container button.disabled, .button[disabled], .form-container button[disabled], .button.disabled:hover, .form-container button.disabled:hover, .button[disabled]:hover, .form-container button[disabled]:hover, .button.disabled:focus, .form-container button.disabled:focus, .button[disabled]:focus, .form-container button[disabled]:focus {
    background-color: #1643A4;
    color: #ffffff; }
  .button:hover, .form-container button:hover, .button:focus, .form-container button:focus {
    background-color: #13398b;
    color: #ffffff; }
  .button.primary, .form-container button.primary, .button.primary.disabled, .form-container button.primary.disabled, .button.primary[disabled], .form-container button.primary[disabled], .button.primary.disabled:hover, .form-container button.primary.disabled:hover, .button.primary[disabled]:hover, .form-container button.primary[disabled]:hover, .button.primary.disabled:focus, .form-container button.primary.disabled:focus, .button.primary[disabled]:focus, .form-container button.primary[disabled]:focus {
    background-color: #1643A4;
    color: #ffffff; }
  .button.primary:hover, .form-container button.primary:hover, .button.primary:focus, .form-container button.primary:focus {
    background-color: #123683;
    color: #ffffff; }
  .button.secondary, .form-container button, .button.secondary.disabled, .form-container button.disabled, .button.secondary[disabled], .form-container button[disabled], .button.secondary.disabled:hover, .form-container button.disabled:hover, .button.secondary[disabled]:hover, .form-container button[disabled]:hover, .button.secondary.disabled:focus, .form-container button.disabled:focus, .button.secondary[disabled]:focus, .form-container button[disabled]:focus {
    background-color: #FF0200;
    color: #ffffff; }
  .button.secondary:hover, .form-container button:hover, .button.secondary:focus, .form-container button:focus {
    background-color: #cc0200;
    color: #ffffff; }
  .button.success, .form-container button.success, .button.success.disabled, .form-container button.success.disabled, .button.success[disabled], .form-container button.success[disabled], .button.success.disabled:hover, .form-container button.success.disabled:hover, .button.success[disabled]:hover, .form-container button.success[disabled]:hover, .button.success.disabled:focus, .form-container button.success.disabled:focus, .button.success[disabled]:focus, .form-container button.success[disabled]:focus {
    background-color: #3adb76;
    color: #2C3843; }
  .button.success:hover, .form-container button.success:hover, .button.success:focus, .form-container button.success:focus {
    background-color: #22bb5b;
    color: #2C3843; }
  .button.warning, .form-container button.warning, .button.warning.disabled, .form-container button.warning.disabled, .button.warning[disabled], .form-container button.warning[disabled], .button.warning.disabled:hover, .form-container button.warning.disabled:hover, .button.warning[disabled]:hover, .form-container button.warning[disabled]:hover, .button.warning.disabled:focus, .form-container button.warning.disabled:focus, .button.warning[disabled]:focus, .form-container button.warning[disabled]:focus {
    background-color: #ffae00;
    color: #2C3843; }
  .button.warning:hover, .form-container button.warning:hover, .button.warning:focus, .form-container button.warning:focus {
    background-color: #cc8b00;
    color: #2C3843; }
  .button.alert, .form-container button.alert, .button.alert.disabled, .form-container button.alert.disabled, .button.alert[disabled], .form-container button.alert[disabled], .button.alert.disabled:hover, .form-container button.alert.disabled:hover, .button.alert[disabled]:hover, .form-container button.alert[disabled]:hover, .button.alert.disabled:focus, .form-container button.alert.disabled:focus, .button.alert[disabled]:focus, .form-container button.alert[disabled]:focus {
    background-color: #FF0200;
    color: #ffffff; }
  .button.alert:hover, .form-container button.alert:hover, .button.alert:focus, .form-container button.alert:focus {
    background-color: #cc0200;
    color: #ffffff; }
  .button.hollow, .form-container button.hollow, .button.hollow:hover, .form-container button.hollow:hover, .button.hollow:focus, .form-container button.hollow:focus, .button.hollow.disabled, .form-container button.hollow.disabled, .button.hollow.disabled:hover, .form-container button.hollow.disabled:hover, .button.hollow.disabled:focus, .form-container button.hollow.disabled:focus, .button.hollow[disabled], .form-container button.hollow[disabled], .button.hollow[disabled]:hover, .form-container button.hollow[disabled]:hover, .button.hollow[disabled]:focus, .form-container button.hollow[disabled]:focus {
    background-color: transparent; }
  .button.hollow, .form-container button.hollow, .button.hollow.disabled, .form-container button.hollow.disabled, .button.hollow[disabled], .form-container button.hollow[disabled], .button.hollow.disabled:hover, .form-container button.hollow.disabled:hover, .button.hollow[disabled]:hover, .form-container button.hollow[disabled]:hover, .button.hollow.disabled:focus, .form-container button.hollow.disabled:focus, .button.hollow[disabled]:focus, .form-container button.hollow[disabled]:focus {
    border: 1px solid #1643A4;
    color: #1643A4; }
  .button.hollow:hover, .form-container button.hollow:hover, .button.hollow:focus, .form-container button.hollow:focus {
    border-color: #0b2252;
    color: #0b2252; }
  .button.hollow.primary, .form-container button.hollow.primary, .button.hollow.primary.disabled, .form-container button.hollow.primary.disabled, .button.hollow.primary[disabled], .form-container button.hollow.primary[disabled], .button.hollow.primary.disabled:hover, .form-container button.hollow.primary.disabled:hover, .button.hollow.primary[disabled]:hover, .form-container button.hollow.primary[disabled]:hover, .button.hollow.primary.disabled:focus, .form-container button.hollow.primary.disabled:focus, .button.hollow.primary[disabled]:focus, .form-container button.hollow.primary[disabled]:focus {
    border: 1px solid #1643A4;
    color: #1643A4; }
  .button.hollow.primary:hover, .form-container button.hollow.primary:hover, .button.hollow.primary:focus, .form-container button.hollow.primary:focus {
    border-color: #0b2252;
    color: #0b2252; }
  .button.hollow.secondary, .form-container button.hollow, .button.hollow.secondary.disabled, .form-container button.hollow.disabled, .button.hollow.secondary[disabled], .form-container button.hollow[disabled], .button.hollow.secondary.disabled:hover, .form-container button.hollow.disabled:hover, .button.hollow.secondary[disabled]:hover, .form-container button.hollow[disabled]:hover, .button.hollow.secondary.disabled:focus, .form-container button.hollow.disabled:focus, .button.hollow.secondary[disabled]:focus, .form-container button.hollow[disabled]:focus {
    border: 1px solid #FF0200;
    color: #FF0200; }
  .button.hollow.secondary:hover, .form-container button.hollow:hover, .button.hollow.secondary:focus, .form-container button.hollow:focus {
    border-color: #800100;
    color: #800100; }
  .button.hollow.success, .form-container button.hollow.success, .button.hollow.success.disabled, .form-container button.hollow.success.disabled, .button.hollow.success[disabled], .form-container button.hollow.success[disabled], .button.hollow.success.disabled:hover, .form-container button.hollow.success.disabled:hover, .button.hollow.success[disabled]:hover, .form-container button.hollow.success[disabled]:hover, .button.hollow.success.disabled:focus, .form-container button.hollow.success.disabled:focus, .button.hollow.success[disabled]:focus, .form-container button.hollow.success[disabled]:focus {
    border: 1px solid #3adb76;
    color: #3adb76; }
  .button.hollow.success:hover, .form-container button.hollow.success:hover, .button.hollow.success:focus, .form-container button.hollow.success:focus {
    border-color: #157539;
    color: #157539; }
  .button.hollow.warning, .form-container button.hollow.warning, .button.hollow.warning.disabled, .form-container button.hollow.warning.disabled, .button.hollow.warning[disabled], .form-container button.hollow.warning[disabled], .button.hollow.warning.disabled:hover, .form-container button.hollow.warning.disabled:hover, .button.hollow.warning[disabled]:hover, .form-container button.hollow.warning[disabled]:hover, .button.hollow.warning.disabled:focus, .form-container button.hollow.warning.disabled:focus, .button.hollow.warning[disabled]:focus, .form-container button.hollow.warning[disabled]:focus {
    border: 1px solid #ffae00;
    color: #ffae00; }
  .button.hollow.warning:hover, .form-container button.hollow.warning:hover, .button.hollow.warning:focus, .form-container button.hollow.warning:focus {
    border-color: #805700;
    color: #805700; }
  .button.hollow.alert, .form-container button.hollow.alert, .button.hollow.alert.disabled, .form-container button.hollow.alert.disabled, .button.hollow.alert[disabled], .form-container button.hollow.alert[disabled], .button.hollow.alert.disabled:hover, .form-container button.hollow.alert.disabled:hover, .button.hollow.alert[disabled]:hover, .form-container button.hollow.alert[disabled]:hover, .button.hollow.alert.disabled:focus, .form-container button.hollow.alert.disabled:focus, .button.hollow.alert[disabled]:focus, .form-container button.hollow.alert[disabled]:focus {
    border: 1px solid #FF0200;
    color: #FF0200; }
  .button.hollow.alert:hover, .form-container button.hollow.alert:hover, .button.hollow.alert:focus, .form-container button.hollow.alert:focus {
    border-color: #800100;
    color: #800100; }
  .button.clear, .form-container button.clear, .button.clear:hover, .form-container button.clear:hover, .button.clear:focus, .form-container button.clear:focus, .button.clear.disabled, .form-container button.clear.disabled, .button.clear.disabled:hover, .form-container button.clear.disabled:hover, .button.clear.disabled:focus, .form-container button.clear.disabled:focus, .button.clear[disabled], .form-container button.clear[disabled], .button.clear[disabled]:hover, .form-container button.clear[disabled]:hover, .button.clear[disabled]:focus, .form-container button.clear[disabled]:focus {
    border-color: transparent;
    background-color: transparent; }
  .button.clear, .form-container button.clear, .button.clear.disabled, .form-container button.clear.disabled, .button.clear[disabled], .form-container button.clear[disabled], .button.clear.disabled:hover, .form-container button.clear.disabled:hover, .button.clear[disabled]:hover, .form-container button.clear[disabled]:hover, .button.clear.disabled:focus, .form-container button.clear.disabled:focus, .button.clear[disabled]:focus, .form-container button.clear[disabled]:focus {
    color: #1643A4; }
  .button.clear:hover, .form-container button.clear:hover, .button.clear:focus, .form-container button.clear:focus {
    color: #0b2252; }
  .button.clear.primary, .form-container button.clear.primary, .button.clear.primary.disabled, .form-container button.clear.primary.disabled, .button.clear.primary[disabled], .form-container button.clear.primary[disabled], .button.clear.primary.disabled:hover, .form-container button.clear.primary.disabled:hover, .button.clear.primary[disabled]:hover, .form-container button.clear.primary[disabled]:hover, .button.clear.primary.disabled:focus, .form-container button.clear.primary.disabled:focus, .button.clear.primary[disabled]:focus, .form-container button.clear.primary[disabled]:focus {
    color: #1643A4; }
  .button.clear.primary:hover, .form-container button.clear.primary:hover, .button.clear.primary:focus, .form-container button.clear.primary:focus {
    color: #0b2252; }
  .button.clear.secondary, .form-container button.clear, .button.clear.secondary.disabled, .form-container button.clear.disabled, .button.clear.secondary[disabled], .form-container button.clear[disabled], .button.clear.secondary.disabled:hover, .form-container button.clear.disabled:hover, .button.clear.secondary[disabled]:hover, .form-container button.clear[disabled]:hover, .button.clear.secondary.disabled:focus, .form-container button.clear.disabled:focus, .button.clear.secondary[disabled]:focus, .form-container button.clear[disabled]:focus {
    color: #FF0200; }
  .button.clear.secondary:hover, .form-container button.clear:hover, .button.clear.secondary:focus, .form-container button.clear:focus {
    color: #800100; }
  .button.clear.success, .form-container button.clear.success, .button.clear.success.disabled, .form-container button.clear.success.disabled, .button.clear.success[disabled], .form-container button.clear.success[disabled], .button.clear.success.disabled:hover, .form-container button.clear.success.disabled:hover, .button.clear.success[disabled]:hover, .form-container button.clear.success[disabled]:hover, .button.clear.success.disabled:focus, .form-container button.clear.success.disabled:focus, .button.clear.success[disabled]:focus, .form-container button.clear.success[disabled]:focus {
    color: #3adb76; }
  .button.clear.success:hover, .form-container button.clear.success:hover, .button.clear.success:focus, .form-container button.clear.success:focus {
    color: #157539; }
  .button.clear.warning, .form-container button.clear.warning, .button.clear.warning.disabled, .form-container button.clear.warning.disabled, .button.clear.warning[disabled], .form-container button.clear.warning[disabled], .button.clear.warning.disabled:hover, .form-container button.clear.warning.disabled:hover, .button.clear.warning[disabled]:hover, .form-container button.clear.warning[disabled]:hover, .button.clear.warning.disabled:focus, .form-container button.clear.warning.disabled:focus, .button.clear.warning[disabled]:focus, .form-container button.clear.warning[disabled]:focus {
    color: #ffae00; }
  .button.clear.warning:hover, .form-container button.clear.warning:hover, .button.clear.warning:focus, .form-container button.clear.warning:focus {
    color: #805700; }
  .button.clear.alert, .form-container button.clear.alert, .button.clear.alert.disabled, .form-container button.clear.alert.disabled, .button.clear.alert[disabled], .form-container button.clear.alert[disabled], .button.clear.alert.disabled:hover, .form-container button.clear.alert.disabled:hover, .button.clear.alert[disabled]:hover, .form-container button.clear.alert[disabled]:hover, .button.clear.alert.disabled:focus, .form-container button.clear.alert.disabled:focus, .button.clear.alert[disabled]:focus, .form-container button.clear.alert[disabled]:focus {
    color: #FF0200; }
  .button.clear.alert:hover, .form-container button.clear.alert:hover, .button.clear.alert:focus, .form-container button.clear.alert:focus {
    color: #800100; }
  .button.disabled, .form-container button.disabled, .button[disabled], .form-container button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
  .button.dropdown::after, .form-container button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.4em;
    content: '';
    border-bottom-width: 0;
    border-color: #ffffff transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after, .form-container button.dropdown.hollow::after, .button.dropdown.clear::after, .form-container button.dropdown.clear::after {
    border-top-color: #1643A4; }
  .button.dropdown.hollow.primary::after, .form-container button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after, .form-container button.dropdown.clear.primary::after {
    border-top-color: #1643A4; }
  .button.dropdown.hollow.secondary::after, .form-container button.dropdown.hollow::after, .button.dropdown.clear.secondary::after, .form-container button.dropdown.clear::after {
    border-top-color: #FF0200; }
  .button.dropdown.hollow.success::after, .form-container button.dropdown.hollow.success::after, .button.dropdown.clear.success::after, .form-container button.dropdown.clear.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after, .form-container button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after, .form-container button.dropdown.clear.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after, .form-container button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after, .form-container button.dropdown.clear.alert::after {
    border-top-color: #FF0200; }
  .button.arrow-only::after, .form-container button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

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

.button-group {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .button-group::after {
    clear: both; }
  .button-group::before, .button-group::after {
    display: none; }
  .button-group .button, .button-group .form-container button, .form-container .button-group button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .button-group .button:last-child, .button-group .form-container button:last-child, .form-container .button-group button:last-child {
      margin-right: 0; }
  .button-group.tiny .button, .button-group.tiny .form-container button, .form-container .button-group.tiny button {
    font-size: 0.6rem; }
  .button-group.small .button, .button-group.small .form-container button, .form-container .button-group.small button {
    font-size: 0.75rem; }
  .button-group.large .button, .button-group.large .form-container button, .form-container .button-group.large button {
    font-size: 1.25rem; }
  .button-group.expanded .button, .button-group.expanded .form-container button, .form-container .button-group.expanded button {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .button-group.primary .button, .button-group.primary .form-container button, .form-container .button-group.primary button, .button-group.primary .button.disabled, .button-group.primary .form-container button.disabled, .form-container .button-group.primary button.disabled, .button-group.primary .button[disabled], .button-group.primary .form-container button[disabled], .form-container .button-group.primary button[disabled], .button-group.primary .button.disabled:hover, .button-group.primary .form-container button.disabled:hover, .form-container .button-group.primary button.disabled:hover, .button-group.primary .button[disabled]:hover, .button-group.primary .form-container button[disabled]:hover, .form-container .button-group.primary button[disabled]:hover, .button-group.primary .button.disabled:focus, .button-group.primary .form-container button.disabled:focus, .form-container .button-group.primary button.disabled:focus, .button-group.primary .button[disabled]:focus, .button-group.primary .form-container button[disabled]:focus, .form-container .button-group.primary button[disabled]:focus {
    background-color: #1643A4;
    color: #ffffff; }
  .button-group.primary .button:hover, .button-group.primary .form-container button:hover, .form-container .button-group.primary button:hover, .button-group.primary .button:focus, .button-group.primary .form-container button:focus, .form-container .button-group.primary button:focus {
    background-color: #123683;
    color: #ffffff; }
  .button-group.secondary .button, .form-container button.button-group .button, .button-group.secondary .form-container button, .form-container .button-group.secondary button, .form-container button.button-group button, .button-group.secondary .button.disabled, .form-container button.button-group .button.disabled, .button-group.secondary .form-container button.disabled, .form-container .button-group.secondary button.disabled, .form-container button.button-group button.disabled, .button-group.secondary .button[disabled], .form-container button.button-group .button[disabled], .button-group.secondary .form-container button[disabled], .form-container .button-group.secondary button[disabled], .form-container button.button-group button[disabled], .button-group.secondary .button.disabled:hover, .form-container button.button-group .button.disabled:hover, .button-group.secondary .form-container button.disabled:hover, .form-container .button-group.secondary button.disabled:hover, .form-container button.button-group button.disabled:hover, .button-group.secondary .button[disabled]:hover, .form-container button.button-group .button[disabled]:hover, .button-group.secondary .form-container button[disabled]:hover, .form-container .button-group.secondary button[disabled]:hover, .form-container button.button-group button[disabled]:hover, .button-group.secondary .button.disabled:focus, .form-container button.button-group .button.disabled:focus, .button-group.secondary .form-container button.disabled:focus, .form-container .button-group.secondary button.disabled:focus, .form-container button.button-group button.disabled:focus, .button-group.secondary .button[disabled]:focus, .form-container button.button-group .button[disabled]:focus, .button-group.secondary .form-container button[disabled]:focus, .form-container .button-group.secondary button[disabled]:focus, .form-container button.button-group button[disabled]:focus {
    background-color: #FF0200;
    color: #ffffff; }
  .button-group.secondary .button:hover, .form-container button.button-group .button:hover, .button-group.secondary .form-container button:hover, .form-container .button-group.secondary button:hover, .form-container button.button-group button:hover, .button-group.secondary .button:focus, .form-container button.button-group .button:focus, .button-group.secondary .form-container button:focus, .form-container .button-group.secondary button:focus, .form-container button.button-group button:focus {
    background-color: #cc0200;
    color: #ffffff; }
  .button-group.success .button, .button-group.success .form-container button, .form-container .button-group.success button, .button-group.success .button.disabled, .button-group.success .form-container button.disabled, .form-container .button-group.success button.disabled, .button-group.success .button[disabled], .button-group.success .form-container button[disabled], .form-container .button-group.success button[disabled], .button-group.success .button.disabled:hover, .button-group.success .form-container button.disabled:hover, .form-container .button-group.success button.disabled:hover, .button-group.success .button[disabled]:hover, .button-group.success .form-container button[disabled]:hover, .form-container .button-group.success button[disabled]:hover, .button-group.success .button.disabled:focus, .button-group.success .form-container button.disabled:focus, .form-container .button-group.success button.disabled:focus, .button-group.success .button[disabled]:focus, .button-group.success .form-container button[disabled]:focus, .form-container .button-group.success button[disabled]:focus {
    background-color: #3adb76;
    color: #2C3843; }
  .button-group.success .button:hover, .button-group.success .form-container button:hover, .form-container .button-group.success button:hover, .button-group.success .button:focus, .button-group.success .form-container button:focus, .form-container .button-group.success button:focus {
    background-color: #22bb5b;
    color: #2C3843; }
  .button-group.warning .button, .button-group.warning .form-container button, .form-container .button-group.warning button, .button-group.warning .button.disabled, .button-group.warning .form-container button.disabled, .form-container .button-group.warning button.disabled, .button-group.warning .button[disabled], .button-group.warning .form-container button[disabled], .form-container .button-group.warning button[disabled], .button-group.warning .button.disabled:hover, .button-group.warning .form-container button.disabled:hover, .form-container .button-group.warning button.disabled:hover, .button-group.warning .button[disabled]:hover, .button-group.warning .form-container button[disabled]:hover, .form-container .button-group.warning button[disabled]:hover, .button-group.warning .button.disabled:focus, .button-group.warning .form-container button.disabled:focus, .form-container .button-group.warning button.disabled:focus, .button-group.warning .button[disabled]:focus, .button-group.warning .form-container button[disabled]:focus, .form-container .button-group.warning button[disabled]:focus {
    background-color: #ffae00;
    color: #2C3843; }
  .button-group.warning .button:hover, .button-group.warning .form-container button:hover, .form-container .button-group.warning button:hover, .button-group.warning .button:focus, .button-group.warning .form-container button:focus, .form-container .button-group.warning button:focus {
    background-color: #cc8b00;
    color: #2C3843; }
  .button-group.alert .button, .button-group.alert .form-container button, .form-container .button-group.alert button, .button-group.alert .button.disabled, .button-group.alert .form-container button.disabled, .form-container .button-group.alert button.disabled, .button-group.alert .button[disabled], .button-group.alert .form-container button[disabled], .form-container .button-group.alert button[disabled], .button-group.alert .button.disabled:hover, .button-group.alert .form-container button.disabled:hover, .form-container .button-group.alert button.disabled:hover, .button-group.alert .button[disabled]:hover, .button-group.alert .form-container button[disabled]:hover, .form-container .button-group.alert button[disabled]:hover, .button-group.alert .button.disabled:focus, .button-group.alert .form-container button.disabled:focus, .form-container .button-group.alert button.disabled:focus, .button-group.alert .button[disabled]:focus, .button-group.alert .form-container button[disabled]:focus, .form-container .button-group.alert button[disabled]:focus {
    background-color: #FF0200;
    color: #ffffff; }
  .button-group.alert .button:hover, .button-group.alert .form-container button:hover, .form-container .button-group.alert button:hover, .button-group.alert .button:focus, .button-group.alert .form-container button:focus, .form-container .button-group.alert button:focus {
    background-color: #cc0200;
    color: #ffffff; }
  .button-group.hollow .button, .button-group.hollow .form-container button, .form-container .button-group.hollow button, .button-group.hollow .button:hover, .button-group.hollow .form-container button:hover, .form-container .button-group.hollow button:hover, .button-group.hollow .button:focus, .button-group.hollow .form-container button:focus, .form-container .button-group.hollow button:focus, .button-group.hollow .button.disabled, .button-group.hollow .form-container button.disabled, .form-container .button-group.hollow button.disabled, .button-group.hollow .button.disabled:hover, .button-group.hollow .form-container button.disabled:hover, .form-container .button-group.hollow button.disabled:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .form-container button.disabled:focus, .form-container .button-group.hollow button.disabled:focus, .button-group.hollow .button[disabled], .button-group.hollow .form-container button[disabled], .form-container .button-group.hollow button[disabled], .button-group.hollow .button[disabled]:hover, .button-group.hollow .form-container button[disabled]:hover, .form-container .button-group.hollow button[disabled]:hover, .button-group.hollow .button[disabled]:focus, .button-group.hollow .form-container button[disabled]:focus, .form-container .button-group.hollow button[disabled]:focus {
    background-color: transparent; }
  .button-group.hollow .button, .button-group.hollow .form-container button, .form-container .button-group.hollow button, .button-group.hollow .button.disabled, .button-group.hollow .form-container button.disabled, .form-container .button-group.hollow button.disabled, .button-group.hollow .button[disabled], .button-group.hollow .form-container button[disabled], .form-container .button-group.hollow button[disabled], .button-group.hollow .button.disabled:hover, .button-group.hollow .form-container button.disabled:hover, .form-container .button-group.hollow button.disabled:hover, .button-group.hollow .button[disabled]:hover, .button-group.hollow .form-container button[disabled]:hover, .form-container .button-group.hollow button[disabled]:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .form-container button.disabled:focus, .form-container .button-group.hollow button.disabled:focus, .button-group.hollow .button[disabled]:focus, .button-group.hollow .form-container button[disabled]:focus, .form-container .button-group.hollow button[disabled]:focus {
    border: 1px solid #1643A4;
    color: #1643A4; }
  .button-group.hollow .button:hover, .button-group.hollow .form-container button:hover, .form-container .button-group.hollow button:hover, .button-group.hollow .button:focus, .button-group.hollow .form-container button:focus, .form-container .button-group.hollow button:focus {
    border-color: #0b2252;
    color: #0b2252; }
  .button-group.hollow.primary .button, .button-group.hollow.primary .form-container button, .form-container .button-group.hollow.primary button, .button-group.hollow.primary .button.disabled, .button-group.hollow.primary .form-container button.disabled, .form-container .button-group.hollow.primary button.disabled, .button-group.hollow.primary .button[disabled], .button-group.hollow.primary .form-container button[disabled], .form-container .button-group.hollow.primary button[disabled], .button-group.hollow.primary .button.disabled:hover, .button-group.hollow.primary .form-container button.disabled:hover, .form-container .button-group.hollow.primary button.disabled:hover, .button-group.hollow.primary .button[disabled]:hover, .button-group.hollow.primary .form-container button[disabled]:hover, .form-container .button-group.hollow.primary button[disabled]:hover, .button-group.hollow.primary .button.disabled:focus, .button-group.hollow.primary .form-container button.disabled:focus, .form-container .button-group.hollow.primary button.disabled:focus, .button-group.hollow.primary .button[disabled]:focus, .button-group.hollow.primary .form-container button[disabled]:focus, .form-container .button-group.hollow.primary button[disabled]:focus, .button-group.hollow .button.primary, .button-group.hollow .form-container button.primary, .form-container .button-group.hollow button.primary, .button-group.hollow .button.primary.disabled, .button-group.hollow .form-container button.primary.disabled, .form-container .button-group.hollow button.primary.disabled, .button-group.hollow .button.primary[disabled], .button-group.hollow .form-container button.primary[disabled], .form-container .button-group.hollow button.primary[disabled], .button-group.hollow .button.primary.disabled:hover, .button-group.hollow .form-container button.primary.disabled:hover, .form-container .button-group.hollow button.primary.disabled:hover, .button-group.hollow .button.primary[disabled]:hover, .button-group.hollow .form-container button.primary[disabled]:hover, .form-container .button-group.hollow button.primary[disabled]:hover, .button-group.hollow .button.primary.disabled:focus, .button-group.hollow .form-container button.primary.disabled:focus, .form-container .button-group.hollow button.primary.disabled:focus, .button-group.hollow .button.primary[disabled]:focus, .button-group.hollow .form-container button.primary[disabled]:focus, .form-container .button-group.hollow button.primary[disabled]:focus {
    border: 1px solid #1643A4;
    color: #1643A4; }
  .button-group.hollow.primary .button:hover, .button-group.hollow.primary .form-container button:hover, .form-container .button-group.hollow.primary button:hover, .button-group.hollow.primary .button:focus, .button-group.hollow.primary .form-container button:focus, .form-container .button-group.hollow.primary button:focus, .button-group.hollow .button.primary:hover, .button-group.hollow .form-container button.primary:hover, .form-container .button-group.hollow button.primary:hover, .button-group.hollow .button.primary:focus, .button-group.hollow .form-container button.primary:focus, .form-container .button-group.hollow button.primary:focus {
    border-color: #0b2252;
    color: #0b2252; }
  .button-group.hollow.secondary .button, .form-container button.button-group.hollow .button, .button-group.hollow.secondary .form-container button, .form-container .button-group.hollow.secondary button, .form-container button.button-group.hollow button, .button-group.hollow.secondary .button.disabled, .form-container button.button-group.hollow .button.disabled, .button-group.hollow.secondary .form-container button.disabled, .form-container .button-group.hollow.secondary button.disabled, .form-container button.button-group.hollow button.disabled, .button-group.hollow.secondary .button[disabled], .form-container button.button-group.hollow .button[disabled], .button-group.hollow.secondary .form-container button[disabled], .form-container .button-group.hollow.secondary button[disabled], .form-container button.button-group.hollow button[disabled], .button-group.hollow.secondary .button.disabled:hover, .form-container button.button-group.hollow .button.disabled:hover, .button-group.hollow.secondary .form-container button.disabled:hover, .form-container .button-group.hollow.secondary button.disabled:hover, .form-container button.button-group.hollow button.disabled:hover, .button-group.hollow.secondary .button[disabled]:hover, .form-container button.button-group.hollow .button[disabled]:hover, .button-group.hollow.secondary .form-container button[disabled]:hover, .form-container .button-group.hollow.secondary button[disabled]:hover, .form-container button.button-group.hollow button[disabled]:hover, .button-group.hollow.secondary .button.disabled:focus, .form-container button.button-group.hollow .button.disabled:focus, .button-group.hollow.secondary .form-container button.disabled:focus, .form-container .button-group.hollow.secondary button.disabled:focus, .form-container button.button-group.hollow button.disabled:focus, .button-group.hollow.secondary .button[disabled]:focus, .form-container button.button-group.hollow .button[disabled]:focus, .button-group.hollow.secondary .form-container button[disabled]:focus, .form-container .button-group.hollow.secondary button[disabled]:focus, .form-container button.button-group.hollow button[disabled]:focus, .button-group.hollow .button.secondary, .button-group.hollow .form-container button, .form-container .button-group.hollow button, .button-group.hollow .button.secondary.disabled, .button-group.hollow .form-container button.disabled, .form-container .button-group.hollow button.disabled, .button-group.hollow .button.secondary[disabled], .button-group.hollow .form-container button[disabled], .form-container .button-group.hollow button[disabled], .button-group.hollow .button.secondary.disabled:hover, .button-group.hollow .form-container button.disabled:hover, .form-container .button-group.hollow button.disabled:hover, .button-group.hollow .button.secondary[disabled]:hover, .button-group.hollow .form-container button[disabled]:hover, .form-container .button-group.hollow button[disabled]:hover, .button-group.hollow .button.secondary.disabled:focus, .button-group.hollow .form-container button.disabled:focus, .form-container .button-group.hollow button.disabled:focus, .button-group.hollow .button.secondary[disabled]:focus, .button-group.hollow .form-container button[disabled]:focus, .form-container .button-group.hollow button[disabled]:focus {
    border: 1px solid #FF0200;
    color: #FF0200; }
  .button-group.hollow.secondary .button:hover, .form-container button.button-group.hollow .button:hover, .button-group.hollow.secondary .form-container button:hover, .form-container .button-group.hollow.secondary button:hover, .form-container button.button-group.hollow button:hover, .button-group.hollow.secondary .button:focus, .form-container button.button-group.hollow .button:focus, .button-group.hollow.secondary .form-container button:focus, .form-container .button-group.hollow.secondary button:focus, .form-container button.button-group.hollow button:focus, .button-group.hollow .button.secondary:hover, .button-group.hollow .form-container button:hover, .form-container .button-group.hollow button:hover, .button-group.hollow .button.secondary:focus, .button-group.hollow .form-container button:focus, .form-container .button-group.hollow button:focus {
    border-color: #800100;
    color: #800100; }
  .button-group.hollow.success .button, .button-group.hollow.success .form-container button, .form-container .button-group.hollow.success button, .button-group.hollow.success .button.disabled, .button-group.hollow.success .form-container button.disabled, .form-container .button-group.hollow.success button.disabled, .button-group.hollow.success .button[disabled], .button-group.hollow.success .form-container button[disabled], .form-container .button-group.hollow.success button[disabled], .button-group.hollow.success .button.disabled:hover, .button-group.hollow.success .form-container button.disabled:hover, .form-container .button-group.hollow.success button.disabled:hover, .button-group.hollow.success .button[disabled]:hover, .button-group.hollow.success .form-container button[disabled]:hover, .form-container .button-group.hollow.success button[disabled]:hover, .button-group.hollow.success .button.disabled:focus, .button-group.hollow.success .form-container button.disabled:focus, .form-container .button-group.hollow.success button.disabled:focus, .button-group.hollow.success .button[disabled]:focus, .button-group.hollow.success .form-container button[disabled]:focus, .form-container .button-group.hollow.success button[disabled]:focus, .button-group.hollow .button.success, .button-group.hollow .form-container button.success, .form-container .button-group.hollow button.success, .button-group.hollow .button.success.disabled, .button-group.hollow .form-container button.success.disabled, .form-container .button-group.hollow button.success.disabled, .button-group.hollow .button.success[disabled], .button-group.hollow .form-container button.success[disabled], .form-container .button-group.hollow button.success[disabled], .button-group.hollow .button.success.disabled:hover, .button-group.hollow .form-container button.success.disabled:hover, .form-container .button-group.hollow button.success.disabled:hover, .button-group.hollow .button.success[disabled]:hover, .button-group.hollow .form-container button.success[disabled]:hover, .form-container .button-group.hollow button.success[disabled]:hover, .button-group.hollow .button.success.disabled:focus, .button-group.hollow .form-container button.success.disabled:focus, .form-container .button-group.hollow button.success.disabled:focus, .button-group.hollow .button.success[disabled]:focus, .button-group.hollow .form-container button.success[disabled]:focus, .form-container .button-group.hollow button.success[disabled]:focus {
    border: 1px solid #3adb76;
    color: #3adb76; }
  .button-group.hollow.success .button:hover, .button-group.hollow.success .form-container button:hover, .form-container .button-group.hollow.success button:hover, .button-group.hollow.success .button:focus, .button-group.hollow.success .form-container button:focus, .form-container .button-group.hollow.success button:focus, .button-group.hollow .button.success:hover, .button-group.hollow .form-container button.success:hover, .form-container .button-group.hollow button.success:hover, .button-group.hollow .button.success:focus, .button-group.hollow .form-container button.success:focus, .form-container .button-group.hollow button.success:focus {
    border-color: #157539;
    color: #157539; }
  .button-group.hollow.warning .button, .button-group.hollow.warning .form-container button, .form-container .button-group.hollow.warning button, .button-group.hollow.warning .button.disabled, .button-group.hollow.warning .form-container button.disabled, .form-container .button-group.hollow.warning button.disabled, .button-group.hollow.warning .button[disabled], .button-group.hollow.warning .form-container button[disabled], .form-container .button-group.hollow.warning button[disabled], .button-group.hollow.warning .button.disabled:hover, .button-group.hollow.warning .form-container button.disabled:hover, .form-container .button-group.hollow.warning button.disabled:hover, .button-group.hollow.warning .button[disabled]:hover, .button-group.hollow.warning .form-container button[disabled]:hover, .form-container .button-group.hollow.warning button[disabled]:hover, .button-group.hollow.warning .button.disabled:focus, .button-group.hollow.warning .form-container button.disabled:focus, .form-container .button-group.hollow.warning button.disabled:focus, .button-group.hollow.warning .button[disabled]:focus, .button-group.hollow.warning .form-container button[disabled]:focus, .form-container .button-group.hollow.warning button[disabled]:focus, .button-group.hollow .button.warning, .button-group.hollow .form-container button.warning, .form-container .button-group.hollow button.warning, .button-group.hollow .button.warning.disabled, .button-group.hollow .form-container button.warning.disabled, .form-container .button-group.hollow button.warning.disabled, .button-group.hollow .button.warning[disabled], .button-group.hollow .form-container button.warning[disabled], .form-container .button-group.hollow button.warning[disabled], .button-group.hollow .button.warning.disabled:hover, .button-group.hollow .form-container button.warning.disabled:hover, .form-container .button-group.hollow button.warning.disabled:hover, .button-group.hollow .button.warning[disabled]:hover, .button-group.hollow .form-container button.warning[disabled]:hover, .form-container .button-group.hollow button.warning[disabled]:hover, .button-group.hollow .button.warning.disabled:focus, .button-group.hollow .form-container button.warning.disabled:focus, .form-container .button-group.hollow button.warning.disabled:focus, .button-group.hollow .button.warning[disabled]:focus, .button-group.hollow .form-container button.warning[disabled]:focus, .form-container .button-group.hollow button.warning[disabled]:focus {
    border: 1px solid #ffae00;
    color: #ffae00; }
  .button-group.hollow.warning .button:hover, .button-group.hollow.warning .form-container button:hover, .form-container .button-group.hollow.warning button:hover, .button-group.hollow.warning .button:focus, .button-group.hollow.warning .form-container button:focus, .form-container .button-group.hollow.warning button:focus, .button-group.hollow .button.warning:hover, .button-group.hollow .form-container button.warning:hover, .form-container .button-group.hollow button.warning:hover, .button-group.hollow .button.warning:focus, .button-group.hollow .form-container button.warning:focus, .form-container .button-group.hollow button.warning:focus {
    border-color: #805700;
    color: #805700; }
  .button-group.hollow.alert .button, .button-group.hollow.alert .form-container button, .form-container .button-group.hollow.alert button, .button-group.hollow.alert .button.disabled, .button-group.hollow.alert .form-container button.disabled, .form-container .button-group.hollow.alert button.disabled, .button-group.hollow.alert .button[disabled], .button-group.hollow.alert .form-container button[disabled], .form-container .button-group.hollow.alert button[disabled], .button-group.hollow.alert .button.disabled:hover, .button-group.hollow.alert .form-container button.disabled:hover, .form-container .button-group.hollow.alert button.disabled:hover, .button-group.hollow.alert .button[disabled]:hover, .button-group.hollow.alert .form-container button[disabled]:hover, .form-container .button-group.hollow.alert button[disabled]:hover, .button-group.hollow.alert .button.disabled:focus, .button-group.hollow.alert .form-container button.disabled:focus, .form-container .button-group.hollow.alert button.disabled:focus, .button-group.hollow.alert .button[disabled]:focus, .button-group.hollow.alert .form-container button[disabled]:focus, .form-container .button-group.hollow.alert button[disabled]:focus, .button-group.hollow .button.alert, .button-group.hollow .form-container button.alert, .form-container .button-group.hollow button.alert, .button-group.hollow .button.alert.disabled, .button-group.hollow .form-container button.alert.disabled, .form-container .button-group.hollow button.alert.disabled, .button-group.hollow .button.alert[disabled], .button-group.hollow .form-container button.alert[disabled], .form-container .button-group.hollow button.alert[disabled], .button-group.hollow .button.alert.disabled:hover, .button-group.hollow .form-container button.alert.disabled:hover, .form-container .button-group.hollow button.alert.disabled:hover, .button-group.hollow .button.alert[disabled]:hover, .button-group.hollow .form-container button.alert[disabled]:hover, .form-container .button-group.hollow button.alert[disabled]:hover, .button-group.hollow .button.alert.disabled:focus, .button-group.hollow .form-container button.alert.disabled:focus, .form-container .button-group.hollow button.alert.disabled:focus, .button-group.hollow .button.alert[disabled]:focus, .button-group.hollow .form-container button.alert[disabled]:focus, .form-container .button-group.hollow button.alert[disabled]:focus {
    border: 1px solid #FF0200;
    color: #FF0200; }
  .button-group.hollow.alert .button:hover, .button-group.hollow.alert .form-container button:hover, .form-container .button-group.hollow.alert button:hover, .button-group.hollow.alert .button:focus, .button-group.hollow.alert .form-container button:focus, .form-container .button-group.hollow.alert button:focus, .button-group.hollow .button.alert:hover, .button-group.hollow .form-container button.alert:hover, .form-container .button-group.hollow button.alert:hover, .button-group.hollow .button.alert:focus, .button-group.hollow .form-container button.alert:focus, .form-container .button-group.hollow button.alert:focus {
    border-color: #800100;
    color: #800100; }
  .button-group.clear .button, .button-group.clear .form-container button, .form-container .button-group.clear button, .button-group.clear .button:hover, .button-group.clear .form-container button:hover, .form-container .button-group.clear button:hover, .button-group.clear .button:focus, .button-group.clear .form-container button:focus, .form-container .button-group.clear button:focus, .button-group.clear .button.disabled, .button-group.clear .form-container button.disabled, .form-container .button-group.clear button.disabled, .button-group.clear .button.disabled:hover, .button-group.clear .form-container button.disabled:hover, .form-container .button-group.clear button.disabled:hover, .button-group.clear .button.disabled:focus, .button-group.clear .form-container button.disabled:focus, .form-container .button-group.clear button.disabled:focus, .button-group.clear .button[disabled], .button-group.clear .form-container button[disabled], .form-container .button-group.clear button[disabled], .button-group.clear .button[disabled]:hover, .button-group.clear .form-container button[disabled]:hover, .form-container .button-group.clear button[disabled]:hover, .button-group.clear .button[disabled]:focus, .button-group.clear .form-container button[disabled]:focus, .form-container .button-group.clear button[disabled]:focus {
    border-color: transparent;
    background-color: transparent; }
  .button-group.clear .button, .button-group.clear .form-container button, .form-container .button-group.clear button, .button-group.clear .button.disabled, .button-group.clear .form-container button.disabled, .form-container .button-group.clear button.disabled, .button-group.clear .button[disabled], .button-group.clear .form-container button[disabled], .form-container .button-group.clear button[disabled], .button-group.clear .button.disabled:hover, .button-group.clear .form-container button.disabled:hover, .form-container .button-group.clear button.disabled:hover, .button-group.clear .button[disabled]:hover, .button-group.clear .form-container button[disabled]:hover, .form-container .button-group.clear button[disabled]:hover, .button-group.clear .button.disabled:focus, .button-group.clear .form-container button.disabled:focus, .form-container .button-group.clear button.disabled:focus, .button-group.clear .button[disabled]:focus, .button-group.clear .form-container button[disabled]:focus, .form-container .button-group.clear button[disabled]:focus {
    color: #1643A4; }
  .button-group.clear .button:hover, .button-group.clear .form-container button:hover, .form-container .button-group.clear button:hover, .button-group.clear .button:focus, .button-group.clear .form-container button:focus, .form-container .button-group.clear button:focus {
    color: #0b2252; }
  .button-group.clear.primary .button, .button-group.clear.primary .form-container button, .form-container .button-group.clear.primary button, .button-group.clear.primary .button.disabled, .button-group.clear.primary .form-container button.disabled, .form-container .button-group.clear.primary button.disabled, .button-group.clear.primary .button[disabled], .button-group.clear.primary .form-container button[disabled], .form-container .button-group.clear.primary button[disabled], .button-group.clear.primary .button.disabled:hover, .button-group.clear.primary .form-container button.disabled:hover, .form-container .button-group.clear.primary button.disabled:hover, .button-group.clear.primary .button[disabled]:hover, .button-group.clear.primary .form-container button[disabled]:hover, .form-container .button-group.clear.primary button[disabled]:hover, .button-group.clear.primary .button.disabled:focus, .button-group.clear.primary .form-container button.disabled:focus, .form-container .button-group.clear.primary button.disabled:focus, .button-group.clear.primary .button[disabled]:focus, .button-group.clear.primary .form-container button[disabled]:focus, .form-container .button-group.clear.primary button[disabled]:focus, .button-group.clear .button.primary, .button-group.clear .form-container button.primary, .form-container .button-group.clear button.primary, .button-group.clear .button.primary.disabled, .button-group.clear .form-container button.primary.disabled, .form-container .button-group.clear button.primary.disabled, .button-group.clear .button.primary[disabled], .button-group.clear .form-container button.primary[disabled], .form-container .button-group.clear button.primary[disabled], .button-group.clear .button.primary.disabled:hover, .button-group.clear .form-container button.primary.disabled:hover, .form-container .button-group.clear button.primary.disabled:hover, .button-group.clear .button.primary[disabled]:hover, .button-group.clear .form-container button.primary[disabled]:hover, .form-container .button-group.clear button.primary[disabled]:hover, .button-group.clear .button.primary.disabled:focus, .button-group.clear .form-container button.primary.disabled:focus, .form-container .button-group.clear button.primary.disabled:focus, .button-group.clear .button.primary[disabled]:focus, .button-group.clear .form-container button.primary[disabled]:focus, .form-container .button-group.clear button.primary[disabled]:focus {
    color: #1643A4; }
  .button-group.clear.primary .button:hover, .button-group.clear.primary .form-container button:hover, .form-container .button-group.clear.primary button:hover, .button-group.clear.primary .button:focus, .button-group.clear.primary .form-container button:focus, .form-container .button-group.clear.primary button:focus, .button-group.clear .button.primary:hover, .button-group.clear .form-container button.primary:hover, .form-container .button-group.clear button.primary:hover, .button-group.clear .button.primary:focus, .button-group.clear .form-container button.primary:focus, .form-container .button-group.clear button.primary:focus {
    color: #0b2252; }
  .button-group.clear.secondary .button, .form-container button.button-group.clear .button, .button-group.clear.secondary .form-container button, .form-container .button-group.clear.secondary button, .form-container button.button-group.clear button, .button-group.clear.secondary .button.disabled, .form-container button.button-group.clear .button.disabled, .button-group.clear.secondary .form-container button.disabled, .form-container .button-group.clear.secondary button.disabled, .form-container button.button-group.clear button.disabled, .button-group.clear.secondary .button[disabled], .form-container button.button-group.clear .button[disabled], .button-group.clear.secondary .form-container button[disabled], .form-container .button-group.clear.secondary button[disabled], .form-container button.button-group.clear button[disabled], .button-group.clear.secondary .button.disabled:hover, .form-container button.button-group.clear .button.disabled:hover, .button-group.clear.secondary .form-container button.disabled:hover, .form-container .button-group.clear.secondary button.disabled:hover, .form-container button.button-group.clear button.disabled:hover, .button-group.clear.secondary .button[disabled]:hover, .form-container button.button-group.clear .button[disabled]:hover, .button-group.clear.secondary .form-container button[disabled]:hover, .form-container .button-group.clear.secondary button[disabled]:hover, .form-container button.button-group.clear button[disabled]:hover, .button-group.clear.secondary .button.disabled:focus, .form-container button.button-group.clear .button.disabled:focus, .button-group.clear.secondary .form-container button.disabled:focus, .form-container .button-group.clear.secondary button.disabled:focus, .form-container button.button-group.clear button.disabled:focus, .button-group.clear.secondary .button[disabled]:focus, .form-container button.button-group.clear .button[disabled]:focus, .button-group.clear.secondary .form-container button[disabled]:focus, .form-container .button-group.clear.secondary button[disabled]:focus, .form-container button.button-group.clear button[disabled]:focus, .button-group.clear .button.secondary, .button-group.clear .form-container button, .form-container .button-group.clear button, .button-group.clear .button.secondary.disabled, .button-group.clear .form-container button.disabled, .form-container .button-group.clear button.disabled, .button-group.clear .button.secondary[disabled], .button-group.clear .form-container button[disabled], .form-container .button-group.clear button[disabled], .button-group.clear .button.secondary.disabled:hover, .button-group.clear .form-container button.disabled:hover, .form-container .button-group.clear button.disabled:hover, .button-group.clear .button.secondary[disabled]:hover, .button-group.clear .form-container button[disabled]:hover, .form-container .button-group.clear button[disabled]:hover, .button-group.clear .button.secondary.disabled:focus, .button-group.clear .form-container button.disabled:focus, .form-container .button-group.clear button.disabled:focus, .button-group.clear .button.secondary[disabled]:focus, .button-group.clear .form-container button[disabled]:focus, .form-container .button-group.clear button[disabled]:focus {
    color: #FF0200; }
  .button-group.clear.secondary .button:hover, .form-container button.button-group.clear .button:hover, .button-group.clear.secondary .form-container button:hover, .form-container .button-group.clear.secondary button:hover, .form-container button.button-group.clear button:hover, .button-group.clear.secondary .button:focus, .form-container button.button-group.clear .button:focus, .button-group.clear.secondary .form-container button:focus, .form-container .button-group.clear.secondary button:focus, .form-container button.button-group.clear button:focus, .button-group.clear .button.secondary:hover, .button-group.clear .form-container button:hover, .form-container .button-group.clear button:hover, .button-group.clear .button.secondary:focus, .button-group.clear .form-container button:focus, .form-container .button-group.clear button:focus {
    color: #800100; }
  .button-group.clear.success .button, .button-group.clear.success .form-container button, .form-container .button-group.clear.success button, .button-group.clear.success .button.disabled, .button-group.clear.success .form-container button.disabled, .form-container .button-group.clear.success button.disabled, .button-group.clear.success .button[disabled], .button-group.clear.success .form-container button[disabled], .form-container .button-group.clear.success button[disabled], .button-group.clear.success .button.disabled:hover, .button-group.clear.success .form-container button.disabled:hover, .form-container .button-group.clear.success button.disabled:hover, .button-group.clear.success .button[disabled]:hover, .button-group.clear.success .form-container button[disabled]:hover, .form-container .button-group.clear.success button[disabled]:hover, .button-group.clear.success .button.disabled:focus, .button-group.clear.success .form-container button.disabled:focus, .form-container .button-group.clear.success button.disabled:focus, .button-group.clear.success .button[disabled]:focus, .button-group.clear.success .form-container button[disabled]:focus, .form-container .button-group.clear.success button[disabled]:focus, .button-group.clear .button.success, .button-group.clear .form-container button.success, .form-container .button-group.clear button.success, .button-group.clear .button.success.disabled, .button-group.clear .form-container button.success.disabled, .form-container .button-group.clear button.success.disabled, .button-group.clear .button.success[disabled], .button-group.clear .form-container button.success[disabled], .form-container .button-group.clear button.success[disabled], .button-group.clear .button.success.disabled:hover, .button-group.clear .form-container button.success.disabled:hover, .form-container .button-group.clear button.success.disabled:hover, .button-group.clear .button.success[disabled]:hover, .button-group.clear .form-container button.success[disabled]:hover, .form-container .button-group.clear button.success[disabled]:hover, .button-group.clear .button.success.disabled:focus, .button-group.clear .form-container button.success.disabled:focus, .form-container .button-group.clear button.success.disabled:focus, .button-group.clear .button.success[disabled]:focus, .button-group.clear .form-container button.success[disabled]:focus, .form-container .button-group.clear button.success[disabled]:focus {
    color: #3adb76; }
  .button-group.clear.success .button:hover, .button-group.clear.success .form-container button:hover, .form-container .button-group.clear.success button:hover, .button-group.clear.success .button:focus, .button-group.clear.success .form-container button:focus, .form-container .button-group.clear.success button:focus, .button-group.clear .button.success:hover, .button-group.clear .form-container button.success:hover, .form-container .button-group.clear button.success:hover, .button-group.clear .button.success:focus, .button-group.clear .form-container button.success:focus, .form-container .button-group.clear button.success:focus {
    color: #157539; }
  .button-group.clear.warning .button, .button-group.clear.warning .form-container button, .form-container .button-group.clear.warning button, .button-group.clear.warning .button.disabled, .button-group.clear.warning .form-container button.disabled, .form-container .button-group.clear.warning button.disabled, .button-group.clear.warning .button[disabled], .button-group.clear.warning .form-container button[disabled], .form-container .button-group.clear.warning button[disabled], .button-group.clear.warning .button.disabled:hover, .button-group.clear.warning .form-container button.disabled:hover, .form-container .button-group.clear.warning button.disabled:hover, .button-group.clear.warning .button[disabled]:hover, .button-group.clear.warning .form-container button[disabled]:hover, .form-container .button-group.clear.warning button[disabled]:hover, .button-group.clear.warning .button.disabled:focus, .button-group.clear.warning .form-container button.disabled:focus, .form-container .button-group.clear.warning button.disabled:focus, .button-group.clear.warning .button[disabled]:focus, .button-group.clear.warning .form-container button[disabled]:focus, .form-container .button-group.clear.warning button[disabled]:focus, .button-group.clear .button.warning, .button-group.clear .form-container button.warning, .form-container .button-group.clear button.warning, .button-group.clear .button.warning.disabled, .button-group.clear .form-container button.warning.disabled, .form-container .button-group.clear button.warning.disabled, .button-group.clear .button.warning[disabled], .button-group.clear .form-container button.warning[disabled], .form-container .button-group.clear button.warning[disabled], .button-group.clear .button.warning.disabled:hover, .button-group.clear .form-container button.warning.disabled:hover, .form-container .button-group.clear button.warning.disabled:hover, .button-group.clear .button.warning[disabled]:hover, .button-group.clear .form-container button.warning[disabled]:hover, .form-container .button-group.clear button.warning[disabled]:hover, .button-group.clear .button.warning.disabled:focus, .button-group.clear .form-container button.warning.disabled:focus, .form-container .button-group.clear button.warning.disabled:focus, .button-group.clear .button.warning[disabled]:focus, .button-group.clear .form-container button.warning[disabled]:focus, .form-container .button-group.clear button.warning[disabled]:focus {
    color: #ffae00; }
  .button-group.clear.warning .button:hover, .button-group.clear.warning .form-container button:hover, .form-container .button-group.clear.warning button:hover, .button-group.clear.warning .button:focus, .button-group.clear.warning .form-container button:focus, .form-container .button-group.clear.warning button:focus, .button-group.clear .button.warning:hover, .button-group.clear .form-container button.warning:hover, .form-container .button-group.clear button.warning:hover, .button-group.clear .button.warning:focus, .button-group.clear .form-container button.warning:focus, .form-container .button-group.clear button.warning:focus {
    color: #805700; }
  .button-group.clear.alert .button, .button-group.clear.alert .form-container button, .form-container .button-group.clear.alert button, .button-group.clear.alert .button.disabled, .button-group.clear.alert .form-container button.disabled, .form-container .button-group.clear.alert button.disabled, .button-group.clear.alert .button[disabled], .button-group.clear.alert .form-container button[disabled], .form-container .button-group.clear.alert button[disabled], .button-group.clear.alert .button.disabled:hover, .button-group.clear.alert .form-container button.disabled:hover, .form-container .button-group.clear.alert button.disabled:hover, .button-group.clear.alert .button[disabled]:hover, .button-group.clear.alert .form-container button[disabled]:hover, .form-container .button-group.clear.alert button[disabled]:hover, .button-group.clear.alert .button.disabled:focus, .button-group.clear.alert .form-container button.disabled:focus, .form-container .button-group.clear.alert button.disabled:focus, .button-group.clear.alert .button[disabled]:focus, .button-group.clear.alert .form-container button[disabled]:focus, .form-container .button-group.clear.alert button[disabled]:focus, .button-group.clear .button.alert, .button-group.clear .form-container button.alert, .form-container .button-group.clear button.alert, .button-group.clear .button.alert.disabled, .button-group.clear .form-container button.alert.disabled, .form-container .button-group.clear button.alert.disabled, .button-group.clear .button.alert[disabled], .button-group.clear .form-container button.alert[disabled], .form-container .button-group.clear button.alert[disabled], .button-group.clear .button.alert.disabled:hover, .button-group.clear .form-container button.alert.disabled:hover, .form-container .button-group.clear button.alert.disabled:hover, .button-group.clear .button.alert[disabled]:hover, .button-group.clear .form-container button.alert[disabled]:hover, .form-container .button-group.clear button.alert[disabled]:hover, .button-group.clear .button.alert.disabled:focus, .button-group.clear .form-container button.alert.disabled:focus, .form-container .button-group.clear button.alert.disabled:focus, .button-group.clear .button.alert[disabled]:focus, .button-group.clear .form-container button.alert[disabled]:focus, .form-container .button-group.clear button.alert[disabled]:focus {
    color: #FF0200; }
  .button-group.clear.alert .button:hover, .button-group.clear.alert .form-container button:hover, .form-container .button-group.clear.alert button:hover, .button-group.clear.alert .button:focus, .button-group.clear.alert .form-container button:focus, .form-container .button-group.clear.alert button:focus, .button-group.clear .button.alert:hover, .button-group.clear .form-container button.alert:hover, .form-container .button-group.clear button.alert:hover, .button-group.clear .button.alert:focus, .button-group.clear .form-container button.alert:focus, .form-container .button-group.clear button.alert:focus {
    color: #800100; }
  .button-group.no-gaps .button, .button-group.no-gaps .form-container button, .form-container .button-group.no-gaps button {
    margin-right: -0.0625rem; }
    .button-group.no-gaps .button + .button, .button-group.no-gaps .form-container button + .button, .form-container .button-group.no-gaps button + .button, .button-group.no-gaps .form-container .button + button, .form-container .button-group.no-gaps .button + button, .button-group.no-gaps .form-container button + button, .form-container .button-group.no-gaps button + button {
      border-left-color: transparent; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked .form-container button, .form-container .button-group.stacked button, .button-group.stacked-for-small .button, .button-group.stacked-for-small .form-container button, .form-container .button-group.stacked-for-small button, .button-group.stacked-for-medium .button, .button-group.stacked-for-medium .form-container button, .form-container .button-group.stacked-for-medium button {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked .form-container button:last-child, .form-container .button-group.stacked button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-small .form-container button:last-child, .form-container .button-group.stacked-for-small button:last-child, .button-group.stacked-for-medium .button:last-child, .button-group.stacked-for-medium .form-container button:last-child, .form-container .button-group.stacked-for-medium button:last-child {
        margin-bottom: 0; }
    .button-group.stacked.expanded .button, .button-group.stacked.expanded .form-container button, .form-container .button-group.stacked.expanded button, .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-small.expanded .form-container button, .form-container .button-group.stacked-for-small.expanded button, .button-group.stacked-for-medium.expanded .button, .button-group.stacked-for-medium.expanded .form-container button, .form-container .button-group.stacked-for-medium.expanded button {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
  @media print, screen and (min-width: 40em) {
    .button-group.stacked-for-small .button, .button-group.stacked-for-small .form-container button, .form-container .button-group.stacked-for-small button {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button, .button-group.stacked-for-medium .form-container button, .form-container .button-group.stacked-for-medium button {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      margin-bottom: 0; } }
  @media print, screen and (max-width: 39.99875em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-small.expanded .form-container button, .form-container .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, .button-group.stacked-for-medium.expanded .form-container button, .form-container .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: #2C3843; }
  .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: 16px;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #1643A4;
  color: #ffffff; }
  .label.primary {
    background: #1643A4;
    color: #ffffff; }
  .label.secondary, .form-container button.label {
    background: #FF0200;
    color: #ffffff; }
  .label.success {
    background: #3adb76;
    color: #2C3843; }
  .label.warning {
    background: #ffae00;
    color: #2C3843; }
  .label.alert {
    background: #FF0200;
    color: #ffffff; }

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 16px;
  background-color: #cacaca; }
  .progress.primary .progress-meter {
    background-color: #1643A4; }
  .progress.secondary .progress-meter, .form-container button.progress .progress-meter {
    background-color: #FF0200; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #FF0200; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #1643A4;
  border-radius: 16px; }

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

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #F8F8F8;
  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%);
          transform: translateY(-50%);
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 16px;
  background-color: #1643A4;
  -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: #13398b; }
  .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);
          transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%); }

input[type='range'] {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 0.45rem;
  margin-bottom: 0.45rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  line-height: 1;
  cursor: pointer;
  border-radius: 16px; }
  input[type='range']:focus {
    outline: 0; }
  input[type='range'][disabled] {
    opacity: 0.25; }
  input[type='range']::-webkit-slider-runnable-track {
    height: 0.5rem;
    background: #F8F8F8; }
  input[type='range']::-webkit-slider-thumb {
    width: 1.4rem;
    height: 1.4rem;
    margin-top: -0.45rem;
    -webkit-appearance: none;
    background: #1643A4;
    border-radius: 16px; }
  input[type='range']::-moz-range-track {
    height: 0.5rem;
    -moz-appearance: none;
    background: #F8F8F8; }
  input[type='range']::-moz-range-thumb {
    width: 1.4rem;
    height: 1.4rem;
    margin-top: -0.45rem;
    -moz-appearance: none;
    background: #1643A4;
    border-radius: 16px; }
  input[type='range']::-ms-track {
    height: 0.5rem;
    border: 0;
    border-top: 0.45rem solid #ffffff;
    border-bottom: 0.45rem solid #ffffff;
    background: #F8F8F8;
    overflow: visible;
    color: transparent; }
  input[type='range']::-ms-thumb {
    width: 1.4rem;
    height: 1.4rem;
    border: 0;
    background: #1643A4;
    border-radius: 16px; }
  input[type='range']::-ms-fill-lower {
    background: #cacaca; }
  input[type='range']::-ms-fill-upper {
    background: #F8F8F8; }
  output {
    vertical-align: middle;
    margin-left: 0.5em;
    line-height: 1.4rem; }

.switch {
  height: 2rem;
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #ffffff;
  -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: 16px;
  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: 16px;
    background: #ffffff;
    -webkit-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #1643A4; }
    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%);
          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; }

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #1643A4;
  color: #ffffff; }
  .badge.primary {
    background: #1643A4;
    color: #ffffff; }
  .badge.secondary, .form-container button.badge {
    background: #FF0200;
    color: #ffffff; }
  .badge.success {
    background: #3adb76;
    color: #2C3843; }
  .badge.warning {
    background: #ffae00;
    color: #2C3843; }
  .badge.alert {
    background: #FF0200;
    color: #ffffff; }

.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 0.6875rem;
    color: #2C3843;
    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: #1643A4; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #cacaca;
    cursor: not-allowed; }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: none;
  border-radius: 16px;
  background-color: #f8f8f8;
  color: #2C3843; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #1643a4;
    color: #ffffff; }
  .callout.secondary, .form-container button.callout {
    background-color: #ff0200;
    color: #ffffff; }
  .callout.success {
    background-color: #3adb76;
    color: #2C3843; }
  .callout.warning {
    background-color: #ffae00;
    color: #2C3843; }
  .callout.alert {
    background-color: #ff0200;
    color: #ffffff; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 1rem;
  border: none;
  border-radius: 0;
  background: #ffffff;
  -webkit-box-shadow: none;
          box-shadow: none;
  overflow: hidden;
  color: #2C3843; }
  .card > :last-child {
    margin-bottom: 0; }

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

.card-section {
  -webkit-box-flex: 1;
      -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: 16px;
  background-color: #ffffff;
  font-size: 1rem; }
  .dropdown-pane.is-opening {
    display: block; }
  .dropdown-pane.is-open {
    display: block;
    visibility: visible; }

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

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

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

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.0625rem;
    border-radius: 16px;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 40em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 16px;
    color: #2C3843; }
    .pagination a:hover,
    .pagination button:hover {
      background: #F8F8F8; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #1643A4;
    color: #ffffff;
    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: #2C3843; }

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

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

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

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

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #F8F8F8;
  border-bottom: 0;
  font-size: 1rem;
  line-height: 1;
  color: #1643A4; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #F8F8F8;
    border-radius: 0 0 16px 16px; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #F8F8F8; }
  .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 #F8F8F8;
  border-bottom: 0;
  background-color: #ffffff;
  color: #2C3843; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #F8F8F8; }

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

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

.orbit {
  position: relative; }

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

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

.orbit-figure {
  margin: 0; }

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

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

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #ffffff; }
  [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(44, 56, 67, 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 transparent;
  background: transparent;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .tabs::after {
    clear: both; }

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

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

.tabs.primary {
  background: #1643A4; }
  .tabs.primary > li > a {
    color: #ffffff; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #1849b2; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 1rem;
    line-height: 1;
    color: #1643A4; }
    [data-whatinput='mouse'] .tabs-title > a {
      outline: 0; }
    .tabs-title > a:hover {
      background: transparent;
      color: #133a8d; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #F8F8F8;
      color: #1643A4; }

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

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

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

.thumbnail {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: 4px solid #ffffff;
  border-radius: 16px;
  -webkit-box-shadow: 0 0 0 1px rgba(44, 56, 67, 0.2);
          box-shadow: 0 0 0 1px rgba(44, 56, 67, 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(22, 67, 164, 0.5);
            box-shadow: 0 0 6px 1px rgba(22, 67, 164, 0.5); }
  a.thumbnail image {
    -webkit-box-shadow: none;
            box-shadow: none; }

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

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

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

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #ffffff;
    -webkit-box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff;
            box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff;
    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: #2C3843;
    -webkit-box-shadow: 0 7px 0 #2C3843, 0 14px 0 #2C3843;
            box-shadow: 0 7px 0 #2C3843, 0 14px 0 #2C3843;
    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-style: solid;
    border-width: 6px;
    content: '';
    border-bottom-width: 0;
    border-color: #1643A4 transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1rem; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: '';
  border-bottom-width: 0;
  border-color: #1643A4 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: #1643A4; }

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

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

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

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

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

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

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

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

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

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

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

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

.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: #ffffff; }
  .dropdown .is-dropdown-submenu a {
    padding: 0.7rem 1rem; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: '';
    border-left-width: 0;
    border-color: transparent #1643A4 transparent transparent;
    right: auto;
    left: 5px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: '';
    border-right-width: 0;
    border-color: transparent transparent transparent #1643A4; }
  .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(255, 255, 255, 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: #F8F8F8; }
  [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(44, 56, 67, 0.7);
              box-shadow: 0 0 10px rgba(44, 56, 67, 0.7); }
  .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #F8F8F8; }
  [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(44, 56, 67, 0.7);
              box-shadow: 0 0 10px rgba(44, 56, 67, 0.7); }
  .off-canvas-absolute.is-open {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }

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

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

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

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

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

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

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

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

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

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

@media 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;
              transform: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

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

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

html.is-reveal-open {
  position: fixed;
  width: 100%;
  overflow-y: hidden; }
  html.is-reveal-open.zf-has-scroll {
    overflow-y: scroll; }
  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(44, 56, 67, 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: 16px;
  background-color: #ffffff;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 90rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 90rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 90rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 90rem; } }
  .reveal.full {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    min-height: 100%;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media print, screen and (max-width: 39.99875em) {
    .reveal {
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      min-height: 100%;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.sticky-container {
  position: relative; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

.visible {
  visibility: visible; }

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

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

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

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

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

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

@media 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; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.rounded {
  border-radius: 5000px !important; }
  .rounded .switch-paddle {
    border-radius: 5000px !important; }
    .rounded .switch-paddle:after {
      border-radius: 50%; }

.radius {
  border-radius: 0.1875rem; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

body {
  overflow-x: clip;
  overflow-x: hidden;
  background: url("../img/wood-background.jpg") no-repeat top center;
  background-size: cover; }

main {
  overflow: hidden; }

.small-logo {
  margin-bottom: 2em;
  max-width: 200px; }

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

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

body {
  font-family: "Inter", sans-serif; }

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 {
  font-family: "Playfair Display", serif; }

p {
  font-family: "Inter", sans-serif; }

h2 {
  font-size: 38px !important;
  line-height: 38px !important; }
  @media print, screen and (min-width: 40em) {
    h2 {
      font-size: 58px !important;
      line-height: 58px !important; } }
  @media print, screen and (min-width: 64em) {
    h2 {
      font-size: 80px !important;
      line-height: 80px !important; } }

h3 {
  font-size: 32px !important;
  line-height: 32px !important; }
  @media print, screen and (min-width: 40em) {
    h3 {
      font-size: 44px !important;
      line-height: 44px !important; } }
  @media print, screen and (min-width: 64em) {
    h3 {
      font-size: 68px !important;
      line-height: 68px !important; } }

h4 {
  font-size: 28px !important;
  line-height: 28px !important; }
  @media print, screen and (min-width: 40em) {
    h4 {
      font-size: 36px !important;
      line-height: 36px !important; } }
  @media print, screen and (min-width: 64em) {
    h4 {
      font-size: 58px !important;
      line-height: 58px !important; } }

p {
  margin: 1em 0; }

.large {
  font-size: 24px;
  max-width: 52ch; }
  @media print, screen and (min-width: 64em) {
    .large {
      font-size: 32px; } }

@-webkit-keyframes fadeIn {
  0% {
    opacity: .5;
    -webkit-transform: translateY(-0.5em);
            transform: translateY(-0.5em); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes fadeIn {
  0% {
    opacity: .5;
    -webkit-transform: translateY(-0.5em);
            transform: translateY(-0.5em); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@-webkit-keyframes fadeInOnly {
  0% {
    opacity: .5; }
  100% {
    opacity: 1; } }

@keyframes fadeInOnly {
  0% {
    opacity: .5; }
  100% {
    opacity: 1; } }

.pb4 {
  padding-bottom: 4em; }

.grid-container--small {
  max-width: 48rem !important; }

.grid-container--medium {
  max-width: 64rem !important; }

.grid-container--full {
  max-width: 100% !important;
  padding-left: 0;
  padding-right: 0; }

.grid-container--red, .grid-container--magenta {
  background: #E13429 !important; }

.grid-container--green {
  background: #2FB67C !important; }

.grid-container--blue, .grid-container--primary {
  background: #1643A4 !important; }

@media print, screen and (min-width: 64em) {
  .grid-x > .medium-160 {
    width: 140px; } }

@media screen and (min-width: 75em) {
  .grid-x > .medium-160 {
    width: 160px; } }

.cell {
  z-index: 1; }

.cell--rich-text p {
  max-width: 85ch; }

.cell--rich-text a {
  word-wrap: break-word; }

.cell--rich-text ul {
  list-style: disc;
  margin: 0 0 2em 2em; }
  .cell--rich-text ul li {
    position: relative;
    margin-bottom: .5em;
    max-width: 55ch; }
    .cell--rich-text ul li b {
      display: block; }

.cell--rich-text > :last-child {
  margin-bottom: 0; }

.z-index--2 {
  z-index: 2; }

.z-index--1 {
  z-index: 1; }

.z-index--0 {
  z-index: 0; }

.z-index---1 {
  z-index: -1 !important; }

.z-index--video-modal {
  z-index: 102 !important; }

.cell--vertical {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .cell--vertical .cell:empty {
    display: none; }

.cell--horizontal {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .cell--horizontal .cell:empty {
    display: none; }

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 18px 0 10px 0;
  display: inline-block;
  cursor: pointer;
  -webkit-transition-property: opacity, -webkit-filter;
  transition-property: opacity, -webkit-filter;
  transition-property: opacity, filter;
  transition-property: opacity, filter, -webkit-filter;
  -webkit-transition-duration: 0.15s;
          transition-duration: 0.15s;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }
  .hamburger:hover {
    opacity: 0.7; }
  .hamburger.is-active:hover {
    opacity: 0.7; }
  .hamburger.is-active .hamburger-inner,
  .hamburger.is-active .hamburger-inner::before,
  .hamburger.is-active .hamburger-inner::after {
    background-color: #FF0200; }

.hamburger-box {
  width: 32px;
  height: 21px;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -1.5px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 32px;
    height: 3px;
    background-color: #FF0200;
    border-radius: 0px;
    position: absolute;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: 0.15s;
            transition-duration: 0.15s;
    -webkit-transition-timing-function: ease;
            transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -9px; }
  .hamburger-inner::after {
    bottom: -9px; }

/*
   * Slider
   */
.hamburger--slider .hamburger-inner {
  top: 1.5px; }
  .hamburger--slider .hamburger-inner::before {
    top: 9px;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
    -webkit-transition-timing-function: ease;
            transition-timing-function: ease;
    -webkit-transition-duration: 0.15s;
            transition-duration: 0.15s; }
  .hamburger--slider .hamburger-inner::after {
    top: 18px; }

.hamburger--slider.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, 9px, 0) rotate(45deg);
          transform: translate3d(0, 9px, 0) rotate(45deg); }
  .hamburger--slider.is-active .hamburger-inner::before {
    -webkit-transform: rotate(-45deg) translate3d(-4.57143px, -6px, 0);
            transform: rotate(-45deg) translate3d(-4.57143px, -6px, 0);
    opacity: 0; }
  .hamburger--slider.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -18px, 0) rotate(-90deg);
            transform: translate3d(0, -18px, 0) rotate(-90deg); }

.section {
  position: relative;
  padding-top: 3em;
  padding-bottom: 0;
  z-index: 1; }
  @media print, screen and (min-width: 40em) {
    .section {
      padding-top: 4em;
      padding-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .section {
      padding-top: 4em;
      padding-bottom: 0; } }
  .section.scroll-reveal-animation .grid-container {
    opacity: 0;
    -webkit-transition: opacity .6s ease-out;
    transition: opacity .6s ease-out; }
    .section.scroll-reveal-animation .grid-container::before {
      opacity: 0;
      -webkit-transition: opacity 1s ease-out .6s;
      transition: opacity 1s ease-out .6s; }
    .section.scroll-reveal-animation .grid-container.active {
      opacity: 1; }
      .section.scroll-reveal-animation .grid-container.active::before {
        opacity: 1; }
  .section--reduced {
    padding-top: 4em !important; }
    @media print, screen and (min-width: 64em) {
      .section--reduced {
        padding-top: 4em !important; } }

.section--collapse-override {
  padding-top: 3em !important; }
  @media print, screen and (min-width: 64em) {
    .section--collapse-override {
      padding-top: 8em !important; } }
  .section--collapse-override.section--light-pink, .section--collapse-override.section--light-blue, .section--collapse-override.section--light-yellow {
    padding-top: 6em !important; }

section.scroll-reveal-animation .grid-animate {
  opacity: 0;
  -webkit-transition: all 1s cubic-bezier(0.65, 0, 0.35, 1);
  transition: all 1s cubic-bezier(0.65, 0, 0.35, 1); }

section.scroll-reveal-animation.active .grid-animate {
  opacity: 1; }

.section--collapse + .section--collapse, .section--grey + .section--grey {
  padding-top: 0; }

.section--grey {
  background: #F8F8F8; }

.section--pull-up {
  margin-top: -2em; }
  @media print, screen and (min-width: 40em) {
    .section--pull-up {
      margin-top: -5em; } }

.section__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1em;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media print, screen and (min-width: 64em) {
    .section__grid {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }

@media print, screen and (min-width: 64em) {
  .section__cell {
    width: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; } }

.section__cell .card--post {
  padding: 0; }
  @media print, screen and (min-width: 64em) {
    .section__cell .card--post {
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0; } }

@media print, screen and (min-width: 64em) {
  .section__cell .button-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-line-pack: end;
        align-content: end; } }

.section__cell .button-container .button, .section__cell .button-container .form-container button, .form-container .section__cell .button-container button {
  margin: 0; }

.section--customer-quote {
  z-index: 2; }

.section--z-index-raise {
  position: relative;
  z-index: 2; }

/* --------------------- */
/* Nav Layout

/* --------------------- */
.navbar {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: .5rem 1rem; }
  .navbar .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030; }

.navbar-main {
  padding-top: 5px;
  padding-bottom: 5px;
  border: none;
  border-radius: 0;
  background-color: rgba(12, 12, 12, 0);
  -webkit-box-shadow: 0px 3px 3px rgba(0, 0, 0, 0);
          box-shadow: 0px 3px 3px rgba(0, 0, 0, 0);
  -webkit-transition: all 0.7s ease-in-out;
  transition: all 0.7s ease-in-out; }
  @media print, screen and (min-width: 64em) {
    .navbar-main {
      padding-top: 15px;
      padding-bottom: 15px; } }

.navbar-main.show {
  background-color: rgba(12, 12, 12, 0.9);
  -webkit-box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.38);
          box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.38); }

.navbar-main .nav-item {
  font-size: 14px;
  margin-left: 0px;
  margin-bottom: 10px; }

.navbar-main .nav-link {
  color: #deb668;
  text-transform: uppercase;
  font-size: 14px; }

.navbar-main .nav-link:hover,
.navbar-main.page-color-light .nav-link:hover {
  color: #ffc601;
  -webkit-transition: color 0.7s ease-in-out;
  transition: color 0.7s ease-in-out; }

.navbar-main .nav-item.active .nav-link {
  color: #bbbbbb; }

.nav-and-logo,
.nav-contact {
  list-style: none;
  margin: 0;
  padding: 0; }

.nav-and-logo > li {
  display: block;
  float: left;
  margin: 0;
  padding: 0; }

.nav-contact > li {
  display: block;
  float: right; }

.nav-contact > li.contact-link {
  height: 70px;
  border-right: 1px solid #edc26f;
  padding-top: 20px;
  padding-right: 30px; }

.nav-and-logo > li.nav-menu-btn {
  height: 70px;
  width: 70px;
  border-left: 1px solid #edc26f;
  text-align: center;
  font-size: 24px;
  line-height: 24px;
  margin-left: 0px;
  padding-top: 22px;
  background: #18191a; }

.nav-and-logo > li.nav-menu-logo {
  width: 90px;
  height: 90px;
  padding-left: 5px;
  padding-top: 5px;
  background: #18191a; }

.nav-and-logo > li.nav-menu-btn > a {
  color: #edc26f; }

.nav-logo {
  margin: 0;
  list-style: none; }

.nav-logo svg {
  fill: #E1CBC3;
  width: 80px; }
  @media print, screen and (max-width: 63.99875em) {
    .nav-logo svg {
      width: 60px; } }

.navbar-main .navbar-toggler i {
  color: #bbbbbb; }

.navbar-main .navbar-toggler:focus {
  outline: none; }

.navbar-main .navbar-nav {
  padding-top: 15px; }

.navbar-main .navbar-nav .divider.first {
  border-top: 1px solid #777777;
  margin-bottom: 20px;
  -webkit-transition: border 0.7s ease-in-out;
  transition: border 0.7s ease-in-out; }

.navbar-main.show .navbar-nav .divider.first {
  border-top: 1px solid #444444; }

.nav-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .nav-menu li {
    display: inline-block; }
    .nav-menu li .button, .nav-menu li .form-container button, .form-container .nav-menu li button {
      position: relative;
      margin: 0;
      border: 1px solid #FFFCF5;
      color: #FFFCF5;
      padding: 1em 1.3em;
      margin-right: 1.5em; }
      @media print, screen and (min-width: 40em) {
        .nav-menu li .button, .nav-menu li .form-container button, .form-container .nav-menu li button {
          padding: 1.3em 1.6em;
          margin-right: 3em; } }
      .nav-menu li .button:after, .nav-menu li .form-container button:after, .form-container .nav-menu li button:after {
        display: none; }
      .nav-menu li .button:before, .nav-menu li .form-container button:before, .form-container .nav-menu li button:before {
        display: block;
        content: '';
        position: absolute;
        right: -0.9em;
        top: 6px;
        height: 34px;
        width: 1px;
        background: #817D71; }
        @media print, screen and (min-width: 40em) {
          .nav-menu li .button:before, .nav-menu li .form-container button:before, .form-container .nav-menu li button:before {
            right: -1.6em;
            top: 10px; } }
      .nav-menu li .button:hover, .nav-menu li .form-container button:hover, .form-container .nav-menu li button:hover {
        background: #FFFCF5;
        color: #000000; }

.btn-open-menu {
  border-radius: 50%;
  display: block;
  width: 48px;
  height: 48px;
  line-height: 48px;
  padding-top: 16px;
  text-align: center;
  color: #FFFCF5;
  border: 1px solid #FFFCF5; }
  @media print, screen and (min-width: 40em) {
    .btn-open-menu {
      width: 62px;
      height: 62px;
      line-height: 62px;
      padding-top: 24px; } }

.btn-open-menu span {
  display: block;
  margin: 0 auto;
  height: 2px;
  width: 24px;
  margin-bottom: 5px;
  background: #E8DCC2; }

.btn-open-menu span:nth-of-type(2) {
  width: 18px; }

.btn-open-menu span:last-of-type {
  margin-bottom: 0; }

.btn-open-menu:hover {
  background: #FFFCF5; }
  .btn-open-menu:hover span {
    background: #000000; }

/*



#nav-toggle { cursor: pointer; padding: 12px 35px 16px 0px; }



#nav-toggle span, #nav-toggle span:before, #nav-toggle span:after, .navbar-main.page-color-light #nav-toggle span, .navbar-main.page-color-light #nav-toggle span:before, .navbar-main.page-color-light #nav-toggle span:after {

  cursor: pointer; 

  border-radius: 1px; 

  height: 2px;

  width: 25px;

  background: white;

  position: absolute;

  display: block;

  content: '';

}



#nav-toggle span:before {

  top: -8px; 

}



#nav-toggle span:after {

  bottom: -8px;

}



#nav-toggle span, #nav-toggle span:before, #nav-toggle span:after {

  transition: all 500ms ease-in-out;

}



#nav-toggle.active span, .navbar-main.page-color-light #nav-toggle.active span {

  background-color: transparent;

}



#nav-toggle.active span:before, #nav-toggle.active span:after {

  top: 0;

}



#nav-toggle.active span:before {

  transform: rotate(45deg);

}



#nav-toggle.active span:after {

  transform: rotate(-45deg);

}



*/
.navbar-main.page-color-light {
  color: #111111;
  background-color: rgba(255, 255, 255, 0) !important;
  -webkit-box-shadow: none;
          box-shadow: none;
  /* border-bottom: 1px solid #eeeeee; */ }

.navbar-main.page-color-light.show {
  background-color: rgba(255, 255, 255, 0.9) !important;
  -webkit-box-shadow: none;
          box-shadow: none;
  /* border-bottom: 1px solid #eeeeee; */ }

.navbar-main.page-color-light .nav-link {
  color: #212529; }

.navbar-main.page-color-light .nav-item.active .nav-link {
  color: #212529; }

.navbar-main.page-color-light .nav-logo svg {
  fill: #101111; }

.navbar-main .navbar-toggler i {
  color: #212529; }

/*

.navbar-main.page-color-light .nav-link:hover {

	color: #777777;

}

*/
.navbar-main.page-color-light #nav-toggle span,
.navbar-main.page-color-light #nav-toggle span:before,
.navbar-main.page-color-light #nav-toggle span:after {
  background: #212529; }

.navbar-main.page-color-light .nav-item.active .nav-link {
  color: #aaaaaa; }

/* --------------------- */
/* Nav Overlay

/* --------------------- */
.overlay {
  position: fixed;
  background: rgba(24, 25, 26, 0.97);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity .35s, visibility .35s, height .35s;
  transition: opacity .35s, visibility .35s, height .35s;
  overflow: hidden;
  z-index: 1000000; }

.overlay.open {
  opacity: 1;
  visibility: visible;
  height: 100%; }

.overlay .nav-title {
  font-size: 18px;
  color: #dedede;
  font-weight: 400;
  text-align: center;
  position: absolute;
  left: 50%;
  -webkit-transform: translate(-50%);
          transform: translate(-50%);
  top: 8%; }

.overlay nav {
  position: relative;
  /* height: 50%; */
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 32px;
  line-height: 26px;
  font-weight: 500;
  text-align: center;
  letter-spacing: 3px; }

.overlay ul {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: inline-block;
  position: relative;
  height: 100%; }

.overlay ul li {
  display: block;
  position: relative;
  opacity: 0;
  margin-bottom: 0;
  /* padding-left: 25px; */ }

.overlay ul li.no-padding-left {
  padding-left: 0; }

.overlay ul li.menu-logo {
  margin-bottom: 30px; }

.overlay ul li.menu-logo img {
  height: 50px; }
  @media print, screen and (min-width: 64em) {
    .overlay ul li.menu-logo img {
      height: 70px; } }

.overlay ul li.home {
  font-size: 22px;
  line-height: 18px; }

.overlay ul li.close-menu {
  margin-top: 20px;
  margin-bottom: 40px; }

.overlay ul li.menu-subtext {
  font-size: 13px;
  line-height: 13px;
  color: #747474;
  letter-spacing: 0;
  margin-bottom: 5px; }

.overlay ul li a {
  display: block;
  position: relative;
  color: #FEFCF9;
  text-decoration: none;
  overflow: hidden;
  text-transform: uppercase;
  font-family: "Playfair Display", serif; }

.overlay ul li a:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 43.5%;
  width: 0%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  height: 1px;
  background: #E1CBC3;
  -webkit-transition: .35s;
  transition: .35s; }

.overlay ul li a:hover,
.overlay ul li a:focus,
.overlay ul li a:active {
  color: #E1CBC3; }

.overlay ul li a:hover:after,
.overlay ul li a:focus:after,
.overlay ul li a:active:after {
  width: 100%;
  background: #E1CBC3; }

.overlay.open li {
  -webkit-animation: fadeInRight .5s ease forwards;
          animation: fadeInRight .5s ease forwards;
  -webkit-animation-delay: .35s;
          animation-delay: .35s; }

.overlay.open li:nth-of-type(2) {
  -webkit-animation-delay: .4s;
          animation-delay: .4s; }

.overlay.open li:nth-of-type(3) {
  -webkit-animation-delay: .45s;
          animation-delay: .45s; }

.overlay.open li:nth-of-type(4) {
  -webkit-animation-delay: .50s;
          animation-delay: .50s; }

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    left: 20%; }
  100% {
    opacity: 1;
    left: 0; } }

@keyframes fadeInRight {
  0% {
    opacity: 0;
    left: 20%; }
  100% {
    opacity: 1;
    left: 0; } }

button:focus {
  outline: 0; }

.open-menu,
.close-menu, .button, .form-container button {
  cursor: pointer; }

.btn-close-menu svg,
.btn-menu-home svg {
  width: 40px;
  fill: #dedede; }

.btn-close-menu:hover svg,
.btn-menu-home:hover svg {
  fill: #E1CBC3; }

.overlay .button, .overlay .form-container button, .form-container .overlay button {
  position: relative;
  display: inline-block;
  font-family: "Inter", sans-serif;
  border: 1px solid #B7A49D;
  color: #B7A49D;
  margin-top: 2em; }
  .overlay .button:hover, .overlay .form-container button:hover, .form-container .overlay button:hover {
    background: none;
    border: 1px solid #FEFCF9;
    color: #FEFCF9; }
    .overlay .button:hover:after, .overlay .form-container button:hover:after, .form-container .overlay button:hover:after {
      display: none; }

.navbar {
  position: fixed;
  top: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  background-color: transparent; }
  .navbar.going-down {
    top: -175px; }
  .navbar.going-up {
    top: 0;
    background-color: rgba(0, 0, 0, 0.5);
    border-bottom: 1px solid rgba(183, 164, 157, 0.65); }
  .navbar.top-floor {
    background-color: transparent; }
  .navbar.white {
    background-color: #fefefe; }

.navbar--dark.going-up {
  background-color: rgba(255, 252, 245, 0.75);
  border-bottom: none; }

.navbar--dark .nav-logo svg {
  fill: #000000; }

.navbar--dark .nav-menu li .button, .navbar--dark .nav-menu li .form-container button, .form-container .navbar--dark .nav-menu li button {
  border: 1px solid #000000;
  color: #000000; }
  .navbar--dark .nav-menu li .button:hover, .navbar--dark .nav-menu li .form-container button:hover, .form-container .navbar--dark .nav-menu li button:hover {
    background: #000000;
    color: #FFFCF5; }

.navbar--dark .btn-open-menu {
  color: #000000;
  border: 1px solid #000000; }
  .navbar--dark .btn-open-menu span {
    background: #B4B1AF; }
  .navbar--dark .btn-open-menu:hover {
    background: #000000; }
    .navbar--dark .btn-open-menu:hover span {
      background: #FFFCF5; }

.footer {
  border-bottom: 20px solid #F6F3EF; }
  .footer__grid-container {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 90rem;
    margin-left: auto;
    margin-right: auto; }
    @media print, screen and (min-width: 40em) {
      .footer__grid-container {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  .footer__grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    .footer__grid--salon-information {
      position: relative;
      margin-top: 0em; }
      @media print, screen and (min-width: 64em) {
        .footer__grid--salon-information {
          margin-top: 4em; } }
      .footer__grid--salon-information:after {
        content: '';
        display: block;
        height: 1px;
        width: 100%;
        background: #B4B1AF;
        margin-top: 2em;
        margin-bottom: 2em; }
        @media print, screen and (min-width: 64em) {
          .footer__grid--salon-information:after {
            margin-top: 4em;
            margin-bottom: 4em; } }
    .footer__grid--contact-information {
      position: relative;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      .footer__grid--contact-information:after {
        content: '';
        display: block;
        height: 1px;
        width: 100%;
        background: #B4B1AF;
        margin-top: 2em;
        margin-bottom: 2em; }
        @media print, screen and (min-width: 64em) {
          .footer__grid--contact-information:after {
            margin-top: 4em;
            margin-bottom: 4em; } }
    .footer__grid--legal-social {
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      margin-bottom: 4em; }
  .footer__large-logo {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem;
    text-align: center; }
    .footer__large-logo-button {
      -webkit-transform: translateY(-3em);
              transform: translateY(-3em); }
  .footer__about-menu {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
    @media print, screen and (min-width: 64em) {
      .footer__about-menu {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(12.5% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem; } }
  .footer__opening-times, .footer__online-booking, .footer__payment-methods {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
    @media print, screen and (min-width: 64em) {
      .footer__opening-times, .footer__online-booking, .footer__payment-methods {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(25% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .footer__opening-times {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(29.16667% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem;
      padding-right: 1em; } }
  @media print, screen and (min-width: 64em) {
    .footer__online-booking {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(33.33333% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }
  .footer__about-menu, .footer__opening-times, .footer__online-booking, .footer__payment-methods {
    margin-bottom: 3em; }
    @media print, screen and (min-width: 64em) {
      .footer__about-menu, .footer__opening-times, .footer__online-booking, .footer__payment-methods {
        margin-bottom: 0; } }
    .footer__about-menu h5, .footer__opening-times h5, .footer__online-booking h5, .footer__payment-methods h5 {
      font-family: "Inter", sans-serif;
      text-transform: uppercase;
      font-style: normal;
      font-size: 20px; }
    .footer__about-menu ul, .footer__opening-times ul, .footer__online-booking ul, .footer__payment-methods ul {
      list-style: none;
      margin: 0; }
  .footer__contact-header, .footer__contact-information {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem;
    margin-top: 1em; }
    @media print, screen and (min-width: 64em) {
      .footer__contact-header, .footer__contact-information {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(50% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem;
        margin-top: 0; } }
  .footer__contact-information {
    margin-top: 2em; }
    @media print, screen and (min-width: 64em) {
      .footer__contact-information {
        margin-top: 0; } }
  .footer__opening-times ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .footer__payment-methods-logos {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-top: 2em; }
    .footer__payment-methods-logos img:first-of-type {
      margin-right: 1em; }
  .footer__contact-header h3 {
    font-size: 62px;
    line-height: 62px;
    margin: 0; }
  @media print, screen and (min-width: 40em) {
    .footer__contact-information {
      text-align: right; } }
  .footer__contact-information ul {
    list-style: none;
    margin: 0; }
    .footer__contact-information ul li {
      display: block;
      font-size: 18px; }
      @media print, screen and (min-width: 64em) {
        .footer__contact-information ul li {
          font-size: 22px; } }
      .footer__contact-information ul li.title {
        text-transform: uppercase; }
      .footer__contact-information ul li.number {
        font-size: 42px;
        line-height: 42px;
        font-family: "Playfair Display", serif;
        font-weight: 700; }
        @media print, screen and (min-width: 64em) {
          .footer__contact-information ul li.number {
            font-size: 66px;
            line-height: 66px; } }
      .footer__contact-information ul li.email {
        margin-top: 1em; }
  .footer__legal-menu {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .footer__legal-menu {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(58.33333% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem; } }
  .footer__social-icons {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .footer__social-icons {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(33.33333% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem;
        text-align: right; } }
  .footer__legal-menu, .footer__social-icons {
    font-size: 14px; }
    .footer__legal-menu ul, .footer__social-icons ul {
      list-style: none;
      margin: 0; }
      .footer__legal-menu ul li, .footer__social-icons ul li {
        display: inline-block; }
  .footer__legal-menu ul li {
    margin-right: 1.5em; }
    @media print, screen and (max-width: 39.99875em) {
      .footer__legal-menu ul li {
        display: block;
        margin-bottom: 1em; } }
  @media print, screen and (max-width: 39.99875em) {
    .footer__social-icons ul {
      margin-top: 2em; } }
  .footer__social-icons ul li {
    margin-left: 0.5em; }
    @media print, screen and (max-width: 39.99875em) {
      .footer__social-icons ul li {
        margin-left: 0;
        margin-right: 0.5em; } }
  .footer__copyright {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem;
    font-size: 14px; }
    .footer__copyright ul {
      list-style: none;
      margin: 0; }
      .footer__copyright ul li {
        display: inline-block; }
        .footer__copyright ul li:first-of-type {
          margin-right: 2em; }
  .footer__address {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem;
    font-size: 14px; }
  .footer__logo-stamp {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem;
    text-align: center;
    margin-top: 3em;
    margin-bottom: 3em; }

.section--cards {
  overflow-x: hidden;
  overflow-x: clip; }

.section--cards-feature {
  z-index: 2; }
  .section--cards-feature .grid-container {
    background-color: #F8F8F8;
    border-radius: 16px;
    padding: 2em; }

.card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #fefefe;
  scroll-snap-align: start;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  max-width: 380px;
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .card {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      width: calc( 100% / 3 - 3em);
      max-width: 368px; } }
  .card--fluid {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%;
    background-color: transparent; }
    @media print, screen and (min-width: 64em) {
      .card--fluid {
        -webkit-box-flex: 1;
            -ms-flex: auto;
                flex: auto;
        width: -webkit-min-content;
        width: -moz-min-content;
        width: min-content;
        min-width: -webkit-fit-content;
        min-width: -moz-fit-content;
        min-width: fit-content; } }
  .card--fluid-grid {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%;
    background-color: transparent;
    gap: 1em; }
    @media print, screen and (min-width: 64em) {
      .card--fluid-grid {
        -webkit-box-flex: 1;
            -ms-flex: auto;
                flex: auto;
        width: -webkit-min-content;
        width: -moz-min-content;
        width: min-content;
        min-width: -webkit-fit-content;
        min-width: -moz-fit-content;
        min-width: fit-content;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    .card--fluid-grid .card__image--43 {
      aspect-ratio: 4/3;
      -o-object-fit: cover;
         object-fit: cover; }
      @media print, screen and (min-width: 64em) {
        .card--fluid-grid .card__image--43 {
          max-width: 180px; } }
    .card--fluid-grid .card__section {
      padding: 0 !important;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: .5em;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      height: 100%; }
    .card--fluid-grid .card__title {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
    .card--fluid-grid .card__title, .card--fluid-grid .card__subtitle {
      margin: 0; }
  .card--radius {
    border-radius: 16px;
    -webkit-box-shadow: 0 6px 9px -1px rgba(0, 0, 0, 0.2);
            box-shadow: 0 6px 9px -1px rgba(0, 0, 0, 0.2); }
  .card--horizontal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media print, screen and (min-width: 64em) {
      .card--horizontal {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        width: 80%;
        max-width: 800px;
        margin: auto;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        .card--horizontal > * {
          width: 50%; } }
  .card--post {
    padding: 0 1em; }
    .card--post .card__section {
      padding: 1em 0 1em; }
    .card--post img {
      border-radius: 1em; }
  .card--two-grid {
    max-width: 380px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 80%;
            flex: 0 0 80%;
    width: 80%;
    position: relative; }
    @media print, screen and (min-width: 64em) {
      .card--two-grid {
        max-width: 100%;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        width: calc( 100% - 3em); } }
  .card__link {
    text-decoration: none;
    color: inherit;
    opacity: .80;
    -webkit-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out; }
    .card__link:hover {
      opacity: 1;
      text-decoration: none;
      color: inherit; }
  .card__section {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    padding: 1.5em; }
    @media print, screen and (min-width: 64em) {
      .card__section {
        padding: 2em 3em; } }
  .card__section--dark {
    background-color: #06121E;
    margin: 1em;
    padding: 2em;
    border-radius: 1em 0 0 1em;
    border-radius: 1em 1em 0 0;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    min-height: 15em; }
    @media print, screen and (min-width: 64em) {
      .card__section--dark {
        border-radius: 1em 0 0 1em; } }
  .card__section--grey {
    background-color: #F8F8F8;
    margin: 1em;
    padding: 2em;
    border-radius: 1em 1em 0 0;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    min-height: 15em; }
  .card__footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .card__footer-section {
    padding: 1.5em; }
    @media print, screen and (min-width: 64em) {
      .card__footer-section {
        padding: 2em 3em; } }
  .card__read-time::before {
    content: '\2022';
    margin-right: .5em;
    color: #000000; }
  .card__image-border {
    border-bottom: 9px #E13429 solid; }
  .card__image--radius {
    overflow: hidden;
    margin: .5em !important;
    border-radius: 0 0 11.42857px 11.42857px; }
    @media print, screen and (min-width: 64em) {
      .card__image--radius {
        margin: 1.5em !important;
        border-radius: 0 0 8px 8px; } }
  .card__image--43 {
    aspect-ratio: 4/3;
    -o-object-fit: cover;
       object-fit: cover; }
  .card__image--43125 {
    aspect-ratio: 4 / 3.125;
    -o-object-fit: cover;
       object-fit: cover; }
  .card__image--4327 {
    aspect-ratio: 4 / 3.27;
    -o-object-fit: cover;
       object-fit: cover; }
  .card__title {
    font-weight: normal;
    margin-bottom: .8em;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2em; }
    @media print, screen and (min-width: 64em) {
      .card__title {
        font-size: 20px; } }
  .card__title--white {
    color: #fefefe; }
  .card__title--underline {
    position: relative; }
    .card__title--underline::after {
      content: '';
      display: block;
      height: 3px;
      background: -webkit-gradient(linear, left top, right top, from(#E13429), to(#1643A4));
      background: linear-gradient(90deg, #E13429 0%, #1643A4 100%);
      width: 100%;
      margin: 1em 0; }
  .card__surtitle {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 1em;
    margin-top: -1em; }
    .card__surtitle--red {
      color: #E13429; }
  .card__subtitle {
    font-size: 14px;
    font-weight: 400;
    margin-bottom: .5em;
    color: #1643A4;
    text-decoration: underline; }
  .card__synopsis {
    font-size: 16px;
    margin-bottom: 1em; }
  .card__synopsis--white {
    color: #fefefe; }
  .card__author {
    font-size: 14px; }
  .card__date {
    font-size: 14px;
    color: #000000; }
  .card__logo {
    background: #fefefe;
    border-radius: 16px 16px 16px 0;
    position: absolute;
    width: 110px;
    height: 110px;
    top: -95px;
    -webkit-box-shadow: 0 6px 9px -1px rgba(0, 0, 0, 0.1);
            box-shadow: 0 6px 9px -1px rgba(0, 0, 0, 0.1);
    padding: 1em;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .card__logo-image {
    -ms-flex-item-align: center;
        align-self: center; }
  .card__arrow {
    border: 0 !important;
    height: 2em !important;
    width: 2em !important;
    background: url("../../img/green-arrow.svg") no-repeat center center !important;
    background-size: contain !important; }
  .card__text-link {
    font-weight: 600;
    color: #1643A4;
    position: relative; }
    .card__text-link::after {
      content: '';
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      margin-left: 1em;
      border: 0;
      height: 1em;
      width: 1em;
      background: url("../img/green-chevron-right.svg") no-repeat center center;
      background-size: contain;
      -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
      transition: -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
      transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
      transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1), -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1); }
    .card__text-link:hover::after {
      -webkit-transform: rotate(0deg) translateY(-50%) translateX(1em);
              transform: rotate(0deg) translateY(-50%) translateX(1em); }
  .card__content {
    padding: 2em; }
  .card ul {
    list-style: none;
    margin: 0; }
    .card ul li {
      position: relative;
      padding-left: 2em;
      margin-bottom: .5em; }
      .card ul li::before {
        content: url("../../img/green-tick.svg");
        display: block;
        position: absolute;
        left: 0;
        top: 0; }
      .card ul li b {
        display: block; }

.card a, a.card {
  color: inherit; }
  .card a .card__arrow, a.card .card__arrow {
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
    transition: -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
    transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
    transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1), -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1); }
  .card a:hover, a.card:hover {
    color: inherit; }
    .card a:hover .card__arrow, a.card:hover .card__arrow {
      -webkit-transform: translateX(2em);
              transform: translateX(2em); }

.card a {
  display: contents; }

.card-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2em;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @supports (-webkit-touch-callout: none) and (not (translate: none)) {
    .card-container .card {
      margin: 1em; } }
  .card-container--center {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 1em 0; }

.card-scroller {
  position: relative; }
  .card-scroller .card {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 80%;
            flex: 0 0 80%;
    width: 80%; }
  .card-scroller__stage {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 2em 1em;
    overflow-x: scroll;
    -ms-scroll-snap-type: x mandatory;
        scroll-snap-type: x mandatory;
    scroll-padding: 1em;
    width: calc(100vw - (100vw - 100%));
    gap: 2em;
    margin: 0 0 2em 0; }
    @supports (-webkit-touch-callout: none) and (not (translate: none)) {
      .card-scroller__stage .card {
        margin: 1em; } }
    .card-scroller__stage::-webkit-scrollbar {
      height: 12px; }
    .card-scroller__stage::-webkit-scrollbar-thumb, .card-scroller__stage::-webkit-scrollbar-track {
      border-radius: 92px; }
    .card-scroller__stage::-webkit-scrollbar-thumb {
      background: #1643A4; }
    .card-scroller__stage::-webkit-scrollbar-track {
      background: #F8F8F8; }
    .card-scroller__stage--locked {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
      .card-scroller__stage--locked::-webkit-scrollbar-track {
        background: transparent; }
  .card-scroller__handles {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .card-scroller__handles {
        position: absolute;
        width: 100vw;
        width: -webkit-fill-available;
        top: 0;
        height: 100%;
        left: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        pointer-events: none;
        opacity: 1;
        -webkit-transition: opacity .3s ease-out;
        transition: opacity .3s ease-out; } }
    .card-scroller__handles--locked {
      opacity: 0; }
  .card-scroller__prev, .card-scroller__next {
    pointer-events: all;
    height: 6em;
    width: 3em;
    -webkit-transition: .3s all ease-out;
    transition: .3s all ease-out; }
  .card-scroller__label {
    display: none; }
  .card-scroller__prev {
    border-radius: 0 160px 160px 0;
    padding-left: 0.6em;
    -webkit-transform: translateX(-0.5em);
            transform: translateX(-0.5em); }
    .card-scroller__prev:hover {
      -webkit-transform: translateX(0);
              transform: translateX(0); }
  .card-scroller__next {
    border-radius: 160px 0 0 160px;
    padding-right: 0.6em;
    -webkit-transform: translateX(0.5em);
            transform: translateX(0.5em); }
    .card-scroller__next:hover {
      -webkit-transform: translateX(0);
              transform: translateX(0); }

.card-container-use-case-split {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  width: 100%;
  position: relative;
  z-index: 2; }
  .card-container-use-case-split a:focus, .card-container-use-case-split a:active, .card-container-use-case-split a:active:focus {
    color: inherit; }
  .card-container-use-case-split .card {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%;
    overflow: hidden;
    max-width: 100%;
    -webkit-animation: fadeIn .4s normal forwards ease-out;
            animation: fadeIn .4s normal forwards ease-out;
    margin-bottom: 0;
    position: relative;
    background-color: #F8F8F8;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media print, screen and (min-width: 40em) {
      .card-container-use-case-split .card {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    @media print, screen and (min-width: 40em) {
      .card-container-use-case-split .card__image, .card-container-use-case-split .card__section {
        width: 50%; } }
    .card-container-use-case-split .card__section {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      gap: 1em; }
      .card-container-use-case-split .card__section .card__title, .card-container-use-case-split .card__section .card__synopsis, .card-container-use-case-split .card__section .button, .card-container-use-case-split .card__section .form-container button, .form-container .card-container-use-case-split .card__section button, .card-container-use-case-split .card__section p {
        margin: 0; }
    .card-container-use-case-split .card__image {
      -o-object-fit: cover;
         object-fit: cover; }

.card-container-use-case {
  background-position: left center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 16px;
  padding: 2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  min-height: 540px;
  width: 100%;
  margin: 1rem; }
  @media print, screen and (min-width: 40em) {
    .card-container-use-case {
      padding: 4em; } }
  .card-container-use-case a:focus, .card-container-use-case a:active, .card-container-use-case a:active:focus {
    color: inherit; }
  .card-container-use-case .card {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%;
    overflow: visible;
    max-width: 560px;
    -webkit-animation: fadeIn .4s normal forwards ease-out;
            animation: fadeIn .4s normal forwards ease-out;
    margin-bottom: 0;
    position: relative;
    background-color: rgba(254, 254, 254, 0.9); }
    .card-container-use-case .card::after {
      content: "";
      position: absolute;
      right: -2em;
      display: inline-block;
      width: 0;
      height: 0;
      bottom: 4em;
      border-top: 2em solid transparent;
      border-bottom: 2em solid transparent;
      border-left: 2em solid rgba(254, 254, 254, 0.9);
      /* Triangle color */ }
    .card-container-use-case .card .card__author {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: end;
          -ms-flex-align: end;
              align-items: flex-end;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      gap: 1em; }
      @media print, screen and (min-width: 40em) {
        .card-container-use-case .card .card__author {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row; } }
      .card-container-use-case .card .card__author::after {
        content: url("../img/rcs-quote.svg"); }
  .card-container-use-case--large {
    position: relative; }
    .card-container-use-case--large .svg-gator-after {
      position: absolute;
      width: 519px;
      bottom: -70px;
      right: -70px;
      z-index: -1; }
      @media print, screen and (max-width: 63.99875em) {
        .card-container-use-case--large .svg-gator-after {
          width: 350px;
          bottom: -35px;
          right: -35px; } }
    .card-container-use-case--large .card__logo {
      width: 110px;
      height: 110px;
      top: -95px;
      border-radius: 16px 16px 16px 0; }
    .card-container-use-case--large .card__title {
      font-weight: 600;
      line-height: 1.6rem; }
  .card-container-use-case--small, .card-container-use-case--listing {
    padding: 2em; }
    @media print, screen and (min-width: 40em) {
      .card-container-use-case--small, .card-container-use-case--listing {
        padding: 2em;
        width: calc(50% - 2rem); } }
    .card-container-use-case--small .card, .card-container-use-case--listing .card {
      max-width: 100%; }
  .card-container-use-case--listing {
    min-height: auto;
    border: none;
    border-radius: 0;
    padding: 0;
    margin: 2.5em 1em; }
    .card-container-use-case--listing .card__section {
      padding: 0; }
    .card-container-use-case--listing .card__image {
      margin-bottom: 2em; }
      .card-container-use-case--listing .card__image img {
        border-radius: 16px 16px 16px 0; }
    .card-container-use-case--listing .card__title {
      font-weight: 600; }

.card-grid {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 2em 0;
  gap: 2em;
  margin: 0 0 2em 0; }
  .card-grid .card {
    padding: 0; }
  .card-grid .card, .card-grid .aside {
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
    @media print, screen and (min-width: 40em) {
      .card-grid .card, .card-grid .aside {
        max-width: calc( (100% / 2) - 1.5em);
        -webkit-box-flex: 0;
            -ms-flex: 0 0 80%;
                flex: 0 0 80%; } }
    @media print, screen and (min-width: 64em) {
      .card-grid .card, .card-grid .aside {
        max-width: calc( (100% / 3) - 1.5em); } }

.section--cards + .section--customer-quote {
  padding-top: 0; }

.hero--simple {
  padding-top: 8em; }
  @media print, screen and (min-width: 64em) {
    .hero--simple {
      padding-top: 12em; } }
  .hero--simple__grid-container {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 90rem;
    margin-left: auto;
    margin-right: auto; }
    @media print, screen and (min-width: 40em) {
      .hero--simple__grid-container {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .hero--simple__grid-container:after {
      content: '';
      display: block;
      margin: 3em 0;
      padding: 0;
      border-bottom: 1px solid #B4B1AF; }
      @media print, screen and (min-width: 40em) {
        .hero--simple__grid-container:after {
          margin: 4em 0; } }
      @media print, screen and (min-width: 64em) {
        .hero--simple__grid-container:after {
          margin: 6em 0; } }
  .hero--simple__grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  .hero--simple__content {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
    @media print, screen and (min-width: 64em) {
      .hero--simple__content {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(58.33333% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem;
        text-align: right; } }
    .hero--simple__content h1 {
      font-size: 52px;
      line-height: 50px;
      margin: 0.2em 0;
      color: #000000;
      display: block;
      z-index: 3;
      font-style: normal;
      text-transform: uppercase; }
      .hero--simple__content h1 span, .hero--simple__content h1 i {
        color: #E1CBC3;
        text-decoration: none; }
      .hero--simple__content h1 em {
        font-style: normal;
        color: #000000;
        text-decoration: none; }
      @media print, screen and (min-width: 40em) {
        .hero--simple__content h1 {
          font-size: 58px;
          line-height: 56px; } }
      @media print, screen and (min-width: 64em) {
        .hero--simple__content h1 {
          font-size: 96px;
          line-height: 96px;
          margin: 0.2em 0; } }
      .hero--simple__content h1 em.accent-top:before {
        content: '';
        top: -10px; }
        @media print, screen and (min-width: 40em) {
          .hero--simple__content h1 em.accent-top:before {
            top: -1px; } }
        @media print, screen and (min-width: 64em) {
          .hero--simple__content h1 em.accent-top:before {
            top: -15px; } }
      .hero--simple__content h1 em.accent-bottom {
        position: relative; }
        .hero--simple__content h1 em.accent-bottom:before {
          content: '';
          bottom: -14px; }
          @media print, screen and (min-width: 40em) {
            .hero--simple__content h1 em.accent-bottom:before {
              bottom: -13px; } }
          @media print, screen and (min-width: 64em) {
            .hero--simple__content h1 em.accent-bottom:before {
              bottom: -35px; } }
    .hero--simple__content .header--strapline {
      position: relative;
      color: #000000;
      margin-bottom: 0.5em; }
      @media print, screen and (min-width: 64em) {
        .hero--simple__content .header--strapline {
          margin-bottom: 1.5em; } }
      .hero--simple__content .header--strapline:after {
        position: absolute;
        bottom: -6px;
        background: #000000; }
      @media print, screen and (min-width: 64em) {
        .hero--simple__content .header--strapline {
          margin-bottom: 0; }
          .hero--simple__content .header--strapline:after {
            position: absolute;
            bottom: -6px;
            right: 0; } }

.postcode-search {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content; }
  .postcode-search form {
    position: relative; }
  .postcode-search__input {
    margin-bottom: 0;
    border-radius: 50px;
    border: 1px solid rgba(0, 0, 0, 0.5);
    padding: 1.5em; }
  .postcode-search__button {
    margin: 0 !important;
    position: absolute;
    right: -1px;
    top: 0;
    height: 100%;
    background: none;
    border-radius: 50px; }
    .postcode-search__button:hover {
      background: none; }
  .postcode-search__button-image {
    height: 100%;
    width: auto; }

.newsletter-form {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto; }
  .newsletter-form form {
    position: relative; }
  .newsletter-form__input {
    margin-bottom: 0;
    border-radius: 50px;
    border: 1px solid rgba(0, 0, 0, 0.5);
    padding: 1.5em 6em 1.5em 1.5em; }
  .newsletter-form__button {
    margin: 0 !important;
    position: absolute;
    right: -1px;
    top: 0;
    height: 100%;
    border-radius: 50px; }

textarea {
  min-height: 4em;
  margin-top: .5em; }

select {
  min-height: 2em;
  margin-top: .5em; }

label {
  border-bottom: .5em;
  font-weight: 500;
  font-size: 16px; }

input[type="checkbox"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fefefe;
  margin: 0;
  font: inherit;
  color: currentColor;
  width: 1.15em;
  height: 1.15em;
  border: 0.15em solid currentColor;
  border-radius: 0.15em;
  -webkit-transform: translateY(-0.075em);
          transform: translateY(-0.075em);
  vertical-align: middle;
  margin-right: 6px !important; }

input[type="checkbox"]::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  -webkit-clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
          clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
  -webkit-transition: 120ms -webkit-transform ease-in-out;
  transition: 120ms -webkit-transform ease-in-out;
  transition: 120ms transform ease-in-out;
  transition: 120ms transform ease-in-out, 120ms -webkit-transform ease-in-out;
  -webkit-box-shadow: inset 1em 1em var(--form-control-color);
          box-shadow: inset 1em 1em var(--form-control-color);
  background-color: CanvasText;
  top: .25em;
  left: .25em;
  position: absolute; }

input[type="checkbox"]:checked::before {
  -webkit-transform: scale(1);
          transform: scale(1); }

input[type="checkbox"]:focus {
  outline: 0.15em solid rgba(0, 0, 0, 0.2);
  outline-offset: 0.15em; }

input[type="checkbox"]:disabled {
  --form-control-color: $light-grey;
  color: #F8F8F8;
  cursor: not-allowed; }

.checkbox-columns {
  -webkit-columns: 1;
     -moz-columns: 1;
          columns: 1; }
  @media print, screen and (min-width: 64em) {
    .checkbox-columns {
      -webkit-columns: 2;
         -moz-columns: 2;
              columns: 2; } }

.checkbox-columns__checkbox {
  position: relative; }
  .checkbox-columns__checkbox input[type="checkbox"] {
    position: absolute;
    top: 0.5em; }
  .checkbox-columns__checkbox [type='checkbox'] + label, .checkbox-columns__checkbox [type='radio'] + label {
    font-weight: normal;
    margin-bottom: 1em;
    margin-left: 1.8em; }

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

.form-container {
  background: #fefefe;
  border-radius: 16px;
  margin: .4em;
  padding: 1em;
  -webkit-box-shadow: 0 6px 9px -1px rgba(0, 0, 0, 0.1);
          box-shadow: 0 6px 9px -1px rgba(0, 0, 0, 0.1); }
  @media print, screen and (min-width: 64em) {
    .form-container {
      margin: 2em;
      padding: 4em; } }
  .form-container--white {
    background: #fff !important; }

.errors {
  list-style: none;
  margin: 0 0 1em; }
  .errors li {
    background-color: #E13429;
    color: #fefefe;
    border-radius: 6px;
    padding: 0.6em;
    font-size: .8em; }

.form-reset label, .form-reset input, .form-reset textarea, .form-reset select, .form-reset button, .form-reset .onFormSubmittedFeedbackMessage {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important; }

.form-reset .onFormSubmittedFeedback {
  background: transparent !important; }

.form-reset table {
  width: 100% !important; }

.form-reset table.multi .textFormFieldBlock, .form-reset table.multi .dateTimeFormFieldBlock, .form-reset table.multi .twoOptionFormFieldBlock, .form-reset table.multi .optionSetFormFieldBlock, .form-reset table.multi .multiOptionSetFormFieldBlock, .form-reset table.multi .lookupFormFieldBlock, .form-reset .textFormFieldBlock, .form-reset .dateTimeFormFieldBlock, .form-reset .twoOptionFormFieldBlock, .form-reset .optionSetFormFieldBlock, .form-reset .multiOptionSetFormFieldBlock, .form-reset .lookupFormFieldBlock {
  padding: 0 !important; }

.form-reset th {
  padding: 3px !important;
  width: 10% !important; }

.form-reset .optionSetFormFieldBlock select, .form-reset .textFormFieldBlock input, .form-reset .dateTimeFormFieldBlock input, .form-reset .lookupFormFieldBlock input, .form-reset .marketingForm textarea, .form-reset div[data-editorblocktype="Captcha"] input {
  border-radius: 24px !important;
  font-size: 16px !important;
  padding: 8px 16px !important;
  background-color: #fefefe !important;
  margin-bottom: 10px; }

.form-reset .textFormFieldBlock, .form-reset .dateTimeFormFieldBlock, .form-reset .twoOptionFormFieldBlock, .form-reset .optionSetFormFieldBlock, .form-reset .multiOptionSetFormFieldBlock, .form-reset .lookupFormFieldBlock {
  gap: 4px; }

.form-reset .consentBlock {
  padding: 0 !important; }

.form-reset div[data-editorblocktype="SubmitButton"] {
  padding: 0 !important; }

.form-reset .submitButton {
  border-radius: 32px;
  font-weight: 400; }

.form-reset div[data-cached-form-url] button.submitButton {
  min-width: 160px;
  background-color: #FF0200 !important;
  -webkit-transition: all .3s ease-out;
  transition: all .3s ease-out; }
  .form-reset div[data-cached-form-url] button.submitButton:hover, .form-reset div[data-cached-form-url] button.submitButton:active, .form-reset div[data-cached-form-url] button.submitButton:afocus {
    background-color: #990100 !important; }

.form-reset--reverse .onFormSubmittedFeedbackMessage {
  color: #fefefe !important; }

.form-reset--reverse label {
  color: #fefefe !important; }

.textFormFieldBlock label::after, .twooption_checkbox label::after, .dateTimeFormFieldBlock label::after, .lookupFormFieldBlock label::after, .twoOptionFormFieldBlock label.block-label::after, .twoOptionFormFieldBlock div.twooption_checkbox label::after, .optionSetFormFieldBlock label.block-label::after, .multiOptionSetFormFieldBlock label.block-label::after, .consentBlock label::after, .eventSession label::after, div[data-editorblocktype="Captcha"] label[id^="wlspispHipInstructionContainer"]::after {
  display: none !important; }

#iubenda-cs-banner .iubenda-granular-controls-container .granular-control-checkbox input.style1:checked:before {
  display: none; }

.g-recaptcha {
  padding-top: 25px; }

.form-cols {
  position: relative; }
  .form-cols input[type="text"].form-cols--email {
    width: 100%;
    height: 60px;
    line-height: 60px;
    border-radius: 30px !important;
    padding-right: 166px !important; }
  .form-cols--submit {
    position: absolute;
    right: 3px;
    top: 3px;
    width: 160px !important;
    height: 54px;
    line-height: 54px;
    padding: 0 !important; }

.section--contact {
  background: #F8F8F8; }
  .section--contact .contact-detail-section .button, .section--contact .contact-detail-section .form-container button, .form-container .section--contact .contact-detail-section button {
    padding: 1em 1.5em; }
    .section--contact .contact-detail-section .button:after, .section--contact .contact-detail-section .form-container button:after, .form-container .section--contact .contact-detail-section button:after {
      display: none; }
    .section--contact .contact-detail-section .button--white {
      background: #fefefe;
      color: #1643A4 !important; }
      .section--contact .contact-detail-section .button--white:hover {
        background: #D8D8D8;
        color: #1643A4; }
      .section--contact .contact-detail-section .button--white:active, .section--contact .contact-detail-section .button--white:focus, .section--contact .contact-detail-section .button--white:active:focus {
        background: #fefefe; }
  .section--contact .menu a {
    font-weight: 700; }
    .section--contact .menu a:after {
      display: none; }
  .section--contact__form-cell .form-container {
    position: relative; }
  .section--contact__form-cell .background-little-dots {
    position: absolute;
    z-index: -1; }
    @media print, screen and (min-width: 64em) {
      .section--contact__form-cell .background-little-dots {
        z-index: -1; } }
    .section--contact__form-cell .background-little-dots--top-right {
      top: -30px;
      right: -50px; }
      @media print, screen and (min-width: 64em) {
        .section--contact__form-cell .background-little-dots--top-right {
          top: -60px;
          right: -75px; } }
    .section--contact__form-cell .background-little-dots--bottom-left {
      bottom: -120px;
      left: 0;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg); }
      @media print, screen and (min-width: 64em) {
        .section--contact__form-cell .background-little-dots--bottom-left {
          bottom: -150px;
          left: 45px; } }

blockquote {
  position: relative;
  background-color: #fefefe;
  color: #000000;
  border: none;
  margin: 5em 0;
  padding: 0 3em 0 0; }
  @media print, screen and (min-width: 40em) {
    blockquote {
      padding: 0 3em 0 0; } }
  blockquote:before {
    content: '';
    display: block;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="103.574" height="82.981" viewBox="0 0 103.574 82.981"><defs><clipPath id="clip-path"><rect id="Rectangle_703" data-name="Rectangle 703" width="103.574" height="82.981" fill="none"/></clipPath></defs><g id="icon-blockquote" style="isolation: isolate"><g id="Group_981" data-name="Group 981" clip-path="url(%23clip-path)"><path id="Path_680" data-name="Path 680" d="M33.251,159.458C19.59,163.8,6.481,156.418,2,142.3c-2.49-7.834-1.463-15.132,2.358-21.052l8.1,4.612a15.3,15.3,0,0,0-1.687,13.082c2.7,8.481,10.565,12.609,19.111,9.893s12.589-10.631,9.894-19.111a15.155,15.155,0,0,0-9-9.687l4.075-8.708c6.6,2.606,11.528,8.24,14.039,16.139,4.465,14.049-1.978,27.644-15.639,31.985" transform="translate(-0.447 -77.771)" fill="%23d8d8d8"/><path id="Path_681" data-name="Path 681" d="M97.725,148.5c19.2-1.111,27.338-27.046,4.974-37.507L98.623,119.7c14.729,7.486,11.266,25.292-.9,28.8" transform="translate(-68.265 -77.532)" fill="%23ff0200"/><path id="Path_682" data-name="Path 682" d="M12.037,148.171c-8.4,14.655,2.82,30.252,22.419,33.1C11.6,190.544-8.509,163.755,3.681,143.413Z" transform="translate(0 -100.18)" fill="%23031e57"/><path id="Path_683" data-name="Path 683" d="M12.211,43.234,35.469,0l6.947,4.2-21.85,43.8" transform="translate(-8.53 0)" fill="%23031e57"/><path id="Path_684" data-name="Path 684" d="M211.476,159.458c-13.66,4.341-26.769-3.04-31.255-17.153-2.49-7.834-1.463-15.132,2.358-21.052l8.1,4.612a15.3,15.3,0,0,0-1.687,13.082c2.7,8.481,10.565,12.609,19.111,9.893S220.69,138.21,218,129.729a15.155,15.155,0,0,0-9-9.687l4.075-8.708c6.6,2.606,11.528,8.24,14.039,16.139,4.465,14.049-1.978,27.644-15.639,31.985" transform="translate(-124.944 -77.771)" fill="%23d8d8d8"/><path id="Path_685" data-name="Path 685" d="M275.949,148.5c19.2-1.111,27.338-27.046,4.974-37.507l-4.075,8.709c14.729,7.486,11.266,25.292-.9,28.8" transform="translate(-192.761 -77.532)" fill="%23ff0200"/><path id="Path_686" data-name="Path 686" d="M190.261,148.171c-8.4,14.655,2.82,30.252,22.419,33.1-22.86,9.275-42.964-17.514-30.774-37.856Z" transform="translate(-124.497 -100.18)" fill="%23031e57"/><path id="Path_687" data-name="Path 687" d="M190.436,43.234,213.694,0l6.947,4.2-21.85,43.8" transform="translate(-133.027 0)" fill="%23031e57"/></g></g></svg>');
    width: 104px;
    height: 83px;
    position: relative; }
  blockquote cite {
    margin-top: 2em;
    font-style: normal;
    font-size: 16px;
    color: #000000; }
    blockquote cite::before {
      content: '';
      display: none; }

.button, .form-container button {
  padding: 1.3em 1.6em;
  background: none;
  color: #000000;
  border: 1px solid #000000;
  line-height: 1.1em;
  text-transform: uppercase; }
  .button:after, .form-container button:after {
    content: '';
    display: inline-block;
    border: 0 !important;
    height: 1em !important;
    width: 1.6em !important;
    background: url("../img/icon-button-arrow-right.svg") no-repeat center center !important;
    background-size: contain !important;
    vertical-align: middle;
    margin-left: .5em;
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
    transition: -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
    transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
    transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1), -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1); }
  .button:hover, .form-container button:hover, .button:active, .form-container button:active, .button:focus, .form-container button:focus, .button:active:focus, .form-container button:active:focus {
    color: #fefefe;
    background-color: #000000; }
    .button:hover:after, .form-container button:hover:after, .button:active:after, .form-container button:active:after, .button:focus:after, .form-container button:focus:after, .button:active:focus:after, .form-container button:active:focus:after {
      background: url("../img/icon-button-arrow-right-white.svg") no-repeat center center !important;
      background-size: contain !important;
      -webkit-transform: translateX(0.5em);
              transform: translateX(0.5em); }

p + .button, .form-container p + button {
  margin-top: 1em; }

.faqs__grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto; }
  @media print, screen and (min-width: 40em) {
    .faqs__grid-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .faqs__grid-container:after {
    content: '';
    display: block;
    margin: 3em 0;
    padding: 0;
    border-bottom: 1px solid #B4B1AF; }
    @media print, screen and (min-width: 40em) {
      .faqs__grid-container:after {
        margin: 4em 0; } }
    @media print, screen and (min-width: 64em) {
      .faqs__grid-container:after {
        margin: 6em 0; } }

.faqs__block {
  margin-top: 3em; }

.faqs__image {
  text-align: center;
  margin-top: 1em;
  margin-bottom: 1em; }
  @media print, screen and (min-width: 40em) {
    .faqs__image {
      margin-top: 0;
      margin-bottom: 0; } }
  .faqs__image-inner {
    position: relative; }
    .faqs__image-inner:after {
      content: '';
      display: block;
      position: absolute;
      top: 15px;
      left: 15px;
      width: 100%;
      height: 100%;
      border: 1px solid #B4B1AF;
      z-index: 1; }
    .faqs__image-inner img {
      width: 100%;
      z-index: 0; }

.faqs .accordion {
  background: none; }
  .faqs .accordion-title {
    position: relative;
    border: none;
    color: #000000;
    text-transform: uppercase;
    font-size: 22px;
    font-family: "Playfair Display", serif;
    padding-right: 2em; }
    .faqs .accordion-title:after {
      display: block;
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      height: 1px;
      width: 100px;
      background: #B7A49D; }
    .faqs .accordion-title:hover {
      color: #000000;
      background: #F6F3EF; }
    .faqs .accordion-title:focus {
      background: none; }
  .faqs .accordion-content {
    background: none; }
  .faqs .accordion-item {
    border-radius: 0 !important; }
    .faqs .accordion-item :first-child {
      border-radius: 0 !important; }

.breadcrumbs__container {
  width: 100%;
  position: absolute;
  top: 72px;
  z-index: 2;
  background: #FF0200;
  max-width: 100%;
  overflow-x: auto; }
  @media print, screen and (min-width: 64em) {
    .breadcrumbs__container {
      top: 175px; } }
  .breadcrumbs__container .breadcrumbs {
    white-space: nowrap; }
    .breadcrumbs__container .breadcrumbs li {
      display: inline-block;
      float: none; }
      .breadcrumbs__container .breadcrumbs li a {
        color: rgba(254, 254, 254, 0.8);
        -webkit-transition: color .3s ease-out;
        transition: color .3s ease-out; }
        .breadcrumbs__container .breadcrumbs li a:hover {
          color: #fefefe;
          text-decoration: none; }
      .breadcrumbs__container .breadcrumbs li:not(:last-child)::after {
        color: #1643A4;
        font-size: 23px;
        line-height: 16px; }
      .breadcrumbs__container .breadcrumbs li:nth-last-child(2)::after {
        color: #FAB03A; }
      .breadcrumbs__container .breadcrumbs li:last-child {
        margin-right: 1em; }

.search-mobile {
  padding: .8em;
  margin-right: .8em; }
  .search-mobile .fa {
    font-size: 24px; }

html, body {
  scroll-behavior: smooth;
  position: relative;
  background-color: #FEFCF9; }

svg {
  max-width: 100%; }

a, a:active {
  color: #000000;
  cursor: pointer;
  -webkit-transition: color .3s ease-out;
  transition: color .3s ease-out; }
  a:hover, a:active:hover {
    color: #4f4f4f;
    text-decoration: none; }

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 {
  display: block;
  font-style: italic;
  margin-top: 0;
  margin-bottom: 0.8em;
  color: #000000; }
  h1:empty, .h1:empty, h2:empty, .h2:empty, h3:empty, .h3:empty, h4:empty, .h4:empty, h5:empty, .h5:empty {
    display: none; }

h3, .h3, h4, .h4, h5, .h5 {
  color: #000000; }

h1 i, h1 span, .h1 i, .h1 span, h2 i, h2 span, .h2 i, .h2 span, h3 i, h3 span, .h3 i, .h3 span, h4 i, h4 span, .h4 i, .h4 span {
  text-decoration: none;
  font-style: normal;
  font-weight: 600;
  text-transform: uppercase;
  -webkit-text-decoration: underline solid #B7A49D 3px;
          text-decoration: underline solid #B7A49D 3px; }

h1 em, .h1 em, h2 em, .h2 em, h3 em, .h3 em, h4 em, .h4 em {
  text-decoration: none; }
  h1 em.accent-top, .h1 em.accent-top, h2 em.accent-top, .h2 em.accent-top, h3 em.accent-top, .h3 em.accent-top, h4 em.accent-top, .h4 em.accent-top {
    position: relative; }
    h1 em.accent-top:before, .h1 em.accent-top:before, h2 em.accent-top:before, .h2 em.accent-top:before, h3 em.accent-top:before, .h3 em.accent-top:before, h4 em.accent-top:before, .h4 em.accent-top:before {
      content: '';
      display: inline-block;
      position: absolute;
      top: -10px;
      left: -15px;
      width: 52px;
      height: 25px;
      background: url("../img/accent-loop-top-dark.svg") no-repeat center center !important;
      background-size: contain !important; }
      @media print, screen and (min-width: 40em) {
        h1 em.accent-top:before, .h1 em.accent-top:before, h2 em.accent-top:before, .h2 em.accent-top:before, h3 em.accent-top:before, .h3 em.accent-top:before, h4 em.accent-top:before, .h4 em.accent-top:before {
          top: -1px;
          left: -15px; } }
      @media print, screen and (min-width: 64em) {
        h1 em.accent-top:before, .h1 em.accent-top:before, h2 em.accent-top:before, .h2 em.accent-top:before, h3 em.accent-top:before, .h3 em.accent-top:before, h4 em.accent-top:before, .h4 em.accent-top:before {
          top: -15px;
          left: -40px;
          width: 103px;
          height: 50px; } }
  h1 em.accent-bottom, .h1 em.accent-bottom, h2 em.accent-bottom, .h2 em.accent-bottom, h3 em.accent-bottom, .h3 em.accent-bottom, h4 em.accent-bottom, .h4 em.accent-bottom {
    position: relative; }
    h1 em.accent-bottom:before, .h1 em.accent-bottom:before, h2 em.accent-bottom:before, .h2 em.accent-bottom:before, h3 em.accent-bottom:before, .h3 em.accent-bottom:before, h4 em.accent-bottom:before, .h4 em.accent-bottom:before {
      content: '';
      display: inline-block;
      position: absolute;
      bottom: -17px;
      right: -15px;
      width: 62px;
      height: 30px;
      background: url("../img/accent-loop-bottom-dark.svg") no-repeat center center !important;
      background-size: contain !important; }
      @media print, screen and (min-width: 40em) {
        h1 em.accent-bottom:before, .h1 em.accent-bottom:before, h2 em.accent-bottom:before, .h2 em.accent-bottom:before, h3 em.accent-bottom:before, .h3 em.accent-bottom:before, h4 em.accent-bottom:before, .h4 em.accent-bottom:before {
          bottom: -13px; } }
      @media print, screen and (min-width: 64em) {
        h1 em.accent-bottom:before, .h1 em.accent-bottom:before, h2 em.accent-bottom:before, .h2 em.accent-bottom:before, h3 em.accent-bottom:before, .h3 em.accent-bottom:before, h4 em.accent-bottom:before, .h4 em.accent-bottom:before {
          bottom: -35px;
          right: -28px;
          width: 123px;
          height: 60px; } }
  h1 em.caps-underline, .h1 em.caps-underline, h2 em.caps-underline, .h2 em.caps-underline, h3 em.caps-underline, .h3 em.caps-underline, h4 em.caps-underline, .h4 em.caps-underline {
    font-style: normal;
    font-weight: 600;
    text-transform: uppercase;
    -webkit-text-decoration: underline solid #B7A49D 3px;
            text-decoration: underline solid #B7A49D 3px; }

ol {
  counter-reset: item; }

ol li {
  display: block;
  position: relative;
  margin: 1em 0 2em; }

ol li:before {
  content: counter(item) ".";
  counter-increment: item;
  position: absolute;
  margin-right: 100%;
  right: 10px;
  /* space between number and text */
  color: #1643A4;
  font-weight: 400;
  font-size: 16px; }

ol[type="1"] {
  counter-reset: item; }

ol[type="1"] li {
  display: block;
  position: relative; }

ol[type="1"] li:before {
  content: counters(item, ".") ".";
  counter-increment: item;
  position: absolute;
  margin-right: 100%;
  right: 10px;
  /* space between number and text */
  color: #1643A4; }

ol[type="a"] {
  counter-reset: item;
  list-style-type: lower-latin; }

ol[type="a"] li {
  display: block;
  position: relative; }

ol[type="a"] li:before {
  content: counter(item, lower-latin) ".";
  counter-increment: item;
  position: absolute;
  margin-right: 100%;
  right: 10px;
  color: #1643A4; }

object.scroll-reveal-animation {
  opacity: 0;
  -webkit-transition: opacity 0.3s cubic-bezier(0.65, 0, 0.35, 1);
  transition: opacity 0.3s cubic-bezier(0.65, 0, 0.35, 1); }
  object.scroll-reveal-animation.active {
    opacity: 1; }

.header--strapline {
  display: block;
  margin-bottom: 0.8em;
  text-transform: uppercase; }
  .header--strapline b {
    font-weight: 600; }
  .header--strapline:after {
    content: '';
    display: block;
    height: 1px;
    width: 100px;
    background: #000000; }

.content-split {
  overflow-x: hidden;
  overflow-x: clip; }
  .content-split__grid-container {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 90rem;
    margin-left: auto;
    margin-right: auto; }
    @media print, screen and (min-width: 40em) {
      .content-split__grid-container {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .content-split__grid-container:after {
      content: '';
      display: block;
      margin: 3em 0;
      padding: 0;
      border-bottom: 1px solid #B4B1AF; }
      @media print, screen and (min-width: 40em) {
        .content-split__grid-container:after {
          margin: 4em 0; } }
      @media print, screen and (min-width: 64em) {
        .content-split__grid-container:after {
          margin: 6em 0; } }
  .content-split__image {
    text-align: center;
    margin-bottom: 2em; }
    @media print, screen and (min-width: 64em) {
      .content-split__image {
        margin-bottom: 0; } }
    .content-split__image-inner {
      position: relative; }
      .content-split__image-inner:after {
        content: '';
        display: block;
        position: absolute;
        top: 15px;
        left: 15px;
        width: 100%;
        height: 100%;
        border: 1px solid #B4B1AF;
        z-index: 1; }
      .content-split__image-inner img {
        width: 100%;
        z-index: 0; }
  @media print, screen and (max-width: 63.99875em) {
    .content-split .medium-order-2 .content-split__image-inner {
      margin-bottom: 1em; } }
  @media print, screen and (max-width: 63.99875em) {
    .content-split .small-order-2 .content-split__image-inner {
      margin-top: 1em; } }

.cell--rich-text .content-split__contact-information ul {
  list-style: none;
  margin: 2em 0 2em 0; }
  @media print, screen and (min-width: 64em) {
    .cell--rich-text .content-split__contact-information ul {
      margin: 3em 0 3em 0; } }
  .cell--rich-text .content-split__contact-information ul li {
    display: block;
    font-size: 18px;
    padding-left: 0;
    margin-bottom: 0; }
    @media print, screen and (min-width: 64em) {
      .cell--rich-text .content-split__contact-information ul li {
        font-size: 22px; } }
    .cell--rich-text .content-split__contact-information ul li.title {
      text-transform: uppercase; }
    .cell--rich-text .content-split__contact-information ul li.number {
      font-size: 42px;
      line-height: 42px;
      font-family: "Playfair Display", serif;
      font-weight: 700; }
      @media print, screen and (min-width: 64em) {
        .cell--rich-text .content-split__contact-information ul li.number {
          font-size: 66px;
          line-height: 66px; } }
    .cell--rich-text .content-split__contact-information ul li.email {
      margin-top: 1em; }
    .cell--rich-text .content-split__contact-information ul li a {
      color: #000000;
      text-decoration: none; }

.aside__intro h3 {
  font-weight: 500; }

.pagination .current {
  background: none;
  color: #000000; }

.pagination .pagination-next, .pagination .pagination-previous {
  background-color: transparent; }
  .pagination .pagination-next a, .pagination .pagination-previous a {
    background-color: transparent;
    position: relative; }
    .pagination .pagination-next a::before, .pagination .pagination-previous a::before {
      content: '';
      display: none; }
    .pagination .pagination-next a::after, .pagination .pagination-previous a::after {
      content: '';
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      border: 0;
      height: 1em;
      width: 1em;
      right: -2em;
      background: url("../img/magenta-chevron-right.svg") no-repeat center center;
      background-size: contain;
      -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
      transition: -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
      transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
      transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1), -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1); }
    .pagination .pagination-next a:hover, .pagination .pagination-previous a:hover {
      background-color: transparent;
      color: #FF0200; }
      .pagination .pagination-next a:hover::after, .pagination .pagination-previous a:hover::after {
        -webkit-transform: rotate(0deg) translateY(-50%) translateX(1em);
                transform: rotate(0deg) translateY(-50%) translateX(1em); }

.pagination .pagination-previous a::after {
  content: '';
  left: -2em;
  -webkit-transform: rotate(180deg) translateY(50%);
          transform: rotate(180deg) translateY(50%); }

.pagination .pagination-previous a:hover::after {
  -webkit-transform: rotate(180deg) translateY(50%) translateX(1em);
          transform: rotate(180deg) translateY(50%) translateX(1em); }

.section--faqs {
  overflow: hidden;
  z-index: 2; }
  .section--faqs .background-image {
    position: absolute;
    z-index: -1;
    width: 650px; }
    @media print, screen and (min-width: 64em) {
      .section--faqs .background-image {
        margin-top: -4em; } }
    .section--faqs .background-image.scroll-reveal-animation {
      opacity: 0;
      -webkit-transition: all 4s cubic-bezier(0.65, 0, 0.35, 1);
      transition: all 4s cubic-bezier(0.65, 0, 0.35, 1);
      -webkit-transform: rotate(0);
              transform: rotate(0); }
    .section--faqs .background-image.active {
      opacity: 1;
      -webkit-transform: rotate(530deg);
              transform: rotate(530deg); }
    .section--faqs .background-image--right {
      top: 100px;
      right: -2.5em; }
  .section--faqs__col-faqs {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
    @media print, screen and (min-width: 64em) {
      .section--faqs__col-faqs {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(100% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem; } }
    .section--faqs__col-faqs--full-width {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(100% - 1.25rem);
      margin-left: 0.625rem;
      margin-right: 0.625rem; }
  .section--faqs__col-sidebar {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem;
    margin-top: 4em; }
    @media print, screen and (min-width: 64em) {
      .section--faqs__col-sidebar {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(25% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem; } }
  .section--faqs__faq-accordion {
    margin-bottom: 2.5em;
    background: #F8F8F8;
    border-radius: 20px;
    padding: 1em; }
    @media print, screen and (min-width: 64em) {
      .section--faqs__faq-accordion {
        padding: 3em;
        margin-bottom: 5em; } }
    .section--faqs__faq-accordion:last-of-type {
      margin-bottom: 0; }
    .section--faqs__faq-accordion.is-hidden {
      display: none; }
    .section--faqs__faq-accordion .accordion {
      background: none; }
      .section--faqs__faq-accordion .accordion-item:first-child > :first-child {
        border-radius: 0; }
      .section--faqs__faq-accordion .accordion-title {
        border: none;
        border-bottom: 1px solid #e6e6e6;
        padding-left: 3rem;
        font-size: 1.2rem;
        font-weight: 700;
        color: #000000; }
        .section--faqs__faq-accordion .accordion-title:hover, .section--faqs__faq-accordion .accordion-title:focus {
          color: #000000;
          background: none; }
        .section--faqs__faq-accordion .accordion-title:before {
          top: 40%;
          right: auto;
          left: 1rem;
          color: #000000; }
        .section--faqs__faq-accordion .accordion-title--cyan:before, .section--faqs__faq-accordion .accordion-title--cyan:hover, .section--faqs__faq-accordion .accordion-title--cyan:focus {
          color: #1643A4; }
        .section--faqs__faq-accordion .accordion-title--green:before, .section--faqs__faq-accordion .accordion-title--green:hover, .section--faqs__faq-accordion .accordion-title--green:focus {
          color: #2FB67C; }
        .section--faqs__faq-accordion .accordion-title--magenta:before, .section--faqs__faq-accordion .accordion-title--magenta:hover, .section--faqs__faq-accordion .accordion-title--magenta:focus {
          color: #E13429; }
        .section--faqs__faq-accordion .accordion-title--navy:before, .section--faqs__faq-accordion .accordion-title--navy:hover, .section--faqs__faq-accordion .accordion-title--navy:focus {
          color: #031E57; }
        .section--faqs__faq-accordion .accordion-title--yellow:before, .section--faqs__faq-accordion .accordion-title--yellow:hover, .section--faqs__faq-accordion .accordion-title--yellow:focus {
          color: #FAB03A; }
      .section--faqs__faq-accordion .accordion-content {
        border: none;
        background: none; }
        .section--faqs__faq-accordion .accordion-content p {
          max-width: 100%; }
    .section--faqs__faq-accordion .is-active .accordion-title {
      color: #E13429; }
      .section--faqs__faq-accordion .is-active .accordion-title:before {
        color: #E13429; }
  .section--faqs__header {
    margin-bottom: 2.5em;
    border-bottom: 1px solid #000000; }
    .section--faqs__header h2 {
      margin-bottom: 0.75em; }
    .section--faqs__header--cyan {
      border-color: #1643A4; }
    .section--faqs__header--green {
      border-color: #2FB67C; }
    .section--faqs__header--magenta {
      border-color: #E13429; }
    .section--faqs__header--navy {
      border-color: #031E57; }
    .section--faqs__header--yellow {
      border-color: #FAB03A; }

.faqs__search {
  position: relative;
  margin-bottom: 3em; }
  .faqs__search h5 {
    margin-bottom: 0.5em; }

.faqs__no-results {
  display: none;
  margin-bottom: 2.5em;
  border-bottom: 1px solid #F8F8F8; }
  @media print, screen and (max-width: 39.99875em) {
    .faqs__no-results {
      margin-bottom: 0; } }
  .faqs__no-results.show {
    display: block; }

@media print, screen and (max-width: 39.99875em) {
  .faqs__faq-list {
    margin-top: 3em; } }

.faqs__topics {
  display: none;
  margin-bottom: 4em; }
  @media print, screen and (min-width: 40em) {
    .faqs__topics {
      display: block; } }
  .faqs__topics ul li a {
    padding-left: 0;
    color: #1643A4;
    text-decoration: underline; }

.breadcrumb {
  font-size: 1.2rem;
  line-height: 1.2rem; }
  .breadcrumb--white {
    color: #fefefe; }
  .breadcrumb__link {
    display: inline-block;
    color: #1643A4; }
    .breadcrumb__link:hover {
      color: #1643A4; }
    .breadcrumb__link--blue, .breadcrumb__link--cyan {
      color: #1643A4; }
    .breadcrumb__link--green {
      color: #2FB67C; }
    .breadcrumb__link--red, .breadcrumb__link--magenta {
      color: #E13429; }
    .breadcrumb__link--yellow {
      color: #FAB03A; }
    .breadcrumb__link--white {
      color: #fefefe; }
      .breadcrumb__link--white:hover {
        color: #E13429; }

.section--terms-pages {
  padding-top: 0; }
  .section--terms-pages .grid-container {
    padding-top: 3em; }
    @media print, screen and (min-width: 40em) {
      .section--terms-pages .grid-container {
        padding-top: 6em; } }
  .section--terms-pages p {
    max-width: 100% !important; }
  .section--terms-pages a {
    color: #031E57;
    text-decoration: underline; }
  .section--terms-pages + .section--card-grid-files {
    padding-top: 0; }

.cookie-message {
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 200;
  background: #fefefe;
  -webkit-box-shadow: 0 -2px 16px 0px rgba(0, 0, 0, 0.16);
          box-shadow: 0 -2px 16px 0px rgba(0, 0, 0, 0.16); }
  .cookie-message p {
    font-size: 15px;
    margin: 1em 0; }
  .cookie-message .button, .cookie-message .form-container button, .form-container .cookie-message button {
    margin: 1em 0;
    display: inline-block; }

/* TnH */
.play-me {
  max-height: 82vh;
  opacity: .99; }

.reveal {
  padding: 2em; }
  .reveal:focus-visible {
    outline: none; }

.auto-video {
  padding-top: 0;
  padding-bottom: 0;
  position: relative; }
  .auto-video:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.65);
    z-index: 1; }
  .auto-video .grid-container.fixed-height {
    position: relative;
    height: 360px;
    line-height: 0; }
    @media print, screen and (min-width: 40em) {
      .auto-video .grid-container.fixed-height {
        height: auto; } }
    @media print, screen and (min-width: 64em) {
      .auto-video .grid-container.fixed-height {
        height: auto; } }
    .auto-video .grid-container.fixed-height video {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover;
      -o-object-position: center;
         object-position: center; }
  .auto-video__content {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    z-index: 2; }
    .auto-video__content-inner {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      min-height: 0px;
      min-width: 0px;
      width: calc(100% - 1.25rem);
      margin-left: 0.625rem;
      margin-right: 0.625rem;
      text-align: left; }
      @media print, screen and (min-width: 64em) {
        .auto-video__content-inner {
          -webkit-box-flex: 0;
              -ms-flex: 0 0 auto;
                  flex: 0 0 auto;
          width: calc(58.33333% - 1.875rem);
          margin-left: 0.9375rem;
          margin-right: 0.9375rem;
          text-align: right;
          padding-right: 1em; } }
  .auto-video__small-logo {
    margin: 0 auto;
    max-width: 200px; }
    .auto-video__small-logo + .auto-video__text-content h1 {
      margin-top: 0.2em; }
  .auto-video__text-content h1 {
    font-size: 52px;
    line-height: 50px;
    margin: .4em 0;
    color: #FEFCF9;
    display: block;
    z-index: 3;
    font-style: normal;
    text-transform: uppercase; }
    .auto-video__text-content h1 i, .auto-video__text-content h1 em {
      font-style: normal;
      color: #E1CBC3;
      text-decoration: none; }
    .auto-video__text-content h1 span {
      text-decoration: none; }
      .auto-video__text-content h1 span.accent-top {
        position: relative; }
        .auto-video__text-content h1 span.accent-top:before {
          content: '';
          display: inline-block;
          position: absolute;
          top: -4px;
          left: -15px;
          width: 52px;
          height: 25px;
          background: url("../img/accent-loop-top-light.svg") no-repeat center center !important;
          background-size: contain !important; }
          @media print, screen and (min-width: 40em) {
            .auto-video__text-content h1 span.accent-top:before {
              top: -1px;
              left: -15px; } }
          @media print, screen and (min-width: 64em) {
            .auto-video__text-content h1 span.accent-top:before {
              top: -9px;
              left: -40px;
              width: 103px;
              height: 50px; } }
      .auto-video__text-content h1 span.accent-bottom {
        position: relative; }
        .auto-video__text-content h1 span.accent-bottom:before {
          content: '';
          display: inline-block;
          position: absolute;
          bottom: -15px;
          right: -15px;
          width: 62px;
          height: 30px;
          background: url("../img/accent-loop-bottom-light.svg") no-repeat center center !important;
          background-size: contain !important; }
          @media print, screen and (min-width: 40em) {
            .auto-video__text-content h1 span.accent-bottom:before {
              bottom: -13px; } }
          @media print, screen and (min-width: 64em) {
            .auto-video__text-content h1 span.accent-bottom:before {
              bottom: -32px;
              right: -28px;
              width: 123px;
              height: 60px; } }
    @media print, screen and (min-width: 40em) {
      .auto-video__text-content h1 {
        font-size: 58px;
        line-height: 56px; } }
    @media print, screen and (min-width: 64em) {
      .auto-video__text-content h1 {
        font-size: 96px;
        line-height: 96px;
        margin: 0.3em 0 .8em 0; } }
  .auto-video__text-content .header--strapline {
    position: relative;
    color: #FEFCF9;
    margin-bottom: 1.5em; }
    .auto-video__text-content .header--strapline:after {
      position: absolute;
      bottom: -12px;
      background: #E1CBC3; }
    @media print, screen and (min-width: 64em) {
      .auto-video__text-content .header--strapline {
        margin-bottom: 0; }
        .auto-video__text-content .header--strapline:after {
          position: absolute;
          bottom: -15px;
          right: 0; } }

.content-text-only__grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto; }
  @media print, screen and (min-width: 40em) {
    .content-text-only__grid-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .content-text-only__grid-container:after {
    content: '';
    display: block;
    margin: 3em 0;
    padding: 0;
    border-bottom: 1px solid #B4B1AF; }
    @media print, screen and (min-width: 40em) {
      .content-text-only__grid-container:after {
        margin: 4em 0; } }
    @media print, screen and (min-width: 64em) {
      .content-text-only__grid-container:after {
        margin: 6em 0; } }

.content-text-only__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.content-text-only__content {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .content-text-only__content {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(79.16667% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }

.content-text-only--no-border .content-text-only__grid-container:after {
  display: none; }

.content-text-only--pricing-page .content-text-only__grid-container:before {
  content: '';
  display: block;
  margin: 3em 0;
  padding: 0;
  border-top: 1px solid #B4B1AF;
  border-bottom: none; }
  @media print, screen and (min-width: 40em) {
    .content-text-only--pricing-page .content-text-only__grid-container:before {
      margin: 4em 0; } }
  @media print, screen and (min-width: 64em) {
    .content-text-only--pricing-page .content-text-only__grid-container:before {
      margin: 6em 0; } }

.content-text-only--pricing-page .content-text-only__grid-container:after {
  display: none; }

.image-carousel__grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto; }
  @media print, screen and (min-width: 40em) {
    .image-carousel__grid-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .image-carousel__grid-container:after {
    content: '';
    display: block;
    margin: 3em 0;
    padding: 0;
    border-bottom: 1px solid #B4B1AF; }
    @media print, screen and (min-width: 40em) {
      .image-carousel__grid-container:after {
        margin: 4em 0; } }
    @media print, screen and (min-width: 64em) {
      .image-carousel__grid-container:after {
        margin: 6em 0; } }

.image-carousel__grid-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  @media print, screen and (min-width: 40em) {
    .image-carousel__grid-header {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; } }

.image-carousel__grid-carousel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-top: 4em; }
  @media print, screen and (min-width: 40em) {
    .image-carousel__grid-carousel {
      margin-top: 3em; } }

.image-carousel__header {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .image-carousel__header {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(66.66667% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem;
      margin-right: 9em;
      text-align: right; }
      .image-carousel__header .header--strapline {
        position: relative; }
        .image-carousel__header .header--strapline:after {
          position: absolute;
          right: 0;
          bottom: 0; } }

.image-carousel__carousel {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  margin-top: -3em; }
  .image-carousel__carousel .splide__arrows {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-bottom: 1em; }
  .image-carousel__carousel .splide__arrow {
    position: relative;
    background: none;
    top: auto;
    -webkit-transform: none;
            transform: none;
    opacity: 1;
    display: block;
    right: auto;
    left: auto;
    height: auto;
    width: auto; }
    .image-carousel__carousel .splide__arrow--prev {
      margin-right: 1em; }
  .image-carousel__carousel .splide__track {
    padding-bottom: 1rem; }
  .image-carousel__carousel .splide__slide {
    position: relative; }
    .image-carousel__carousel .splide__slide:after {
      content: '';
      display: block;
      position: absolute;
      top: 10px;
      left: 10px;
      width: 100%;
      height: 100%;
      border: 1px solid #B4B1AF;
      z-index: 1; }
    .image-carousel__carousel .splide__slide img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover; }

.logo-grid__grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto; }
  @media print, screen and (min-width: 40em) {
    .logo-grid__grid-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .logo-grid__grid-container:after {
    content: '';
    display: block;
    margin: 3em 0;
    padding: 0;
    border-bottom: 1px solid #B4B1AF; }
    @media print, screen and (min-width: 40em) {
      .logo-grid__grid-container:after {
        margin: 4em 0; } }
    @media print, screen and (min-width: 64em) {
      .logo-grid__grid-container:after {
        margin: 6em 0; } }

.logo-grid__grid, .logo-grid__grid-logos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.logo-grid__grid-logos {
  margin-top: 2em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.logo-grid__header {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem; }
  @media print, screen and (min-width: 64em) {
    .logo-grid__header {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(79.16667% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }

.logo-grid__grid-logos {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.logo-grid__logo {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(50% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  margin-bottom: 3em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0.5em; }
  @media print, screen and (min-width: 64em) {
    .logo-grid__logo {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(16.66667% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem;
      padding: 0 1em; } }
  .logo-grid__logo img {
    max-height: 70px;
    width: auto; }
    @media print, screen and (min-width: 64em) {
      .logo-grid__logo img {
        max-height: 100px; } }

.price-dropdown-menu {
  z-index: 2; }
  .price-dropdown-menu__grid-container {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 90rem;
    margin-left: auto;
    margin-right: auto; }
    @media print, screen and (min-width: 40em) {
      .price-dropdown-menu__grid-container {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .price-dropdown-menu__grid-container:before {
      content: '';
      display: block;
      margin: 3em 0;
      padding: 0;
      border-top: 1px solid #B4B1AF;
      border-bottom: none; }
      @media print, screen and (min-width: 40em) {
        .price-dropdown-menu__grid-container:before {
          margin: 4em 0; } }
      @media print, screen and (min-width: 64em) {
        .price-dropdown-menu__grid-container:before {
          margin: 6em 0; } }
    .price-dropdown-menu__grid-container:before {
      margin: 1em 0; }
      @media print, screen and (min-width: 40em) {
        .price-dropdown-menu__grid-container:before {
          margin: 2em 0; } }
      @media print, screen and (min-width: 64em) {
        .price-dropdown-menu__grid-container:before {
          margin: 3em 0; } }
  .price-dropdown-menu__grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
  .price-dropdown-menu__menu-block {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media print, screen and (min-width: 40em) {
      .price-dropdown-menu__menu-block {
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end; } }
    .price-dropdown-menu__menu-block .button, .price-dropdown-menu__menu-block .form-container button, .form-container .price-dropdown-menu__menu-block button {
      margin-bottom: 0; }
      .price-dropdown-menu__menu-block .button:after, .price-dropdown-menu__menu-block .form-container button:after, .form-container .price-dropdown-menu__menu-block button:after {
        content: '';
        display: inline-block;
        border: 0 !important;
        height: 0.9em !important;
        width: 1.2em !important;
        background: url("../img/icon-chevron-down-dark.svg") no-repeat center center !important;
        background-size: contain !important;
        vertical-align: middle;
        margin-left: .5em; }
      .price-dropdown-menu__menu-block .button:hover, .price-dropdown-menu__menu-block .form-container button:hover, .form-container .price-dropdown-menu__menu-block button:hover {
        background: #FFFCF5;
        color: #000000; }
        .price-dropdown-menu__menu-block .button:hover:after, .price-dropdown-menu__menu-block .form-container button:hover:after, .form-container .price-dropdown-menu__menu-block button:hover:after {
          background: url("../img/icon-chevron-down-dark.svg") no-repeat center center !important;
          background-size: contain !important; }
      .price-dropdown-menu__menu-block .button:active, .price-dropdown-menu__menu-block .form-container button:active, .form-container .price-dropdown-menu__menu-block button:active, .price-dropdown-menu__menu-block .button:focus, .price-dropdown-menu__menu-block .form-container button:focus, .form-container .price-dropdown-menu__menu-block button:focus, .price-dropdown-menu__menu-block .button:active:focus, .price-dropdown-menu__menu-block .form-container button:active:focus, .form-container .price-dropdown-menu__menu-block button:active:focus {
        background: none;
        color: #000000; }
  .price-dropdown-menu__label {
    margin-right: 1em;
    text-transform: uppercase;
    font-size: 14px; }
  .price-dropdown-menu .dropdown-pane {
    padding: 1rem 1.5rem;
    z-index: 100;
    text-align: right; }
    .price-dropdown-menu .dropdown-pane ul {
      margin: 0;
      list-style: none; }
      .price-dropdown-menu .dropdown-pane ul li {
        margin-bottom: 0.5em; }
        .price-dropdown-menu .dropdown-pane ul li:last-of-type {
          margin-bottom: 0; }
        .price-dropdown-menu .dropdown-pane ul li a {
          font-size: 14px;
          text-transform: uppercase;
          color: #000000; }
          .price-dropdown-menu .dropdown-pane ul li a:hover {
            text-decoration: underline; }

.price-service__grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto; }
  @media print, screen and (min-width: 40em) {
    .price-service__grid-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

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

.price-service__header {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .price-service__header {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(41.66667% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }

.price-service__prices {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .price-service__prices {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(50% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem;
      margin-left: calc(8.33333% + 1.875rem / 2); } }
  .price-service__prices-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px solid #B4B1AF;
    padding: 0.5em 0; }
    .price-service__prices-row span {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%; }

.price-service__post-text {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  margin-top: 3em; }

.content-text-only + .price-service {
  padding-top: 4em; }
  @media print, screen and (min-width: 64em) {
    .content-text-only + .price-service {
      padding-top: 8em; } }

@media print, screen and (max-width: 63.99875em) {
  .price-service + .testimonial {
    padding-top: 0.5em; } }

.price-service + .testimonial .testimonial__grid-container:before {
  content: '';
  display: block;
  margin: 3em 0;
  padding: 0;
  border-top: 1px solid #B4B1AF;
  border-bottom: none; }
  @media print, screen and (min-width: 40em) {
    .price-service + .testimonial .testimonial__grid-container:before {
      margin: 4em 0; } }
  @media print, screen and (min-width: 64em) {
    .price-service + .testimonial .testimonial__grid-container:before {
      margin: 6em 0; } }

.rich-text__grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto; }
  @media print, screen and (min-width: 40em) {
    .rich-text__grid-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .rich-text__grid-container:after {
    content: '';
    display: block;
    margin: 3em 0;
    padding: 0;
    border-bottom: 1px solid #B4B1AF; }
    @media print, screen and (min-width: 40em) {
      .rich-text__grid-container:after {
        margin: 4em 0; } }
    @media print, screen and (min-width: 64em) {
      .rich-text__grid-container:after {
        margin: 6em 0; } }

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

.rich-text__content {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem; }
  .rich-text__content--plain h1, .rich-text__content--plain h2, .rich-text__content--plain h3, .rich-text__content--plain h4, .rich-text__content--plain h5 {
    margin-top: 0.8em;
    text-transform: none; }

.cell--rich-text figure {
  margin: 1em auto; }

.cell--rich-text video {
  width: 100%; }

.cell--rich-text:empty, .cell--rich-text:-moz-only-whitespace {
  display: none !important; }

.cell--rich-text ol {
  margin: 2em 0 1.25em 2em; }
  .cell--rich-text ol li {
    margin: .5em 0; }

.cell--rich-text ul {
  list-style: none;
  margin: 2em 0 2em 0; }
  .cell--rich-text ul li {
    position: relative;
    padding-left: 2em;
    margin-bottom: .5em;
    max-width: 55ch; }
    .cell--rich-text ul li:before {
      display: block;
      position: absolute;
      left: 0;
      top: 0; }

.cell--rich-text p {
  max-width: 100%;
  margin: 1em 0; }

.cell--rich-text h1, .cell--rich-text h2, .cell--rich-text h3, .cell--rich-text h4, .cell--rich-text h5 {
  margin-top: 1.5em;
  margin-bottom: .5em; }
  .cell--rich-text h1:first-of-type, .cell--rich-text h2:first-of-type, .cell--rich-text h3:first-of-type, .cell--rich-text h4:first-of-type, .cell--rich-text h5:first-of-type {
    margin-top: 0; }

.cell--rich-text h5 + h2 {
  margin-top: 0.5em; }

.cell--rich-text a:not(.button) {
  color: #E13429;
  text-decoration: underline; }

.cell--rich-text a:hover {
  text-decoration: none; }

.tabbed-image-content__grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto; }
  @media print, screen and (min-width: 40em) {
    .tabbed-image-content__grid-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .tabbed-image-content__grid-container:after {
    content: '';
    display: block;
    margin: 3em 0;
    padding: 0;
    border-bottom: 1px solid #B4B1AF; }
    @media print, screen and (min-width: 40em) {
      .tabbed-image-content__grid-container:after {
        margin: 4em 0; } }
    @media print, screen and (min-width: 64em) {
      .tabbed-image-content__grid-container:after {
        margin: 6em 0; } }

.tabbed-image-content__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.tabbed-image-content__header {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem; }
  @media print, screen and (min-width: 64em) {
    .tabbed-image-content__header {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(79.16667% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }

.tabbed-image-content__header-synopsis {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem; }
  @media print, screen and (min-width: 64em) {
    .tabbed-image-content__header-synopsis {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(50% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem;
      margin-left: calc(50% + 1.875rem / 2); } }

.tabbed-image-content__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 1em;
  margin-bottom: 2em; }
  @media print, screen and (min-width: 40em) {
    .tabbed-image-content__nav {
      margin-top: 4em;
      margin-bottom: 4em; } }
  .tabbed-image-content__nav .tabs-title {
    float: left;
    display: block;
    width: 100%;
    position: relative;
    margin-right: 2em;
    margin-bottom: 0.3em; }
    @media print, screen and (min-width: 40em) {
      .tabbed-image-content__nav .tabs-title {
        width: auto; } }
    .tabbed-image-content__nav .tabs-title:after {
      content: '|';
      display: inline-block;
      position: absolute;
      top: 35%;
      right: -18px; }
    .tabbed-image-content__nav .tabs-title:last-of-type {
      margin-right: 0; }
      .tabbed-image-content__nav .tabs-title:last-of-type:after {
        display: none; }
    .tabbed-image-content__nav .tabs-title a {
      padding: 1.3em 1.6em;
      background: none;
      color: #000000;
      border: 1px solid #000000;
      line-height: 1.1em;
      text-transform: uppercase;
      border-radius: 2em;
      width: 100%;
      display: block; }
      .tabbed-image-content__nav .tabs-title a:after {
        content: '';
        display: inline-block;
        border: 0 !important;
        height: 1.6em !important;
        width: 2.2em !important;
        background: url("../img/icon-hair-dark.svg") no-repeat center center !important;
        background-size: contain !important;
        vertical-align: middle;
        margin-left: .5em; }
      .tabbed-image-content__nav .tabs-title a:hover {
        background: #FFFCF5; }
        .tabbed-image-content__nav .tabs-title a:hover:after {
          background: url("../img/icon-hair-dark.svg") no-repeat center center !important;
          background-size: contain !important; }
      .tabbed-image-content__nav .tabs-title a:active, .tabbed-image-content__nav .tabs-title a:focus, .tabbed-image-content__nav .tabs-title a:active:focus {
        color: #fefefe; }
    .tabbed-image-content__nav .tabs-title.hair a:after {
      background: url("../img/icon-hair-dark.svg") no-repeat center center !important;
      background-size: contain !important; }
    .tabbed-image-content__nav .tabs-title.hair.is-active a {
      color: #fefefe;
      background-color: #000000; }
      .tabbed-image-content__nav .tabs-title.hair.is-active a:after {
        background: url("../img/icon-hair-light.svg") no-repeat center center !important;
        background-size: contain !important; }
      .tabbed-image-content__nav .tabs-title.hair.is-active a:hover:after {
        background: url("../img/icon-hair-light.svg") no-repeat center center !important;
        background-size: contain !important; }
    .tabbed-image-content__nav .tabs-title.tanning a:after {
      background: url("../img/icon-tanning-dark.svg") no-repeat center center !important;
      background-size: contain !important; }
    .tabbed-image-content__nav .tabs-title.tanning.is-active a {
      color: #fefefe;
      background-color: #000000; }
      .tabbed-image-content__nav .tabs-title.tanning.is-active a:after {
        background: url("../img/icon-tanning-light.svg") no-repeat center center !important;
        background-size: contain !important; }
      .tabbed-image-content__nav .tabs-title.tanning.is-active a:hover:after {
        background: url("../img/icon-tanning-light.svg") no-repeat center center !important;
        background-size: contain !important; }
    .tabbed-image-content__nav .tabs-title.beauty a:after {
      background: url("../img/icon-beauty-dark.svg") no-repeat center center !important;
      background-size: contain !important; }
    .tabbed-image-content__nav .tabs-title.beauty.is-active a {
      color: #fefefe;
      background-color: #000000; }
      .tabbed-image-content__nav .tabs-title.beauty.is-active a:after {
        background: url("../img/icon-beauty-light.svg") no-repeat center center !important;
        background-size: contain !important; }
      .tabbed-image-content__nav .tabs-title.beauty.is-active a:hover:after {
        background: url("../img/icon-beauty-light.svg") no-repeat center center !important;
        background-size: contain !important; }

.tabbed-image-content__tabs .tabs-content {
  background: none;
  border: none; }

.tabbed-image-content__tabs .tabs-panel {
  position: relative;
  padding: 0; }
  .tabbed-image-content__tabs .tabs-panel.is-active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
  .tabbed-image-content__tabs .tabs-panel__content {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem;
    position: relative;
    background: #FFFCF5;
    padding: 2em; }
    @media print, screen and (min-width: 40em) {
      .tabbed-image-content__tabs .tabs-panel__content {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(87.5% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .tabbed-image-content__tabs .tabs-panel__content {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(75% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem;
        position: absolute;
        top: 40px;
        left: 0;
        z-index: 2;
        padding: 3em 4em; } }
    @media screen and (min-width: 75em) {
      .tabbed-image-content__tabs .tabs-panel__content {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(58.33333% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem; } }
  .tabbed-image-content__tabs .tabs-panel__image {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem;
    margin-bottom: 2em; }
    @media print, screen and (min-width: 40em) {
      .tabbed-image-content__tabs .tabs-panel__image {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(83.33333% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .tabbed-image-content__tabs .tabs-panel__image {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(66.66667% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem;
        margin-left: calc(33.33333% + 1.875rem / 2);
        margin-bottom: 0; } }
    @media screen and (min-width: 75em) {
      .tabbed-image-content__tabs .tabs-panel__image {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(50% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem;
        margin-left: calc(50% + 1.875rem / 2); } }
    .tabbed-image-content__tabs .tabs-panel__image-inner {
      position: relative; }
      .tabbed-image-content__tabs .tabs-panel__image-inner:after {
        content: '';
        display: block;
        position: absolute;
        top: 15px;
        left: 15px;
        width: 100%;
        height: 100%;
        border: 1px solid #B4B1AF;
        z-index: 1; }
      .tabbed-image-content__tabs .tabs-panel__image-inner img {
        width: 100%;
        z-index: 0; }

.testimonial__grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto; }
  @media print, screen and (min-width: 40em) {
    .testimonial__grid-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .testimonial__grid-container:after {
    content: '';
    display: block;
    margin: 3em 0;
    padding: 0;
    border-bottom: 1px solid #B4B1AF; }
    @media print, screen and (min-width: 40em) {
      .testimonial__grid-container:after {
        margin: 4em 0; } }
    @media print, screen and (min-width: 64em) {
      .testimonial__grid-container:after {
        margin: 6em 0; } }

.testimonial__grid-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  @media print, screen and (min-width: 40em) {
    .testimonial__grid-header {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; } }

.testimonial__grid-image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-top: 2em; }
  @media print, screen and (min-width: 40em) {
    .testimonial__grid-image {
      margin-top: 4em; } }

.testimonial__grid-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  position: relative;
  margin-top: -5em; }
  @media print, screen and (min-width: 40em) {
    .testimonial__grid-content {
      margin-top: -15em; } }
  @media print, screen and (min-width: 64em) {
    .testimonial__grid-content {
      margin-top: -20em; } }
  @media print, screen and (min-width: 64em) {
    .testimonial__grid-content {
      margin-top: -25em; } }

.testimonial__header {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .testimonial__header {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(66.66667% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem;
      margin-right: 9em;
      text-align: right; }
      .testimonial__header .header--strapline {
        position: relative; }
        .testimonial__header .header--strapline:after {
          position: absolute;
          right: 0;
          bottom: 0; } }

.testimonial__content {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  position: relative;
  background: #FFFCF5;
  padding: 2em;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  margin-bottom: 1em; }
  @media print, screen and (min-width: 40em) {
    .testimonial__content {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(87.5% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .testimonial__content {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(75% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem;
      position: absolute;
      top: 40px;
      right: 0;
      z-index: 2;
      padding: 3em 4em;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2;
      margin-bottom: 0; } }
  @media screen and (min-width: 75em) {
    .testimonial__content {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(58.33333% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }
  .testimonial__content .citation {
    margin-top: 3em;
    text-transform: uppercase; }
  .testimonial__content .quote-mark {
    display: block;
    margin-bottom: 1.2em; }
    @media print, screen and (max-width: 63.99875em) {
      .testimonial__content .quote-mark {
        width: 30px; } }

.testimonial__image {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-bottom: 2em; }
  @media print, screen and (min-width: 40em) {
    .testimonial__image {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(83.33333% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .testimonial__image {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(66.66667% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem;
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }
  @media screen and (min-width: 75em) {
    .testimonial__image {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(50% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }
  .testimonial__image-inner {
    position: relative; }
    .testimonial__image-inner:after {
      content: '';
      display: block;
      position: absolute;
      top: 15px;
      left: 15px;
      width: 100%;
      height: 100%;
      border: 1px solid #B4B1AF;
      z-index: 1; }
    .testimonial__image-inner img {
      width: 100%;
      z-index: 0; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsImdsb2JhbC9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3NsaWRlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fcmFuZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC11dGlsaXRpZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL190ZXh0LXRyYW5zZm9ybWF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC1kZWNvcmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fZm9udC1zdHlsaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fbGlzdC1zdHlsZS10eXBlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcm91bmRlZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JvcmRlcmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc2hhZG93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYXJyb3cuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zZXBhcmF0b3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX292ZXJmbG93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fZGlzcGxheS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JvcmRlci1ib3guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXItbm9uZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NpemluZy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyIsImdsb2JhbC9fYm9keS5zY3NzIiwiZ2xvYmFsL19hbmltYXRpb24uc2NzcyIsImdsb2JhbC9fZ3JpZC1tb2RzLnNjc3MiLCJnbG9iYWwvaGFtYnVyZ2Vycy9oYW1idXJnZXJzLnNjc3MiLCJnbG9iYWwvaGFtYnVyZ2Vycy9fYmFzZS5zY3NzIiwiZ2xvYmFsL2hhbWJ1cmdlcnMvdHlwZXMvX3NsaWRlci5zY3NzIiwiY29tcG9uZW50cy9fc2VjdGlvbnMuc2NzcyIsImdsb2JhbC9fY29sb3Vycy5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX2NhcmRzLnNjc3MiLCJjb21wb25lbnRzL19oZXJvLnNjc3MiLCJnbG9iYWwvX21peGlucy5zY3NzIiwiY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsImNvbXBvbmVudHMvX2Jsb2NrcXVvdGUuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsImNvbXBvbmVudHMvX2NvbXBvbmVudHMuc2NzcyIsImNvbXBvbmVudHMvX2NvbnRlbnQtc3BsaXQuc2NzcyIsImNvbXBvbmVudHMvX2FzaWRlLnNjc3MiLCJjb21wb25lbnRzL19wYWdpbmF0ZS5zY3NzIiwiY29tcG9uZW50cy9fZmFxcy5zY3NzIiwiY29tcG9uZW50cy9fYnJlYWRjcnVtYi5zY3NzIiwiY29tcG9uZW50cy9fdGVybXMtcGFnZXMuc2NzcyIsImNvbXBvbmVudHMvX2Nvb2tpZS5zY3NzIiwiYXBwLnNjc3MiLCJjb21wb25lbnRzL19hdXRvLXZpZGVvLnNjc3MiLCJjb21wb25lbnRzL19jb250ZW50LXRleHQtb25seS5zY3NzIiwiY29tcG9uZW50cy9faW1hZ2UtY2Fyb3VzZWwuc2NzcyIsImNvbXBvbmVudHMvX2xvZ28tZ3JpZC5zY3NzIiwiY29tcG9uZW50cy9fcHJpY2UtZHJvcGRvd24tbWVudS5zY3NzIiwiY29tcG9uZW50cy9fcHJpY2Utc2VydmljZS5zY3NzIiwiY29tcG9uZW50cy9fcmljaC10ZXh0LnNjc3MiLCJjb21wb25lbnRzL190YWJiZWQtaW1hZ2UtY29udGVudC5zY3NzIiwiY29tcG9uZW50cy9fdGVzdGltb25pYWwuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7O0VETUU7QUVORiw2SEFBWTtBQUNaLHFIQUFZO0FDcUxKO0VDeklOO0lBQ0UsV0FBVztJQUNYLFVBQVU7SUFDVixjQUFjLEVBQUEsRUFDZjs7QUNoREQsMkVBQUE7QUFRQTtFQUNFLGlCQUFpQjtFQUNqQiw4QkFBOEIsRUFBQTs7QUFRaEM7RUFDRSxTQUFTLEVBQUE7O0FBTVg7RUFDRSxjQUFjO0VBQ2QsZ0JBQWdCLEVBQUE7O0FBU2xCO0VBQ0UsK0JBQXVCO1VBQXZCLHVCQUF1QjtFQUN2QixTQUFTO0VBQ1QsaUJBQWlCLEVBQUE7O0FBTW5CO0VBQ0UsaUNBQWlDO0VBQ2pDLGNBQWMsRUFBQTs7QUFRaEI7RUFDRSw2QkFBNkIsRUFBQTs7QUFNL0I7RUFDRSxtQkFBbUI7RUFDbkIsMEJBQTBCO0VBQzFCLHlDQUFpQztVQUFqQyxpQ0FBaUMsRUFBQTs7QUFLbkM7O0VBRUUsbUJBQW1CLEVBQUE7O0FBTXJCOzs7RUFHRSxpQ0FBaUM7RUFDakMsY0FBYyxFQUFBOztBQUtoQjtFQUNFLGNBQWMsRUFBQTs7QUFNaEI7O0VBRUUsY0FBYztFQUNkLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsd0JBQXdCLEVBQUE7O0FBRzFC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U3RhekIsZU42RDhEO0VNNUQ5RCxtQlR3RDJCO0VTdkQzQixnQlRrQ3FCO0VTakNyQixjVDRDYTtFQ3dFYix3T0FBeU47RVFoSHZOLDhCQUE4QjtFQUM5Qix1Q0FBMEQ7RUFDMUQsNEJBQTRCO0VBQzVCLHdCQUF3QjtFQUV4QixxQkFBdUQ7RUFJdkQsMkVUbWE4RDtFU25hOUQsbUVUbWE4RDtFU25hOUQsMkRUbWE4RDtFU25hOUQsb0ZUbWE4RCxFQUFBO0VDMVRoRTtJRmtEQTtNRS9DSSx1V0FBdVcsRUFBQSxFUXJFMVc7RUFuQ0Q7SUFDRSxhQUFhO0lBQ2IseUJUd0JlO0lTdkJmLHlCVHlCVztJU3hCWCxtQ1RxQmlCO1lTckJqQiwyQlRxQmlCO0lTbEJmLDJFVHdaNEQ7SVN4WjVELG1FVHdaNEQ7SVN4WjVELDJEVHdaNEQ7SVN4WjVELG9GVHdaNEQsRUFBQTtFU25aaEU7SUFDRSx5QlRXZ0I7SVNWaEIsbUJUZ1orQixFQUFBO0VTNVlqQztJQUNFLGFBQWEsRUFBQTtFQUdmO0lBQ0UsWUFBWTtJQUNaLHNCQUFzQixFQUFBO0VBRXhCO0lBQ0UsY0FBYztJQUNkLGlCQUFpQixFQUFBOztBQ3JDbkI7RUFDRSxxQlY4Qlk7RVU3QloseUJBQStELEVBQUE7RUFFL0Q7SUFDRSxjVjBCVSxFQUFBO0VVM0JaO0lBQ0UsY1YwQlUsRUFBQTtFVTNCWjtJQUNFLGNWMEJVLEVBQUE7RVUzQlo7SUFDRSxjVjBCVSxFQUFBO0VVM0JaO0lBQ0UsY1YwQlUsRUFBQTs7QVVBWjtFQUNFLGNWRFUsRUFBQTs7QVVNZDtFQXpCQSxhQUFhO0VBQ2IsbUJBQWdDO0VBQ2hDLG1CUG9DOEQ7RU9sQzlELGtCUGtDOEQ7RU9qQzlELGlCVjhCdUI7RVU3QnZCLGNWYWMsRUFBQTtFVU1kO0lBSUksY0FBYyxFQUFBOztBQzhJbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkUsU0FBUztFQUNULFVBQVUsRUFBQTs7QUFJWjtFQUNFLG1CWGxGMEI7RVdvRjFCLGtCQUFrQjtFQUNsQixnQlh0RnNCO0VXdUZ0QixrQ1hyRnlDLEVBQUE7O0FXeUYzQzs7RUFFRSxrQkFBa0I7RUFDbEIsb0JBQW9CLEVBQUE7O0FBSXRCOztFQUVFLGlCWGxMcUI7RVdtTHJCLG9CQUFvQixFQUFBOztBYnRMdEI7RWEyTEUsY1g1R2lCO0VXNkdqQixvQkFBb0IsRUFBQTs7QUFJdEI7Ozs7OztFQU1FLHFDWGpKeUM7RVdrSnpDLGtCWGhKc0I7RVdpSnRCLGdCWGxKb0I7RVdtSnBCLGNYMU5jO0VXMk5kLGtDWDVIc0MsRUFBQTtFV2tIeEM7Ozs7OztJQWFJLGNBQWM7SUFDZCxjWHhOZSxFQUFBOztBV2lPYjtFQUlJLGlCUnJOb0Q7RVFpT3BELGdCWDdLVztFV3FMWCxhQUFhO0VBT2IscUJYM0xpQixFQUFBOztBVzRKckI7RUFJSSxrQlJyTm9EO0VRaU9wRCxnQlg3S1c7RVdxTFgsYUFBYTtFQU9iLHFCWDNMaUIsRUFBQTs7QVc0SnJCO0VBSUksb0JSck5vRDtFUWlPcEQsZ0JYN0tXO0VXcUxYLGFBQWE7RUFPYixxQlgzTGlCLEVBQUE7O0FXNEpyQjtFQUlJLG1CUnJOb0Q7RVFpT3BELGdCWDdLVztFV3FMWCxhQUFhO0VBT2IscUJYM0xpQixFQUFBOztBVzRKckI7RUFJSSxvQlJyTm9EO0VRaU9wRCxnQlg3S1c7RVdxTFgsYUFBYTtFQU9iLHFCWDNMaUIsRUFBQTs7QVc0SnJCO0VBSUksZVJyTm9EO0VRaU9wRCxnQlg3S1c7RVdxTFgsYUFBYTtFQU9iLHFCWDNMaUIsRUFBQTs7QUptQ3JCO0VleUhBO0lBSUksZVJyTm9ELEVBQUE7RVFpTnhEO0lBSUksZVJyTm9ELEVBQUE7RVFpTnhEO0lBSUksa0JSck5vRCxFQUFBO0VRaU54RDtJQUlJLG9CUnJOb0QsRUFBQTtFUWlOeEQ7SUFJSSxrQlJyTm9ELEVBQUE7RVFpTnhEO0lBSUksZVJyTm9ELEVBQUEsRVFrUHZEOztBYnhSUDtFYStSRSxvQkFBb0I7RUFDcEIsY1hqUmM7RVdrUmQscUJYMUt5QjtFVzRLekIsZUFBZSxFQUFBO0VBTGpCO0lBU0ksY1hqTDJELEVBQUE7RVd3Sy9EO0lBZ0JJLFNBQVMsRUFBQTs7QWJqVWI7RWF1VUUsV0FBVztFQUVYLGdCUmhSNEQ7RVFpUjVELFNBQVM7RUFDVCxvQlg3THlCO0VXK0x6QixhQUFhO0VBQ2IsZUFBZTtFQUNmLGdDWHRTaUI7RVd1U2pCLGNBQWMsRUFBQTs7QUFJaEI7OztFQUdFLG1CWGxOMEI7RVdtTjFCLDRCWHRNeUI7RVd1TXpCLGdCWHJOc0IsRUFBQTs7QVd5TnhCO0VBQ0Usa0JBQWtCLEVBQUE7O0FBSXBCO0VBQ0Usb0JYaE5zQjtFV2lOdEIscUJYbk5rQixFQUFBOztBV3VOcEI7RUFDRSxvQlh0TnNCLEVBQUE7O0FXME54QjtFQUVJLG9CWDNOMkI7RVc0TjNCLGdCQUFnQixFQUFBOztBQUtwQjtFQUNFLG1CWGpPeUIsRUFBQTtFV2dPM0I7SUFJSSxxQlhsTzhCO0lXbU85QixpQlhwVW1CLEVBQUE7O0FXeVV2QjtFQUNFLGdCWDNQMEI7RVc0UDFCLHNDUnhVNEQ7RVF5VTVELDhCWHpWaUIsRUFBQTtFV3NWbkI7SUFNSSxnQlhqUW9CO0lXa1FwQixjWDVWYSxFQUFBOztBVzBXakI7RUFDRSxpQ1gxV1c7RVcyV1gsWUFBWTtFQUNaLHFCQUFxQixFQUFBOztBQUl2QjtFQUNFLFNBQVMsRUFBQTs7QUFXWDtFQUNFLFNBQVM7RUFDVCwyQlIzV1M7RVE2V1QseUJYbllnQjtFV3FZaEIsNERYbFVtRTtFV21VbkUsY1huWVc7RVdzWVQsbUJYMVhjLEVBQUE7O0FZeUNsQjtFQUNFLGtCWjBFeUI7RVl6RXpCLHFCWjBFNEI7RVl4RTVCLG1CWi9DeUI7RVlnRHpCLGdCWm1Fc0I7RVlsRXRCLGNaNURlLEVBQUE7O0FZZ0VqQjtFQUNFLGVaMkRxQztFWTFEckMsZ0JaMkRpQixFQUFBOztBWXZEbkI7RUFDRSxpQlo0RG1CO0VZM0RuQixjQUFjLEVBQUE7RUFFZDtJQUNFLGlCQUFpQixFQUFBOztBQUlyQjtFQUdJLGNBQWdDO0VBQ2hDLGdCQUFnQixFQUFBOztBQUlwQjtFQWpGQSxjQUFjO0VBQ2QsY1pQaUI7RVlRakIsb0JUTzhELEVBQUE7RVNMOUQ7SUFDRSxhWjJIa0IsRUFBYTs7QVkzQ2pDO0VBekVBLHlCWm5CbUI7RVlvQm5CLHlCWnJCa0I7RVl1QmxCLDREWjRDcUU7RVkzQ3JFLG1CWlgyQjtFWVkzQixjWnRCYTtFWTRCYixlQUFlO0VBQ2YsZUFBZTtFQUNmLHFCQUFxQjtFQUVyQixxQ1RsQjhELEVBQUE7O0FTaUY5RDtFQTlFQSx5QlpuQm1CO0VZb0JuQix5QlpyQmtCO0VZdUJsQiw0RFo0Q3FFO0VZM0NyRSxtQlpYMkI7RVlZM0IsY1p0QmE7RVlzQ2IsY0FBYztFQUNkLGNBQWM7RUFDZCxnQkFBZ0I7RUFFaEIsYVprR3VCO0VZakd2QixxQlprRytCLEVBQUE7O0FhL012QjtFQUNFLGdCQVJlLEVBQUE7O0FBT2pCO0VBQ0UsaUJBUnNCLEVBQUE7O0FBT3hCO0VBQ0Usa0JBUjhCLEVBQUE7O0FBT2hDO0VBQ0UsbUJBUnVDLEVBQUE7O0FqQitLM0M7RWlCN0tFO0lBQ0UsZ0JBSGUsRUFBQTtFQUVqQjtJQUNFLGlCQUhzQixFQUFBO0VBRXhCO0lBQ0Usa0JBSDhCLEVBQUE7RUFFaEM7SUFDRSxtQkFIdUMsRUFBQSxFQUl4Qzs7QWpCMktIO0VpQjdLRTtJQUNFLGdCQUhlLEVBQUE7RUFFakI7SUFDRSxpQkFIc0IsRUFBQTtFQUV4QjtJQUNFLGtCQUg4QixFQUFBO0VBRWhDO0lBQ0UsbUJBSHVDLEVBQUEsRUFJeEM7O0FqQmdMSDtFaUJsTEU7SUFDRSxnQkFIZSxFQUFBO0VBRWpCO0lBQ0UsaUJBSHNCLEVBQUE7RUFFeEI7SUFDRSxrQkFIOEIsRUFBQTtFQUVoQztJQUNFLG1CQUh1QyxFQUFBLEVBSXhDOztBakJnTEg7RWlCbExFO0lBQ0UsZ0JBSGUsRUFBQTtFQUVqQjtJQUNFLGlCQUhzQixFQUFBO0VBRXhCO0lBQ0Usa0JBSDhCLEVBQUE7RUFFaEM7SUFDRSxtQkFIdUMsRUFBQSxFQUl4Qzs7QUNNVDtFQUFrQix3QkFBd0IsRUFBQTs7QUFFMUM7RUFDRTtJQUlJLGtDQUFrQztJQUNsQyx1QkFBdUI7SUFDdkIsbUNBQXFCO1lBQXJCLHFCQUFxQjtJQU92QixtQ0FBMkI7WUFBM0IsMkJBQTJCO0lBQzNCLDRCQUE0QixFQUFBO0VBakJoQztJQW9Cb0IseUJBQXlCLEVBQUE7RUFDM0M7SUFBa0Isd0JBQXdCLEVBQUE7RUFFMUM7SUFBdUIseUJBQXlCLEVBQUE7RUFDaEQ7SUFBdUIsc0NBQXNDLEVBQUE7RUFDN0Q7SUFBdUIsbUNBQW1DLEVBQUE7RUFDMUQ7SUFBb0IsNkJBQTZCLEVBQUE7RUFDakQ7SUFBb0IsOEJBQThCLEVBQUE7RUFDbEQ7SUFBb0IsOEJBQThCLEVBQUE7RUFHbEQ7O0lBQ1ksMEJBQTBCLEVBQUE7RUFFcEM7SUFBZ0IsNEJBQTRCLEVBQUE7RUFJOUM7OztJQUVxQixXQUFXLEVBQUE7RUFHaEM7SUFBb0IsNkJBQTZCLEVBQUE7RUFHakQ7O0lBRUUseUJkY2E7SWNiYix3QkFBd0IsRUFBQTtFQUkxQjtJQUFRLDJCQUEyQixFQUFBO0VBRW5DOztJQUNNLHdCQUF3QixFQUFBO0VoQjJDaEM7SWdCekNRLDBCQUEwQixFQUFBO0VBRWhDO0lBQVEsYUFBYSxFQUFBO0VBRXJCOzs7SUFHRSxVQUFVO0lBQ1YsU0FBUyxFQUFBO0VBSVg7O0lBQ0ssdUJBQXVCLEVBQUE7RUFHNUI7SUFDRSx1QkFBdUIsRUFBQSxFQUN4Qjs7QUNqRkg7RUNvQk0sdUJBQTZEO0VBQTdELHNCQUE2RDtFQ2RuRSxnQmQ0RThEO0VjM0U5RCxpQkFBaUI7RUFDakIsa0JBQWtCLEVBQUE7RXJCa0taO0ltQjFLTjtNQ29CTSx3QkFBNkQ7TUFBN0QsdUJBQTZELEVBQUEsRURWbEU7RUFWRDtJQ29CTSx1QkFBNkQ7SUFBN0Qsc0JBQTZEO0lDZG5FLGVGRm1DO0lFR25DLGlCQUFpQjtJQUNqQixrQkFBa0IsRUFBQTtJckJrS1o7TW1CMUtOO1FDb0JNLHdCQUE2RDtRQUE3RCx1QkFBNkQsRUFBQSxFRGZoRTtFQUxIO0lDNkJJLGdCQUE2RDtJQUE3RCxlQUE2RDtJQ3ZCakUsZUZFbUM7SUVEbkMsaUJBQWlCO0lBQ2pCLGtCQUFrQixFQUFBOztBRktsQjtFRVNBLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsOEJBSHFCO0VBR3JCLDZCQUhxQjtNQUdyQix1QkFIcUI7VUFHckIsbUJBSHFCLEVBQUE7O0FGSHJCO0VHNEZBLG1CQUFNO01BQU4sa0JBQU07VUFBTixjQUFNO0VBSUosZUFBZTtFQUNmLGNBQWM7RUFzQ2QsV0F0RWlDLEVBQUE7RUhqRW5DO0lHNEZBLG1CQUFNO1FBQU4saUJBQU07WUFBTixhQUFNLEVBQUE7RUg1Rk47SUc0RkEsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTs7QUhoRk47RUcySEUsV0FsRlksRUFBQTs7QUh6Q2Q7RUcySEUsV0FsRlksRUFBQTs7QUh6Qlo7RUFNSSw2QkFBZ0I7TUFBaEIsZ0JBQWdCLEVBQUE7O0FuQnVIaEI7RW1CN0hKO0lBTUksNkJBQWdCO1FBQWhCLGdCQUFnQixFQUFBLEVBQ2pCOztBbkJzSEM7RW1CN0hKO0lBTUksNkJBQWdCO1FBQWhCLGdCQUFnQixFQUFBLEVBQ2pCOztBbkIySEM7RW1CbElKO0lBTUksNkJBQWdCO1FBQWhCLGdCQUFnQixFQUFBLEVBQ2pCOztBbkIySEM7RW1CbElKO0lBTUksNkJBQWdCO1FBQWhCLGdCQUFnQixFQUFBLEVBQ2pCOztBQVlIO0VHNkNGLG1CQUFNO01BQU4sa0JBQU07VUFBTixjQUFNLEVBQUE7O0FIOUJGO0VHeUVGLGVDbkJnRSxFQUFBOztBSnREOUQ7RUd5RUYsZ0JDbkJnRSxFQUFBOztBSnREOUQ7RUd5RUYsVUNuQmdFLEVBQUE7O0FKdEQ5RDtFR3lFRixnQkNuQmdFLEVBQUE7O0FKdEQ5RDtFR3lFRixnQkNuQmdFLEVBQUE7O0FKdEQ5RDtFR3lFRixVQ25CZ0UsRUFBQTs7QUp0RDlEO0VHeUVGLGdCQ25CZ0UsRUFBQTs7QUp0RDlEO0VHeUVGLGdCQ25CZ0UsRUFBQTs7QUp0RDlEO0VHeUVGLFVDbkJnRSxFQUFBOztBSnREOUQ7RUd5RUYsZ0JDbkJnRSxFQUFBOztBSnREOUQ7RUd5RUYsZ0JDbkJnRSxFQUFBOztBSnREOUQ7RUd5RUYsV0NuQmdFLEVBQUE7O0F2QnFDNUQ7RW1CL0dGO0lHa0RKLG1CQUFNO1FBQU4saUJBQU07WUFBTixhQUFNO0lBMkNKLFdBbEZZLEVBQUE7RUhOWjtJRzZDRixtQkFBTTtRQUFOLGtCQUFNO1lBQU4sY0FBTSxFQUFBO0VIdkNGO0lHa0ZGLFdBbEZZLEVBQUE7RUhTVjtJR3lFRixlQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsZ0JDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixVQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsZ0JDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixnQkNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLFVDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixnQkNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLGdCQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsVUNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLGdCQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsZ0JDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixXQ25CZ0UsRUFBQSxFSm5EN0Q7O0FuQndGQztFbUIvR0Y7SUdrREosbUJBQU07UUFBTixpQkFBTTtZQUFOLGFBQU07SUEyQ0osV0FsRlksRUFBQTtFSE5aO0lHNkNGLG1CQUFNO1FBQU4sa0JBQU07WUFBTixjQUFNLEVBQUE7RUh2Q0Y7SUdrRkYsV0FsRlksRUFBQTtFSFNWO0lHeUVGLGVDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixnQkNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLFVDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixnQkNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLGdCQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsVUNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLGdCQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsZ0JDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixVQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsZ0JDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixnQkNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLFdDbkJnRSxFQUFBLEVKbkQ3RDs7QW5CNkZDO0VtQnBIRjtJR2tESixtQkFBTTtRQUFOLGlCQUFNO1lBQU4sYUFBTTtJQTJDSixXQWxGWSxFQUFBO0VITlo7SUc2Q0YsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFSHZDRjtJR2tGRixXQWxGWSxFQUFBO0VIU1Y7SUd5RUYsZUNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLGdCQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsVUNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLGdCQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsZ0JDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixVQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsZ0JDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixnQkNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLFVDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixnQkNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLGdCQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsV0NuQmdFLEVBQUEsRUpuRDdEOztBbkI2RkM7RW1CcEhGO0lHa0RKLG1CQUFNO1FBQU4saUJBQU07WUFBTixhQUFNO0lBMkNKLFdBbEZZLEVBQUE7RUhOWjtJRzZDRixtQkFBTTtRQUFOLGtCQUFNO1lBQU4sY0FBTSxFQUFBO0VIdkNGO0lHa0ZGLFdBbEZZLEVBQUE7RUhTVjtJR3lFRixlQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsZ0JDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixVQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsZ0JDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixnQkNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLFVDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixnQkNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLGdCQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsVUNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLGdCQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsZ0JDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixXQ25CZ0UsRUFBQSxFSm5EN0Q7O0FBS0w7RUFDRSxXQUFXLEVBQUE7O0FBSWI7RUFDRSxZQUFZLEVBQUE7O0FBOEJkO0VDdkdNLHNCQUE2RDtFQUE3RCx1QkFBNkQsRUFBQTtFcEJzSjdEO0ltQi9DTjtNQ3ZHTSx1QkFBNkQ7TUFBN0Qsd0JBQTZELEVBQUEsRURzSWxFO0VBL0JEO0lHNkJFLDJCQXREOEY7SUZyRTVGLHFCQUE2RDtJQUE3RCxzQkFBNkQsRUFBQTtFcEI2STNEO0ltQi9DTjtNRzZCRSw0QkF0RDhGO01GckU1RixzQkFBNkQ7TUFBN0QsdUJBQTZELEVBQUEsRUQyRzFEO0VBckNQO0lHcURFLFdBbEZZLEVBQUE7RUhpQ2Q7SUdpREUsV0FsRlksRUFBQTtFSHlDWjtJR3lDQSwrQkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsZ0NBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDBCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxnQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsZ0NBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDBCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxnQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsZ0NBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDBCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxnQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsZ0NBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDJCQXREOEYsRUFBQTtFdEJ3RTFGO0ltQnZFTjtNR3FERSxXQWxGWSxFQUFBO0lIaUNkO01HaURFLFdBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsZ0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSwyQkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSwyQkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSwyQkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhDaEc7TUdxREUsV0FsRlksRUFBQTtJSGlDZDtNR2lERSxXQWxGWSxFQUFBO0lIeUNaO01HeUNBLGdDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBLEVIZTdGO0VuQnlERztJbUJ2RU47TUdxREUsV0FsRlksRUFBQTtJSGlDZDtNR2lERSxXQWxGWSxFQUFBO0lIeUNaO01HeUNBLGdDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBLEVIZTdGO0VuQjhERztJbUI1RU47TUdxREUsV0FsRlksRUFBQTtJSGlDZDtNR2lERSxXQWxGWSxFQUFBO0lIeUNaO01HeUNBLGdDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBLEVIZTdGO0VuQjhERztJbUI1RU47TUdxREUsV0FsRlksRUFBQTtJSGlDZDtNR2lERSxXQWxGWSxFQUFBO0lIeUNaO01HeUNBLGdDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBLEVIZTdGOztBQThDSDtFQzNJTSx1QkFBNkQ7RUFBN0Qsc0JBQTZELEVBQUE7RXBCc0o3RDtJbUJYTjtNQzNJTSx3QkFBNkQ7TUFBN0QsdUJBQTZELEVBQUEsRURnSmhFOztBQUlEO0VDcEpJLHVCQUE2RDtFQUE3RCxzQkFBNkQsRUFBQTtFcEJzSjdEO0ltQkZKO01DcEpJLHdCQUE2RDtNQUE3RCx1QkFBNkQsRUFBQSxFRHNKaEU7O0FBWEg7RUMzSU0sdUJBQTZEO0VBQTdELHNCQUE2RCxFQUFBO0VwQnNKN0Q7SW1CWE47TUMzSU0sd0JBQTZEO01BQTdELHVCQUE2RCxFQUFBLEVEMkpoRTs7QUszSkg7RUZvSUUsV0NuQmdFLEVBQUE7O0FDakhsRTtFRm9JRSxVQ25CZ0UsRUFBQTs7QUNqSGxFO0VGb0lFLGdCQ25CZ0UsRUFBQTs7QUNqSGxFO0VGb0lFLFVDbkJnRSxFQUFBOztBQ2pIbEU7RUZvSUUsVUNuQmdFLEVBQUE7O0FDakhsRTtFRm9JRSxnQkNuQmdFLEVBQUE7O0FDakhsRTtFRm9JRSxnQkNuQmdFLEVBQUE7O0FDakhsRTtFRm9JRSxZQ25CZ0UsRUFBQTs7QXZCcUM1RDtFd0J0Sk47SUZvSUUsV0NuQmdFLEVBQUE7RUNqSGxFO0lGb0lFLFVDbkJnRSxFQUFBO0VDakhsRTtJRm9JRSxnQkNuQmdFLEVBQUE7RUNqSGxFO0lGb0lFLFVDbkJnRSxFQUFBO0VDakhsRTtJRm9JRSxVQ25CZ0UsRUFBQTtFQ2pIbEU7SUZvSUUsZ0JDbkJnRSxFQUFBO0VDakhsRTtJRm9JRSxnQkNuQmdFLEVBQUE7RUNqSGxFO0lGb0lFLFlDbkJnRSxFQUFBLEVDL0dqRTs7QXhCb0pLO0V3QnRKTjtJRm9JRSxXQ25CZ0UsRUFBQTtFQ2pIbEU7SUZvSUUsVUNuQmdFLEVBQUE7RUNqSGxFO0lGb0lFLGdCQ25CZ0UsRUFBQTtFQ2pIbEU7SUZvSUUsVUNuQmdFLEVBQUE7RUNqSGxFO0lGb0lFLFVDbkJnRSxFQUFBO0VDakhsRTtJRm9JRSxnQkNuQmdFLEVBQUE7RUNqSGxFO0lGb0lFLGdCQ25CZ0UsRUFBQTtFQ2pIbEU7SUZvSUUsWUNuQmdFLEVBQUEsRUMvR2pFOztBeEJ5Sks7RXdCM0pOO0lGb0lFLFdDbkJnRSxFQUFBO0VDakhsRTtJRm9JRSxVQ25CZ0UsRUFBQTtFQ2pIbEU7SUZvSUUsZ0JDbkJnRSxFQUFBO0VDakhsRTtJRm9JRSxVQ25CZ0UsRUFBQTtFQ2pIbEU7SUZvSUUsVUNuQmdFLEVBQUE7RUNqSGxFO0lGb0lFLGdCQ25CZ0UsRUFBQTtFQ2pIbEU7SUZvSUUsZ0JDbkJnRSxFQUFBO0VDakhsRTtJRm9JRSxZQ25CZ0UsRUFBQSxFQy9HakU7O0F4QnlKSztFd0IzSk47SUZvSUUsV0NuQmdFLEVBQUE7RUNqSGxFO0lGb0lFLFVDbkJnRSxFQUFBO0VDakhsRTtJRm9JRSxnQkNuQmdFLEVBQUE7RUNqSGxFO0lGb0lFLFVDbkJnRSxFQUFBO0VDakhsRTtJRm9JRSxVQ25CZ0UsRUFBQTtFQ2pIbEU7SUZvSUUsZ0JDbkJnRSxFQUFBO0VDakhsRTtJRm9JRSxnQkNuQmdFLEVBQUE7RUNqSGxFO0lGb0lFLFlDbkJnRSxFQUFBLEVDL0dqRTs7QUFGRDtFRm9JRSwyQkF0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSwwQkF0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSxnQ0F0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSwwQkF0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSwwQkF0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSxnQ0F0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSxnQ0F0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSw0QkF0RDhGLEVBQUE7O0F0QndFMUY7RXdCdEpOO0lGb0lFLDRCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLGlDQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsNkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSw0QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSwyQkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDZCQXREOEYsRUFBQSxFRTVFL0Y7O0F4Qm9KSztFd0J0Sk47SUZvSUUsNEJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSwyQkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLGlDQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSwyQkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLGlDQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSw2QkF0RDhGLEVBQUEsRUU1RS9GOztBeEJ5Sks7RXdCM0pOO0lGb0lFLDRCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLGlDQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsNkJBdEQ4RixFQUFBLEVFNUUvRjs7QXhCeUpLO0V3QjNKTjtJRm9JRSw0QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSwyQkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDZCQXREOEYsRUFBQSxFRTVFL0Y7O0FMcU1HO0VNOU1FLGVBQTBCO0VBQTFCLGNBQTBCLEVBQUE7RUFHNUI7SUFFSSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0VBc0J4QjtJSGdIUixlQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixVQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsVUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixXQ25CZ0UsRUFBQTtFdkJxQzVEO0l5QmxJSTtNSGdIUixlQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsZ0JDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixVQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsZ0JDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixnQkNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLFVDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixnQkNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLGdCQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsVUNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLGdCQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsZ0JDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixXQ25CZ0UsRUFBQSxFRTNGdkQ7RXpCZ0lMO0l5QmxJSTtNSGdIUixlQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsZ0JDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixVQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsZ0JDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixnQkNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLFVDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixnQkNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLGdCQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsVUNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLGdCQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsZ0JDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixXQ25CZ0UsRUFBQSxFRTNGdkQ7RXpCcUlMO0l5QnZJSTtNSGdIUixlQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsZ0JDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixVQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsZ0JDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixnQkNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLFVDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixnQkNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLGdCQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsVUNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLGdCQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsZ0JDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixXQ25CZ0UsRUFBQSxFRTNGdkQ7RXpCcUlMO0l5QnZJSTtNSGdIUixlQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsZ0JDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixVQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsZ0JDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixnQkNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLFVDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixnQkNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLGdCQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsVUNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLGdCQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsZ0JDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixXQ25CZ0UsRUFBQSxFRTNGdkQ7O0FOdUxQO0VNN0tFLGVBQTBCO0VBQTFCLGNBQTBCLEVBQUE7RUFHNUI7SUFFSSxnQkFBNEI7SUFBNUIsZUFBNEIsRUFBQTs7QXpCaUg5QjtFbUJpREY7SU05TUUsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGVBQTBCO01BQTFCLGNBQTBCLEVBQUEsRUFFN0I7O0F6QnNKQztFeUIzSUk7SUh5SFIsZUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsVUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixVQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsV0NuQmdFLEVBQUEsRUVwR3ZEOztBekJ5SUw7RXlCbElJO0lIZ0hSLGVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsVUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixVQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFdDbkJnRSxFQUFBLEVFM0Z2RDs7QXpCZ0lMO0V5QmxJSTtJSGdIUixlQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixVQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsVUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixXQ25CZ0UsRUFBQSxFRTNGdkQ7O0F6QnFJTDtFeUJ2SUk7SUhnSFIsZUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsVUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixVQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsV0NuQmdFLEVBQUEsRUUzRnZEOztBekJxSUw7RXlCdklJO0lIZ0hSLGVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsVUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixVQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFdDbkJnRSxFQUFBLEVFM0Z2RDs7QXpCZ0lMO0VtQnVERjtJTTdLRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZ0JBQTRCO01BQTVCLGVBQTRCLEVBQUEsRUFFL0I7O0F6QitHQztFbUJpREY7SU05TUUsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGVBQTBCO01BQTFCLGNBQTBCLEVBQUEsRUFFN0I7O0F6QnNKQztFeUIzSUk7SUh5SFIsZUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsVUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixVQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsV0NuQmdFLEVBQUEsRUVwR3ZEOztBekJ5SUw7RXlCM0lJO0lIeUhSLGVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsVUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixVQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFdDbkJnRSxFQUFBLEVFcEd2RDs7QXpCeUlMO0V5QmxJSTtJSGdIUixlQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixVQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsVUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixXQ25CZ0UsRUFBQSxFRTNGdkQ7O0F6QnFJTDtFeUJ2SUk7SUhnSFIsZUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsVUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixVQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsV0NuQmdFLEVBQUEsRUUzRnZEOztBekJxSUw7RXlCdklJO0lIZ0hSLGVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsVUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixVQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFdDbkJnRSxFQUFBLEVFM0Z2RDs7QXpCZ0lMO0VtQnVERjtJTTdLRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZ0JBQTRCO01BQTVCLGVBQTRCLEVBQUEsRUFFL0I7O0F6Qm9IQztFbUI0Q0Y7SU05TUUsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGVBQTBCO01BQTFCLGNBQTBCLEVBQUEsRUFFN0I7O0F6QjJKQztFeUJoSkk7SUh5SFIsZUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsVUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixVQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsV0NuQmdFLEVBQUEsRUVwR3ZEOztBekI4SUw7RXlCaEpJO0lIeUhSLGVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsVUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixVQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFdDbkJnRSxFQUFBLEVFcEd2RDs7QXpCOElMO0V5QmhKSTtJSHlIUixlQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixVQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsVUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixXQ25CZ0UsRUFBQSxFRXBHdkQ7O0F6QjhJTDtFeUJ2SUk7SUhnSFIsZUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsVUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixVQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsV0NuQmdFLEVBQUEsRUUzRnZEOztBekJxSUw7RXlCdklJO0lIZ0hSLGVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsVUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixVQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFdDbkJnRSxFQUFBLEVFM0Z2RDs7QXpCcUlMO0VtQmtERjtJTTdLRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZ0JBQTRCO01BQTVCLGVBQTRCLEVBQUEsRUFFL0I7O0F6Qm9IQztFbUI0Q0Y7SU05TUUsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGVBQTBCO01BQTFCLGNBQTBCLEVBQUEsRUFFN0I7O0F6QjJKQztFeUJoSkk7SUh5SFIsZUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsVUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixVQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsV0NuQmdFLEVBQUEsRUVwR3ZEOztBekI4SUw7RXlCaEpJO0lIeUhSLGVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsVUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixVQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFdDbkJnRSxFQUFBLEVFcEd2RDs7QXpCOElMO0V5QmhKSTtJSHlIUixlQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixVQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsVUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixXQ25CZ0UsRUFBQSxFRXBHdkQ7O0F6QjhJTDtFeUJoSkk7SUh5SFIsZUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsVUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixVQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsV0NuQmdFLEVBQUEsRUVwR3ZEOztBekI4SUw7RXlCdklJO0lIZ0hSLGVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsVUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixVQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFdDbkJnRSxFQUFBLEVFM0Z2RDs7QXpCcUlMO0VtQmtERjtJTTdLRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZ0JBQTRCO01BQTVCLGVBQTRCLEVBQUEsRUFFL0I7O0FOb0xEO0VPdk1GLGVBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRixtQ0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLHFCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYseUNBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixzQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLDBDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsZ0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRixvQ0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLHNCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsMENBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixzQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLDBDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsZ0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRixvQ0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLHNCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsMENBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixzQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLDBDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsZ0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRixvQ0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLHNCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsMENBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixzQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLDBDQUE2QixFQUFBOztBMUJrSXpCO0VtQnFFRjtJT3ZNRixlQUE2QixFQUFBO0VQMk0zQjtJTzNNRixvQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYscUJBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDBDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsMkNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLGdCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDJDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsMkNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLGdCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDJDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsMkNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLGdCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDJDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsMkNBQTZCLEVBQUEsRVA2TTFCOztBbkIzRUM7RW1CcUVGO0lPdk1GLGVBQTZCLEVBQUE7RVAyTTNCO0lPM01GLG9DQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixxQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsMENBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRiwyQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHFDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsMkNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRiwyQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHFDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsMkNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRiwyQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHFDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsMkNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRiwyQ0FBNkIsRUFBQSxFUDZNMUI7O0FuQnRFQztFbUJnRUY7SU92TUYsZUFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsb0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHFCQUE2QixFQUFBO0VQMk0zQjtJTzNNRiwwQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDJDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixnQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRiwyQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDJDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixnQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRiwyQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDJDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixnQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRiwyQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDJDQUE2QixFQUFBLEVQNk0xQjs7QW5CdEVDO0VtQmdFRjtJT3ZNRixlQUE2QixFQUFBO0VQMk0zQjtJTzNNRixvQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYscUJBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDBDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsMkNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLGdCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDJDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsMkNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLGdCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDJDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsMkNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLGdCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDJDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsMkNBQTZCLEVBQUEsRVA2TTFCOztBQXpKUztFRXRFZCxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUg2QjtFQUc3Qiw2QkFINkI7TUFHN0IsNEJBSDZCO1VBRzdCLHdCQUg2QixFQUFBO0VGaVA3QjtJRzFJQSxZQUFtQjtJQUNuQixnQkFBMkIsRUFBQTtFSHlJM0I7SUc3R0UsWUFsRlksRUFBQTtFSCtMZDtJRzdHRSxZQWxGWSxFQUFBO0VIK0xkO0lBMkJNLDZCQUFnQjtRQUFoQixnQkFBZ0IsRUFBQTtFbkJ0SGhCO0ltQjJGTjtNQTJCTSw2QkFBZ0I7VUFBaEIsZ0JBQWdCLEVBQUEsRUFDakI7RW5CdkhDO0ltQjJGTjtNQTJCTSw2QkFBZ0I7VUFBaEIsZ0JBQWdCLEVBQUEsRUFDakI7RW5CbEhDO0ltQnNGTjtNQTJCTSw2QkFBZ0I7VUFBaEIsZ0JBQWdCLEVBQUEsRUFDakI7RW5CbEhDO0ltQnNGTjtNQTJCTSw2QkFBZ0I7VUFBaEIsZ0JBQWdCLEVBQUEsRUFDakI7RUE1Qkw7SUd4SkEsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFSHdKTjtJRzdHRSxnQkNuQmdFLEVBQUE7RUpnSWxFO0lHN0dFLGlCQ25CZ0UsRUFBQTtFSmdJbEU7SUc3R0UsV0NuQmdFLEVBQUE7RUpnSWxFO0lHN0dFLGlCQ25CZ0UsRUFBQTtFSmdJbEU7SUc3R0UsaUJDbkJnRSxFQUFBO0VKZ0lsRTtJRzdHRSxXQ25CZ0UsRUFBQTtFSmdJbEU7SUc3R0UsaUJDbkJnRSxFQUFBO0VKZ0lsRTtJRzdHRSxpQkNuQmdFLEVBQUE7RUpnSWxFO0lHN0dFLFdDbkJnRSxFQUFBO0VKZ0lsRTtJRzdHRSxpQkNuQmdFLEVBQUE7RUpnSWxFO0lHN0dFLGlCQ25CZ0UsRUFBQTtFSmdJbEU7SUc3R0UsWUNuQmdFLEVBQUE7RXZCcUM1RDtJbUIyRk47TUd4SkEsbUJBQU07VUFBTixpQkFBTTtjQUFOLGFBQU07TUEyQ0osWUFsRlksRUFBQTtJSCtMZDtNR3hKQSxtQkFBTTtVQUFOLGtCQUFNO2NBQU4sY0FBTSxFQUFBO0lId0pOO01HN0dFLFlBbEZZLEVBQUE7SUgrTGQ7TUc3R0UsZ0JDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxpQkNuQmdFLEVBQUE7SUpnSWxFO01HN0dFLFdDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxpQkNuQmdFLEVBQUE7SUpnSWxFO01HN0dFLGlCQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsV0NuQmdFLEVBQUE7SUpnSWxFO01HN0dFLGlCQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsaUJDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxXQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsaUJDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxpQkNuQmdFLEVBQUE7SUpnSWxFO01HN0dFLFlDbkJnRSxFQUFBLEVKeUwzRDtFbkJwSkQ7SW1CMkZOO01HeEpBLG1CQUFNO1VBQU4saUJBQU07Y0FBTixhQUFNO01BMkNKLFlBbEZZLEVBQUE7SUgrTGQ7TUd4SkEsbUJBQU07VUFBTixrQkFBTTtjQUFOLGNBQU0sRUFBQTtJSHdKTjtNRzdHRSxZQWxGWSxFQUFBO0lIK0xkO01HN0dFLGdCQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsaUJDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxXQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsaUJDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxpQkNuQmdFLEVBQUE7SUpnSWxFO01HN0dFLFdDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxpQkNuQmdFLEVBQUE7SUpnSWxFO01HN0dFLGlCQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsV0NuQmdFLEVBQUE7SUpnSWxFO01HN0dFLGlCQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsaUJDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxZQ25CZ0UsRUFBQSxFSnlMM0Q7RW5CL0lEO0ltQnNGTjtNR3hKQSxtQkFBTTtVQUFOLGlCQUFNO2NBQU4sYUFBTTtNQTJDSixZQWxGWSxFQUFBO0lIK0xkO01HeEpBLG1CQUFNO1VBQU4sa0JBQU07Y0FBTixjQUFNLEVBQUE7SUh3Sk47TUc3R0UsWUFsRlksRUFBQTtJSCtMZDtNRzdHRSxnQkNuQmdFLEVBQUE7SUpnSWxFO01HN0dFLGlCQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsV0NuQmdFLEVBQUE7SUpnSWxFO01HN0dFLGlCQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsaUJDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxXQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsaUJDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxpQkNuQmdFLEVBQUE7SUpnSWxFO01HN0dFLFdDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxpQkNuQmdFLEVBQUE7SUpnSWxFO01HN0dFLGlCQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsWUNuQmdFLEVBQUEsRUp5TDNEO0VuQi9JRDtJbUJzRk47TUd4SkEsbUJBQU07VUFBTixpQkFBTTtjQUFOLGFBQU07TUEyQ0osWUFsRlksRUFBQTtJSCtMZDtNR3hKQSxtQkFBTTtVQUFOLGtCQUFNO2NBQU4sY0FBTSxFQUFBO0lId0pOO01HN0dFLFlBbEZZLEVBQUE7SUgrTGQ7TUc3R0UsZ0JDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxpQkNuQmdFLEVBQUE7SUpnSWxFO01HN0dFLFdDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxpQkNuQmdFLEVBQUE7SUpnSWxFO01HN0dFLGlCQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsV0NuQmdFLEVBQUE7SUpnSWxFO01HN0dFLGlCQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsaUJDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxXQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsaUJDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxpQkNuQmdFLEVBQUE7SUpnSWxFO01HN0dFLFlDbkJnRSxFQUFBLEVKeUwzRDs7QUFPTDtFQ2pUSSxxQkFBNkQ7RUFBN0Qsd0JBQTZELEVBQUE7RXBCc0o3RDtJbUIySko7TUNqVEksc0JBQTZEO01BQTdELHlCQUE2RCxFQUFBLEVEcVQ5RDs7QUFKSDtFQ2pUSSxxQkFBNkQ7RUFBN0Qsd0JBQTZELEVBQUE7RXBCc0o3RDtJbUIySko7TUNqVEksc0JBQTZEO01BQTdELHlCQUE2RCxFQUFBLEVEMFQ5RDs7QUFuTkw7RUN2R00scUJBQTZEO0VBQTdELHdCQUE2RCxFQUFBO0VwQnNKN0Q7SW1CL0NOO01DdkdNLHNCQUE2RDtNQUE3RCx5QkFBNkQsRUFBQSxFRHNJbEU7RUEvQkQ7SUc2QkUsNEJBdEQ4RjtJRnJFNUYsb0JBQTZEO0lBQTdELHVCQUE2RCxFQUFBO0VwQjZJM0Q7SW1CL0NOO01HNkJFLDZCQXREOEY7TUZyRTVGLHFCQUE2RDtNQUE3RCx3QkFBNkQsRUFBQSxFRDJHMUQ7RUFyQ1A7SUdxREUsWUFsRlksRUFBQTtFSGlDZDtJR2lERSxZQWxGWSxFQUFBO0VIeUNaO0lHeUNBLGdDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsNEJBdEQ4RixFQUFBO0V0QndFMUY7SW1CdkVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSENoRztNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUEsRUhlN0Y7RW5CeURHO0ltQnZFTjtNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUEsRUhlN0Y7RW5COERHO0ltQjVFTjtNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXRE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Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBLEVIZTdGO0VuQnlERztJbUJ2RU47TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBLEVIZTdGO0VuQjhERztJbUI1RU47TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBLEVIZTdGO0VuQjhERztJbUI1RU47TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBLEVIZTdGOztBQWtURDtFUTVZSSw2QkFBbUMsRUFBQTtFM0JtSm5DO0ltQnlQSjtNUTVZSSw4QkFBbUMsRUFBQSxFUjhZdEM7RW5CM1BHO0ltQnlQSjtNUTVZSSw4QkFBbUMsRUFBQSxFUjhZdEM7RW5CdFBHO0ltQm9QSjtNUTVZSSw4QkFBbUMsRUFBQSxFUjhZdEM7RW5CdFBHO0ltQm9QSjtNUTVZSSw4QkFBbUMsRUFBQSxFUjhZdEM7O0FuQjNQRztFbUI2UEY7SVFoWkUsOEJBQW1DLEVBQUEsRVJrWnBDOztBbkIvUEM7RW1CNlBGO0lRaFpFLDhCQUFtQyxFQUFBLEVSa1pwQzs7QW5CMVBDO0VtQndQRjtJUWhaRSw4QkFBbUMsRUFBQSxFUmtacEM7O0FuQjFQQztFbUJ3UEY7SVFoWkUsOEJBQW1DLEVBQUEsRVJrWnBDOztBU3pHTDtFQTFPQSxxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLGtCeEJzTWtDO0V3QjVMaEMsbUJ4QjJMdUI7RXdCeEx6Qiw2QnhCZ01tQztFd0IvTG5DLGtCeEI4TGlCO0V3QjdMakIseUV4QjBNdUU7RXdCMU12RSxpRXhCME11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QjtNQW1EbEIscUJBbkRrQjtVQW1EbEIsdUJBbkRrQjtFQW9EbEIseUJBeENnQjtNQXdDaEIsc0JBeENnQjtVQXdDaEIsbUJBeENnQjtFRHdGZCwwQkFBcUI7TUFBckIscUJBQXFCLEVBQUE7O0FBTW5CO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBM0R5RVY7RTJEeEVGO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQSxFQUdYOztBM0RzRUM7RTJEeEVGO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQSxFQUdYOztBM0QyRUM7RTJEN0VGO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQSxFQUdYOztBM0QyRUM7RTJEN0VGO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQSxFQUdYOztBQS9GTDtFQ1lBLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixh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LGVBQWU7RUFDZixjQUFjO0VBc0NkLDJCQXREOEY7RUZyRTVGLHFCQUE2RDtFQUE3RCxzQkFBNkQ7RThGNEYzRCw0QkFBUTtNQUFSLGlCQUFRO1VBQVIsUUFBUTtFQUVSLGtCQUFrQixFQUFBO0VsSCtDbEI7SWtIcERKO001RlRGLG1CQUFNO1VBQU4sa0JBQU07Y0FBTixjQUFNO01BMkNKLGlDQXREOEY7TUZyRTVGLHNCQUE2RDtNQUE3RCx1QkFBNkQ7TThGa0d2RCxnQkFBZ0IsRUFBQSxFQTJDdkI7RWxIQUc7SWtIcERKO001RlRGLG1CQUFNO1VBQU4sa0JBQU07Y0FBTixjQUFNO01BMkNKLGlDQXREOEY7TUZyRTVGLHNCQUE2RDtNQUE3RCx1QkFBNkQ7TThGdUd2RCw0QkFBUTtVQUFSLGlCQUFRO2NBQVIsUUFBUSxFQUFBLEVBc0NmO0VsSEtHO0lrSHpESjtNNUZURixtQkFBTTtVQUFOLGtCQUFNO2NBQU4sY0FBTTtNQTJDSiwyQkF0RDhGO01GckU1RixzQkFBNkQ7TUFBN0QsdUJBQTZELEVBQUEsRThGNkk5RDtFQTlCRztJQUVJLGtCQUFrQixFQUFBO0lBRnJCO01BTU8sV0FBVztNQUNYLGNBQWM7TUFDZCxrQkFBa0I7TUFDbEIsU0FBUztNQUNULFVBQVU7TUFFVixXQUFXO01BQ1gsWUFBWTtNQUVaLHlCNUJsS1c7TTRCb0tYLFVBQVUsRUFBQTtJQWpCakI7TUF1Qk8sV0FBVztNQUNYLFVBQVUsRUFBQSIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjcuM1xuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1JbnRlcjppdGFsLG9wc3osd2dodEAwLDE0Li4zMiwxMDAuLjkwMDsxLDE0Li4zMiwxMDAuLjkwMCZkaXNwbGF5PXN3YXBcIik7XG5AaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9UGxheWZhaXIrRGlzcGxheTppdGFsLHdnaHRAMCw0MDAuLjkwMDsxLDQwMC4uOTAwJmRpc3BsYXk9c3dhcFwiKTtcbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZlYWwsIC5yZXZlYWwudGlueSwgLnJldmVhbC5zbWFsbCwgLnJldmVhbC5sYXJnZSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDsgfVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7IH1cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7IH1cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZsYXJnZT02NGVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTBlbVwiOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMkMzODQzO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAxNnB4OyB9XG5cbnNlbGVjdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAxNnB4OyB9XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoNDQsIDU2LCA2NywgMC4xKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMyQzM4NDM7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2FjYWNhOyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMkMzODQzOyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwOyB9XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzJDMzg0MzsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgYm9yZGVyLXJhZGl1czogOXB4IDAgMCA5cHg7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgOXB4IDlweCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI0Y4RjhGODtcbiAgY29sb3I6ICMyQzM4NDM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIG1pbi13aWR0aDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4gIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogOXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzJDMzg0MztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgxMzgsIDEzOCwgMTM4JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuICBzZWxlY3Q6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI0ZGMDIwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTZlNjsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjRkYwMjAwOyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNGRjAyMDA7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI0ZGMDIwMDsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLCAuaDEsXG5oMiwgLmgyLFxuaDMsIC5oMyxcbmg0LCAuaDQsXG5oNSwgLmg1LFxuaDYsIC5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogIzE2NDNBNDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCwgLmgxIHNtYWxsLFxuICBoMiBzbWFsbCwgLmgyIHNtYWxsLFxuICBoMyBzbWFsbCwgLmgzIHNtYWxsLFxuICBoNCBzbWFsbCwgLmg0IHNtYWxsLFxuICBoNSBzbWFsbCwgLmg1IHNtYWxsLFxuICBoNiBzbWFsbCwgLmg2IHNtYWxsIHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogI2NhY2FjYTsgfVxuXG5oMSwgLmgxIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDMsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDEsIC5oMSB7XG4gICAgZm9udC1zaXplOiAzcmVtOyB9XG4gIGgyLCAuaDIge1xuICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICBoMywgLmgzIHtcbiAgICBmb250LXNpemU6IDEuNzVyZW07IH1cbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07IH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGg2LCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMxNjQzQTQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMTMzYThkOyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzhhOGE4YTsgfVxuXG5hYmJyLCBhYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzJDMzg0MztcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMyQzM4NDM7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzhhOGE4YTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmNpdGUtYmxvY2ssIGNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICM4YThhOGE7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5jaXRlLWJsb2NrOmJlZm9yZSwgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbi5jb2RlLWlubGluZSwgY29kZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzJDMzg0MztcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG4uY29kZS1ibG9jayB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzJDMzg0MztcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueGxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC54bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAueGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC54eGxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC54eGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnh4bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87IH0gfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZnVsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uZ3JpZC14IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4uY2VsbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAuY2VsbC5hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5jZWxsLnNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cblxuLmdyaWQteCA+IC5hdXRvIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zaHJpbmsge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLXNocmluaywgLmdyaWQteCA+IC5zbWFsbC1mdWxsLCAuZ3JpZC14ID4gLnNtYWxsLTEsIC5ncmlkLXggPiAuc21hbGwtMiwgLmdyaWQteCA+IC5zbWFsbC0zLCAuZ3JpZC14ID4gLnNtYWxsLTQsIC5ncmlkLXggPiAuc21hbGwtNSwgLmdyaWQteCA+IC5zbWFsbC02LCAuZ3JpZC14ID4gLnNtYWxsLTcsIC5ncmlkLXggPiAuc21hbGwtOCwgLmdyaWQteCA+IC5zbWFsbC05LCAuZ3JpZC14ID4gLnNtYWxsLTEwLCAuZ3JpZC14ID4gLnNtYWxsLTExLCAuZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgZmxleC1iYXNpczogYXV0bzsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXggPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXggPiAubWVkaXVtLTEsIC5ncmlkLXggPiAubWVkaXVtLTIsIC5ncmlkLXggPiAubWVkaXVtLTMsIC5ncmlkLXggPiAubWVkaXVtLTQsIC5ncmlkLXggPiAubWVkaXVtLTUsIC5ncmlkLXggPiAubWVkaXVtLTYsIC5ncmlkLXggPiAubWVkaXVtLTcsIC5ncmlkLXggPiAubWVkaXVtLTgsIC5ncmlkLXggPiAubWVkaXVtLTksIC5ncmlkLXggPiAubWVkaXVtLTEwLCAuZ3JpZC14ID4gLm1lZGl1bS0xMSwgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS1mdWxsLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueGxhcmdlLWZ1bGwsIC5ncmlkLXggPiAueGxhcmdlLTEsIC5ncmlkLXggPiAueGxhcmdlLTIsIC5ncmlkLXggPiAueGxhcmdlLTMsIC5ncmlkLXggPiAueGxhcmdlLTQsIC5ncmlkLXggPiAueGxhcmdlLTUsIC5ncmlkLXggPiAueGxhcmdlLTYsIC5ncmlkLXggPiAueGxhcmdlLTcsIC5ncmlkLXggPiAueGxhcmdlLTgsIC5ncmlkLXggPiAueGxhcmdlLTksIC5ncmlkLXggPiAueGxhcmdlLTEwLCAuZ3JpZC14ID4gLnhsYXJnZS0xMSwgLmdyaWQteCA+IC54bGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueHhsYXJnZS1mdWxsLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMSwgLmdyaWQteCA+IC54eGxhcmdlLTIsIC5ncmlkLXggPiAueHhsYXJnZS0zLCAuZ3JpZC14ID4gLnh4bGFyZ2UtNCwgLmdyaWQteCA+IC54eGxhcmdlLTUsIC5ncmlkLXggPiAueHhsYXJnZS02LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNywgLmdyaWQteCA+IC54eGxhcmdlLTgsIC5ncmlkLXggPiAueHhsYXJnZS05LCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTAsIC5ncmlkLXggPiAueHhsYXJnZS0xMSwgLmdyaWQteCA+IC54eGxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ncmlkLXggPiAueGxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLnhsYXJnZS0xLCAuZ3JpZC14ID4gLnhsYXJnZS0yLCAuZ3JpZC14ID4gLnhsYXJnZS0zLCAuZ3JpZC14ID4gLnhsYXJnZS00LCAuZ3JpZC14ID4gLnhsYXJnZS01LCAuZ3JpZC14ID4gLnhsYXJnZS02LCAuZ3JpZC14ID4gLnhsYXJnZS03LCAuZ3JpZC14ID4gLnhsYXJnZS04LCAuZ3JpZC14ID4gLnhsYXJnZS05LCAuZ3JpZC14ID4gLnhsYXJnZS0xMCwgLmdyaWQteCA+IC54bGFyZ2UtMTEsIC5ncmlkLXggPiAueGxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZ3JpZC14ID4gLnh4bGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMSwgLmdyaWQteCA+IC54eGxhcmdlLTIsIC5ncmlkLXggPiAueHhsYXJnZS0zLCAuZ3JpZC14ID4gLnh4bGFyZ2UtNCwgLmdyaWQteCA+IC54eGxhcmdlLTUsIC5ncmlkLXggPiAueHhsYXJnZS02LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNywgLmdyaWQteCA+IC54eGxhcmdlLTgsIC5ncmlkLXggPiAueHhsYXJnZS05LCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTAsIC5ncmlkLXggPiAueHhsYXJnZS0xMSwgLmdyaWQteCA+IC54eGxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXgge1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cblxuLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IDIwJTsgfVxuXG4uc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuXG4uc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IDEyLjUlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnh4bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueHhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyMCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9IH1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueHhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS4yNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuMjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuMjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuMjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxLjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS44NzVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMS44NzVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjg3NXJlbSAvIDIpOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS44NzVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMS44NzVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMS44NzVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMS44NzVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDEuODc1cmVtIC8gMik7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS44NzVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMS44NzVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjg3NXJlbSAvIDIpOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS44NzVyZW0gLyAyKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS44NzVyZW0gLyAyKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC54eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMS44NzVyZW0gLyAyKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC54eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMS44NzVyZW0gLyAyKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC54eGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMS44NzVyZW0gLyAyKTsgfSB9XG5cbi5ncmlkLXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgLmdyaWQteSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogbm9uZTsgfVxuICAuZ3JpZC15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC15ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXkgPiAuc21hbGwtMSwgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTMsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTYsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTksIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtZnVsbCwgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5ncmlkLXkgPiAueGxhcmdlLXNocmluaywgLmdyaWQteSA+IC54bGFyZ2UtZnVsbCwgLmdyaWQteSA+IC54bGFyZ2UtMSwgLmdyaWQteSA+IC54bGFyZ2UtMiwgLmdyaWQteSA+IC54bGFyZ2UtMywgLmdyaWQteSA+IC54bGFyZ2UtNCwgLmdyaWQteSA+IC54bGFyZ2UtNSwgLmdyaWQteSA+IC54bGFyZ2UtNiwgLmdyaWQteSA+IC54bGFyZ2UtNywgLmdyaWQteSA+IC54bGFyZ2UtOCwgLmdyaWQteSA+IC54bGFyZ2UtOSwgLmdyaWQteSA+IC54bGFyZ2UtMTAsIC5ncmlkLXkgPiAueGxhcmdlLTExLCAuZ3JpZC15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5ncmlkLXkgPiAueHhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAueHhsYXJnZS1mdWxsLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMSwgLmdyaWQteSA+IC54eGxhcmdlLTIsIC5ncmlkLXkgPiAueHhsYXJnZS0zLCAuZ3JpZC15ID4gLnh4bGFyZ2UtNCwgLmdyaWQteSA+IC54eGxhcmdlLTUsIC5ncmlkLXkgPiAueHhsYXJnZS02LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNywgLmdyaWQteSA+IC54eGxhcmdlLTgsIC5ncmlkLXkgPiAueHhsYXJnZS05LCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTAsIC5ncmlkLXkgPiAueHhsYXJnZS0xMSwgLmdyaWQteSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogMjUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogNTAlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogNzUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnhsYXJnZS0xLCAuZ3JpZC15ID4gLnhsYXJnZS0yLCAuZ3JpZC15ID4gLnhsYXJnZS0zLCAuZ3JpZC15ID4gLnhsYXJnZS00LCAuZ3JpZC15ID4gLnhsYXJnZS01LCAuZ3JpZC15ID4gLnhsYXJnZS02LCAuZ3JpZC15ID4gLnhsYXJnZS03LCAuZ3JpZC15ID4gLnhsYXJnZS04LCAuZ3JpZC15ID4gLnhsYXJnZS05LCAuZ3JpZC15ID4gLnhsYXJnZS0xMCwgLmdyaWQteSA+IC54bGFyZ2UtMTEsIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLXNocmluaywgLmdyaWQteSA+IC54eGxhcmdlLTEsIC5ncmlkLXkgPiAueHhsYXJnZS0yLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMywgLmdyaWQteSA+IC54eGxhcmdlLTQsIC5ncmlkLXkgPiAueHhsYXJnZS01LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNiwgLmdyaWQteSA+IC54eGxhcmdlLTcsIC5ncmlkLXkgPiAueHhsYXJnZS04LCAuZ3JpZC15ID4gLnh4bGFyZ2UtOSwgLmdyaWQteSA+IC54eGxhcmdlLTEwLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMHZ3OyB9XG5cbi5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNlbGwtYmxvY2sge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnh4bGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC54eGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC54eGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLnh4bGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG4uZ3JpZC15LmdyaWQtZnJhbWUge1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGhlaWdodDogMTAwdmg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmdyaWQteS54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG4uY2VsbCAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5jZWxsIC5ncmlkLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gIGhlaWdodDogY2FsYygxMDB2aCArIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG4uYnV0dG9uLCAuZm9ybS1jb250YWluZXIgYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbi50aW55LCAuZm9ybS1jb250YWluZXIgYnV0dG9uLnRpbnkge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5idXR0b24sIC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5idXR0b24uZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjQzQTQ7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzEzMzk4YjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnByaW1hcnksIC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeSwgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE2NDNBNDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjM2ODM7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnksIC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjAyMDA7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2MwMjAwO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24uc3VjY2VzcywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5zdWNjZXNzLCAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMkMzODQzOyB9XG4gIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICBjb2xvcjogIzJDMzg0MzsgfVxuICAuYnV0dG9uLndhcm5pbmcsIC5mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZywgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzJDMzg0MzsgfVxuICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgY29sb3I6ICMyQzM4NDM7IH1cbiAgLmJ1dHRvbi5hbGVydCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5hbGVydCwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGMDIwMDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2MwMjAwO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24uaG9sbG93LCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3c6Zm9jdXMsIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uaG9sbG93LCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzE2NDNBNDtcbiAgICBjb2xvcjogIzE2NDNBNDsgfVxuICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMGIyMjUyO1xuICAgIGNvbG9yOiAjMGIyMjUyOyB9XG4gIC5idXR0b24uaG9sbG93LnByaW1hcnksIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LnByaW1hcnksIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNjQzQTQ7XG4gICAgY29sb3I6ICMxNjQzQTQ7IH1cbiAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMGIyMjUyO1xuICAgIGNvbG9yOiAjMGIyMjUyOyB9XG4gIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeVtkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjAyMDA7XG4gICAgY29sb3I6ICNGRjAyMDA7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjODAwMTAwO1xuICAgIGNvbG9yOiAjODAwMTAwOyB9XG4gIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LnN1Y2Nlc3MsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gIC5idXR0b24uaG9sbG93Lndhcm5pbmcsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93Lndhcm5pbmcsIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gIC5idXR0b24uaG9sbG93LmFsZXJ0LCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5hbGVydCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydFtkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5hbGVydFtkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0ZGMDIwMDtcbiAgICBjb2xvcjogI0ZGMDIwMDsgfVxuICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjODAwMTAwO1xuICAgIGNvbG9yOiAjODAwMTAwOyB9XG4gIC5idXR0b24uY2xlYXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXI6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXI6Zm9jdXMsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi5jbGVhciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMxNjQzQTQ7IH1cbiAgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gICAgY29sb3I6ICMwYjIyNTI7IH1cbiAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnByaW1hcnksIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMTY0M0E0OyB9XG4gIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cyB7XG4gICAgY29sb3I6ICMwYjIyNTI7IH1cbiAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnksIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjRkYwMjAwOyB9XG4gIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gICAgY29sb3I6ICM4MDAxMDA7IH1cbiAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cyB7XG4gICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgLmJ1dHRvbi5jbGVhci53YXJuaW5nLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLndhcm5pbmcsIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIud2FybmluZzpmb2N1cyB7XG4gICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgLmJ1dHRvbi5jbGVhci5hbGVydCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5hbGVydCwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNGRjAyMDA7IH1cbiAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cyB7XG4gICAgY29sb3I6ICM4MDAxMDA7IH1cbiAgLmJ1dHRvbi5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAuNGVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZHJvcGRvd24uaG9sbG93OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhcjo6YWZ0ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZHJvcGRvd24uY2xlYXI6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMTY0M0E0OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5wcmltYXJ5OjphZnRlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kcm9wZG93bi5jbGVhci5wcmltYXJ5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzE2NDNBNDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnk6OmFmdGVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuc2Vjb25kYXJ5OjphZnRlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kcm9wZG93bi5jbGVhcjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNGRjAyMDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3M6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnN1Y2Nlc3M6OmFmdGVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnN1Y2Nlc3M6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjM2FkYjc2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93Lndhcm5pbmc6OmFmdGVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci53YXJuaW5nOjphZnRlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kcm9wZG93bi5jbGVhci53YXJuaW5nOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5hbGVydDo6YWZ0ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZHJvcGRvd24uY2xlYXIuYWxlcnQ6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjRkYwMjAwOyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIHRvcDogLTAuMWVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbmEuYnV0dG9uOmhvdmVyLCBhLmJ1dHRvbjpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZmxleC1ncm93OiAxOyB9XG4gIC5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cCAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cCBidXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cCAuZm9ybS1jb250YWluZXIgYnV0dG9uOmxhc3QtY2hpbGQsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwIGJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYnV0dG9uLWdyb3VwLnRpbnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC50aW55IC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnRpbnkgYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLnNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc21hbGwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc21hbGwgYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5sYXJnZSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmxhcmdlIC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmxhcmdlIGJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCBidXR0b24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IGJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnByaW1hcnkgYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnByaW1hcnkgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnByaW1hcnkgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE2NDNBNDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnByaW1hcnkgYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b246Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnByaW1hcnkgYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTIzNjgzO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24sIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSBidXR0b24sIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IGJ1dHRvbi5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAgYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgYnV0dG9uW2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAgYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGMDIwMDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgYnV0dG9uOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cCBidXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b246Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSBidXR0b246Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwIGJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjMDIwMDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3VjY2VzcyBidXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3VjY2VzcyBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3VjY2VzcyBidXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMkMzODQzOyB9XG4gIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3VjY2VzcyBidXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3VjY2VzcyBidXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgY29sb3I6ICMyQzM4NDM7IH1cbiAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24sIC5idXR0b24tZ3JvdXAud2FybmluZyAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC53YXJuaW5nIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAud2FybmluZyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC53YXJuaW5nIGJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLndhcm5pbmcgYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC53YXJuaW5nIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLndhcm5pbmcgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAud2FybmluZyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC53YXJuaW5nIGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLndhcm5pbmcgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzJDMzg0MzsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLndhcm5pbmcgYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5mb3JtLWNvbnRhaW5lciBidXR0b246Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLndhcm5pbmcgYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgIGNvbG9yOiAjMkMzODQzOyB9XG4gIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5hbGVydCAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5hbGVydCBidXR0b24sIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5hbGVydCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5hbGVydCBidXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuYWxlcnQgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmFsZXJ0IGJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5hbGVydCBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmFsZXJ0IGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5hbGVydCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5hbGVydCBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmFsZXJ0IGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjAyMDA7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmFsZXJ0IGJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5mb3JtLWNvbnRhaW5lciBidXR0b246Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmFsZXJ0IGJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjMDIwMDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTY0M0E0O1xuICAgIGNvbG9yOiAjMTY0M0E0OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b246Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b246Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzBiMjI1MjtcbiAgICBjb2xvcjogIzBiMjI1MjsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSBidXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnksIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeSwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbi5wcmltYXJ5LCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeS5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTY0M0E0O1xuICAgIGNvbG9yOiAjMTY0M0E0OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSBidXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSBidXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5wcmltYXJ5OmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzBiMjI1MjtcbiAgICBjb2xvcjogIzBiMjI1MjsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSBidXR0b24uZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgYnV0dG9uW2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnksIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjAyMDA7XG4gICAgY29sb3I6ICNGRjAyMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSBidXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b246Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgYnV0dG9uOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b246Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b246Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzgwMDEwMDtcbiAgICBjb2xvcjogIzgwMDEwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyBidXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3MsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24uc3VjY2VzcywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbi5zdWNjZXNzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuZm9ybS1jb250YWluZXIgYnV0dG9uOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyBidXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuZm9ybS1jb250YWluZXIgYnV0dG9uOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyBidXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzczpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5zdWNjZXNzOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyBidXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbi53YXJuaW5nLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuZm9ybS1jb250YWluZXIgYnV0dG9uOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyBidXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuZm9ybS1jb250YWluZXIgYnV0dG9uOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyBidXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZzpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi53YXJuaW5nOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCBidXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0LCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5hbGVydFtkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRkYwMjAwO1xuICAgIGNvbG9yOiAjRkYwMjAwOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCBidXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5mb3JtLWNvbnRhaW5lciBidXR0b246Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCBidXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24uYWxlcnQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24uYWxlcnQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzgwMDEwMDtcbiAgICBjb2xvcjogIzgwMDEwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMTY0M0E0OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjMGIyMjUyOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSBidXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSBidXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IGJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5LCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeSwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLnByaW1hcnksIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeS5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24ucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMTY0M0E0OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSBidXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSBidXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeTpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeTpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgIGNvbG9yOiAjMGIyMjUyOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b24sIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSBidXR0b24sIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IGJ1dHRvbi5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgYnV0dG9uW2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjRkYwMjAwOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSBidXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IGJ1dHRvbjpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjODAwMTAwOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyBidXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyBidXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIGJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24uc3VjY2VzcywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLnN1Y2Nlc3MsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyBidXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyBidXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24uc3VjY2Vzczpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24uc3VjY2Vzczpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyBidXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyBidXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIGJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLndhcm5pbmcsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24ud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24ud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyBidXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyBidXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZzpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZzpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCBidXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCBidXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IGJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0LCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uYWxlcnQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uYWxlcnQuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5hbGVydFtkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi5hbGVydFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjRkYwMjAwOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuZm9ybS1jb250YWluZXIgYnV0dG9uOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCBidXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuZm9ybS1jb250YWluZXIgYnV0dG9uOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCBidXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0OmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0OmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgIGNvbG9yOiAjODAwMTAwOyB9XG4gIC5idXR0b24tZ3JvdXAubm8tZ2FwcyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLm5vLWdhcHMgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAubm8tZ2FwcyBidXR0b24ge1xuICAgIG1hcmdpbi1yaWdodDogLTAuMDYyNXJlbTsgfVxuICAgIC5idXR0b24tZ3JvdXAubm8tZ2FwcyAuYnV0dG9uICsgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5uby1nYXBzIC5mb3JtLWNvbnRhaW5lciBidXR0b24gKyAuYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5uby1nYXBzIGJ1dHRvbiArIC5idXR0b24sIC5idXR0b24tZ3JvdXAubm8tZ2FwcyAuZm9ybS1jb250YWluZXIgLmJ1dHRvbiArIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAubm8tZ2FwcyAuYnV0dG9uICsgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLm5vLWdhcHMgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiArIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAubm8tZ2FwcyBidXR0b24gKyBidXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZCBidXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCBidXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSBidXR0b24ge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuZm9ybS1jb250YWluZXIgYnV0dG9uOmxhc3QtY2hpbGQsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5mb3JtLWNvbnRhaW5lciBidXR0b246bGFzdC1jaGlsZCwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpsYXN0LWNoaWxkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZCAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIGJ1dHRvbiB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIGJ1dHRvbiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSBidXR0b24ge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCBidXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMyQzM4NDM7IH1cbiAgLmNsb3NlLWJ1dHRvbi5zbWFsbCB7XG4gICAgcmlnaHQ6IDAuNjZyZW07XG4gICAgdG9wOiAwLjMzZW07XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY2xvc2UtYnV0dG9uLm1lZGl1bSwgLmNsb3NlLWJ1dHRvbiB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQ6ICMxNjQzQTQ7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5sYWJlbC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMTY0M0E0O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5sYWJlbC5zZWNvbmRhcnksIC5mb3JtLWNvbnRhaW5lciBidXR0b24ubGFiZWwge1xuICAgIGJhY2tncm91bmQ6ICNGRjAyMDA7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmxhYmVsLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMyQzM4NDM7IH1cbiAgLmxhYmVsLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMyQzM4NDM7IH1cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjRkYwMjAwO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5wcm9ncmVzcyB7XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTsgfVxuICAucHJvZ3Jlc3MucHJpbWFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjQzQTQ7IH1cbiAgLnByb2dyZXNzLnNlY29uZGFyeSAucHJvZ3Jlc3MtbWV0ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJvZ3Jlc3MgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkYwMjAwOyB9XG4gIC5wcm9ncmVzcy5zdWNjZXNzIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjsgfVxuICAucHJvZ3Jlc3Mud2FybmluZyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7IH1cbiAgLnByb2dyZXNzLmFsZXJ0IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGMDIwMDsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE2NDNBNDtcbiAgYm9yZGVyLXJhZGl1czogMTZweDsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNjQzQTQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnNsaWRlci1oYW5kbGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLnNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMzM5OGI7IH1cbiAgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci5kaXNhYmxlZCxcbi5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uc2xpZGVyLnZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC41cmVtO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAwLjVyZW07XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIGhlaWdodDogMS40cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG5pbnB1dFt0eXBlPSdyYW5nZSddIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDAuNDVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNDVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMTZweDsgfVxuICBpbnB1dFt0eXBlPSdyYW5nZSddOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIGlucHV0W3R5cGU9J3JhbmdlJ11bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1OyB9XG4gIGlucHV0W3R5cGU9J3JhbmdlJ106Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjRjhGOEY4OyB9XG4gIGlucHV0W3R5cGU9J3JhbmdlJ106Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIGhlaWdodDogMS40cmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjQ1cmVtO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjMTY0M0E0O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7IH1cbiAgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgaGVpZ2h0OiAwLjVyZW07XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNGOEY4Rjg7IH1cbiAgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgd2lkdGg6IDEuNHJlbTtcbiAgICBoZWlnaHQ6IDEuNHJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMC40NXJlbTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogIzE2NDNBNDtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4OyB9XG4gIGlucHV0W3R5cGU9J3JhbmdlJ106Oi1tcy10cmFjayB7XG4gICAgaGVpZ2h0OiAwLjVyZW07XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDAuNDVyZW0gc29saWQgI2ZmZmZmZjtcbiAgICBib3JkZXItYm90dG9tOiAwLjQ1cmVtIHNvbGlkICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZDogI0Y4RjhGODtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LW1zLXRodW1iIHtcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIGhlaWdodDogMS40cmVtO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiAjMTY0M0E0O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7IH1cbiAgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LW1zLWZpbGwtbG93ZXIge1xuICAgIGJhY2tncm91bmQ6ICNjYWNhY2E7IH1cbiAgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LW1zLWZpbGwtdXBwZXIge1xuICAgIGJhY2tncm91bmQ6ICNGOEY4Rjg7IH1cbiAgb3V0cHV0IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMS40cmVtOyB9XG5cbi5zd2l0Y2gge1xuICBoZWlnaHQ6IDJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zd2l0Y2gtcGFkZGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYmFja2dyb3VuZDogI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBpbnB1dCArIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gICAgY29udGVudDogJyc7IH1cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTY0M0E0OyB9XG4gICAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgICBsZWZ0OiAyLjI1cmVtOyB9XG4gIGlucHV0OmRpc2FibGVkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC41OyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBpbnB1dDpmb2N1cyB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5zd2l0Y2gtYWN0aXZlLCAuc3dpdGNoLWluYWN0aXZlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5zd2l0Y2gtYWN0aXZlIHtcbiAgbGVmdDogOCU7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zd2l0Y2gtaW5hY3RpdmUge1xuICByaWdodDogMTUlOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXRjaC50aW55IHtcbiAgaGVpZ2h0OiAxLjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMS43NXJlbTsgfVxuXG4uc3dpdGNoLnNtYWxsIHtcbiAgaGVpZ2h0OiAxLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzLjVyZW07XG4gICAgaGVpZ2h0OiAxLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDEuMjVyZW07XG4gICAgaGVpZ2h0OiAxLjI1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMnJlbTsgfVxuXG4uc3dpdGNoLmxhcmdlIHtcbiAgaGVpZ2h0OiAyLjVyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDVyZW07XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAyLjc1cmVtOyB9XG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAyLjFlbTtcbiAgcGFkZGluZzogMC4zZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogIzE2NDNBNDtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJhZGdlLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICMxNjQzQTQ7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJhZGdlLnNlY29uZGFyeSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5iYWRnZSB7XG4gICAgYmFja2dyb3VuZDogI0ZGMDIwMDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYmFkZ2Uuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogIzJDMzg0MzsgfVxuICAuYmFkZ2Uud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzJDMzg0MzsgfVxuICAuYmFkZ2UuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNGRjAyMDA7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5icmVhZGNydW1iczo6YmVmb3JlLCAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnJlYWRjcnVtYnMgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGNvbG9yOiAjMkMzODQzO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMCAwLjc1cmVtO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgICAgY29sb3I6ICNjYWNhY2E7IH1cbiAgLmJyZWFkY3J1bWJzIGEge1xuICAgIGNvbG9yOiAjMTY0M0E0OyB9XG4gICAgLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmJyZWFkY3J1bWJzIC5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uY2FsbG91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIGNvbG9yOiAjMkMzODQzOyB9XG4gIC5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhbGxvdXQucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE2NDNhNDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuY2FsbG91dC5zZWNvbmRhcnksIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2FsbG91dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDIwMDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMkMzODQzOyB9XG4gIC5jYWxsb3V0Lndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMyQzM4NDM7IH1cbiAgLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAyMDA7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmNhbGxvdXQuc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgLmNhbGxvdXQubGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9XG5cbi5jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjMkMzODQzOyB9XG4gIC5jYXJkID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtZGl2aWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjRjhGOEY4OyB9XG4gIC5jYXJkLWRpdmlkZXIgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1zZWN0aW9uIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLmNhcmQtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWltYWdlIHtcbiAgbWluLWhlaWdodDogMXB4OyB9XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDMwMHB4O1xuICBwYWRkaW5nOiAxcmVtO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIG1hcmdpbi1yaWdodDogMC4wNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24gbGk6bGFzdC1jaGlsZCwgLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdpbmF0aW9uIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLnBhZ2luYXRpb24gYSxcbiAgLnBhZ2luYXRpb24gYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBjb2xvcjogIzJDMzg0MzsgfVxuICAgIC5wYWdpbmF0aW9uIGE6aG92ZXIsXG4gICAgLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGOEY4Rjg7IH1cbiAgLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjMTY0M0E0O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAucGFnaW5hdGlvbiAuZGlzYWJsZWQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb2xvcjogI2NhY2FjYTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLnBhZ2luYXRpb24gLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb250ZW50OiAnXFwyMDI2JztcbiAgICBjb2xvcjogIzJDMzg0MzsgfVxuXG4ucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4ucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgY29udGVudDogXCLCq1wiOyB9XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgY29udGVudDogXCLCu1wiOyB9XG5cbi5oYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggIzhhOGE4YTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogaGVscDsgfVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjY0OTVyZW0pO1xuICB6LWluZGV4OiAxMjAwO1xuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkMzODQzO1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLnRvb2x0aXA6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC50b29sdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMyQzM4NDM7XG4gICAgYm90dG9tOiAxMDAlOyB9XG4gIC50b29sdGlwLmJvdHRvbS5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjMkMzODQzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87IH1cbiAgLnRvb2x0aXAudG9wLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMyQzM4NDM7XG4gICAgbGVmdDogMTAwJTsgfVxuICAudG9vbHRpcC5sZWZ0LmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC50b29sdGlwLnJpZ2h0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyQzM4NDMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAudG9vbHRpcC5yaWdodC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlOyB9XG4gIC50b29sdGlwLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87IH1cbiAgLnRvb2x0aXAuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnRvb2x0aXAuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlOyB9XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5hY2NvcmRpb25bZGlzYWJsZWRdIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMTZweCAxNnB4IDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDE2cHggMTZweDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRjhGOEY4O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzE2NDNBNDsgfVxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0Y4RjhGODtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMTZweCAxNnB4OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7IH1cbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICBjb250ZW50OiBcIitcIjsgfVxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAk1wiOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNGOEY4Rjg7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMkMzODQzOyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRjhGOEY4OyB9XG5cbi5tZWRpYS1vYmplY3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaWEtb2JqZWN0IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ubWFpbi1zZWN0aW9uIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG5cbi5vcmJpdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ub3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5vcmJpdC1zbGlkZS5uby1tb3Rpb251aS5pcy1hY3RpdmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuLm9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ0LCA1NiwgNjcsIDAuNSk7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5vcmJpdC1wcmV2aW91cywgLm9yYml0LW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LXByZXZpb3VzLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LW5leHQge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LXByZXZpb3VzOmhvdmVyLCAub3JiaXQtbmV4dDpob3ZlciwgLm9yYml0LXByZXZpb3VzOmFjdGl2ZSwgLm9yYml0LW5leHQ6YWN0aXZlLCAub3JiaXQtcHJldmlvdXM6Zm9jdXMsIC5vcmJpdC1uZXh0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ0LCA1NiwgNjcsIDAuNSk7IH1cblxuLm9yYml0LXByZXZpb3VzIHtcbiAgbGVmdDogMDsgfVxuXG4ub3JiaXQtbmV4dCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5vcmJpdC1idWxsZXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtYnVsbGV0cyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgbWFyZ2luOiAwLjFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYWNhY2E7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCxcbi5mbGV4LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuICAucmVzcG9uc2l2ZS1lbWJlZCBvYmplY3QsXG4gIC5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuICAucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyxcbiAgLmZsZXgtdmlkZW8gaWZyYW1lLFxuICAuZmxleC12aWRlbyBvYmplY3QsXG4gIC5mbGV4LXZpZGVvIGVtYmVkLFxuICAuZmxleC12aWRlbyB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZC53aWRlc2NyZWVuLFxuICAuZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMTY0M0E0OyB9XG4gIC50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTg0OWIyOyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICMxNjQzQTQ7IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnRhYnMtdGl0bGUgPiBhIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogIzEzM2E4ZDsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjhGOEY4O1xuICAgICAgY29sb3I6ICMxNjQzQTQ7IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBjb2xvcjogIzJDMzg0MztcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsgfVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi50YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogM3JlbTsgfVxuICAudGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi50aHVtYm5haWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiA0cHggc29saWQgI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoNDQsIDU2LCA2NywgMC4yKTtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cblxuYS50aHVtYm5haWwge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0OyB9XG4gIGEudGh1bWJuYWlsOmhvdmVyLCBhLnRodW1ibmFpbDpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDZweCAxcHggcmdiYSgyMiwgNjcsIDE2NCwgMC41KTsgfVxuICBhLnRodW1ibmFpbCBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4ubWVudSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51IGxpIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5tZW51IGEsXG4gIC5tZW51IC5idXR0b24sXG4gIC5tZW51IC5mb3JtLWNvbnRhaW5lciBidXR0b24sXG4gIC5mb3JtLWNvbnRhaW5lciAubWVudSBidXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgc2VsZWN0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS52ZXJ0aWNhbC5pY29uLXRvcCBsaSBhIGltZyxcbiAgICAubWVudS52ZXJ0aWNhbC5pY29uLXRvcCBsaSBhIGksXG4gICAgLm1lbnUudmVydGljYWwuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51LnZlcnRpY2FsLmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAgIC5tZW51LnZlcnRpY2FsLmljb24tYm90dG9tIGxpIGEgaSxcbiAgICAubWVudS52ZXJ0aWNhbC5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZW51LmV4cGFuZGVkIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5tZW51LmV4cGFuZGVkLmljb24tdG9wIGxpIGEgaW1nLFxuICAubWVudS5leHBhbmRlZC5pY29uLXRvcCBsaSBhIGksXG4gIC5tZW51LmV4cGFuZGVkLmljb24tdG9wIGxpIGEgc3ZnLCAubWVudS5leHBhbmRlZC5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgLm1lbnUuZXhwYW5kZWQuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAubWVudS5leHBhbmRlZC5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVudS5zaW1wbGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubWVudS5zaW1wbGUgbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAgIC5tZW51LnNpbXBsZSBhIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51Lm1lZGl1bS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubWVkaXVtLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5sYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubGFyZ2Utc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLm1lbnUueGxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51LnhsYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS54bGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LnhsYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAubWVudS54eGxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51Lnh4bGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUueHhsYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUueHhsYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5tZW51Lmljb25zIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUuaWNvbi10b3AgYSwgLm1lbnUuaWNvbi1yaWdodCBhLCAubWVudS5pY29uLWJvdHRvbSBhLCAubWVudS5pY29uLWxlZnQgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5pY29uLWxlZnQgbGkgYSwgLm1lbnUubmVzdGVkLmljb24tbGVmdCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBzdmcsIC5tZW51Lm5lc3RlZC5pY29uLWxlZnQgbGkgYSBpbWcsXG4gICAgLm1lbnUubmVzdGVkLmljb24tbGVmdCBsaSBhIGksXG4gICAgLm1lbnUubmVzdGVkLmljb24tbGVmdCBsaSBhIHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi1yaWdodCBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi1yaWdodCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBzdmcsIC5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEgaW1nLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEgaSxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1yaWdodCBsaSBhIHN2ZyB7XG4gICAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTsgfVxuICAubWVudS5pY29uLXRvcCBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi10b3AgbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgc3ZnLCAubWVudS5uZXN0ZWQuaWNvbi10b3AgbGkgYSBpbWcsXG4gICAgLm1lbnUubmVzdGVkLmljb24tdG9wIGxpIGEgaSxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi10b3AgbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSwgLm1lbnUubmVzdGVkLmljb24tYm90dG9tIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaSxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHN2ZywgLm1lbnUubmVzdGVkLmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLWJvdHRvbSBsaSBhIGksXG4gICAgLm1lbnUubmVzdGVkLmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51IC5pcy1hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTY0M0E0O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5tZW51IC5hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTY0M0E0O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5tZW51LmFsaWduLWxlZnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudS5hbGlnbi1yaWdodCBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tdG9wIGxpIGEgaW1nLFxuICAubWVudS5hbGlnbi1yaWdodC5pY29uLXRvcCBsaSBhIGksXG4gIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tdG9wIGxpIGEgc3ZnLCAubWVudS5hbGlnbi1yaWdodC5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAubWVudS5hbGlnbi1yaWdodC5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZW51LmFsaWduLWNlbnRlciBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LmFsaWduLWNlbnRlciBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUgLm1lbnUtdGV4dCB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1lbnUtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2ZmZmZmZiwgMCAxNHB4IDAgI2ZmZmZmZjtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2NhY2FjYTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNjYWNhY2EsIDAgMTRweCAwICNjYWNhY2E7IH1cblxuLm1lbnUtaWNvbi5kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uLmRhcms6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzJDMzg0MztcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMyQzM4NDMsIDAgMTRweCAwICMyQzM4NDM7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzhhOGE4YTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICM4YThhOGEsIDAgMTRweCAwICM4YThhOGE7IH1cblxuLmFjY29yZGlvbi1tZW51IGxpIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmFjY29yZGlvbi1tZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTY0M0E0IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxcmVtO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IH1cblxuLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gIG1hcmdpbi1yaWdodDogNDBweDsgfVxuXG4uc3VibWVudS10b2dnbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuc3VibWVudS10b2dnbGU6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogIzE2NDNBNCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuXG4uc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uc3VibWVudS10b2dnbGUtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cblxuLmlzLWRyaWxsZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaXMtZHJpbGxkb3duIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaXMtZHJpbGxkb3duLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41czsgfVxuXG4uZHJpbGxkb3duIGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtY2xvc2luZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IGEge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5kcmlsbGRvd24gLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyaWxsZG93biAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICBtaW4taGVpZ2h0OiAxMDAlOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNjQzQTQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmRyaWxsZG93bi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTY0M0E0O1xuICByaWdodDogMXJlbTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJpbGxkb3duLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNjQzQTQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtOyB9XG5cbi5kcmlsbGRvd24gLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE2NDNBNCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6ICMxNjQzQTQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiA1cHg7XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IC0zcHg7IH1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5kcm9wZG93bi5tZW51IGEge1xuICBvdXRsaW5lOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMTY0M0E0OyB9XG5cbi5uby1qcyAuZHJvcGRvd24ubWVudSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRyb3Bkb3duLm1lbnUgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwO1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICByaWdodDogMTRweDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNjQzQTQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNjQzQTQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogIzE2NDNBNCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE2NDNBNCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE2NDNBNDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogIzE2NDNBNCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNjQzQTQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE2NDNBNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogIzE2NDNBNCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE2NDNBNCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE2NDNBNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6ICMxNjQzQTQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE2NDNBNCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNjQzQTQ7IH0gfVxuXG4uZHJvcGRvd24ubWVudS5hbGlnbi1yaWdodCAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgd2lkdGg6IDEwMHB4OyB9XG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsLmFsaWduLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtNnB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgLmRyb3Bkb3duIC5pcy1kcm9wZG93bi1zdWJtZW51IGEge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNjQzQTQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTY0M0E0OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIHZpc2liaWxpdHkgMC41cyBlYXNlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1jbG9zYWJsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm9mZi1jYW52YXMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNGOEY4Rjg7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTI7IH1cbiAgLm9mZi1jYW52YXMuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMzsgfVxuICAgIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoNDQsIDU2LCA2NywgMC43KTsgfVxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI0Y4RjhGODsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDEzOyB9XG4gICAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSg0NCwgNTYsIDY3LCAwLjcpOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5wb3NpdGlvbi1sZWZ0IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHdpZHRoOiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgLTEzcHggMCAyMHB4IC0xM3B4IHJnYmEoNDQsIDU2LCA2NywgMC4yNSk7IH1cblxuLnBvc2l0aW9uLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDEzcHggMCAyMHB4IC0xM3B4IHJnYmEoNDQsIDU2LCA2NywgMC4yNSk7IH1cblxuLnBvc2l0aW9uLXRvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIGhlaWdodDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi10b3AuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMTNweCAyMHB4IC0xM3B4IHJnYmEoNDQsIDU2LCA2NywgMC4yNSk7IH1cblxuLnBvc2l0aW9uLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIGhlaWdodDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tYm90dG9tLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDEzcHggMjBweCAtMTNweCByZ2JhKDQ0LCA1NiwgNjcsIDAuMjUpOyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLW92ZXJsYXAsIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5odG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4uemYtaGFzLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ0LCA1NiwgNjcsIDAuNDUpO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG5cbi5yZXZlYWwge1xuICB6LWluZGV4OiAxMDA2O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA5MHJlbTsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogOTByZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwuc21hbGwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1heC13aWR0aDogOTByZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogOTByZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLnN0aWNreS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN0aWNreSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc3RpY2t5LmlzLXN0dWNrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA1O1xuICB3aWR0aDogMTAwJTsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcCB7XG4gICAgdG9wOiAwOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IGF1dG87IH1cbiAgLnN0aWNreS5pcy1hbmNob3JlZC5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG4udGl0bGUtYmFyIHtcbiAgcGFkZGluZzogMC41cmVtO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMyQzM4NDM7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4udGl0bGUtYmFyLWxlZnQsXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxleDogMSAxIDBweDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnRvcC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAudG9wLWJhcixcbiAgLnRvcC1iYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC50b3AtYmFyIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAudG9wLWJhciAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAudG9wLWJhciBpbnB1dC5idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC50b3AtYmFyIC50b3AtYmFyLWxlZnQsXG4gIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudG9wLWJhciB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45OTg3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci14bGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXh4bGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnRvcC1iYXItdGl0bGUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDsgfVxuXG4udG9wLWJhci1sZWZ0LFxuLnRvcC1iYXItcmlnaHQge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uYWxpZ24tbGVmdCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tanVzdGlmeSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uYWxpZ24tc3BhY2VkIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLmFsaWduLWxlZnQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tcmlnaHQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlci52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1zZWxmLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmFsaWduLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4uYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cblxuLnNtYWxsLW9yZGVyLTEge1xuICBvcmRlcjogMTsgfVxuXG4uc21hbGwtb3JkZXItMiB7XG4gIG9yZGVyOiAyOyB9XG5cbi5zbWFsbC1vcmRlci0zIHtcbiAgb3JkZXI6IDM7IH1cblxuLnNtYWxsLW9yZGVyLTQge1xuICBvcmRlcjogNDsgfVxuXG4uc21hbGwtb3JkZXItNSB7XG4gIG9yZGVyOiA1OyB9XG5cbi5zbWFsbC1vcmRlci02IHtcbiAgb3JkZXI6IDY7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54eGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54eGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54eGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54eGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54eGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuLmZsZXgtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxleC1jaGlsZC1hdXRvIHtcbiAgZmxleDogMSAxIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtZ3JvdyB7XG4gIGZsZXg6IDEgMCBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLXNocmluayB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG5cbi5mbGV4LWRpci1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi5mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4uZmxleC1kaXItY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAueGxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4udmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtYXgtd2lkdGg6IDg5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45OTg3NWVtKSB7XG4gIC5zaG93LWZvci14eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi50ZXh0LWhpZGUge1xuICBmb250OiAwLzAgYSAhaW1wb3J0YW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtdHJ1bmNhdGUge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxuXG4udGV4dC13cmFwIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuXG4udGV4dC1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4udGV4dC1vdmVybGluZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogb3ZlcmxpbmUgIWltcG9ydGFudDsgfVxuXG4udGV4dC11bmRlcmxpbmUge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWxpbmUtdGhyb3VnaCB7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoICFpbXBvcnRhbnQ7IH1cblxuLmZvbnQtd2lkZSB7XG4gIGxldHRlci1zcGFjaW5nOiAwLjI1cmVtOyB9XG5cbi5mb250LW5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLmZvbnQtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5mb250LWl0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG5cbnVsLmxpc3QtZGlzYyB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhaW1wb3J0YW50OyB9XG5cbnVsLmxpc3QtY2lyY2xlIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGUgIWltcG9ydGFudDsgfVxuXG51bC5saXN0LXNxdWFyZSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlICFpbXBvcnRhbnQ7IH1cblxub2wubGlzdC1kZWNpbWFsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsICFpbXBvcnRhbnQ7IH1cblxub2wubGlzdC1sb3dlci1hbHBoYSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGEgIWltcG9ydGFudDsgfVxuXG5vbC5saXN0LWxvd2VyLWxhdGluIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1sYXRpbiAhaW1wb3J0YW50OyB9XG5cbm9sLmxpc3QtbG93ZXItcm9tYW4ge1xuICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuICFpbXBvcnRhbnQ7IH1cblxub2wubGlzdC11cHBlci1hbHBoYSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItYWxwaGEgIWltcG9ydGFudDsgfVxuXG5vbC5saXN0LXVwcGVyLWxhdGluIHtcbiAgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1sYXRpbiAhaW1wb3J0YW50OyB9XG5cbm9sLmxpc3QtdXBwZXItcm9tYW4ge1xuICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLXJvbWFuICFpbXBvcnRhbnQ7IH1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiA1MDAwcHggIWltcG9ydGFudDsgfVxuICAucm91bmRlZCAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAwMHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAucm91bmRlZCAuc3dpdGNoLXBhZGRsZTphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLnJhZGl1cyB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTsgfVxuXG4uYm9yZGVyZWQge1xuICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjY2FjYWNhOyB9XG5cbi5zaGFkb3cge1xuICBib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTYpLCAwIDJweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4uYXJyb3ctZG93biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAuNDM3NXJlbTtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogIzJDMzg0MyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4uYXJyb3ctdXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjQzNzVyZW07XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMyQzM4NDM7IH1cblxuLmFycm93LXJpZ2h0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMC40Mzc1cmVtO1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMyQzM4NDM7IH1cblxuLmFycm93LWxlZnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjQzNzVyZW07XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMkMzODQzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5zZXBhcmF0b3ItY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLnNlcGFyYXRvci1jZW50ZXI6OmJlZm9yZSwgLnNlcGFyYXRvci1jZW50ZXI6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuc2VwYXJhdG9yLWNlbnRlcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zZXBhcmF0b3ItY2VudGVyOjphZnRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgIzE2NDNBNDtcbiAgICBtYXJnaW46IDFyZW0gYXV0byAwOyB9XG5cbi5zZXBhcmF0b3ItbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAuc2VwYXJhdG9yLWxlZnQ6OmJlZm9yZSwgLnNlcGFyYXRvci1sZWZ0OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnNlcGFyYXRvci1sZWZ0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNlcGFyYXRvci1sZWZ0OjphZnRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgIzE2NDNBNDtcbiAgICBtYXJnaW46IDFyZW0gYXV0byAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnNlcGFyYXRvci1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnNlcGFyYXRvci1yaWdodDo6YmVmb3JlLCAuc2VwYXJhdG9yLXJpZ2h0OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnNlcGFyYXRvci1yaWdodDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zZXBhcmF0b3ItcmlnaHQ6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjMTY0M0E0O1xuICAgIG1hcmdpbjogMXJlbSBhdXRvIDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLm92ZXJmbG93LXZpc2libGUge1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyB9XG5cbi5vdmVyZmxvdy14LXZpc2libGUge1xuICBvdmVyZmxvdy14OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cblxuLm92ZXJmbG93LXktdmlzaWJsZSB7XG4gIG92ZXJmbG93LXk6IHZpc2libGUgIWltcG9ydGFudDsgfVxuXG4ub3ZlcmZsb3ctaGlkZGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5cbi5vdmVyZmxvdy14LWhpZGRlbiB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5cbi5vdmVyZmxvdy15LWhpZGRlbiB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5cbi5vdmVyZmxvdy1zY3JvbGwge1xuICBvdmVyZmxvdzogc2Nyb2xsICFpbXBvcnRhbnQ7IH1cblxuLm92ZXJmbG93LXgtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogc2Nyb2xsICFpbXBvcnRhbnQ7IH1cblxuLm92ZXJmbG93LXktc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsICFpbXBvcnRhbnQ7IH1cblxuLmRpc3BsYXktaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cblxuLmRpc3BsYXktaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmRpc3BsYXktYmxvY2sge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5kaXNwbGF5LXRhYmxlIHtcbiAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuXG4uZGlzcGxheS10YWJsZS1jZWxsIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbi5wb3NpdGlvbi1zdGF0aWMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7IH1cblxuLnBvc2l0aW9uLXJlbGF0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7IH1cblxuLnBvc2l0aW9uLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IH1cblxuLnBvc2l0aW9uLWZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IH1cblxuLnBvc2l0aW9uLWZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICB0b3A6IDByZW0gIWltcG9ydGFudDtcbiAgcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgbGVmdDogMHJlbSAhaW1wb3J0YW50O1xuICB6LWluZGV4OiA5NzU7IH1cblxuLnBvc2l0aW9uLWZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICByaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICBib3R0b206IDByZW0gIWltcG9ydGFudDtcbiAgbGVmdDogMHJlbSAhaW1wb3J0YW50O1xuICB6LWluZGV4OiA5NzU7IH1cblxuLmJvcmRlci1ib3gge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7IH1cblxuLmJvcmRlci1ub25lIHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLndpZHRoLTI1IHtcbiAgd2lkdGg6IDI1JSAhaW1wb3J0YW50OyB9XG5cbi53aWR0aC01MCB7XG4gIHdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuXG4ud2lkdGgtNzUge1xuICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7IH1cblxuLndpZHRoLTEwMCB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLmhlaWdodC0yNSB7XG4gIGhlaWdodDogMjUlICFpbXBvcnRhbnQ7IH1cblxuLmhlaWdodC01MCB7XG4gIGhlaWdodDogNTAlICFpbXBvcnRhbnQ7IH1cblxuLmhlaWdodC03NSB7XG4gIGhlaWdodDogNzUlICFpbXBvcnRhbnQ7IH1cblxuLmhlaWdodC0xMDAge1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4ubWF4LXdpZHRoLTEwMCB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5tYXgtaGVpZ2h0LTEwMCB7XG4gIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLTAge1xuICBtYXJnaW46IDByZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXRvcC0wIHtcbiAgbWFyZ2luLXRvcDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tcmlnaHQtMCB7XG4gIG1hcmdpbi1yaWdodDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tYm90dG9tLTAge1xuICBtYXJnaW4tYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1sZWZ0LTAge1xuICBtYXJnaW4tbGVmdDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4taG9yaXpvbnRhbC0wIHtcbiAgbWFyZ2luLXJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi12ZXJ0aWNhbC0wIHtcbiAgbWFyZ2luLXRvcDogMHJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctMCB7XG4gIHBhZGRpbmc6IDByZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy10b3AtMCB7XG4gIHBhZGRpbmctdG9wOiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctcmlnaHQtMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDByZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1ib3R0b20tMCB7XG4gIHBhZGRpbmctYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctbGVmdC0wIHtcbiAgcGFkZGluZy1sZWZ0OiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctaG9yaXpvbnRhbC0wIHtcbiAgcGFkZGluZy1yaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDByZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy12ZXJ0aWNhbC0wIHtcbiAgcGFkZGluZy10b3A6IDByZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDByZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLTEge1xuICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXRvcC0xIHtcbiAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tcmlnaHQtMSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tYm90dG9tLTEge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1sZWZ0LTEge1xuICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4taG9yaXpvbnRhbC0xIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi12ZXJ0aWNhbC0xIHtcbiAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctMSB7XG4gIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy10b3AtMSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctcmlnaHQtMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1ib3R0b20tMSB7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctbGVmdC0xIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctaG9yaXpvbnRhbC0xIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy12ZXJ0aWNhbC0xIHtcbiAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLTIge1xuICBtYXJnaW46IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXRvcC0yIHtcbiAgbWFyZ2luLXRvcDogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tcmlnaHQtMiB7XG4gIG1hcmdpbi1yaWdodDogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tYm90dG9tLTIge1xuICBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1sZWZ0LTIge1xuICBtYXJnaW4tbGVmdDogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4taG9yaXpvbnRhbC0yIHtcbiAgbWFyZ2luLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi12ZXJ0aWNhbC0yIHtcbiAgbWFyZ2luLXRvcDogMnJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctMiB7XG4gIHBhZGRpbmc6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy10b3AtMiB7XG4gIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctcmlnaHQtMiB7XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1ib3R0b20tMiB7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctbGVmdC0yIHtcbiAgcGFkZGluZy1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctaG9yaXpvbnRhbC0yIHtcbiAgcGFkZGluZy1yaWdodDogMnJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy12ZXJ0aWNhbC0yIHtcbiAgcGFkZGluZy10b3A6IDJyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLTMge1xuICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXRvcC0zIHtcbiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tcmlnaHQtMyB7XG4gIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tYm90dG9tLTMge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1sZWZ0LTMge1xuICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4taG9yaXpvbnRhbC0zIHtcbiAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi12ZXJ0aWNhbC0zIHtcbiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctMyB7XG4gIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy10b3AtMyB7XG4gIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctcmlnaHQtMyB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1ib3R0b20tMyB7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctbGVmdC0zIHtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctaG9yaXpvbnRhbC0zIHtcbiAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy12ZXJ0aWNhbC0zIHtcbiAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuXG5ib2R5IHtcbiAgb3ZlcmZsb3cteDogY2xpcDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvd29vZC1iYWNrZ3JvdW5kLmpwZ1wiKSBuby1yZXBlYXQgdG9wIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG5tYWluIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uc21hbGwtbG9nbyB7XG4gIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgbWF4LXdpZHRoOiAyMDBweDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjsgfVxuXG5oMSwgLmgxLCBoMiwgLmgyLCBoMywgLmgzLCBoNCwgLmg0LCBoNSwgLmg1IHtcbiAgZm9udC1mYW1pbHk6IFwiUGxheWZhaXIgRGlzcGxheVwiLCBzZXJpZjsgfVxuXG5wIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMzhweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMzhweCAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiA1OHB4ICFpbXBvcnRhbnQ7XG4gICAgICBsaW5lLWhlaWdodDogNThweCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDgwcHggIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA4MHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMzJweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgICBsaW5lLWhlaWdodDogNDRweCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IDY4cHggIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2OHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMjhweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMjhweCAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgaDQge1xuICAgICAgZm9udC1zaXplOiAzNnB4ICFpbXBvcnRhbnQ7XG4gICAgICBsaW5lLWhlaWdodDogMzZweCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDU4cHggIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1OHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5wIHtcbiAgbWFyZ2luOiAxZW0gMDsgfVxuXG4ubGFyZ2Uge1xuICBmb250LXNpemU6IDI0cHg7XG4gIG1heC13aWR0aDogNTJjaDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sYXJnZSB7XG4gICAgICBmb250LXNpemU6IDMycHg7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAuNTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuNWVtKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluT25seSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAuNTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnBiNCB7XG4gIHBhZGRpbmctYm90dG9tOiA0ZW07IH1cblxuLmdyaWQtY29udGFpbmVyLS1zbWFsbCB7XG4gIG1heC13aWR0aDogNDhyZW0gIWltcG9ydGFudDsgfVxuXG4uZ3JpZC1jb250YWluZXItLW1lZGl1bSB7XG4gIG1heC13aWR0aDogNjRyZW0gIWltcG9ydGFudDsgfVxuXG4uZ3JpZC1jb250YWluZXItLWZ1bGwge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5ncmlkLWNvbnRhaW5lci0tcmVkLCAuZ3JpZC1jb250YWluZXItLW1hZ2VudGEge1xuICBiYWNrZ3JvdW5kOiAjRTEzNDI5ICFpbXBvcnRhbnQ7IH1cblxuLmdyaWQtY29udGFpbmVyLS1ncmVlbiB7XG4gIGJhY2tncm91bmQ6ICMyRkI2N0MgIWltcG9ydGFudDsgfVxuXG4uZ3JpZC1jb250YWluZXItLWJsdWUsIC5ncmlkLWNvbnRhaW5lci0tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMxNjQzQTQgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS0xNjAge1xuICAgIHdpZHRoOiAxNDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tMTYwIHtcbiAgICB3aWR0aDogMTYwcHg7IH0gfVxuXG4uY2VsbCB7XG4gIHotaW5kZXg6IDE7IH1cblxuLmNlbGwtLXJpY2gtdGV4dCBwIHtcbiAgbWF4LXdpZHRoOiA4NWNoOyB9XG5cbi5jZWxsLS1yaWNoLXRleHQgYSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfVxuXG4uY2VsbC0tcmljaC10ZXh0IHVsIHtcbiAgbGlzdC1zdHlsZTogZGlzYztcbiAgbWFyZ2luOiAwIDAgMmVtIDJlbTsgfVxuICAuY2VsbC0tcmljaC10ZXh0IHVsIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcbiAgICBtYXgtd2lkdGg6IDU1Y2g7IH1cbiAgICAuY2VsbC0tcmljaC10ZXh0IHVsIGxpIGIge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNlbGwtLXJpY2gtdGV4dCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uei1pbmRleC0tMiB7XG4gIHotaW5kZXg6IDI7IH1cblxuLnotaW5kZXgtLTEge1xuICB6LWluZGV4OiAxOyB9XG5cbi56LWluZGV4LS0wIHtcbiAgei1pbmRleDogMDsgfVxuXG4uei1pbmRleC0tLTEge1xuICB6LWluZGV4OiAtMSAhaW1wb3J0YW50OyB9XG5cbi56LWluZGV4LS12aWRlby1tb2RhbCB7XG4gIHotaW5kZXg6IDEwMiAhaW1wb3J0YW50OyB9XG5cbi5jZWxsLS12ZXJ0aWNhbCB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNlbGwtLXZlcnRpY2FsIC5jZWxsOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5jZWxsLS1ob3Jpem9udGFsIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmNlbGwtLWhvcml6b250YWwgLmNlbGw6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLyohXHJcbiAqIEhhbWJ1cmdlcnNcclxuICogQGRlc2NyaXB0aW9uIFRhc3R5IENTUy1hbmltYXRlZCBoYW1idXJnZXJzXHJcbiAqIEBhdXRob3IgSm9uYXRoYW4gU3VoIEBqb25zdWhcclxuICogQHNpdGUgaHR0cHM6Ly9qb25zdWguY29tL2hhbWJ1cmdlcnNcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2pvbnN1aC9oYW1idXJnZXJzXHJcbiAqL1xuLmhhbWJ1cmdlciB7XG4gIHBhZGRpbmc6IDE4cHggMCAxMHB4IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCBmaWx0ZXI7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgLmhhbWJ1cmdlcjpob3ZlciB7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIC5oYW1idXJnZXIuaXMtYWN0aXZlOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcixcbiAgLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLFxuICAuaGFtYnVyZ2VyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGMDIwMDsgfVxuXG4uaGFtYnVyZ2VyLWJveCB7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDIxcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5oYW1idXJnZXItaW5uZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0xLjVweDsgfVxuICAuaGFtYnVyZ2VyLWlubmVyLCAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkYwMjAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOyB9XG4gIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IC05cHg7IH1cbiAgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGJvdHRvbTogLTlweDsgfVxuXG4vKlxyXG4gICAqIFNsaWRlclxyXG4gICAqL1xuLmhhbWJ1cmdlci0tc2xpZGVyIC5oYW1idXJnZXItaW5uZXIge1xuICB0b3A6IDEuNXB4OyB9XG4gIC5oYW1idXJnZXItLXNsaWRlciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogOXB4O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1czsgfVxuICAuaGFtYnVyZ2VyLS1zbGlkZXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRvcDogMThweDsgfVxuXG4uaGFtYnVyZ2VyLS1zbGlkZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDlweCwgMCkgcm90YXRlKDQ1ZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS1zbGlkZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgtNC41NzE0M3B4LCAtNnB4LCAwKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5oYW1idXJnZXItLXNsaWRlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE4cHgsIDApIHJvdGF0ZSgtOTBkZWcpOyB9XG5cbi5zZWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogM2VtO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgei1pbmRleDogMTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0ZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNlY3Rpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDRlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgLnNlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24gLmdyaWQtY29udGFpbmVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjZzIGVhc2Utb3V0OyB9XG4gICAgLnNlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24gLmdyaWQtY29udGFpbmVyOjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1vdXQgLjZzOyB9XG4gICAgLnNlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24gLmdyaWQtY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuc2VjdGlvbi5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbiAuZ3JpZC1jb250YWluZXIuYWN0aXZlOjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gIC5zZWN0aW9uLS1yZWR1Y2VkIHtcbiAgICBwYWRkaW5nLXRvcDogNGVtICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tLXJlZHVjZWQge1xuICAgICAgICBwYWRkaW5nLXRvcDogNGVtICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2VjdGlvbi0tY29sbGFwc2Utb3ZlcnJpZGUge1xuICBwYWRkaW5nLXRvcDogM2VtICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbi0tY29sbGFwc2Utb3ZlcnJpZGUge1xuICAgICAgcGFkZGluZy10b3A6IDhlbSAhaW1wb3J0YW50OyB9IH1cbiAgLnNlY3Rpb24tLWNvbGxhcHNlLW92ZXJyaWRlLnNlY3Rpb24tLWxpZ2h0LXBpbmssIC5zZWN0aW9uLS1jb2xsYXBzZS1vdmVycmlkZS5zZWN0aW9uLS1saWdodC1ibHVlLCAuc2VjdGlvbi0tY29sbGFwc2Utb3ZlcnJpZGUuc2VjdGlvbi0tbGlnaHQteWVsbG93IHtcbiAgICBwYWRkaW5nLXRvcDogNmVtICFpbXBvcnRhbnQ7IH1cblxuc2VjdGlvbi5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbiAuZ3JpZC1hbmltYXRlIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDFzIGN1YmljLWJlemllcigwLjY1LCAwLCAwLjM1LCAxKTsgfVxuXG5zZWN0aW9uLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uLmFjdGl2ZSAuZ3JpZC1hbmltYXRlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2VjdGlvbi0tY29sbGFwc2UgKyAuc2VjdGlvbi0tY29sbGFwc2UsIC5zZWN0aW9uLS1ncmV5ICsgLnNlY3Rpb24tLWdyZXkge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4uc2VjdGlvbi0tZ3JleSB7XG4gIGJhY2tncm91bmQ6ICNGOEY4Rjg7IH1cblxuLnNlY3Rpb24tLXB1bGwtdXAge1xuICBtYXJnaW4tdG9wOiAtMmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24tLXB1bGwtdXAge1xuICAgICAgbWFyZ2luLXRvcDogLTVlbTsgfSB9XG5cbi5zZWN0aW9uX19ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxZW07XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbl9fZ3JpZCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNlY3Rpb25fX2NlbGwge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cblxuLnNlY3Rpb25fX2NlbGwgLmNhcmQtLXBvc3Qge1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNlY3Rpb25fX2NlbGwgLmNhcmQtLXBvc3Qge1xuICAgICAgZmxleC1ncm93OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNlY3Rpb25fX2NlbGwgLmJ1dHRvbi1jb250YWluZXIge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBhbGlnbi1jb250ZW50OiBlbmQ7IH0gfVxuXG4uc2VjdGlvbl9fY2VsbCAuYnV0dG9uLWNvbnRhaW5lciAuYnV0dG9uLCAuc2VjdGlvbl9fY2VsbCAuYnV0dG9uLWNvbnRhaW5lciAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLnNlY3Rpb25fX2NlbGwgLmJ1dHRvbi1jb250YWluZXIgYnV0dG9uIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5zZWN0aW9uLS1jdXN0b21lci1xdW90ZSB7XG4gIHotaW5kZXg6IDI7IH1cblxuLnNlY3Rpb24tLXotaW5kZXgtcmFpc2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBOYXYgTGF5b3V0XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5uYXZiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogLjVyZW0gMXJlbTsgfVxuICAubmF2YmFyIC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAzMDsgfVxuXG4ubmF2YmFyLW1haW4ge1xuICBwYWRkaW5nLXRvcDogNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIsIDEyLCAxMiwgMCk7XG4gIGJveC1zaGFkb3c6IDBweCAzcHggM3B4IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjdzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm5hdmJhci1tYWluIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7IH0gfVxuXG4ubmF2YmFyLW1haW4uc2hvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIsIDEyLCAxMiwgMC45KTtcbiAgYm94LXNoYWRvdzogMHB4IDNweCAzcHggcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxuXG4ubmF2YmFyLW1haW4gLm5hdi1pdGVtIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tbGVmdDogMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5uYXZiYXItbWFpbiAubmF2LWxpbmsge1xuICBjb2xvcjogI2RlYjY2ODtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG5cbi5uYXZiYXItbWFpbiAubmF2LWxpbms6aG92ZXIsXG4ubmF2YmFyLW1haW4ucGFnZS1jb2xvci1saWdodCAubmF2LWxpbms6aG92ZXIge1xuICBjb2xvcjogI2ZmYzYwMTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC43cyBlYXNlLWluLW91dDsgfVxuXG4ubmF2YmFyLW1haW4gLm5hdi1pdGVtLmFjdGl2ZSAubmF2LWxpbmsge1xuICBjb2xvcjogI2JiYmJiYjsgfVxuXG4ubmF2LWFuZC1sb2dvLFxuLm5hdi1jb250YWN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5uYXYtYW5kLWxvZ28gPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5uYXYtY29udGFjdCA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4ubmF2LWNvbnRhY3QgPiBsaS5jb250YWN0LWxpbmsge1xuICBoZWlnaHQ6IDcwcHg7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlZGMyNmY7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XG5cbi5uYXYtYW5kLWxvZ28gPiBsaS5uYXYtbWVudS1idG4ge1xuICBoZWlnaHQ6IDcwcHg7XG4gIHdpZHRoOiA3MHB4O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlZGMyNmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgcGFkZGluZy10b3A6IDIycHg7XG4gIGJhY2tncm91bmQ6ICMxODE5MWE7IH1cblxuLm5hdi1hbmQtbG9nbyA+IGxpLm5hdi1tZW51LWxvZ28ge1xuICB3aWR0aDogOTBweDtcbiAgaGVpZ2h0OiA5MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgcGFkZGluZy10b3A6IDVweDtcbiAgYmFja2dyb3VuZDogIzE4MTkxYTsgfVxuXG4ubmF2LWFuZC1sb2dvID4gbGkubmF2LW1lbnUtYnRuID4gYSB7XG4gIGNvbG9yOiAjZWRjMjZmOyB9XG5cbi5uYXYtbG9nbyB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ubmF2LWxvZ28gc3ZnIHtcbiAgZmlsbDogI0UxQ0JDMztcbiAgd2lkdGg6IDgwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAubmF2LWxvZ28gc3ZnIHtcbiAgICAgIHdpZHRoOiA2MHB4OyB9IH1cblxuLm5hdmJhci1tYWluIC5uYXZiYXItdG9nZ2xlciBpIHtcbiAgY29sb3I6ICNiYmJiYmI7IH1cblxuLm5hdmJhci1tYWluIC5uYXZiYXItdG9nZ2xlcjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLm5hdmJhci1tYWluIC5uYXZiYXItbmF2IHtcbiAgcGFkZGluZy10b3A6IDE1cHg7IH1cblxuLm5hdmJhci1tYWluIC5uYXZiYXItbmF2IC5kaXZpZGVyLmZpcnN0IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM3Nzc3Nzc7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHRyYW5zaXRpb246IGJvcmRlciAwLjdzIGVhc2UtaW4tb3V0OyB9XG5cbi5uYXZiYXItbWFpbi5zaG93IC5uYXZiYXItbmF2IC5kaXZpZGVyLmZpcnN0IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM0NDQ0NDQ7IH1cblxuLm5hdi1tZW51IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5uYXYtbWVudSBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLm5hdi1tZW51IGxpIC5idXR0b24sIC5uYXYtbWVudSBsaSAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLm5hdi1tZW51IGxpIGJ1dHRvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkZGQ0Y1O1xuICAgICAgY29sb3I6ICNGRkZDRjU7XG4gICAgICBwYWRkaW5nOiAxZW0gMS4zZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuNWVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAubmF2LW1lbnUgbGkgLmJ1dHRvbiwgLm5hdi1tZW51IGxpIC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAubmF2LW1lbnUgbGkgYnV0dG9uIHtcbiAgICAgICAgICBwYWRkaW5nOiAxLjNlbSAxLjZlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDNlbTsgfSB9XG4gICAgICAubmF2LW1lbnUgbGkgLmJ1dHRvbjphZnRlciwgLm5hdi1tZW51IGxpIC5mb3JtLWNvbnRhaW5lciBidXR0b246YWZ0ZXIsIC5mb3JtLWNvbnRhaW5lciAubmF2LW1lbnUgbGkgYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLm5hdi1tZW51IGxpIC5idXR0b246YmVmb3JlLCAubmF2LW1lbnUgbGkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpiZWZvcmUsIC5mb3JtLWNvbnRhaW5lciAubmF2LW1lbnUgbGkgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTAuOWVtO1xuICAgICAgICB0b3A6IDZweDtcbiAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjODE3RDcxOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLm5hdi1tZW51IGxpIC5idXR0b246YmVmb3JlLCAubmF2LW1lbnUgbGkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpiZWZvcmUsIC5mb3JtLWNvbnRhaW5lciAubmF2LW1lbnUgbGkgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgICByaWdodDogLTEuNmVtO1xuICAgICAgICAgICAgdG9wOiAxMHB4OyB9IH1cbiAgICAgIC5uYXYtbWVudSBsaSAuYnV0dG9uOmhvdmVyLCAubmF2LW1lbnUgbGkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5uYXYtbWVudSBsaSBidXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGQ0Y1O1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uYnRuLW9wZW4tbWVudSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICBwYWRkaW5nLXRvcDogMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI0ZGRkNGNTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0ZGRkNGNTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idG4tb3Blbi1tZW51IHtcbiAgICAgIHdpZHRoOiA2MnB4O1xuICAgICAgaGVpZ2h0OiA2MnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDYycHg7XG4gICAgICBwYWRkaW5nLXRvcDogMjRweDsgfSB9XG5cbi5idG4tb3Blbi1tZW51IHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGhlaWdodDogMnB4O1xuICB3aWR0aDogMjRweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBiYWNrZ3JvdW5kOiAjRThEQ0MyOyB9XG5cbi5idG4tb3Blbi1tZW51IHNwYW46bnRoLW9mLXR5cGUoMikge1xuICB3aWR0aDogMThweDsgfVxuXG4uYnRuLW9wZW4tbWVudSBzcGFuOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmJ0bi1vcGVuLW1lbnU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjRkZGQ0Y1OyB9XG4gIC5idG4tb3Blbi1tZW51OmhvdmVyIHNwYW4ge1xuICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7IH1cblxuLypcclxuXHJcblxyXG5cclxuI25hdi10b2dnbGUgeyBjdXJzb3I6IHBvaW50ZXI7IHBhZGRpbmc6IDEycHggMzVweCAxNnB4IDBweDsgfVxyXG5cclxuXHJcblxyXG4jbmF2LXRvZ2dsZSBzcGFuLCAjbmF2LXRvZ2dsZSBzcGFuOmJlZm9yZSwgI25hdi10b2dnbGUgc3BhbjphZnRlciwgLm5hdmJhci1tYWluLnBhZ2UtY29sb3ItbGlnaHQgI25hdi10b2dnbGUgc3BhbiwgLm5hdmJhci1tYWluLnBhZ2UtY29sb3ItbGlnaHQgI25hdi10b2dnbGUgc3BhbjpiZWZvcmUsIC5uYXZiYXItbWFpbi5wYWdlLWNvbG9yLWxpZ2h0ICNuYXYtdG9nZ2xlIHNwYW46YWZ0ZXIge1xyXG5cclxuICBjdXJzb3I6IHBvaW50ZXI7IFxyXG5cclxuICBib3JkZXItcmFkaXVzOiAxcHg7IFxyXG5cclxuICBoZWlnaHQ6IDJweDtcclxuXHJcbiAgd2lkdGg6IDI1cHg7XHJcblxyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG5cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICBjb250ZW50OiAnJztcclxuXHJcbn1cclxuXHJcblxyXG5cclxuI25hdi10b2dnbGUgc3BhbjpiZWZvcmUge1xyXG5cclxuICB0b3A6IC04cHg7IFxyXG5cclxufVxyXG5cclxuXHJcblxyXG4jbmF2LXRvZ2dsZSBzcGFuOmFmdGVyIHtcclxuXHJcbiAgYm90dG9tOiAtOHB4O1xyXG5cclxufVxyXG5cclxuXHJcblxyXG4jbmF2LXRvZ2dsZSBzcGFuLCAjbmF2LXRvZ2dsZSBzcGFuOmJlZm9yZSwgI25hdi10b2dnbGUgc3BhbjphZnRlciB7XHJcblxyXG4gIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlLWluLW91dDtcclxuXHJcbn1cclxuXHJcblxyXG5cclxuI25hdi10b2dnbGUuYWN0aXZlIHNwYW4sIC5uYXZiYXItbWFpbi5wYWdlLWNvbG9yLWxpZ2h0ICNuYXYtdG9nZ2xlLmFjdGl2ZSBzcGFuIHtcclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG59XHJcblxyXG5cclxuXHJcbiNuYXYtdG9nZ2xlLmFjdGl2ZSBzcGFuOmJlZm9yZSwgI25hdi10b2dnbGUuYWN0aXZlIHNwYW46YWZ0ZXIge1xyXG5cclxuICB0b3A6IDA7XHJcblxyXG59XHJcblxyXG5cclxuXHJcbiNuYXYtdG9nZ2xlLmFjdGl2ZSBzcGFuOmJlZm9yZSB7XHJcblxyXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuXHJcbn1cclxuXHJcblxyXG5cclxuI25hdi10b2dnbGUuYWN0aXZlIHNwYW46YWZ0ZXIge1xyXG5cclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG5cclxufVxyXG5cclxuXHJcblxyXG4qL1xuLm5hdmJhci1tYWluLnBhZ2UtY29sb3ItbGlnaHQge1xuICBjb2xvcjogIzExMTExMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICAvKiBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgKi8gfVxuXG4ubmF2YmFyLW1haW4ucGFnZS1jb2xvci1saWdodC5zaG93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIC8qIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOyAqLyB9XG5cbi5uYXZiYXItbWFpbi5wYWdlLWNvbG9yLWxpZ2h0IC5uYXYtbGluayB7XG4gIGNvbG9yOiAjMjEyNTI5OyB9XG5cbi5uYXZiYXItbWFpbi5wYWdlLWNvbG9yLWxpZ2h0IC5uYXYtaXRlbS5hY3RpdmUgLm5hdi1saW5rIHtcbiAgY29sb3I6ICMyMTI1Mjk7IH1cblxuLm5hdmJhci1tYWluLnBhZ2UtY29sb3ItbGlnaHQgLm5hdi1sb2dvIHN2ZyB7XG4gIGZpbGw6ICMxMDExMTE7IH1cblxuLm5hdmJhci1tYWluIC5uYXZiYXItdG9nZ2xlciBpIHtcbiAgY29sb3I6ICMyMTI1Mjk7IH1cblxuLypcclxuXHJcbi5uYXZiYXItbWFpbi5wYWdlLWNvbG9yLWxpZ2h0IC5uYXYtbGluazpob3ZlciB7XHJcblxyXG5cdGNvbG9yOiAjNzc3Nzc3O1xyXG5cclxufVxyXG5cclxuKi9cbi5uYXZiYXItbWFpbi5wYWdlLWNvbG9yLWxpZ2h0ICNuYXYtdG9nZ2xlIHNwYW4sXG4ubmF2YmFyLW1haW4ucGFnZS1jb2xvci1saWdodCAjbmF2LXRvZ2dsZSBzcGFuOmJlZm9yZSxcbi5uYXZiYXItbWFpbi5wYWdlLWNvbG9yLWxpZ2h0ICNuYXYtdG9nZ2xlIHNwYW46YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjMjEyNTI5OyB9XG5cbi5uYXZiYXItbWFpbi5wYWdlLWNvbG9yLWxpZ2h0IC5uYXYtaXRlbS5hY3RpdmUgLm5hdi1saW5rIHtcbiAgY29sb3I6ICNhYWFhYWE7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBOYXYgT3ZlcmxheVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ub3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNCwgMjUsIDI2LCAwLjk3KTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjM1cywgdmlzaWJpbGl0eSAuMzVzLCBoZWlnaHQgLjM1cztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMTAwMDAwMDsgfVxuXG4ub3ZlcmxheS5vcGVuIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5vdmVybGF5IC5uYXYtdGl0bGUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGNvbG9yOiAjZGVkZWRlO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbiAgdG9wOiA4JTsgfVxuXG4ub3ZlcmxheSBuYXYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIGhlaWdodDogNTAlOyAqL1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBmb250LXNpemU6IDMycHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAzcHg7IH1cblxuLm92ZXJsYXkgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4ub3ZlcmxheSB1bCBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG9wYWNpdHk6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIC8qIHBhZGRpbmctbGVmdDogMjVweDsgKi8gfVxuXG4ub3ZlcmxheSB1bCBsaS5uby1wYWRkaW5nLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLm92ZXJsYXkgdWwgbGkubWVudS1sb2dvIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4ub3ZlcmxheSB1bCBsaS5tZW51LWxvZ28gaW1nIHtcbiAgaGVpZ2h0OiA1MHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm92ZXJsYXkgdWwgbGkubWVudS1sb2dvIGltZyB7XG4gICAgICBoZWlnaHQ6IDcwcHg7IH0gfVxuXG4ub3ZlcmxheSB1bCBsaS5ob21lIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBsaW5lLWhlaWdodDogMThweDsgfVxuXG4ub3ZlcmxheSB1bCBsaS5jbG9zZS1tZW51IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG4ub3ZlcmxheSB1bCBsaS5tZW51LXN1YnRleHQge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxM3B4O1xuICBjb2xvcjogIzc0NzQ3NDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDVweDsgfVxuXG4ub3ZlcmxheSB1bCBsaSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICNGRUZDRjk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6IFwiUGxheWZhaXIgRGlzcGxheVwiLCBzZXJpZjsgfVxuXG4ub3ZlcmxheSB1bCBsaSBhOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDQzLjUlO1xuICB3aWR0aDogMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6ICNFMUNCQzM7XG4gIHRyYW5zaXRpb246IC4zNXM7IH1cblxuLm92ZXJsYXkgdWwgbGkgYTpob3Zlcixcbi5vdmVybGF5IHVsIGxpIGE6Zm9jdXMsXG4ub3ZlcmxheSB1bCBsaSBhOmFjdGl2ZSB7XG4gIGNvbG9yOiAjRTFDQkMzOyB9XG5cbi5vdmVybGF5IHVsIGxpIGE6aG92ZXI6YWZ0ZXIsXG4ub3ZlcmxheSB1bCBsaSBhOmZvY3VzOmFmdGVyLFxuLm92ZXJsYXkgdWwgbGkgYTphY3RpdmU6YWZ0ZXIge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI0UxQ0JDMzsgfVxuXG4ub3ZlcmxheS5vcGVuIGxpIHtcbiAgYW5pbWF0aW9uOiBmYWRlSW5SaWdodCAuNXMgZWFzZSBmb3J3YXJkcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAuMzVzOyB9XG5cbi5vdmVybGF5Lm9wZW4gbGk6bnRoLW9mLXR5cGUoMikge1xuICBhbmltYXRpb24tZGVsYXk6IC40czsgfVxuXG4ub3ZlcmxheS5vcGVuIGxpOm50aC1vZi10eXBlKDMpIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAuNDVzOyB9XG5cbi5vdmVybGF5Lm9wZW4gbGk6bnRoLW9mLXR5cGUoNCkge1xuICBhbmltYXRpb24tZGVsYXk6IC41MHM7IH1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGxlZnQ6IDIwJTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGxlZnQ6IDA7IH0gfVxuXG5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAwOyB9XG5cbi5vcGVuLW1lbnUsXG4uY2xvc2UtbWVudSwgLmJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uYnRuLWNsb3NlLW1lbnUgc3ZnLFxuLmJ0bi1tZW51LWhvbWUgc3ZnIHtcbiAgd2lkdGg6IDQwcHg7XG4gIGZpbGw6ICNkZWRlZGU7IH1cblxuLmJ0bi1jbG9zZS1tZW51OmhvdmVyIHN2Zyxcbi5idG4tbWVudS1ob21lOmhvdmVyIHN2ZyB7XG4gIGZpbGw6ICNFMUNCQzM7IH1cblxuLm92ZXJsYXkgLmJ1dHRvbiwgLm92ZXJsYXkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5vdmVybGF5IGJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQjdBNDlEO1xuICBjb2xvcjogI0I3QTQ5RDtcbiAgbWFyZ2luLXRvcDogMmVtOyB9XG4gIC5vdmVybGF5IC5idXR0b246aG92ZXIsIC5vdmVybGF5IC5mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAub3ZlcmxheSBidXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0ZFRkNGOTtcbiAgICBjb2xvcjogI0ZFRkNGOTsgfVxuICAgIC5vdmVybGF5IC5idXR0b246aG92ZXI6YWZ0ZXIsIC5vdmVybGF5IC5mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXI6YWZ0ZXIsIC5mb3JtLWNvbnRhaW5lciAub3ZlcmxheSBidXR0b246aG92ZXI6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubmF2YmFyLmdvaW5nLWRvd24ge1xuICAgIHRvcDogLTE3NXB4OyB9XG4gIC5uYXZiYXIuZ29pbmctdXAge1xuICAgIHRvcDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTgzLCAxNjQsIDE1NywgMC42NSk7IH1cbiAgLm5hdmJhci50b3AtZmxvb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5uYXZiYXIud2hpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cblxuLm5hdmJhci0tZGFyay5nb2luZy11cCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTIsIDI0NSwgMC43NSk7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLm5hdmJhci0tZGFyayAubmF2LWxvZ28gc3ZnIHtcbiAgZmlsbDogIzAwMDAwMDsgfVxuXG4ubmF2YmFyLS1kYXJrIC5uYXYtbWVudSBsaSAuYnV0dG9uLCAubmF2YmFyLS1kYXJrIC5uYXYtbWVudSBsaSAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLm5hdmJhci0tZGFyayAubmF2LW1lbnUgbGkgYnV0dG9uIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLm5hdmJhci0tZGFyayAubmF2LW1lbnUgbGkgLmJ1dHRvbjpob3ZlciwgLm5hdmJhci0tZGFyayAubmF2LW1lbnUgbGkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5uYXZiYXItLWRhcmsgLm5hdi1tZW51IGxpIGJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICBjb2xvcjogI0ZGRkNGNTsgfVxuXG4ubmF2YmFyLS1kYXJrIC5idG4tb3Blbi1tZW51IHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IH1cbiAgLm5hdmJhci0tZGFyayAuYnRuLW9wZW4tbWVudSBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kOiAjQjRCMUFGOyB9XG4gIC5uYXZiYXItLWRhcmsgLmJ0bi1vcGVuLW1lbnU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7IH1cbiAgICAubmF2YmFyLS1kYXJrIC5idG4tb3Blbi1tZW51OmhvdmVyIHNwYW4ge1xuICAgICAgYmFja2dyb3VuZDogI0ZGRkNGNTsgfVxuXG4uZm9vdGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCAjRjZGM0VGOyB9XG4gIC5mb290ZXJfX2dyaWQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1heC13aWR0aDogOTByZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mb290ZXJfX2dyaWQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5mb290ZXJfX2dyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAgIC5mb290ZXJfX2dyaWQtLXNhbG9uLWluZm9ybWF0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi10b3A6IDBlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmZvb3Rlcl9fZ3JpZC0tc2Fsb24taW5mb3JtYXRpb24ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDRlbTsgfSB9XG4gICAgICAuZm9vdGVyX19ncmlkLS1zYWxvbi1pbmZvcm1hdGlvbjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjQjRCMUFGO1xuICAgICAgICBtYXJnaW4tdG9wOiAyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5mb290ZXJfX2dyaWQtLXNhbG9uLWluZm9ybWF0aW9uOmFmdGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRlbTsgfSB9XG4gICAgLmZvb3Rlcl9fZ3JpZC0tY29udGFjdC1pbmZvcm1hdGlvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuZm9vdGVyX19ncmlkLS1jb250YWN0LWluZm9ybWF0aW9uOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNCNEIxQUY7XG4gICAgICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmZvb3Rlcl9fZ3JpZC0tY29udGFjdC1pbmZvcm1hdGlvbjphZnRlciB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0ZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0ZW07IH0gfVxuICAgIC5mb290ZXJfX2dyaWQtLWxlZ2FsLXNvY2lhbCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBtYXJnaW4tYm90dG9tOiA0ZW07IH1cbiAgLmZvb3Rlcl9fbGFyZ2UtbG9nbyB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZm9vdGVyX19sYXJnZS1sb2dvLWJ1dHRvbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNlbSk7IH1cbiAgLmZvb3Rlcl9fYWJvdXQtbWVudSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZm9vdGVyX19hYm91dC1tZW51IHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5mb290ZXJfX29wZW5pbmctdGltZXMsIC5mb290ZXJfX29ubGluZS1ib29raW5nLCAuZm9vdGVyX19wYXltZW50LW1ldGhvZHMge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZvb3Rlcl9fb3BlbmluZy10aW1lcywgLmZvb3Rlcl9fb25saW5lLWJvb2tpbmcsIC5mb290ZXJfX3BheW1lbnQtbWV0aG9kcyB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZm9vdGVyX19vcGVuaW5nLXRpbWVzIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgd2lkdGg6IGNhbGMoMjkuMTY2NjclIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMWVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZm9vdGVyX19vbmxpbmUtYm9va2luZyB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5mb290ZXJfX2Fib3V0LW1lbnUsIC5mb290ZXJfX29wZW5pbmctdGltZXMsIC5mb290ZXJfX29ubGluZS1ib29raW5nLCAuZm9vdGVyX19wYXltZW50LW1ldGhvZHMge1xuICAgIG1hcmdpbi1ib3R0b206IDNlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZm9vdGVyX19hYm91dC1tZW51LCAuZm9vdGVyX19vcGVuaW5nLXRpbWVzLCAuZm9vdGVyX19vbmxpbmUtYm9va2luZywgLmZvb3Rlcl9fcGF5bWVudC1tZXRob2RzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmZvb3Rlcl9fYWJvdXQtbWVudSBoNSwgLmZvb3Rlcl9fb3BlbmluZy10aW1lcyBoNSwgLmZvb3Rlcl9fb25saW5lLWJvb2tpbmcgaDUsIC5mb290ZXJfX3BheW1lbnQtbWV0aG9kcyBoNSB7XG4gICAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgIC5mb290ZXJfX2Fib3V0LW1lbnUgdWwsIC5mb290ZXJfX29wZW5pbmctdGltZXMgdWwsIC5mb290ZXJfX29ubGluZS1ib29raW5nIHVsLCAuZm9vdGVyX19wYXltZW50LW1ldGhvZHMgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuZm9vdGVyX19jb250YWN0LWhlYWRlciwgLmZvb3Rlcl9fY29udGFjdC1pbmZvcm1hdGlvbiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAxZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZvb3Rlcl9fY29udGFjdC1oZWFkZXIsIC5mb290ZXJfX2NvbnRhY3QtaW5mb3JtYXRpb24ge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIC5mb290ZXJfX2NvbnRhY3QtaW5mb3JtYXRpb24ge1xuICAgIG1hcmdpbi10b3A6IDJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZm9vdGVyX19jb250YWN0LWluZm9ybWF0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIC5mb290ZXJfX29wZW5pbmctdGltZXMgdWwgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5mb290ZXJfX3BheW1lbnQtbWV0aG9kcy1sb2dvcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBtYXJnaW4tdG9wOiAyZW07IH1cbiAgICAuZm9vdGVyX19wYXltZW50LW1ldGhvZHMtbG9nb3MgaW1nOmZpcnN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07IH1cbiAgLmZvb3Rlcl9fY29udGFjdC1oZWFkZXIgaDMge1xuICAgIGZvbnQtc2l6ZTogNjJweDtcbiAgICBsaW5lLWhlaWdodDogNjJweDtcbiAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9vdGVyX19jb250YWN0LWluZm9ybWF0aW9uIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgLmZvb3Rlcl9fY29udGFjdC1pbmZvcm1hdGlvbiB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuZm9vdGVyX19jb250YWN0LWluZm9ybWF0aW9uIHVsIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZm9vdGVyX19jb250YWN0LWluZm9ybWF0aW9uIHVsIGxpIHtcbiAgICAgICAgICBmb250LXNpemU6IDIycHg7IH0gfVxuICAgICAgLmZvb3Rlcl9fY29udGFjdC1pbmZvcm1hdGlvbiB1bCBsaS50aXRsZSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIC5mb290ZXJfX2NvbnRhY3QtaW5mb3JtYXRpb24gdWwgbGkubnVtYmVyIHtcbiAgICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDJweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUGxheWZhaXIgRGlzcGxheVwiLCBzZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5mb290ZXJfX2NvbnRhY3QtaW5mb3JtYXRpb24gdWwgbGkubnVtYmVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNjZweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2NnB4OyB9IH1cbiAgICAgIC5mb290ZXJfX2NvbnRhY3QtaW5mb3JtYXRpb24gdWwgbGkuZW1haWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAxZW07IH1cbiAgLmZvb3Rlcl9fbGVnYWwtbWVudSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9vdGVyX19sZWdhbC1tZW51IHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICAuZm9vdGVyX19zb2NpYWwtaWNvbnMge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZvb3Rlcl9fc29jaWFsLWljb25zIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgLmZvb3Rlcl9fbGVnYWwtbWVudSwgLmZvb3Rlcl9fc29jaWFsLWljb25zIHtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAuZm9vdGVyX19sZWdhbC1tZW51IHVsLCAuZm9vdGVyX19zb2NpYWwtaWNvbnMgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmZvb3Rlcl9fbGVnYWwtbWVudSB1bCBsaSwgLmZvb3Rlcl9fc29jaWFsLWljb25zIHVsIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5mb290ZXJfX2xlZ2FsLW1lbnUgdWwgbGkge1xuICAgIG1hcmdpbi1yaWdodDogMS41ZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgLmZvb3Rlcl9fbGVnYWwtbWVudSB1bCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5mb290ZXJfX3NvY2lhbC1pY29ucyB1bCB7XG4gICAgICBtYXJnaW4tdG9wOiAyZW07IH0gfVxuICAuZm9vdGVyX19zb2NpYWwtaWNvbnMgdWwgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAuZm9vdGVyX19zb2NpYWwtaWNvbnMgdWwgbGkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTsgfSB9XG4gIC5mb290ZXJfX2NvcHlyaWdodCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAuZm9vdGVyX19jb3B5cmlnaHQgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmZvb3Rlcl9fY29weXJpZ2h0IHVsIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAgIC5mb290ZXJfX2NvcHlyaWdodCB1bCBsaTpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJlbTsgfVxuICAuZm9vdGVyX19hZGRyZXNzIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAuZm9vdGVyX19sb2dvLXN0YW1wIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAzZW07XG4gICAgbWFyZ2luLWJvdHRvbTogM2VtOyB9XG5cbi5zZWN0aW9uLS1jYXJkcyB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogY2xpcDsgfVxuXG4uc2VjdGlvbi0tY2FyZHMtZmVhdHVyZSB7XG4gIHotaW5kZXg6IDI7IH1cbiAgLnNlY3Rpb24tLWNhcmRzLWZlYXR1cmUgLmdyaWQtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgcGFkZGluZzogMmVtOyB9XG5cbi5jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgbWF4LXdpZHRoOiAzODBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNhcmQge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICB3aWR0aDogY2FsYyggMTAwJSAvIDMgLSAzZW0pO1xuICAgICAgbWF4LXdpZHRoOiAzNjhweDsgfSB9XG4gIC5jYXJkLS1mbHVpZCB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNhcmQtLWZsdWlkIHtcbiAgICAgICAgZmxleDogYXV0bztcbiAgICAgICAgd2lkdGg6IG1pbi1jb250ZW50O1xuICAgICAgICBtaW4td2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgLmNhcmQtLWZsdWlkLWdyaWQge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGdhcDogMWVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jYXJkLS1mbHVpZC1ncmlkIHtcbiAgICAgICAgZmxleDogYXV0bztcbiAgICAgICAgd2lkdGg6IG1pbi1jb250ZW50O1xuICAgICAgICBtaW4td2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICAuY2FyZC0tZmx1aWQtZ3JpZCAuY2FyZF9faW1hZ2UtLTQzIHtcbiAgICAgIGFzcGVjdC1yYXRpbzogNC8zO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jYXJkLS1mbHVpZC1ncmlkIC5jYXJkX19pbWFnZS0tNDMge1xuICAgICAgICAgIG1heC13aWR0aDogMTgwcHg7IH0gfVxuICAgIC5jYXJkLS1mbHVpZC1ncmlkIC5jYXJkX19zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IC41ZW07XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmNhcmQtLWZsdWlkLWdyaWQgLmNhcmRfX3RpdGxlIHtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC5jYXJkLS1mbHVpZC1ncmlkIC5jYXJkX190aXRsZSwgLmNhcmQtLWZsdWlkLWdyaWQgLmNhcmRfX3N1YnRpdGxlIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY2FyZC0tcmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDlweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAuY2FyZC0taG9yaXpvbnRhbCB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2FyZC0taG9yaXpvbnRhbCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICAuY2FyZC0taG9yaXpvbnRhbCA+ICoge1xuICAgICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAuY2FyZC0tcG9zdCB7XG4gICAgcGFkZGluZzogMCAxZW07IH1cbiAgICAuY2FyZC0tcG9zdCAuY2FyZF9fc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAxZW0gMCAxZW07IH1cbiAgICAuY2FyZC0tcG9zdCBpbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogMWVtOyB9XG4gIC5jYXJkLS10d28tZ3JpZCB7XG4gICAgbWF4LXdpZHRoOiAzODBweDtcbiAgICBmbGV4OiAwIDAgODAlO1xuICAgIHdpZHRoOiA4MCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jYXJkLS10d28tZ3JpZCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIHdpZHRoOiBjYWxjKCAxMDAlIC0gM2VtKTsgfSB9XG4gIC5jYXJkX19saW5rIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgb3BhY2l0eTogLjgwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGVhc2Utb3V0OyB9XG4gICAgLmNhcmRfX2xpbms6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5jYXJkX19zZWN0aW9uIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgcGFkZGluZzogMS41ZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNhcmRfX3NlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAyZW0gM2VtOyB9IH1cbiAgLmNhcmRfX3NlY3Rpb24tLWRhcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjEyMUU7XG4gICAgbWFyZ2luOiAxZW07XG4gICAgcGFkZGluZzogMmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDFlbSAwIDAgMWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDFlbSAxZW0gMCAwO1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBtaW4taGVpZ2h0OiAxNWVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jYXJkX19zZWN0aW9uLS1kYXJrIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMWVtIDAgMCAxZW07IH0gfVxuICAuY2FyZF9fc2VjdGlvbi0tZ3JleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbiAgICBtYXJnaW46IDFlbTtcbiAgICBwYWRkaW5nOiAyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMWVtIDFlbSAwIDA7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIG1pbi1oZWlnaHQ6IDE1ZW07IH1cbiAgLmNhcmRfX2Zvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuY2FyZF9fZm9vdGVyLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDEuNWVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jYXJkX19mb290ZXItc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDJlbSAzZW07IH0gfVxuICAuY2FyZF9fcmVhZC10aW1lOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDIwMjInO1xuICAgIG1hcmdpbi1yaWdodDogLjVlbTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuY2FyZF9faW1hZ2UtYm9yZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiA5cHggI0UxMzQyOSBzb2xpZDsgfVxuICAuY2FyZF9faW1hZ2UtLXJhZGl1cyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IC41ZW0gIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMTEuNDI4NTdweCAxMS40Mjg1N3B4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jYXJkX19pbWFnZS0tcmFkaXVzIHtcbiAgICAgICAgbWFyZ2luOiAxLjVlbSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgOHB4IDhweDsgfSB9XG4gIC5jYXJkX19pbWFnZS0tNDMge1xuICAgIGFzcGVjdC1yYXRpbzogNC8zO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9XG4gIC5jYXJkX19pbWFnZS0tNDMxMjUge1xuICAgIGFzcGVjdC1yYXRpbzogNCAvIDMuMTI1O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9XG4gIC5jYXJkX19pbWFnZS0tNDMyNyB7XG4gICAgYXNwZWN0LXJhdGlvOiA0IC8gMy4yNztcbiAgICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuICAuY2FyZF9fdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogLjhlbTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNhcmRfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9IH1cbiAgLmNhcmRfX3RpdGxlLS13aGl0ZSB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmNhcmRfX3RpdGxlLS11bmRlcmxpbmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jYXJkX190aXRsZS0tdW5kZXJsaW5lOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNFMTM0MjkgMCUsICMxNjQzQTQgMTAwJSk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMWVtIDA7IH1cbiAgLmNhcmRfX3N1cnRpdGxlIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgbWFyZ2luLXRvcDogLTFlbTsgfVxuICAgIC5jYXJkX19zdXJ0aXRsZS0tcmVkIHtcbiAgICAgIGNvbG9yOiAjRTEzNDI5OyB9XG4gIC5jYXJkX19zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcbiAgICBjb2xvcjogIzE2NDNBNDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuY2FyZF9fc3lub3BzaXMge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgLmNhcmRfX3N5bm9wc2lzLS13aGl0ZSB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmNhcmRfX2F1dGhvciB7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gIC5jYXJkX19kYXRlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNhcmRfX2xvZ28ge1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweCAxNnB4IDE2cHggMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDExMHB4O1xuICAgIGhlaWdodDogMTEwcHg7XG4gICAgdG9wOiAtOTVweDtcbiAgICBib3gtc2hhZG93OiAwIDZweCA5cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgcGFkZGluZzogMWVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuY2FyZF9fbG9nby1pbWFnZSB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG4gIC5jYXJkX19hcnJvdyB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAyZW0gIWltcG9ydGFudDtcbiAgICB3aWR0aDogMmVtICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1nL2dyZWVuLWFycm93LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50OyB9XG4gIC5jYXJkX190ZXh0LWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMxNjQzQTQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNhcmRfX3RleHQtbGluazo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgIHdpZHRoOiAxZW07XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvZ3JlZW4tY2hldnJvbi1yaWdodC5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSk7IH1cbiAgICAuY2FyZF9fdGV4dC1saW5rOmhvdmVyOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoMWVtKTsgfVxuICAuY2FyZF9fY29udGVudCB7XG4gICAgcGFkZGluZzogMmVtOyB9XG4gIC5jYXJkIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5jYXJkIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLjVlbTsgfVxuICAgICAgLmNhcmQgdWwgbGk6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IHVybChcIi4uLy4uL2ltZy9ncmVlbi10aWNrLnN2Z1wiKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwOyB9XG4gICAgICAuY2FyZCB1bCBsaSBiIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNhcmQgYSwgYS5jYXJkIHtcbiAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmNhcmQgYSAuY2FyZF9fYXJyb3csIGEuY2FyZCAuY2FyZF9fYXJyb3cge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjY1LCAwLCAwLjM1LCAxKTsgfVxuICAuY2FyZCBhOmhvdmVyLCBhLmNhcmQ6aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLmNhcmQgYTpob3ZlciAuY2FyZF9fYXJyb3csIGEuY2FyZDpob3ZlciAuY2FyZF9fYXJyb3cge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJlbSk7IH1cblxuLmNhcmQgYSB7XG4gIGRpc3BsYXk6IGNvbnRlbnRzOyB9XG5cbi5jYXJkLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMmVtO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQHN1cHBvcnRzICgtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmUpIGFuZCAobm90ICh0cmFuc2xhdGU6IG5vbmUpKSB7XG4gICAgLmNhcmQtY29udGFpbmVyIC5jYXJkIHtcbiAgICAgIG1hcmdpbjogMWVtOyB9IH1cbiAgLmNhcmQtY29udGFpbmVyLS1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMWVtIDA7IH1cblxuLmNhcmQtc2Nyb2xsZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNhcmQtc2Nyb2xsZXIgLmNhcmQge1xuICAgIGZsZXg6IDAgMCA4MCU7XG4gICAgd2lkdGg6IDgwJTsgfVxuICAuY2FyZC1zY3JvbGxlcl9fc3RhZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMmVtIDFlbTtcbiAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG4gICAgc2Nyb2xsLXBhZGRpbmc6IDFlbTtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtICgxMDB2dyAtIDEwMCUpKTtcbiAgICBnYXA6IDJlbTtcbiAgICBtYXJnaW46IDAgMCAyZW0gMDsgfVxuICAgIEBzdXBwb3J0cyAoLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lKSBhbmQgKG5vdCAodHJhbnNsYXRlOiBub25lKSkge1xuICAgICAgLmNhcmQtc2Nyb2xsZXJfX3N0YWdlIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luOiAxZW07IH0gfVxuICAgIC5jYXJkLXNjcm9sbGVyX19zdGFnZTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgaGVpZ2h0OiAxMnB4OyB9XG4gICAgLmNhcmQtc2Nyb2xsZXJfX3N0YWdlOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwgLmNhcmQtc2Nyb2xsZXJfX3N0YWdlOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICBib3JkZXItcmFkaXVzOiA5MnB4OyB9XG4gICAgLmNhcmQtc2Nyb2xsZXJfX3N0YWdlOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTY0M0E0OyB9XG4gICAgLmNhcmQtc2Nyb2xsZXJfX3N0YWdlOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjhGOEY4OyB9XG4gICAgLmNhcmQtc2Nyb2xsZXJfX3N0YWdlLS1sb2NrZWQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5jYXJkLXNjcm9sbGVyX19zdGFnZS0tbG9ja2VkOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5jYXJkLXNjcm9sbGVyX19oYW5kbGVzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jYXJkLXNjcm9sbGVyX19oYW5kbGVzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIHdpZHRoOiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1vdXQ7IH0gfVxuICAgIC5jYXJkLXNjcm9sbGVyX19oYW5kbGVzLS1sb2NrZWQge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAuY2FyZC1zY3JvbGxlcl9fcHJldiwgLmNhcmQtc2Nyb2xsZXJfX25leHQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgaGVpZ2h0OiA2ZW07XG4gICAgd2lkdGg6IDNlbTtcbiAgICB0cmFuc2l0aW9uOiAuM3MgYWxsIGVhc2Utb3V0OyB9XG4gIC5jYXJkLXNjcm9sbGVyX19sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY2FyZC1zY3JvbGxlcl9fcHJldiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAxNjBweCAxNjBweCAwO1xuICAgIHBhZGRpbmctbGVmdDogMC42ZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0wLjVlbSk7IH1cbiAgICAuY2FyZC1zY3JvbGxlcl9fcHJldjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgLmNhcmQtc2Nyb2xsZXJfX25leHQge1xuICAgIGJvcmRlci1yYWRpdXM6IDE2MHB4IDAgMCAxNjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjZlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMC41ZW0pOyB9XG4gICAgLmNhcmQtc2Nyb2xsZXJfX25leHQ6aG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5jYXJkLWNvbnRhaW5lci11c2UtY2FzZS1zcGxpdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyOyB9XG4gIC5jYXJkLWNvbnRhaW5lci11c2UtY2FzZS1zcGxpdCBhOmZvY3VzLCAuY2FyZC1jb250YWluZXItdXNlLWNhc2Utc3BsaXQgYTphY3RpdmUsIC5jYXJkLWNvbnRhaW5lci11c2UtY2FzZS1zcGxpdCBhOmFjdGl2ZTpmb2N1cyB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmNhcmQtY29udGFpbmVyLXVzZS1jYXNlLXNwbGl0IC5jYXJkIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBhbmltYXRpb246IGZhZGVJbiAuNHMgbm9ybWFsIGZvcndhcmRzIGVhc2Utb3V0O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jYXJkLWNvbnRhaW5lci11c2UtY2FzZS1zcGxpdCAuY2FyZCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY2FyZC1jb250YWluZXItdXNlLWNhc2Utc3BsaXQgLmNhcmRfX2ltYWdlLCAuY2FyZC1jb250YWluZXItdXNlLWNhc2Utc3BsaXQgLmNhcmRfX3NlY3Rpb24ge1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICAuY2FyZC1jb250YWluZXItdXNlLWNhc2Utc3BsaXQgLmNhcmRfX3NlY3Rpb24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZ2FwOiAxZW07IH1cbiAgICAgIC5jYXJkLWNvbnRhaW5lci11c2UtY2FzZS1zcGxpdCAuY2FyZF9fc2VjdGlvbiAuY2FyZF9fdGl0bGUsIC5jYXJkLWNvbnRhaW5lci11c2UtY2FzZS1zcGxpdCAuY2FyZF9fc2VjdGlvbiAuY2FyZF9fc3lub3BzaXMsIC5jYXJkLWNvbnRhaW5lci11c2UtY2FzZS1zcGxpdCAuY2FyZF9fc2VjdGlvbiAuYnV0dG9uLCAuY2FyZC1jb250YWluZXItdXNlLWNhc2Utc3BsaXQgLmNhcmRfX3NlY3Rpb24gLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5jYXJkLWNvbnRhaW5lci11c2UtY2FzZS1zcGxpdCAuY2FyZF9fc2VjdGlvbiBidXR0b24sIC5jYXJkLWNvbnRhaW5lci11c2UtY2FzZS1zcGxpdCAuY2FyZF9fc2VjdGlvbiBwIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNhcmQtY29udGFpbmVyLXVzZS1jYXNlLXNwbGl0IC5jYXJkX19pbWFnZSB7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuXG4uY2FyZC1jb250YWluZXItdXNlLWNhc2Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgcGFkZGluZzogMmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgbWluLWhlaWdodDogNTQwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY2FyZC1jb250YWluZXItdXNlLWNhc2Uge1xuICAgICAgcGFkZGluZzogNGVtOyB9IH1cbiAgLmNhcmQtY29udGFpbmVyLXVzZS1jYXNlIGE6Zm9jdXMsIC5jYXJkLWNvbnRhaW5lci11c2UtY2FzZSBhOmFjdGl2ZSwgLmNhcmQtY29udGFpbmVyLXVzZS1jYXNlIGE6YWN0aXZlOmZvY3VzIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuY2FyZC1jb250YWluZXItdXNlLWNhc2UgLmNhcmQge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIG1heC13aWR0aDogNTYwcHg7XG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gLjRzIG5vcm1hbCBmb3J3YXJkcyBlYXNlLW91dDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuOSk7IH1cbiAgICAuY2FyZC1jb250YWluZXItdXNlLWNhc2UgLmNhcmQ6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTJlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgYm90dG9tOiA0ZW07XG4gICAgICBib3JkZXItdG9wOiAyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiAyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItbGVmdDogMmVtIHNvbGlkIHJnYmEoMjU0LCAyNTQsIDI1NCwgMC45KTtcbiAgICAgIC8qIFRyaWFuZ2xlIGNvbG9yICovIH1cbiAgICAuY2FyZC1jb250YWluZXItdXNlLWNhc2UgLmNhcmQgLmNhcmRfX2F1dGhvciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogMWVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY2FyZC1jb250YWluZXItdXNlLWNhc2UgLmNhcmQgLmNhcmRfX2F1dGhvciB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgICAuY2FyZC1jb250YWluZXItdXNlLWNhc2UgLmNhcmQgLmNhcmRfX2F1dGhvcjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWcvcmNzLXF1b3RlLnN2Z1wiKTsgfVxuICAuY2FyZC1jb250YWluZXItdXNlLWNhc2UtLWxhcmdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY2FyZC1jb250YWluZXItdXNlLWNhc2UtLWxhcmdlIC5zdmctZ2F0b3ItYWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDUxOXB4O1xuICAgICAgYm90dG9tOiAtNzBweDtcbiAgICAgIHJpZ2h0OiAtNzBweDtcbiAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgICAuY2FyZC1jb250YWluZXItdXNlLWNhc2UtLWxhcmdlIC5zdmctZ2F0b3ItYWZ0ZXIge1xuICAgICAgICAgIHdpZHRoOiAzNTBweDtcbiAgICAgICAgICBib3R0b206IC0zNXB4O1xuICAgICAgICAgIHJpZ2h0OiAtMzVweDsgfSB9XG4gICAgLmNhcmQtY29udGFpbmVyLXVzZS1jYXNlLS1sYXJnZSAuY2FyZF9fbG9nbyB7XG4gICAgICB3aWR0aDogMTEwcHg7XG4gICAgICBoZWlnaHQ6IDExMHB4O1xuICAgICAgdG9wOiAtOTVweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHggMTZweCAxNnB4IDA7IH1cbiAgICAuY2FyZC1jb250YWluZXItdXNlLWNhc2UtLWxhcmdlIC5jYXJkX190aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNnJlbTsgfVxuICAuY2FyZC1jb250YWluZXItdXNlLWNhc2UtLXNtYWxsLCAuY2FyZC1jb250YWluZXItdXNlLWNhc2UtLWxpc3Rpbmcge1xuICAgIHBhZGRpbmc6IDJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY2FyZC1jb250YWluZXItdXNlLWNhc2UtLXNtYWxsLCAuY2FyZC1jb250YWluZXItdXNlLWNhc2UtLWxpc3Rpbmcge1xuICAgICAgICBwYWRkaW5nOiAyZW07XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pOyB9IH1cbiAgICAuY2FyZC1jb250YWluZXItdXNlLWNhc2UtLXNtYWxsIC5jYXJkLCAuY2FyZC1jb250YWluZXItdXNlLWNhc2UtLWxpc3RpbmcgLmNhcmQge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5jYXJkLWNvbnRhaW5lci11c2UtY2FzZS0tbGlzdGluZyB7XG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMi41ZW0gMWVtOyB9XG4gICAgLmNhcmQtY29udGFpbmVyLXVzZS1jYXNlLS1saXN0aW5nIC5jYXJkX19zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuY2FyZC1jb250YWluZXItdXNlLWNhc2UtLWxpc3RpbmcgLmNhcmRfX2ltYWdlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAgICAgLmNhcmQtY29udGFpbmVyLXVzZS1jYXNlLS1saXN0aW5nIC5jYXJkX19pbWFnZSBpbWcge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4IDE2cHggMTZweCAwOyB9XG4gICAgLmNhcmQtY29udGFpbmVyLXVzZS1jYXNlLS1saXN0aW5nIC5jYXJkX190aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5jYXJkLWdyaWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogMmVtIDA7XG4gIGdhcDogMmVtO1xuICBtYXJnaW46IDAgMCAyZW0gMDsgfVxuICAuY2FyZC1ncmlkIC5jYXJkIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jYXJkLWdyaWQgLmNhcmQsIC5jYXJkLWdyaWQgLmFzaWRlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNhcmQtZ3JpZCAuY2FyZCwgLmNhcmQtZ3JpZCAuYXNpZGUge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoICgxMDAlIC8gMikgLSAxLjVlbSk7XG4gICAgICAgIGZsZXg6IDAgMCA4MCU7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2FyZC1ncmlkIC5jYXJkLCAuY2FyZC1ncmlkIC5hc2lkZSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYyggKDEwMCUgLyAzKSAtIDEuNWVtKTsgfSB9XG5cbi5zZWN0aW9uLS1jYXJkcyArIC5zZWN0aW9uLS1jdXN0b21lci1xdW90ZSB7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5oZXJvLS1zaW1wbGUge1xuICBwYWRkaW5nLXRvcDogOGVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhlcm8tLXNpbXBsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTJlbTsgfSB9XG4gIC5oZXJvLS1zaW1wbGVfX2dyaWQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1heC13aWR0aDogOTByZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5oZXJvLS1zaW1wbGVfX2dyaWQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmhlcm8tLXNpbXBsZV9fZ3JpZC1jb250YWluZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogM2VtIDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCNEIxQUY7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5oZXJvLS1zaW1wbGVfX2dyaWQtY29udGFpbmVyOmFmdGVyIHtcbiAgICAgICAgICBtYXJnaW46IDRlbSAwOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5oZXJvLS1zaW1wbGVfX2dyaWQtY29udGFpbmVyOmFmdGVyIHtcbiAgICAgICAgICBtYXJnaW46IDZlbSAwOyB9IH1cbiAgLmhlcm8tLXNpbXBsZV9fZ3JpZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLmhlcm8tLXNpbXBsZV9fY29udGVudCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaGVyby0tc2ltcGxlX19jb250ZW50IHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgICAuaGVyby0tc2ltcGxlX19jb250ZW50IGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogNTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgbWFyZ2luOiAwLjJlbSAwO1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAuaGVyby0tc2ltcGxlX19jb250ZW50IGgxIHNwYW4sIC5oZXJvLS1zaW1wbGVfX2NvbnRlbnQgaDEgaSB7XG4gICAgICAgIGNvbG9yOiAjRTFDQkMzO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5oZXJvLS1zaW1wbGVfX2NvbnRlbnQgaDEgZW0ge1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5oZXJvLS1zaW1wbGVfX2NvbnRlbnQgaDEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNThweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNTZweDsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuaGVyby0tc2ltcGxlX19jb250ZW50IGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDk2cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDk2cHg7XG4gICAgICAgICAgbWFyZ2luOiAwLjJlbSAwOyB9IH1cbiAgICAgIC5oZXJvLS1zaW1wbGVfX2NvbnRlbnQgaDEgZW0uYWNjZW50LXRvcDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgdG9wOiAtMTBweDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5oZXJvLS1zaW1wbGVfX2NvbnRlbnQgaDEgZW0uYWNjZW50LXRvcDpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAtMXB4OyB9IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuaGVyby0tc2ltcGxlX19jb250ZW50IGgxIGVtLmFjY2VudC10b3A6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogLTE1cHg7IH0gfVxuICAgICAgLmhlcm8tLXNpbXBsZV9fY29udGVudCBoMSBlbS5hY2NlbnQtYm90dG9tIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5oZXJvLS1zaW1wbGVfX2NvbnRlbnQgaDEgZW0uYWNjZW50LWJvdHRvbTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGJvdHRvbTogLTE0cHg7IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgLmhlcm8tLXNpbXBsZV9fY29udGVudCBoMSBlbS5hY2NlbnQtYm90dG9tOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGJvdHRvbTogLTEzcHg7IH0gfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICAuaGVyby0tc2ltcGxlX19jb250ZW50IGgxIGVtLmFjY2VudC1ib3R0b206YmVmb3JlIHtcbiAgICAgICAgICAgICAgYm90dG9tOiAtMzVweDsgfSB9XG4gICAgLmhlcm8tLXNpbXBsZV9fY29udGVudCAuaGVhZGVyLS1zdHJhcGxpbmUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmhlcm8tLXNpbXBsZV9fY29udGVudCAuaGVhZGVyLS1zdHJhcGxpbmUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNWVtOyB9IH1cbiAgICAgIC5oZXJvLS1zaW1wbGVfX2NvbnRlbnQgLmhlYWRlci0tc3RyYXBsaW5lOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC02cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5oZXJvLS1zaW1wbGVfX2NvbnRlbnQgLmhlYWRlci0tc3RyYXBsaW5lIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgICAgLmhlcm8tLXNpbXBsZV9fY29udGVudCAuaGVhZGVyLS1zdHJhcGxpbmU6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAtNnB4O1xuICAgICAgICAgICAgcmlnaHQ6IDA7IH0gfVxuXG4ucG9zdGNvZGUtc2VhcmNoIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG4gIC5wb3N0Y29kZS1zZWFyY2ggZm9ybSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wb3N0Y29kZS1zZWFyY2hfX2lucHV0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIHBhZGRpbmc6IDEuNWVtOyB9XG4gIC5wb3N0Y29kZS1zZWFyY2hfX2J1dHRvbiB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtMXB4O1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4OyB9XG4gICAgLnBvc3Rjb2RlLXNlYXJjaF9fYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgLnBvc3Rjb2RlLXNlYXJjaF9fYnV0dG9uLWltYWdlIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuLm5ld3NsZXR0ZXItZm9ybSB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgbWFyZ2luOiBhdXRvOyB9XG4gIC5uZXdzbGV0dGVyLWZvcm0gZm9ybSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5uZXdzbGV0dGVyLWZvcm1fX2lucHV0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIHBhZGRpbmc6IDEuNWVtIDZlbSAxLjVlbSAxLjVlbTsgfVxuICAubmV3c2xldHRlci1mb3JtX19idXR0b24ge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTFweDtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7IH1cblxudGV4dGFyZWEge1xuICBtaW4taGVpZ2h0OiA0ZW07XG4gIG1hcmdpbi10b3A6IC41ZW07IH1cblxuc2VsZWN0IHtcbiAgbWluLWhlaWdodDogMmVtO1xuICBtYXJnaW4tdG9wOiAuNWVtOyB9XG5cbmxhYmVsIHtcbiAgYm9yZGVyLWJvdHRvbTogLjVlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIG1hcmdpbjogMDtcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgd2lkdGg6IDEuMTVlbTtcbiAgaGVpZ2h0OiAxLjE1ZW07XG4gIGJvcmRlcjogMC4xNWVtIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMC4xNWVtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuMDc1ZW0pO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDZweCAhaW1wb3J0YW50OyB9XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDAuNjVlbTtcbiAgaGVpZ2h0OiAwLjY1ZW07XG4gIGNsaXAtcGF0aDogcG9seWdvbigxNCUgNDQlLCAwIDY1JSwgNTAlIDEwMCUsIDEwMCUgMTYlLCA4MCUgMCUsIDQzJSA2MiUpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbiAgdHJhbnNpdGlvbjogMTIwbXMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0O1xuICBib3gtc2hhZG93OiBpbnNldCAxZW0gMWVtIHZhcigtLWZvcm0tY29udHJvbC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IENhbnZhc1RleHQ7XG4gIHRvcDogLjI1ZW07XG4gIGxlZnQ6IC4yNWVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQ6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzIHtcbiAgb3V0bGluZTogMC4xNWVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgb3V0bGluZS1vZmZzZXQ6IDAuMTVlbTsgfVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQge1xuICAtLWZvcm0tY29udHJvbC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gIGNvbG9yOiAjRjhGOEY4O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5jaGVja2JveC1jb2x1bW5zIHtcbiAgY29sdW1uczogMTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jaGVja2JveC1jb2x1bW5zIHtcbiAgICAgIGNvbHVtbnM6IDI7IH0gfVxuXG4uY2hlY2tib3gtY29sdW1uc19fY2hlY2tib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNoZWNrYm94LWNvbHVtbnNfX2NoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC41ZW07IH1cbiAgLmNoZWNrYm94LWNvbHVtbnNfX2NoZWNrYm94IFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsIC5jaGVja2JveC1jb2x1bW5zX19jaGVja2JveCBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBtYXJnaW4tbGVmdDogMS44ZW07IH1cblxuLmNoZWNrYm94LWNvbHVtbnNfX2xlZ2VuZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5mb3JtLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIG1hcmdpbjogLjRlbTtcbiAgcGFkZGluZzogMWVtO1xuICBib3gtc2hhZG93OiAwIDZweCA5cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZm9ybS1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAyZW07XG4gICAgICBwYWRkaW5nOiA0ZW07IH0gfVxuICAuZm9ybS1jb250YWluZXItLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7IH1cblxuLmVycm9ycyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDFlbTsgfVxuICAuZXJyb3JzIGxpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTEzNDI5O1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBwYWRkaW5nOiAwLjZlbTtcbiAgICBmb250LXNpemU6IC44ZW07IH1cblxuLmZvcm0tcmVzZXQgbGFiZWwsIC5mb3JtLXJlc2V0IGlucHV0LCAuZm9ybS1yZXNldCB0ZXh0YXJlYSwgLmZvcm0tcmVzZXQgc2VsZWN0LCAuZm9ybS1yZXNldCBidXR0b24sIC5mb3JtLXJlc2V0IC5vbkZvcm1TdWJtaXR0ZWRGZWVkYmFja01lc3NhZ2Uge1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50OyB9XG5cbi5mb3JtLXJlc2V0IC5vbkZvcm1TdWJtaXR0ZWRGZWVkYmFjayB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cblxuLmZvcm0tcmVzZXQgdGFibGUge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5mb3JtLXJlc2V0IHRhYmxlLm11bHRpIC50ZXh0Rm9ybUZpZWxkQmxvY2ssIC5mb3JtLXJlc2V0IHRhYmxlLm11bHRpIC5kYXRlVGltZUZvcm1GaWVsZEJsb2NrLCAuZm9ybS1yZXNldCB0YWJsZS5tdWx0aSAudHdvT3B0aW9uRm9ybUZpZWxkQmxvY2ssIC5mb3JtLXJlc2V0IHRhYmxlLm11bHRpIC5vcHRpb25TZXRGb3JtRmllbGRCbG9jaywgLmZvcm0tcmVzZXQgdGFibGUubXVsdGkgLm11bHRpT3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2ssIC5mb3JtLXJlc2V0IHRhYmxlLm11bHRpIC5sb29rdXBGb3JtRmllbGRCbG9jaywgLmZvcm0tcmVzZXQgLnRleHRGb3JtRmllbGRCbG9jaywgLmZvcm0tcmVzZXQgLmRhdGVUaW1lRm9ybUZpZWxkQmxvY2ssIC5mb3JtLXJlc2V0IC50d29PcHRpb25Gb3JtRmllbGRCbG9jaywgLmZvcm0tcmVzZXQgLm9wdGlvblNldEZvcm1GaWVsZEJsb2NrLCAuZm9ybS1yZXNldCAubXVsdGlPcHRpb25TZXRGb3JtRmllbGRCbG9jaywgLmZvcm0tcmVzZXQgLmxvb2t1cEZvcm1GaWVsZEJsb2NrIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbi5mb3JtLXJlc2V0IHRoIHtcbiAgcGFkZGluZzogM3B4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMCUgIWltcG9ydGFudDsgfVxuXG4uZm9ybS1yZXNldCAub3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2sgc2VsZWN0LCAuZm9ybS1yZXNldCAudGV4dEZvcm1GaWVsZEJsb2NrIGlucHV0LCAuZm9ybS1yZXNldCAuZGF0ZVRpbWVGb3JtRmllbGRCbG9jayBpbnB1dCwgLmZvcm0tcmVzZXQgLmxvb2t1cEZvcm1GaWVsZEJsb2NrIGlucHV0LCAuZm9ybS1yZXNldCAubWFya2V0aW5nRm9ybSB0ZXh0YXJlYSwgLmZvcm0tcmVzZXQgZGl2W2RhdGEtZWRpdG9yYmxvY2t0eXBlPVwiQ2FwdGNoYVwiXSBpbnB1dCB7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDhweCAxNnB4ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmUgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uZm9ybS1yZXNldCAudGV4dEZvcm1GaWVsZEJsb2NrLCAuZm9ybS1yZXNldCAuZGF0ZVRpbWVGb3JtRmllbGRCbG9jaywgLmZvcm0tcmVzZXQgLnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrLCAuZm9ybS1yZXNldCAub3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2ssIC5mb3JtLXJlc2V0IC5tdWx0aU9wdGlvblNldEZvcm1GaWVsZEJsb2NrLCAuZm9ybS1yZXNldCAubG9va3VwRm9ybUZpZWxkQmxvY2sge1xuICBnYXA6IDRweDsgfVxuXG4uZm9ybS1yZXNldCAuY29uc2VudEJsb2NrIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbi5mb3JtLXJlc2V0IGRpdltkYXRhLWVkaXRvcmJsb2NrdHlwZT1cIlN1Ym1pdEJ1dHRvblwiXSB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG4uZm9ybS1yZXNldCAuc3VibWl0QnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZm9ybS1yZXNldCBkaXZbZGF0YS1jYWNoZWQtZm9ybS11cmxdIGJ1dHRvbi5zdWJtaXRCdXR0b24ge1xuICBtaW4td2lkdGg6IDE2MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkYwMjAwICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1vdXQ7IH1cbiAgLmZvcm0tcmVzZXQgZGl2W2RhdGEtY2FjaGVkLWZvcm0tdXJsXSBidXR0b24uc3VibWl0QnV0dG9uOmhvdmVyLCAuZm9ybS1yZXNldCBkaXZbZGF0YS1jYWNoZWQtZm9ybS11cmxdIGJ1dHRvbi5zdWJtaXRCdXR0b246YWN0aXZlLCAuZm9ybS1yZXNldCBkaXZbZGF0YS1jYWNoZWQtZm9ybS11cmxdIGJ1dHRvbi5zdWJtaXRCdXR0b246YWZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTkwMTAwICFpbXBvcnRhbnQ7IH1cblxuLmZvcm0tcmVzZXQtLXJldmVyc2UgLm9uRm9ybVN1Ym1pdHRlZEZlZWRiYWNrTWVzc2FnZSB7XG4gIGNvbG9yOiAjZmVmZWZlICFpbXBvcnRhbnQ7IH1cblxuLmZvcm0tcmVzZXQtLXJldmVyc2UgbGFiZWwge1xuICBjb2xvcjogI2ZlZmVmZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0Rm9ybUZpZWxkQmxvY2sgbGFiZWw6OmFmdGVyLCAudHdvb3B0aW9uX2NoZWNrYm94IGxhYmVsOjphZnRlciwgLmRhdGVUaW1lRm9ybUZpZWxkQmxvY2sgbGFiZWw6OmFmdGVyLCAubG9va3VwRm9ybUZpZWxkQmxvY2sgbGFiZWw6OmFmdGVyLCAudHdvT3B0aW9uRm9ybUZpZWxkQmxvY2sgbGFiZWwuYmxvY2stbGFiZWw6OmFmdGVyLCAudHdvT3B0aW9uRm9ybUZpZWxkQmxvY2sgZGl2LnR3b29wdGlvbl9jaGVja2JveCBsYWJlbDo6YWZ0ZXIsIC5vcHRpb25TZXRGb3JtRmllbGRCbG9jayBsYWJlbC5ibG9jay1sYWJlbDo6YWZ0ZXIsIC5tdWx0aU9wdGlvblNldEZvcm1GaWVsZEJsb2NrIGxhYmVsLmJsb2NrLWxhYmVsOjphZnRlciwgLmNvbnNlbnRCbG9jayBsYWJlbDo6YWZ0ZXIsIC5ldmVudFNlc3Npb24gbGFiZWw6OmFmdGVyLCBkaXZbZGF0YS1lZGl0b3JibG9ja3R5cGU9XCJDYXB0Y2hhXCJdIGxhYmVsW2lkXj1cIndsc3Bpc3BIaXBJbnN0cnVjdGlvbkNvbnRhaW5lclwiXTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuI2l1YmVuZGEtY3MtYmFubmVyIC5pdWJlbmRhLWdyYW51bGFyLWNvbnRyb2xzLWNvbnRhaW5lciAuZ3JhbnVsYXItY29udHJvbC1jaGVja2JveCBpbnB1dC5zdHlsZTE6Y2hlY2tlZDpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5nLXJlY2FwdGNoYSB7XG4gIHBhZGRpbmctdG9wOiAyNXB4OyB9XG5cbi5mb3JtLWNvbHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZvcm0tY29scyBpbnB1dFt0eXBlPVwidGV4dFwiXS5mb3JtLWNvbHMtLWVtYWlsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2NnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmZvcm0tY29scy0tc3VibWl0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDNweDtcbiAgICB0b3A6IDNweDtcbiAgICB3aWR0aDogMTYwcHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDU0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDU0cHg7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbi5zZWN0aW9uLS1jb250YWN0IHtcbiAgYmFja2dyb3VuZDogI0Y4RjhGODsgfVxuICAuc2VjdGlvbi0tY29udGFjdCAuY29udGFjdC1kZXRhaWwtc2VjdGlvbiAuYnV0dG9uLCAuc2VjdGlvbi0tY29udGFjdCAuY29udGFjdC1kZXRhaWwtc2VjdGlvbiAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLnNlY3Rpb24tLWNvbnRhY3QgLmNvbnRhY3QtZGV0YWlsLXNlY3Rpb24gYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAxZW0gMS41ZW07IH1cbiAgICAuc2VjdGlvbi0tY29udGFjdCAuY29udGFjdC1kZXRhaWwtc2VjdGlvbiAuYnV0dG9uOmFmdGVyLCAuc2VjdGlvbi0tY29udGFjdCAuY29udGFjdC1kZXRhaWwtc2VjdGlvbiAuZm9ybS1jb250YWluZXIgYnV0dG9uOmFmdGVyLCAuZm9ybS1jb250YWluZXIgLnNlY3Rpb24tLWNvbnRhY3QgLmNvbnRhY3QtZGV0YWlsLXNlY3Rpb24gYnV0dG9uOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuc2VjdGlvbi0tY29udGFjdCAuY29udGFjdC1kZXRhaWwtc2VjdGlvbiAuYnV0dG9uLS13aGl0ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgICAgY29sb3I6ICMxNjQzQTQgIWltcG9ydGFudDsgfVxuICAgICAgLnNlY3Rpb24tLWNvbnRhY3QgLmNvbnRhY3QtZGV0YWlsLXNlY3Rpb24gLmJ1dHRvbi0td2hpdGU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRDhEOEQ4O1xuICAgICAgICBjb2xvcjogIzE2NDNBNDsgfVxuICAgICAgLnNlY3Rpb24tLWNvbnRhY3QgLmNvbnRhY3QtZGV0YWlsLXNlY3Rpb24gLmJ1dHRvbi0td2hpdGU6YWN0aXZlLCAuc2VjdGlvbi0tY29udGFjdCAuY29udGFjdC1kZXRhaWwtc2VjdGlvbiAuYnV0dG9uLS13aGl0ZTpmb2N1cywgLnNlY3Rpb24tLWNvbnRhY3QgLmNvbnRhY3QtZGV0YWlsLXNlY3Rpb24gLmJ1dHRvbi0td2hpdGU6YWN0aXZlOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAuc2VjdGlvbi0tY29udGFjdCAubWVudSBhIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLnNlY3Rpb24tLWNvbnRhY3QgLm1lbnUgYTphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zZWN0aW9uLS1jb250YWN0X19mb3JtLWNlbGwgLmZvcm0tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNlY3Rpb24tLWNvbnRhY3RfX2Zvcm0tY2VsbCAuYmFja2dyb3VuZC1saXR0bGUtZG90cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zZWN0aW9uLS1jb250YWN0X19mb3JtLWNlbGwgLmJhY2tncm91bmQtbGl0dGxlLWRvdHMge1xuICAgICAgICB6LWluZGV4OiAtMTsgfSB9XG4gICAgLnNlY3Rpb24tLWNvbnRhY3RfX2Zvcm0tY2VsbCAuYmFja2dyb3VuZC1saXR0bGUtZG90cy0tdG9wLXJpZ2h0IHtcbiAgICAgIHRvcDogLTMwcHg7XG4gICAgICByaWdodDogLTUwcHg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5zZWN0aW9uLS1jb250YWN0X19mb3JtLWNlbGwgLmJhY2tncm91bmQtbGl0dGxlLWRvdHMtLXRvcC1yaWdodCB7XG4gICAgICAgICAgdG9wOiAtNjBweDtcbiAgICAgICAgICByaWdodDogLTc1cHg7IH0gfVxuICAgIC5zZWN0aW9uLS1jb250YWN0X19mb3JtLWNlbGwgLmJhY2tncm91bmQtbGl0dGxlLWRvdHMtLWJvdHRvbS1sZWZ0IHtcbiAgICAgIGJvdHRvbTogLTEyMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnNlY3Rpb24tLWNvbnRhY3RfX2Zvcm0tY2VsbCAuYmFja2dyb3VuZC1saXR0bGUtZG90cy0tYm90dG9tLWxlZnQge1xuICAgICAgICAgIGJvdHRvbTogLTE1MHB4O1xuICAgICAgICAgIGxlZnQ6IDQ1cHg7IH0gfVxuXG5ibG9ja3F1b3RlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDVlbSAwO1xuICBwYWRkaW5nOiAwIDNlbSAwIDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIHBhZGRpbmc6IDAgM2VtIDAgMDsgfSB9XG4gIGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB3aWR0aD1cIjEwMy41NzRcIiBoZWlnaHQ9XCI4Mi45ODFcIiB2aWV3Qm94PVwiMCAwIDEwMy41NzQgODIuOTgxXCI+PGRlZnM+PGNsaXBQYXRoIGlkPVwiY2xpcC1wYXRoXCI+PHJlY3QgaWQ9XCJSZWN0YW5nbGVfNzAzXCIgZGF0YS1uYW1lPVwiUmVjdGFuZ2xlIDcwM1wiIHdpZHRoPVwiMTAzLjU3NFwiIGhlaWdodD1cIjgyLjk4MVwiIGZpbGw9XCJub25lXCIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGlkPVwiaWNvbi1ibG9ja3F1b3RlXCIgc3R5bGU9XCJpc29sYXRpb246IGlzb2xhdGVcIj48ZyBpZD1cIkdyb3VwXzk4MVwiIGRhdGEtbmFtZT1cIkdyb3VwIDk4MVwiIGNsaXAtcGF0aD1cInVybCglMjNjbGlwLXBhdGgpXCI+PHBhdGggaWQ9XCJQYXRoXzY4MFwiIGRhdGEtbmFtZT1cIlBhdGggNjgwXCIgZD1cIk0zMy4yNTEsMTU5LjQ1OEMxOS41OSwxNjMuOCw2LjQ4MSwxNTYuNDE4LDIsMTQyLjNjLTIuNDktNy44MzQtMS40NjMtMTUuMTMyLDIuMzU4LTIxLjA1Mmw4LjEsNC42MTJhMTUuMywxNS4zLDAsMCwwLTEuNjg3LDEzLjA4MmMyLjcsOC40ODEsMTAuNTY1LDEyLjYwOSwxOS4xMTEsOS44OTNzMTIuNTg5LTEwLjYzMSw5Ljg5NC0xOS4xMTFhMTUuMTU1LDE1LjE1NSwwLDAsMC05LTkuNjg3bDQuMDc1LTguNzA4YzYuNiwyLjYwNiwxMS41MjgsOC4yNCwxNC4wMzksMTYuMTM5LDQuNDY1LDE0LjA0OS0xLjk3OCwyNy42NDQtMTUuNjM5LDMxLjk4NVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC40NDcgLTc3Ljc3MSlcIiBmaWxsPVwiJTIzZDhkOGQ4XCIvPjxwYXRoIGlkPVwiUGF0aF82ODFcIiBkYXRhLW5hbWU9XCJQYXRoIDY4MVwiIGQ9XCJNOTcuNzI1LDE0OC41YzE5LjItMS4xMTEsMjcuMzM4LTI3LjA0Niw0Ljk3NC0zNy41MDdMOTguNjIzLDExOS43YzE0LjcyOSw3LjQ4NiwxMS4yNjYsMjUuMjkyLS45LDI4LjhcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTY4LjI2NSAtNzcuNTMyKVwiIGZpbGw9XCIlMjNmZjAyMDBcIi8+PHBhdGggaWQ9XCJQYXRoXzY4MlwiIGRhdGEtbmFtZT1cIlBhdGggNjgyXCIgZD1cIk0xMi4wMzcsMTQ4LjE3MWMtOC40LDE0LjY1NSwyLjgyLDMwLjI1MiwyMi40MTksMzMuMUMxMS42LDE5MC41NDQtOC41MDksMTYzLjc1NSwzLjY4MSwxNDMuNDEzWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwIC0xMDAuMTgpXCIgZmlsbD1cIiUyMzAzMWU1N1wiLz48cGF0aCBpZD1cIlBhdGhfNjgzXCIgZGF0YS1uYW1lPVwiUGF0aCA2ODNcIiBkPVwiTTEyLjIxMSw0My4yMzQsMzUuNDY5LDBsNi45NDcsNC4yLTIxLjg1LDQzLjhcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTguNTMgMClcIiBmaWxsPVwiJTIzMDMxZTU3XCIvPjxwYXRoIGlkPVwiUGF0aF82ODRcIiBkYXRhLW5hbWU9XCJQYXRoIDY4NFwiIGQ9XCJNMjExLjQ3NiwxNTkuNDU4Yy0xMy42Niw0LjM0MS0yNi43NjktMy4wNC0zMS4yNTUtMTcuMTUzLTIuNDktNy44MzQtMS40NjMtMTUuMTMyLDIuMzU4LTIxLjA1Mmw4LjEsNC42MTJhMTUuMywxNS4zLDAsMCwwLTEuNjg3LDEzLjA4MmMyLjcsOC40ODEsMTAuNTY1LDEyLjYwOSwxOS4xMTEsOS44OTNTMjIwLjY5LDEzOC4yMSwyMTgsMTI5LjcyOWExNS4xNTUsMTUuMTU1LDAsMCwwLTktOS42ODdsNC4wNzUtOC43MDhjNi42LDIuNjA2LDExLjUyOCw4LjI0LDE0LjAzOSwxNi4xMzksNC40NjUsMTQuMDQ5LTEuOTc4LDI3LjY0NC0xNS42MzksMzEuOTg1XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMjQuOTQ0IC03Ny43NzEpXCIgZmlsbD1cIiUyM2Q4ZDhkOFwiLz48cGF0aCBpZD1cIlBhdGhfNjg1XCIgZGF0YS1uYW1lPVwiUGF0aCA2ODVcIiBkPVwiTTI3NS45NDksMTQ4LjVjMTkuMi0xLjExMSwyNy4zMzgtMjcuMDQ2LDQuOTc0LTM3LjUwN2wtNC4wNzUsOC43MDljMTQuNzI5LDcuNDg2LDExLjI2NiwyNS4yOTItLjksMjguOFwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTkyLjc2MSAtNzcuNTMyKVwiIGZpbGw9XCIlMjNmZjAyMDBcIi8+PHBhdGggaWQ9XCJQYXRoXzY4NlwiIGRhdGEtbmFtZT1cIlBhdGggNjg2XCIgZD1cIk0xOTAuMjYxLDE0OC4xNzFjLTguNCwxNC42NTUsMi44MiwzMC4yNTIsMjIuNDE5LDMzLjEtMjIuODYsOS4yNzUtNDIuOTY0LTE3LjUxNC0zMC43NzQtMzcuODU2WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTI0LjQ5NyAtMTAwLjE4KVwiIGZpbGw9XCIlMjMwMzFlNTdcIi8+PHBhdGggaWQ9XCJQYXRoXzY4N1wiIGRhdGEtbmFtZT1cIlBhdGggNjg3XCIgZD1cIk0xOTAuNDM2LDQzLjIzNCwyMTMuNjk0LDBsNi45NDcsNC4yLTIxLjg1LDQzLjhcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEzMy4wMjcgMClcIiBmaWxsPVwiJTIzMDMxZTU3XCIvPjwvZz48L2c+PC9zdmc+Jyk7XG4gICAgd2lkdGg6IDEwNHB4O1xuICAgIGhlaWdodDogODNweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgYmxvY2txdW90ZSBjaXRlIHtcbiAgICBtYXJnaW4tdG9wOiAyZW07XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIGJsb2NrcXVvdGUgY2l0ZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4uYnV0dG9uLCAuZm9ybS1jb250YWluZXIgYnV0dG9uIHtcbiAgcGFkZGluZzogMS4zZW0gMS42ZW07XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwO1xuICBsaW5lLWhlaWdodDogMS4xZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmJ1dHRvbjphZnRlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMWVtICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEuNmVtICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ljb24tYnV0dG9uLWFycm93LXJpZ2h0LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLWxlZnQ6IC41ZW07XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuNjUsIDAsIDAuMzUsIDEpOyB9XG4gIC5idXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5idXR0b246YWN0aXZlLCAuZm9ybS1jb250YWluZXIgYnV0dG9uOmFjdGl2ZSwgLmJ1dHRvbjpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1cywgLmJ1dHRvbjphY3RpdmU6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b246YWN0aXZlOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbjpob3ZlcjphZnRlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3ZlcjphZnRlciwgLmJ1dHRvbjphY3RpdmU6YWZ0ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b246YWN0aXZlOmFmdGVyLCAuYnV0dG9uOmZvY3VzOmFmdGVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uOmZvY3VzOmFmdGVyLCAuYnV0dG9uOmFjdGl2ZTpmb2N1czphZnRlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjphY3RpdmU6Zm9jdXM6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ljb24tYnV0dG9uLWFycm93LXJpZ2h0LXdoaXRlLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluICFpbXBvcnRhbnQ7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMC41ZW0pOyB9XG5cbnAgKyAuYnV0dG9uLCAuZm9ybS1jb250YWluZXIgcCArIGJ1dHRvbiB7XG4gIG1hcmdpbi10b3A6IDFlbTsgfVxuXG4uZmFxc19fZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mYXFzX19ncmlkLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5mYXFzX19ncmlkLWNvbnRhaW5lcjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAzZW0gMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQjRCMUFGOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mYXFzX19ncmlkLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICAgIG1hcmdpbjogNGVtIDA7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZmFxc19fZ3JpZC1jb250YWluZXI6YWZ0ZXIge1xuICAgICAgICBtYXJnaW46IDZlbSAwOyB9IH1cblxuLmZhcXNfX2Jsb2NrIHtcbiAgbWFyZ2luLXRvcDogM2VtOyB9XG5cbi5mYXFzX19pbWFnZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMWVtO1xuICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmFxc19faW1hZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuZmFxc19faW1hZ2UtaW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mYXFzX19pbWFnZS1pbm5lcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxNXB4O1xuICAgICAgbGVmdDogMTVweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0I0QjFBRjtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAuZmFxc19faW1hZ2UtaW5uZXIgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogMDsgfVxuXG4uZmFxcyAuYWNjb3JkaW9uIHtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAuZmFxcyAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlBsYXlmYWlyIERpc3BsYXlcIiwgc2VyaWY7XG4gICAgcGFkZGluZy1yaWdodDogMmVtOyB9XG4gICAgLmZhcXMgLmFjY29yZGlvbi10aXRsZTphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgYmFja2dyb3VuZDogI0I3QTQ5RDsgfVxuICAgIC5mYXFzIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjZGM0VGOyB9XG4gICAgLmZhcXMgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gIC5mYXFzIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAuZmFxcyAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mYXFzIC5hY2NvcmRpb24taXRlbSA6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50OyB9XG5cbi5icmVhZGNydW1ic19fY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA3MnB4O1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kOiAjRkYwMjAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnJlYWRjcnVtYnNfX2NvbnRhaW5lciB7XG4gICAgICB0b3A6IDE3NXB4OyB9IH1cbiAgLmJyZWFkY3J1bWJzX19jb250YWluZXIgLmJyZWFkY3J1bWJzIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgLmJyZWFkY3J1bWJzX19jb250YWluZXIgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgICAuYnJlYWRjcnVtYnNfX2NvbnRhaW5lciAuYnJlYWRjcnVtYnMgbGkgYSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuOCk7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlLW91dDsgfVxuICAgICAgICAuYnJlYWRjcnVtYnNfX2NvbnRhaW5lciAuYnJlYWRjcnVtYnMgbGkgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuYnJlYWRjcnVtYnNfX2NvbnRhaW5lciAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogIzE2NDNBNDtcbiAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTZweDsgfVxuICAgICAgLmJyZWFkY3J1bWJzX19jb250YWluZXIgLmJyZWFkY3J1bWJzIGxpOm50aC1sYXN0LWNoaWxkKDIpOjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjRkFCMDNBOyB9XG4gICAgICAuYnJlYWRjcnVtYnNfX2NvbnRhaW5lciAuYnJlYWRjcnVtYnMgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMWVtOyB9XG5cbi5zZWFyY2gtbW9iaWxlIHtcbiAgcGFkZGluZzogLjhlbTtcbiAgbWFyZ2luLXJpZ2h0OiAuOGVtOyB9XG4gIC5zZWFyY2gtbW9iaWxlIC5mYSB7XG4gICAgZm9udC1zaXplOiAyNHB4OyB9XG5cbmh0bWwsIGJvZHkge1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkVGQ0Y5OyB9XG5cbnN2ZyB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG5hLCBhOmFjdGl2ZSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlLW91dDsgfVxuICBhOmhvdmVyLCBhOmFjdGl2ZTpob3ZlciB7XG4gICAgY29sb3I6ICM0ZjRmNGY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmgxLCAuaDEsIGgyLCAuaDIsIGgzLCAuaDMsIGg0LCAuaDQsIGg1LCAuaDUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjhlbTtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgaDE6ZW1wdHksIC5oMTplbXB0eSwgaDI6ZW1wdHksIC5oMjplbXB0eSwgaDM6ZW1wdHksIC5oMzplbXB0eSwgaDQ6ZW1wdHksIC5oNDplbXB0eSwgaDU6ZW1wdHksIC5oNTplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG5oMywgLmgzLCBoNCwgLmg0LCBoNSwgLmg1IHtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuaDEgaSwgaDEgc3BhbiwgLmgxIGksIC5oMSBzcGFuLCBoMiBpLCBoMiBzcGFuLCAuaDIgaSwgLmgyIHNwYW4sIGgzIGksIGgzIHNwYW4sIC5oMyBpLCAuaDMgc3BhbiwgaDQgaSwgaDQgc3BhbiwgLmg0IGksIC5oNCBzcGFuIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHNvbGlkICNCN0E0OUQgM3B4OyB9XG5cbmgxIGVtLCAuaDEgZW0sIGgyIGVtLCAuaDIgZW0sIGgzIGVtLCAuaDMgZW0sIGg0IGVtLCAuaDQgZW0ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgaDEgZW0uYWNjZW50LXRvcCwgLmgxIGVtLmFjY2VudC10b3AsIGgyIGVtLmFjY2VudC10b3AsIC5oMiBlbS5hY2NlbnQtdG9wLCBoMyBlbS5hY2NlbnQtdG9wLCAuaDMgZW0uYWNjZW50LXRvcCwgaDQgZW0uYWNjZW50LXRvcCwgLmg0IGVtLmFjY2VudC10b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIGgxIGVtLmFjY2VudC10b3A6YmVmb3JlLCAuaDEgZW0uYWNjZW50LXRvcDpiZWZvcmUsIGgyIGVtLmFjY2VudC10b3A6YmVmb3JlLCAuaDIgZW0uYWNjZW50LXRvcDpiZWZvcmUsIGgzIGVtLmFjY2VudC10b3A6YmVmb3JlLCAuaDMgZW0uYWNjZW50LXRvcDpiZWZvcmUsIGg0IGVtLmFjY2VudC10b3A6YmVmb3JlLCAuaDQgZW0uYWNjZW50LXRvcDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xMHB4O1xuICAgICAgbGVmdDogLTE1cHg7XG4gICAgICB3aWR0aDogNTJweDtcbiAgICAgIGhlaWdodDogMjVweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9hY2NlbnQtbG9vcC10b3AtZGFyay5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICBoMSBlbS5hY2NlbnQtdG9wOmJlZm9yZSwgLmgxIGVtLmFjY2VudC10b3A6YmVmb3JlLCBoMiBlbS5hY2NlbnQtdG9wOmJlZm9yZSwgLmgyIGVtLmFjY2VudC10b3A6YmVmb3JlLCBoMyBlbS5hY2NlbnQtdG9wOmJlZm9yZSwgLmgzIGVtLmFjY2VudC10b3A6YmVmb3JlLCBoNCBlbS5hY2NlbnQtdG9wOmJlZm9yZSwgLmg0IGVtLmFjY2VudC10b3A6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgICAgbGVmdDogLTE1cHg7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgaDEgZW0uYWNjZW50LXRvcDpiZWZvcmUsIC5oMSBlbS5hY2NlbnQtdG9wOmJlZm9yZSwgaDIgZW0uYWNjZW50LXRvcDpiZWZvcmUsIC5oMiBlbS5hY2NlbnQtdG9wOmJlZm9yZSwgaDMgZW0uYWNjZW50LXRvcDpiZWZvcmUsIC5oMyBlbS5hY2NlbnQtdG9wOmJlZm9yZSwgaDQgZW0uYWNjZW50LXRvcDpiZWZvcmUsIC5oNCBlbS5hY2NlbnQtdG9wOmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAtMTVweDtcbiAgICAgICAgICBsZWZ0OiAtNDBweDtcbiAgICAgICAgICB3aWR0aDogMTAzcHg7XG4gICAgICAgICAgaGVpZ2h0OiA1MHB4OyB9IH1cbiAgaDEgZW0uYWNjZW50LWJvdHRvbSwgLmgxIGVtLmFjY2VudC1ib3R0b20sIGgyIGVtLmFjY2VudC1ib3R0b20sIC5oMiBlbS5hY2NlbnQtYm90dG9tLCBoMyBlbS5hY2NlbnQtYm90dG9tLCAuaDMgZW0uYWNjZW50LWJvdHRvbSwgaDQgZW0uYWNjZW50LWJvdHRvbSwgLmg0IGVtLmFjY2VudC1ib3R0b20ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIGgxIGVtLmFjY2VudC1ib3R0b206YmVmb3JlLCAuaDEgZW0uYWNjZW50LWJvdHRvbTpiZWZvcmUsIGgyIGVtLmFjY2VudC1ib3R0b206YmVmb3JlLCAuaDIgZW0uYWNjZW50LWJvdHRvbTpiZWZvcmUsIGgzIGVtLmFjY2VudC1ib3R0b206YmVmb3JlLCAuaDMgZW0uYWNjZW50LWJvdHRvbTpiZWZvcmUsIGg0IGVtLmFjY2VudC1ib3R0b206YmVmb3JlLCAuaDQgZW0uYWNjZW50LWJvdHRvbTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0xN3B4O1xuICAgICAgcmlnaHQ6IC0xNXB4O1xuICAgICAgd2lkdGg6IDYycHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYWNjZW50LWxvb3AtYm90dG9tLWRhcmsuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgaDEgZW0uYWNjZW50LWJvdHRvbTpiZWZvcmUsIC5oMSBlbS5hY2NlbnQtYm90dG9tOmJlZm9yZSwgaDIgZW0uYWNjZW50LWJvdHRvbTpiZWZvcmUsIC5oMiBlbS5hY2NlbnQtYm90dG9tOmJlZm9yZSwgaDMgZW0uYWNjZW50LWJvdHRvbTpiZWZvcmUsIC5oMyBlbS5hY2NlbnQtYm90dG9tOmJlZm9yZSwgaDQgZW0uYWNjZW50LWJvdHRvbTpiZWZvcmUsIC5oNCBlbS5hY2NlbnQtYm90dG9tOmJlZm9yZSB7XG4gICAgICAgICAgYm90dG9tOiAtMTNweDsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICBoMSBlbS5hY2NlbnQtYm90dG9tOmJlZm9yZSwgLmgxIGVtLmFjY2VudC1ib3R0b206YmVmb3JlLCBoMiBlbS5hY2NlbnQtYm90dG9tOmJlZm9yZSwgLmgyIGVtLmFjY2VudC1ib3R0b206YmVmb3JlLCBoMyBlbS5hY2NlbnQtYm90dG9tOmJlZm9yZSwgLmgzIGVtLmFjY2VudC1ib3R0b206YmVmb3JlLCBoNCBlbS5hY2NlbnQtYm90dG9tOmJlZm9yZSwgLmg0IGVtLmFjY2VudC1ib3R0b206YmVmb3JlIHtcbiAgICAgICAgICBib3R0b206IC0zNXB4O1xuICAgICAgICAgIHJpZ2h0OiAtMjhweDtcbiAgICAgICAgICB3aWR0aDogMTIzcHg7XG4gICAgICAgICAgaGVpZ2h0OiA2MHB4OyB9IH1cbiAgaDEgZW0uY2Fwcy11bmRlcmxpbmUsIC5oMSBlbS5jYXBzLXVuZGVybGluZSwgaDIgZW0uY2Fwcy11bmRlcmxpbmUsIC5oMiBlbS5jYXBzLXVuZGVybGluZSwgaDMgZW0uY2Fwcy11bmRlcmxpbmUsIC5oMyBlbS5jYXBzLXVuZGVybGluZSwgaDQgZW0uY2Fwcy11bmRlcmxpbmUsIC5oNCBlbS5jYXBzLXVuZGVybGluZSB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBzb2xpZCAjQjdBNDlEIDNweDsgfVxuXG5vbCB7XG4gIGNvdW50ZXItcmVzZXQ6IGl0ZW07IH1cblxub2wgbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDFlbSAwIDJlbTsgfVxuXG5vbCBsaTpiZWZvcmUge1xuICBjb250ZW50OiBjb3VudGVyKGl0ZW0pIFwiLlwiO1xuICBjb3VudGVyLWluY3JlbWVudDogaXRlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tcmlnaHQ6IDEwMCU7XG4gIHJpZ2h0OiAxMHB4O1xuICAvKiBzcGFjZSBiZXR3ZWVuIG51bWJlciBhbmQgdGV4dCAqL1xuICBjb2xvcjogIzE2NDNBNDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbm9sW3R5cGU9XCIxXCJdIHtcbiAgY291bnRlci1yZXNldDogaXRlbTsgfVxuXG5vbFt0eXBlPVwiMVwiXSBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxub2xbdHlwZT1cIjFcIl0gbGk6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcnMoaXRlbSwgXCIuXCIpIFwiLlwiO1xuICBjb3VudGVyLWluY3JlbWVudDogaXRlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tcmlnaHQ6IDEwMCU7XG4gIHJpZ2h0OiAxMHB4O1xuICAvKiBzcGFjZSBiZXR3ZWVuIG51bWJlciBhbmQgdGV4dCAqL1xuICBjb2xvcjogIzE2NDNBNDsgfVxuXG5vbFt0eXBlPVwiYVwiXSB7XG4gIGNvdW50ZXItcmVzZXQ6IGl0ZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItbGF0aW47IH1cblxub2xbdHlwZT1cImFcIl0gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbm9sW3R5cGU9XCJhXCJdIGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIoaXRlbSwgbG93ZXItbGF0aW4pIFwiLlwiO1xuICBjb3VudGVyLWluY3JlbWVudDogaXRlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tcmlnaHQ6IDEwMCU7XG4gIHJpZ2h0OiAxMHB4O1xuICBjb2xvcjogIzE2NDNBNDsgfVxuXG5vYmplY3Quc2Nyb2xsLXJldmVhbC1hbmltYXRpb24ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgY3ViaWMtYmV6aWVyKDAuNjUsIDAsIDAuMzUsIDEpOyB9XG4gIG9iamVjdC5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbi5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLmhlYWRlci0tc3RyYXBsaW5lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDAuOGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5oZWFkZXItLXN0cmFwbGluZSBiIHtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5oZWFkZXItLXN0cmFwbGluZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7IH1cblxuLmNvbnRlbnQtc3BsaXQge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXg6IGNsaXA7IH1cbiAgLmNvbnRlbnQtc3BsaXRfX2dyaWQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1heC13aWR0aDogOTByZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jb250ZW50LXNwbGl0X19ncmlkLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5jb250ZW50LXNwbGl0X19ncmlkLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAzZW0gMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0I0QjFBRjsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmNvbnRlbnQtc3BsaXRfX2dyaWQtY29udGFpbmVyOmFmdGVyIHtcbiAgICAgICAgICBtYXJnaW46IDRlbSAwOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jb250ZW50LXNwbGl0X19ncmlkLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICAgICAgbWFyZ2luOiA2ZW0gMDsgfSB9XG4gIC5jb250ZW50LXNwbGl0X19pbWFnZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29udGVudC1zcGxpdF9faW1hZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAuY29udGVudC1zcGxpdF9faW1hZ2UtaW5uZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY29udGVudC1zcGxpdF9faW1hZ2UtaW5uZXI6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQjRCMUFGO1xuICAgICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAuY29udGVudC1zcGxpdF9faW1hZ2UtaW5uZXIgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAuY29udGVudC1zcGxpdCAubWVkaXVtLW9yZGVyLTIgLmNvbnRlbnQtc3BsaXRfX2ltYWdlLWlubmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgLmNvbnRlbnQtc3BsaXQgLnNtYWxsLW9yZGVyLTIgLmNvbnRlbnQtc3BsaXRfX2ltYWdlLWlubmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDFlbTsgfSB9XG5cbi5jZWxsLS1yaWNoLXRleHQgLmNvbnRlbnQtc3BsaXRfX2NvbnRhY3QtaW5mb3JtYXRpb24gdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDJlbSAwIDJlbSAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNlbGwtLXJpY2gtdGV4dCAuY29udGVudC1zcGxpdF9fY29udGFjdC1pbmZvcm1hdGlvbiB1bCB7XG4gICAgICBtYXJnaW46IDNlbSAwIDNlbSAwOyB9IH1cbiAgLmNlbGwtLXJpY2gtdGV4dCAuY29udGVudC1zcGxpdF9fY29udGFjdC1pbmZvcm1hdGlvbiB1bCBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jZWxsLS1yaWNoLXRleHQgLmNvbnRlbnQtc3BsaXRfX2NvbnRhY3QtaW5mb3JtYXRpb24gdWwgbGkge1xuICAgICAgICBmb250LXNpemU6IDIycHg7IH0gfVxuICAgIC5jZWxsLS1yaWNoLXRleHQgLmNvbnRlbnQtc3BsaXRfX2NvbnRhY3QtaW5mb3JtYXRpb24gdWwgbGkudGl0bGUge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5jZWxsLS1yaWNoLXRleHQgLmNvbnRlbnQtc3BsaXRfX2NvbnRhY3QtaW5mb3JtYXRpb24gdWwgbGkubnVtYmVyIHtcbiAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiUGxheWZhaXIgRGlzcGxheVwiLCBzZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jZWxsLS1yaWNoLXRleHQgLmNvbnRlbnQtc3BsaXRfX2NvbnRhY3QtaW5mb3JtYXRpb24gdWwgbGkubnVtYmVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDY2cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDY2cHg7IH0gfVxuICAgIC5jZWxsLS1yaWNoLXRleHQgLmNvbnRlbnQtc3BsaXRfX2NvbnRhY3QtaW5mb3JtYXRpb24gdWwgbGkuZW1haWwge1xuICAgICAgbWFyZ2luLXRvcDogMWVtOyB9XG4gICAgLmNlbGwtLXJpY2gtdGV4dCAuY29udGVudC1zcGxpdF9fY29udGFjdC1pbmZvcm1hdGlvbiB1bCBsaSBhIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5hc2lkZV9faW50cm8gaDMge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuLnBhZ2luYXRpb24gLnBhZ2luYXRpb24tbmV4dCwgLnBhZ2luYXRpb24gLnBhZ2luYXRpb24tcHJldmlvdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAucGFnaW5hdGlvbiAucGFnaW5hdGlvbi1uZXh0IGEsIC5wYWdpbmF0aW9uIC5wYWdpbmF0aW9uLXByZXZpb3VzIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5wYWdpbmF0aW9uIC5wYWdpbmF0aW9uLW5leHQgYTo6YmVmb3JlLCAucGFnaW5hdGlvbiAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24gLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlciwgLnBhZ2luYXRpb24gLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIHJpZ2h0OiAtMmVtO1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL21hZ2VudGEtY2hldnJvbi1yaWdodC5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSk7IH1cbiAgICAucGFnaW5hdGlvbiAucGFnaW5hdGlvbi1uZXh0IGE6aG92ZXIsIC5wYWdpbmF0aW9uIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI0ZGMDIwMDsgfVxuICAgICAgLnBhZ2luYXRpb24gLnBhZ2luYXRpb24tbmV4dCBhOmhvdmVyOjphZnRlciwgLnBhZ2luYXRpb24gLnBhZ2luYXRpb24tcHJldmlvdXMgYTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoMWVtKTsgfVxuXG4ucGFnaW5hdGlvbiAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBsZWZ0OiAtMmVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZVkoNTAlKTsgfVxuXG4ucGFnaW5hdGlvbiAucGFnaW5hdGlvbi1wcmV2aW91cyBhOmhvdmVyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlWSg1MCUpIHRyYW5zbGF0ZVgoMWVtKTsgfVxuXG4uc2VjdGlvbi0tZmFxcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDI7IH1cbiAgLnNlY3Rpb24tLWZhcXMgLmJhY2tncm91bmQtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB3aWR0aDogNjUwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tLWZhcXMgLmJhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiAtNGVtOyB9IH1cbiAgICAuc2VjdGlvbi0tZmFxcyAuYmFja2dyb3VuZC1pbWFnZS5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbiB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDRzIGN1YmljLWJlemllcigwLjY1LCAwLCAwLjM1LCAxKTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gICAgLnNlY3Rpb24tLWZhcXMgLmJhY2tncm91bmQtaW1hZ2UuYWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1MzBkZWcpOyB9XG4gICAgLnNlY3Rpb24tLWZhcXMgLmJhY2tncm91bmQtaW1hZ2UtLXJpZ2h0IHtcbiAgICAgIHRvcDogMTAwcHg7XG4gICAgICByaWdodDogLTIuNWVtOyB9XG4gIC5zZWN0aW9uLS1mYXFzX19jb2wtZmFxcyB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2VjdGlvbi0tZmFxc19fY29sLWZhcXMge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5zZWN0aW9uLS1mYXFzX19jb2wtZmFxcy0tZnVsbC13aWR0aCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgLnNlY3Rpb24tLWZhcXNfX2NvbC1zaWRlYmFyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi10b3A6IDRlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2VjdGlvbi0tZmFxc19fY29sLXNpZGViYXIge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVlbTtcbiAgICBiYWNrZ3JvdW5kOiAjRjhGOEY4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgcGFkZGluZzogMWVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uIHtcbiAgICAgICAgcGFkZGluZzogM2VtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1ZW07IH0gfVxuICAgIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnNlY3Rpb24tLWZhcXNfX2ZhcS1hY2NvcmRpb24uaXMtaGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuc2VjdGlvbi0tZmFxc19fZmFxLWFjY29yZGlvbiAuYWNjb3JkaW9uIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAgIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgICAuc2VjdGlvbi0tZmFxc19fZmFxLWFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuc2VjdGlvbi0tZmFxc19fZmFxLWFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgICAgIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDQwJTtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxcmVtO1xuICAgICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAgIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUtLWN5YW46YmVmb3JlLCAuc2VjdGlvbi0tZmFxc19fZmFxLWFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlLS1jeWFuOmhvdmVyLCAuc2VjdGlvbi0tZmFxc19fZmFxLWFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlLS1jeWFuOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogIzE2NDNBNDsgfVxuICAgICAgICAuc2VjdGlvbi0tZmFxc19fZmFxLWFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlLS1ncmVlbjpiZWZvcmUsIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUtLWdyZWVuOmhvdmVyLCAuc2VjdGlvbi0tZmFxc19fZmFxLWFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlLS1ncmVlbjpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICMyRkI2N0M7IH1cbiAgICAgICAgLnNlY3Rpb24tLWZhcXNfX2ZhcS1hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZS0tbWFnZW50YTpiZWZvcmUsIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUtLW1hZ2VudGE6aG92ZXIsIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUtLW1hZ2VudGE6Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAjRTEzNDI5OyB9XG4gICAgICAgIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUtLW5hdnk6YmVmb3JlLCAuc2VjdGlvbi0tZmFxc19fZmFxLWFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlLS1uYXZ5OmhvdmVyLCAuc2VjdGlvbi0tZmFxc19fZmFxLWFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlLS1uYXZ5OmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogIzAzMUU1NzsgfVxuICAgICAgICAuc2VjdGlvbi0tZmFxc19fZmFxLWFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlLS15ZWxsb3c6YmVmb3JlLCAuc2VjdGlvbi0tZmFxc19fZmFxLWFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlLS15ZWxsb3c6aG92ZXIsIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUtLXllbGxvdzpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICNGQUIwM0E7IH1cbiAgICAgIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgICAgICAuc2VjdGlvbi0tZmFxc19fZmFxLWFjY29yZGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQgcCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLnNlY3Rpb24tLWZhcXNfX2ZhcS1hY2NvcmRpb24gLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAjRTEzNDI5OyB9XG4gICAgICAuc2VjdGlvbi0tZmFxc19fZmFxLWFjY29yZGlvbiAuaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNFMTM0Mjk7IH1cbiAgLnNlY3Rpb24tLWZhcXNfX2hlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41ZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDAwMDA7IH1cbiAgICAuc2VjdGlvbi0tZmFxc19faGVhZGVyIGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVlbTsgfVxuICAgIC5zZWN0aW9uLS1mYXFzX19oZWFkZXItLWN5YW4ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMTY0M0E0OyB9XG4gICAgLnNlY3Rpb24tLWZhcXNfX2hlYWRlci0tZ3JlZW4ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMkZCNjdDOyB9XG4gICAgLnNlY3Rpb24tLWZhcXNfX2hlYWRlci0tbWFnZW50YSB7XG4gICAgICBib3JkZXItY29sb3I6ICNFMTM0Mjk7IH1cbiAgICAuc2VjdGlvbi0tZmFxc19faGVhZGVyLS1uYXZ5IHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAzMUU1NzsgfVxuICAgIC5zZWN0aW9uLS1mYXFzX19oZWFkZXItLXllbGxvdyB7XG4gICAgICBib3JkZXItY29sb3I6ICNGQUIwM0E7IH1cblxuLmZhcXNfX3NlYXJjaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogM2VtOyB9XG4gIC5mYXFzX19zZWFyY2ggaDUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG5cbi5mYXFzX19uby1yZXN1bHRzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMi41ZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRjhGOEY4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLmZhcXNfX25vLXJlc3VsdHMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5mYXFzX19uby1yZXN1bHRzLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5mYXFzX19mYXEtbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogM2VtOyB9IH1cblxuLmZhcXNfX3RvcGljcyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDRlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mYXFzX190b3BpY3Mge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuZmFxc19fdG9waWNzIHVsIGxpIGEge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBjb2xvcjogIzE2NDNBNDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uYnJlYWRjcnVtYiB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBsaW5lLWhlaWdodDogMS4ycmVtOyB9XG4gIC5icmVhZGNydW1iLS13aGl0ZSB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJyZWFkY3J1bWJfX2xpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogIzE2NDNBNDsgfVxuICAgIC5icmVhZGNydW1iX19saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMTY0M0E0OyB9XG4gICAgLmJyZWFkY3J1bWJfX2xpbmstLWJsdWUsIC5icmVhZGNydW1iX19saW5rLS1jeWFuIHtcbiAgICAgIGNvbG9yOiAjMTY0M0E0OyB9XG4gICAgLmJyZWFkY3J1bWJfX2xpbmstLWdyZWVuIHtcbiAgICAgIGNvbG9yOiAjMkZCNjdDOyB9XG4gICAgLmJyZWFkY3J1bWJfX2xpbmstLXJlZCwgLmJyZWFkY3J1bWJfX2xpbmstLW1hZ2VudGEge1xuICAgICAgY29sb3I6ICNFMTM0Mjk7IH1cbiAgICAuYnJlYWRjcnVtYl9fbGluay0teWVsbG93IHtcbiAgICAgIGNvbG9yOiAjRkFCMDNBOyB9XG4gICAgLmJyZWFkY3J1bWJfX2xpbmstLXdoaXRlIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAuYnJlYWRjcnVtYl9fbGluay0td2hpdGU6aG92ZXIge1xuICAgICAgICBjb2xvcjogI0UxMzQyOTsgfVxuXG4uc2VjdGlvbi0tdGVybXMtcGFnZXMge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuICAuc2VjdGlvbi0tdGVybXMtcGFnZXMgLmdyaWQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogM2VtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zZWN0aW9uLS10ZXJtcy1wYWdlcyAuZ3JpZC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogNmVtOyB9IH1cbiAgLnNlY3Rpb24tLXRlcm1zLXBhZ2VzIHAge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC5zZWN0aW9uLS10ZXJtcy1wYWdlcyBhIHtcbiAgICBjb2xvcjogIzAzMUU1NztcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuc2VjdGlvbi0tdGVybXMtcGFnZXMgKyAuc2VjdGlvbi0tY2FyZC1ncmlkLWZpbGVzIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuXG4uY29va2llLW1lc3NhZ2Uge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDIwMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogMCAtMnB4IDE2cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNik7IH1cbiAgLmNvb2tpZS1tZXNzYWdlIHAge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBtYXJnaW46IDFlbSAwOyB9XG4gIC5jb29raWUtbWVzc2FnZSAuYnV0dG9uLCAuY29va2llLW1lc3NhZ2UgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5jb29raWUtbWVzc2FnZSBidXR0b24ge1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qIFRuSCAqL1xuLnBsYXktbWUge1xuICBtYXgtaGVpZ2h0OiA4MnZoO1xuICBvcGFjaXR5OiAuOTk7IH1cblxuLnJldmVhbCB7XG4gIHBhZGRpbmc6IDJlbTsgfVxuICAucmV2ZWFsOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cblxuLmF1dG8tdmlkZW8ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYXV0by12aWRlbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjY1KTtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5hdXRvLXZpZGVvIC5ncmlkLWNvbnRhaW5lci5maXhlZC1oZWlnaHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDM2MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5hdXRvLXZpZGVvIC5ncmlkLWNvbnRhaW5lci5maXhlZC1oZWlnaHQge1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuYXV0by12aWRlbyAuZ3JpZC1jb250YWluZXIuZml4ZWQtaGVpZ2h0IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgICAuYXV0by12aWRlbyAuZ3JpZC1jb250YWluZXIuZml4ZWQtaGVpZ2h0IHZpZGVvIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjsgfVxuICAuYXV0by12aWRlb19fY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICAuYXV0by12aWRlb19fY29udGVudC1pbm5lciB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICAgIG1pbi13aWR0aDogMHB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5hdXRvLXZpZGVvX19jb250ZW50LWlubmVyIHtcbiAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07IH0gfVxuICAuYXV0by12aWRlb19fc21hbGwtbG9nbyB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAyMDBweDsgfVxuICAgIC5hdXRvLXZpZGVvX19zbWFsbC1sb2dvICsgLmF1dG8tdmlkZW9fX3RleHQtY29udGVudCBoMSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjJlbTsgfVxuICAuYXV0by12aWRlb19fdGV4dC1jb250ZW50IGgxIHtcbiAgICBmb250LXNpemU6IDUycHg7XG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luOiAuNGVtIDA7XG4gICAgY29sb3I6ICNGRUZDRjk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgei1pbmRleDogMztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5hdXRvLXZpZGVvX190ZXh0LWNvbnRlbnQgaDEgaSwgLmF1dG8tdmlkZW9fX3RleHQtY29udGVudCBoMSBlbSB7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBjb2xvcjogI0UxQ0JDMztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5hdXRvLXZpZGVvX190ZXh0LWNvbnRlbnQgaDEgc3BhbiB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5hdXRvLXZpZGVvX190ZXh0LWNvbnRlbnQgaDEgc3Bhbi5hY2NlbnQtdG9wIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5hdXRvLXZpZGVvX190ZXh0LWNvbnRlbnQgaDEgc3Bhbi5hY2NlbnQtdG9wOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IC00cHg7XG4gICAgICAgICAgbGVmdDogLTE1cHg7XG4gICAgICAgICAgd2lkdGg6IDUycHg7XG4gICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9hY2NlbnQtbG9vcC10b3AtbGlnaHQuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgLmF1dG8tdmlkZW9fX3RleHQtY29udGVudCBoMSBzcGFuLmFjY2VudC10b3A6YmVmb3JlIHtcbiAgICAgICAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICAgICAgICBsZWZ0OiAtMTVweDsgfSB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgIC5hdXRvLXZpZGVvX190ZXh0LWNvbnRlbnQgaDEgc3Bhbi5hY2NlbnQtdG9wOmJlZm9yZSB7XG4gICAgICAgICAgICAgIHRvcDogLTlweDtcbiAgICAgICAgICAgICAgbGVmdDogLTQwcHg7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDNweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4OyB9IH1cbiAgICAgIC5hdXRvLXZpZGVvX190ZXh0LWNvbnRlbnQgaDEgc3Bhbi5hY2NlbnQtYm90dG9tIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5hdXRvLXZpZGVvX190ZXh0LWNvbnRlbnQgaDEgc3Bhbi5hY2NlbnQtYm90dG9tOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IC0xNXB4O1xuICAgICAgICAgIHJpZ2h0OiAtMTVweDtcbiAgICAgICAgICB3aWR0aDogNjJweDtcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2FjY2VudC1sb29wLWJvdHRvbS1saWdodC5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDsgfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgICAuYXV0by12aWRlb19fdGV4dC1jb250ZW50IGgxIHNwYW4uYWNjZW50LWJvdHRvbTpiZWZvcmUge1xuICAgICAgICAgICAgICBib3R0b206IC0xM3B4OyB9IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgLmF1dG8tdmlkZW9fX3RleHQtY29udGVudCBoMSBzcGFuLmFjY2VudC1ib3R0b206YmVmb3JlIHtcbiAgICAgICAgICAgICAgYm90dG9tOiAtMzJweDtcbiAgICAgICAgICAgICAgcmlnaHQ6IC0yOHB4O1xuICAgICAgICAgICAgICB3aWR0aDogMTIzcHg7XG4gICAgICAgICAgICAgIGhlaWdodDogNjBweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5hdXRvLXZpZGVvX190ZXh0LWNvbnRlbnQgaDEge1xuICAgICAgICBmb250LXNpemU6IDU4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1NnB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmF1dG8tdmlkZW9fX3RleHQtY29udGVudCBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogOTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDk2cHg7XG4gICAgICAgIG1hcmdpbjogMC4zZW0gMCAuOGVtIDA7IH0gfVxuICAuYXV0by12aWRlb19fdGV4dC1jb250ZW50IC5oZWFkZXItLXN0cmFwbGluZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAjRkVGQ0Y5O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtOyB9XG4gICAgLmF1dG8tdmlkZW9fX3RleHQtY29udGVudCAuaGVhZGVyLS1zdHJhcGxpbmU6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMTJweDtcbiAgICAgIGJhY2tncm91bmQ6ICNFMUNCQzM7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmF1dG8tdmlkZW9fX3RleHQtY29udGVudCAuaGVhZGVyLS1zdHJhcGxpbmUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIC5hdXRvLXZpZGVvX190ZXh0LWNvbnRlbnQgLmhlYWRlci0tc3RyYXBsaW5lOmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAtMTVweDtcbiAgICAgICAgICByaWdodDogMDsgfSB9XG5cbi5jb250ZW50LXRleHQtb25seV9fZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb250ZW50LXRleHQtb25seV9fZ3JpZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuY29udGVudC10ZXh0LW9ubHlfX2dyaWQtY29udGFpbmVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDNlbSAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCNEIxQUY7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNvbnRlbnQtdGV4dC1vbmx5X19ncmlkLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICAgIG1hcmdpbjogNGVtIDA7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29udGVudC10ZXh0LW9ubHlfX2dyaWQtY29udGFpbmVyOmFmdGVyIHtcbiAgICAgICAgbWFyZ2luOiA2ZW0gMDsgfSB9XG5cbi5jb250ZW50LXRleHQtb25seV9fZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLmNvbnRlbnQtdGV4dC1vbmx5X19jb250ZW50IHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbnRlbnQtdGV4dC1vbmx5X19jb250ZW50IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgd2lkdGg6IGNhbGMoNzkuMTY2NjclIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuLmNvbnRlbnQtdGV4dC1vbmx5LS1uby1ib3JkZXIgLmNvbnRlbnQtdGV4dC1vbmx5X19ncmlkLWNvbnRhaW5lcjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNvbnRlbnQtdGV4dC1vbmx5LS1wcmljaW5nLXBhZ2UgLmNvbnRlbnQtdGV4dC1vbmx5X19ncmlkLWNvbnRhaW5lcjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogM2VtIDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQjRCMUFGO1xuICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbnRlbnQtdGV4dC1vbmx5LS1wcmljaW5nLXBhZ2UgLmNvbnRlbnQtdGV4dC1vbmx5X19ncmlkLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgbWFyZ2luOiA0ZW0gMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbnRlbnQtdGV4dC1vbmx5LS1wcmljaW5nLXBhZ2UgLmNvbnRlbnQtdGV4dC1vbmx5X19ncmlkLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgbWFyZ2luOiA2ZW0gMDsgfSB9XG5cbi5jb250ZW50LXRleHQtb25seS0tcHJpY2luZy1wYWdlIC5jb250ZW50LXRleHQtb25seV9fZ3JpZC1jb250YWluZXI6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5pbWFnZS1jYXJvdXNlbF9fZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5pbWFnZS1jYXJvdXNlbF9fZ3JpZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuaW1hZ2UtY2Fyb3VzZWxfX2dyaWQtY29udGFpbmVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDNlbSAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCNEIxQUY7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmltYWdlLWNhcm91c2VsX19ncmlkLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICAgIG1hcmdpbjogNGVtIDA7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaW1hZ2UtY2Fyb3VzZWxfX2dyaWQtY29udGFpbmVyOmFmdGVyIHtcbiAgICAgICAgbWFyZ2luOiA2ZW0gMDsgfSB9XG5cbi5pbWFnZS1jYXJvdXNlbF9fZ3JpZC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmltYWdlLWNhcm91c2VsX19ncmlkLWhlYWRlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cblxuLmltYWdlLWNhcm91c2VsX19ncmlkLWNhcm91c2VsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luLXRvcDogNGVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmltYWdlLWNhcm91c2VsX19ncmlkLWNhcm91c2VsIHtcbiAgICAgIG1hcmdpbi10b3A6IDNlbTsgfSB9XG5cbi5pbWFnZS1jYXJvdXNlbF9faGVhZGVyIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmltYWdlLWNhcm91c2VsX19oZWFkZXIge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDllbTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAuaW1hZ2UtY2Fyb3VzZWxfX2hlYWRlciAuaGVhZGVyLS1zdHJhcGxpbmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLmltYWdlLWNhcm91c2VsX19oZWFkZXIgLmhlYWRlci0tc3RyYXBsaW5lOmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwOyB9IH1cblxuLmltYWdlLWNhcm91c2VsX19jYXJvdXNlbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXRvcDogLTNlbTsgfVxuICAuaW1hZ2UtY2Fyb3VzZWxfX2Nhcm91c2VsIC5zcGxpZGVfX2Fycm93cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgLmltYWdlLWNhcm91c2VsX19jYXJvdXNlbCAuc3BsaWRlX19hcnJvdyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgdG9wOiBhdXRvO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmltYWdlLWNhcm91c2VsX19jYXJvdXNlbCAuc3BsaWRlX19hcnJvdy0tcHJldiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFlbTsgfVxuICAuaW1hZ2UtY2Fyb3VzZWxfX2Nhcm91c2VsIC5zcGxpZGVfX3RyYWNrIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuICAuaW1hZ2UtY2Fyb3VzZWxfX2Nhcm91c2VsIC5zcGxpZGVfX3NsaWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuaW1hZ2UtY2Fyb3VzZWxfX2Nhcm91c2VsIC5zcGxpZGVfX3NsaWRlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBsZWZ0OiAxMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjQjRCMUFGO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC5pbWFnZS1jYXJvdXNlbF9fY2Fyb3VzZWwgLnNwbGlkZV9fc2xpZGUgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7IH1cblxuLmxvZ28tZ3JpZF9fZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sb2dvLWdyaWRfX2dyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmxvZ28tZ3JpZF9fZ3JpZC1jb250YWluZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogM2VtIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0I0QjFBRjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubG9nby1ncmlkX19ncmlkLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICAgIG1hcmdpbjogNGVtIDA7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubG9nby1ncmlkX19ncmlkLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICAgIG1hcmdpbjogNmVtIDA7IH0gfVxuXG4ubG9nby1ncmlkX19ncmlkLCAubG9nby1ncmlkX19ncmlkLWxvZ29zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4ubG9nby1ncmlkX19ncmlkLWxvZ29zIHtcbiAgbWFyZ2luLXRvcDogMmVtO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5sb2dvLWdyaWRfX2hlYWRlciB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sb2dvLWdyaWRfX2hlYWRlciB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIHdpZHRoOiBjYWxjKDc5LjE2NjY3JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5sb2dvLWdyaWRfX2dyaWQtbG9nb3Mge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ubG9nby1ncmlkX19sb2dvIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDNlbTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMC41ZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubG9nby1ncmlkX19sb2dvIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZzogMCAxZW07IH0gfVxuICAubG9nby1ncmlkX19sb2dvIGltZyB7XG4gICAgbWF4LWhlaWdodDogNzBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubG9nby1ncmlkX19sb2dvIGltZyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4OyB9IH1cblxuLnByaWNlLWRyb3Bkb3duLW1lbnUge1xuICB6LWluZGV4OiAyOyB9XG4gIC5wcmljZS1kcm9wZG93bi1tZW51X19ncmlkLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDkwcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucHJpY2UtZHJvcGRvd24tbWVudV9fZ3JpZC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAucHJpY2UtZHJvcGRvd24tbWVudV9fZ3JpZC1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDNlbSAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQjRCMUFGO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnByaWNlLWRyb3Bkb3duLW1lbnVfX2dyaWQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luOiA0ZW0gMDsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAucHJpY2UtZHJvcGRvd24tbWVudV9fZ3JpZC1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW46IDZlbSAwOyB9IH1cbiAgICAucHJpY2UtZHJvcGRvd24tbWVudV9fZ3JpZC1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIG1hcmdpbjogMWVtIDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5wcmljZS1kcm9wZG93bi1tZW51X19ncmlkLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbjogMmVtIDA7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnByaWNlLWRyb3Bkb3duLW1lbnVfX2dyaWQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luOiAzZW0gMDsgfSB9XG4gIC5wcmljZS1kcm9wZG93bi1tZW51X19ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgLnByaWNlLWRyb3Bkb3duLW1lbnVfX21lbnUtYmxvY2sge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcmljZS1kcm9wZG93bi1tZW51X19tZW51LWJsb2NrIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG4gICAgLnByaWNlLWRyb3Bkb3duLW1lbnVfX21lbnUtYmxvY2sgLmJ1dHRvbiwgLnByaWNlLWRyb3Bkb3duLW1lbnVfX21lbnUtYmxvY2sgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5wcmljZS1kcm9wZG93bi1tZW51X19tZW51LWJsb2NrIGJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAucHJpY2UtZHJvcGRvd24tbWVudV9fbWVudS1ibG9jayAuYnV0dG9uOmFmdGVyLCAucHJpY2UtZHJvcGRvd24tbWVudV9fbWVudS1ibG9jayAuZm9ybS1jb250YWluZXIgYnV0dG9uOmFmdGVyLCAuZm9ybS1jb250YWluZXIgLnByaWNlLWRyb3Bkb3duLW1lbnVfX21lbnUtYmxvY2sgYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMC45ZW0gIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEuMmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9pY29uLWNoZXZyb24tZG93bi1kYXJrLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC41ZW07IH1cbiAgICAgIC5wcmljZS1kcm9wZG93bi1tZW51X19tZW51LWJsb2NrIC5idXR0b246aG92ZXIsIC5wcmljZS1kcm9wZG93bi1tZW51X19tZW51LWJsb2NrIC5mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAucHJpY2UtZHJvcGRvd24tbWVudV9fbWVudS1ibG9jayBidXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGQ0Y1O1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgICAucHJpY2UtZHJvcGRvd24tbWVudV9fbWVudS1ibG9jayAuYnV0dG9uOmhvdmVyOmFmdGVyLCAucHJpY2UtZHJvcGRvd24tbWVudV9fbWVudS1ibG9jayAuZm9ybS1jb250YWluZXIgYnV0dG9uOmhvdmVyOmFmdGVyLCAuZm9ybS1jb250YWluZXIgLnByaWNlLWRyb3Bkb3duLW1lbnVfX21lbnUtYmxvY2sgYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaWNvbi1jaGV2cm9uLWRvd24tZGFyay5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDsgfVxuICAgICAgLnByaWNlLWRyb3Bkb3duLW1lbnVfX21lbnUtYmxvY2sgLmJ1dHRvbjphY3RpdmUsIC5wcmljZS1kcm9wZG93bi1tZW51X19tZW51LWJsb2NrIC5mb3JtLWNvbnRhaW5lciBidXR0b246YWN0aXZlLCAuZm9ybS1jb250YWluZXIgLnByaWNlLWRyb3Bkb3duLW1lbnVfX21lbnUtYmxvY2sgYnV0dG9uOmFjdGl2ZSwgLnByaWNlLWRyb3Bkb3duLW1lbnVfX21lbnUtYmxvY2sgLmJ1dHRvbjpmb2N1cywgLnByaWNlLWRyb3Bkb3duLW1lbnVfX21lbnUtYmxvY2sgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5wcmljZS1kcm9wZG93bi1tZW51X19tZW51LWJsb2NrIGJ1dHRvbjpmb2N1cywgLnByaWNlLWRyb3Bkb3duLW1lbnVfX21lbnUtYmxvY2sgLmJ1dHRvbjphY3RpdmU6Zm9jdXMsIC5wcmljZS1kcm9wZG93bi1tZW51X19tZW51LWJsb2NrIC5mb3JtLWNvbnRhaW5lciBidXR0b246YWN0aXZlOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLnByaWNlLWRyb3Bkb3duLW1lbnVfX21lbnUtYmxvY2sgYnV0dG9uOmFjdGl2ZTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5wcmljZS1kcm9wZG93bi1tZW51X19sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgLnByaWNlLWRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLXBhbmUge1xuICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5wcmljZS1kcm9wZG93bi1tZW51IC5kcm9wZG93bi1wYW5lIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAgIC5wcmljZS1kcm9wZG93bi1tZW51IC5kcm9wZG93bi1wYW5lIHVsIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07IH1cbiAgICAgICAgLnByaWNlLWRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLXBhbmUgdWwgbGk6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIC5wcmljZS1kcm9wZG93bi1tZW51IC5kcm9wZG93bi1wYW5lIHVsIGxpIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAgICAgLnByaWNlLWRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLXBhbmUgdWwgbGkgYTpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4ucHJpY2Utc2VydmljZV9fZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcmljZS1zZXJ2aWNlX19ncmlkLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5wcmljZS1zZXJ2aWNlX19ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4ucHJpY2Utc2VydmljZV9faGVhZGVyIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByaWNlLXNlcnZpY2VfX2hlYWRlciB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5wcmljZS1zZXJ2aWNlX19wcmljZXMge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJpY2Utc2VydmljZV9fcHJpY2VzIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxLjg3NXJlbSAvIDIpOyB9IH1cbiAgLnByaWNlLXNlcnZpY2VfX3ByaWNlcy1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCNEIxQUY7XG4gICAgcGFkZGluZzogMC41ZW0gMDsgfVxuICAgIC5wcmljZS1zZXJ2aWNlX19wcmljZXMtcm93IHNwYW4ge1xuICAgICAgZmxleDogMCAwIDUwJTsgfVxuXG4ucHJpY2Utc2VydmljZV9fcG9zdC10ZXh0IHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tdG9wOiAzZW07IH1cblxuLmNvbnRlbnQtdGV4dC1vbmx5ICsgLnByaWNlLXNlcnZpY2Uge1xuICBwYWRkaW5nLXRvcDogNGVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbnRlbnQtdGV4dC1vbmx5ICsgLnByaWNlLXNlcnZpY2Uge1xuICAgICAgcGFkZGluZy10b3A6IDhlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5wcmljZS1zZXJ2aWNlICsgLnRlc3RpbW9uaWFsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41ZW07IH0gfVxuXG4ucHJpY2Utc2VydmljZSArIC50ZXN0aW1vbmlhbCAudGVzdGltb25pYWxfX2dyaWQtY29udGFpbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAzZW0gMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNCNEIxQUY7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJpY2Utc2VydmljZSArIC50ZXN0aW1vbmlhbCAudGVzdGltb25pYWxfX2dyaWQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBtYXJnaW46IDRlbSAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHJpY2Utc2VydmljZSArIC50ZXN0aW1vbmlhbCAudGVzdGltb25pYWxfX2dyaWQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBtYXJnaW46IDZlbSAwOyB9IH1cblxuLnJpY2gtdGV4dF9fZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yaWNoLXRleHRfX2dyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLnJpY2gtdGV4dF9fZ3JpZC1jb250YWluZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogM2VtIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0I0QjFBRjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucmljaC10ZXh0X19ncmlkLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICAgIG1hcmdpbjogNGVtIDA7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucmljaC10ZXh0X19ncmlkLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICAgIG1hcmdpbjogNmVtIDA7IH0gfVxuXG4ucmljaC10ZXh0X19ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4ucmljaC10ZXh0X19jb250ZW50IHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gIC5yaWNoLXRleHRfX2NvbnRlbnQtLXBsYWluIGgxLCAucmljaC10ZXh0X19jb250ZW50LS1wbGFpbiBoMiwgLnJpY2gtdGV4dF9fY29udGVudC0tcGxhaW4gaDMsIC5yaWNoLXRleHRfX2NvbnRlbnQtLXBsYWluIGg0LCAucmljaC10ZXh0X19jb250ZW50LS1wbGFpbiBoNSB7XG4gICAgbWFyZ2luLXRvcDogMC44ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLmNlbGwtLXJpY2gtdGV4dCBmaWd1cmUge1xuICBtYXJnaW46IDFlbSBhdXRvOyB9XG5cbi5jZWxsLS1yaWNoLXRleHQgdmlkZW8ge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2VsbC0tcmljaC10ZXh0OmVtcHR5LCAuY2VsbC0tcmljaC10ZXh0Oi1tb3otb25seS13aGl0ZXNwYWNlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5jZWxsLS1yaWNoLXRleHQgb2wge1xuICBtYXJnaW46IDJlbSAwIDEuMjVlbSAyZW07IH1cbiAgLmNlbGwtLXJpY2gtdGV4dCBvbCBsaSB7XG4gICAgbWFyZ2luOiAuNWVtIDA7IH1cblxuLmNlbGwtLXJpY2gtdGV4dCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMmVtIDAgMmVtIDA7IH1cbiAgLmNlbGwtLXJpY2gtdGV4dCB1bCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC41ZW07XG4gICAgbWF4LXdpZHRoOiA1NWNoOyB9XG4gICAgLmNlbGwtLXJpY2gtdGV4dCB1bCBsaTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwOyB9XG5cbi5jZWxsLS1yaWNoLXRleHQgcCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAxZW0gMDsgfVxuXG4uY2VsbC0tcmljaC10ZXh0IGgxLCAuY2VsbC0tcmljaC10ZXh0IGgyLCAuY2VsbC0tcmljaC10ZXh0IGgzLCAuY2VsbC0tcmljaC10ZXh0IGg0LCAuY2VsbC0tcmljaC10ZXh0IGg1IHtcbiAgbWFyZ2luLXRvcDogMS41ZW07XG4gIG1hcmdpbi1ib3R0b206IC41ZW07IH1cbiAgLmNlbGwtLXJpY2gtdGV4dCBoMTpmaXJzdC1vZi10eXBlLCAuY2VsbC0tcmljaC10ZXh0IGgyOmZpcnN0LW9mLXR5cGUsIC5jZWxsLS1yaWNoLXRleHQgaDM6Zmlyc3Qtb2YtdHlwZSwgLmNlbGwtLXJpY2gtdGV4dCBoNDpmaXJzdC1vZi10eXBlLCAuY2VsbC0tcmljaC10ZXh0IGg1OmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLmNlbGwtLXJpY2gtdGV4dCBoNSArIGgyIHtcbiAgbWFyZ2luLXRvcDogMC41ZW07IH1cblxuLmNlbGwtLXJpY2gtdGV4dCBhOm5vdCguYnV0dG9uKSB7XG4gIGNvbG9yOiAjRTEzNDI5O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uY2VsbC0tcmljaC10ZXh0IGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnRhYmJlZC1pbWFnZS1jb250ZW50X19ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXgtd2lkdGg6IDkwcmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRhYmJlZC1pbWFnZS1jb250ZW50X19ncmlkLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC50YWJiZWQtaW1hZ2UtY29udGVudF9fZ3JpZC1jb250YWluZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogM2VtIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0I0QjFBRjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudGFiYmVkLWltYWdlLWNvbnRlbnRfX2dyaWQtY29udGFpbmVyOmFmdGVyIHtcbiAgICAgICAgbWFyZ2luOiA0ZW0gMDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50YWJiZWQtaW1hZ2UtY29udGVudF9fZ3JpZC1jb250YWluZXI6YWZ0ZXIge1xuICAgICAgICBtYXJnaW46IDZlbSAwOyB9IH1cblxuLnRhYmJlZC1pbWFnZS1jb250ZW50X19ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4udGFiYmVkLWltYWdlLWNvbnRlbnRfX2hlYWRlciB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50YWJiZWQtaW1hZ2UtY29udGVudF9faGVhZGVyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgd2lkdGg6IGNhbGMoNzkuMTY2NjclIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuLnRhYmJlZC1pbWFnZS1jb250ZW50X19oZWFkZXItc3lub3BzaXMge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFiYmVkLWltYWdlLWNvbnRlbnRfX2hlYWRlci1zeW5vcHNpcyB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuODc1cmVtIC8gMik7IH0gfVxuXG4udGFiYmVkLWltYWdlLWNvbnRlbnRfX25hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50YWJiZWQtaW1hZ2UtY29udGVudF9fbmF2IHtcbiAgICAgIG1hcmdpbi10b3A6IDRlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRlbTsgfSB9XG4gIC50YWJiZWQtaW1hZ2UtY29udGVudF9fbmF2IC50YWJzLXRpdGxlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnRhYmJlZC1pbWFnZS1jb250ZW50X19uYXYgLnRhYnMtdGl0bGUge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLnRhYmJlZC1pbWFnZS1jb250ZW50X19uYXYgLnRhYnMtdGl0bGU6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ3wnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAzNSU7XG4gICAgICByaWdodDogLTE4cHg7IH1cbiAgICAudGFiYmVkLWltYWdlLWNvbnRlbnRfX25hdiAudGFicy10aXRsZTpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAudGFiYmVkLWltYWdlLWNvbnRlbnRfX25hdiAudGFicy10aXRsZTpsYXN0LW9mLXR5cGU6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnRhYmJlZC1pbWFnZS1jb250ZW50X19uYXYgLnRhYnMtdGl0bGUgYSB7XG4gICAgICBwYWRkaW5nOiAxLjNlbSAxLjZlbTtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4xZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMmVtO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLnRhYmJlZC1pbWFnZS1jb250ZW50X19uYXYgLnRhYnMtdGl0bGUgYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDEuNmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAyLjJlbSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaWNvbi1oYWlyLWRhcmsuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLjVlbTsgfVxuICAgICAgLnRhYmJlZC1pbWFnZS1jb250ZW50X19uYXYgLnRhYnMtdGl0bGUgYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGRkZDRjU7IH1cbiAgICAgICAgLnRhYmJlZC1pbWFnZS1jb250ZW50X19uYXYgLnRhYnMtdGl0bGUgYTpob3ZlcjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ljb24taGFpci1kYXJrLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50OyB9XG4gICAgICAudGFiYmVkLWltYWdlLWNvbnRlbnRfX25hdiAudGFicy10aXRsZSBhOmFjdGl2ZSwgLnRhYmJlZC1pbWFnZS1jb250ZW50X19uYXYgLnRhYnMtdGl0bGUgYTpmb2N1cywgLnRhYmJlZC1pbWFnZS1jb250ZW50X19uYXYgLnRhYnMtdGl0bGUgYTphY3RpdmU6Zm9jdXMge1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC50YWJiZWQtaW1hZ2UtY29udGVudF9fbmF2IC50YWJzLXRpdGxlLmhhaXIgYTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaWNvbi1oYWlyLWRhcmsuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDsgfVxuICAgIC50YWJiZWQtaW1hZ2UtY29udGVudF9fbmF2IC50YWJzLXRpdGxlLmhhaXIuaXMtYWN0aXZlIGEge1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAudGFiYmVkLWltYWdlLWNvbnRlbnRfX25hdiAudGFicy10aXRsZS5oYWlyLmlzLWFjdGl2ZSBhOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ljb24taGFpci1saWdodC5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluICFpbXBvcnRhbnQ7IH1cbiAgICAgIC50YWJiZWQtaW1hZ2UtY29udGVudF9fbmF2IC50YWJzLXRpdGxlLmhhaXIuaXMtYWN0aXZlIGE6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaWNvbi1oYWlyLWxpZ2h0LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDsgfVxuICAgIC50YWJiZWQtaW1hZ2UtY29udGVudF9fbmF2IC50YWJzLXRpdGxlLnRhbm5pbmcgYTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaWNvbi10YW5uaW5nLWRhcmsuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDsgfVxuICAgIC50YWJiZWQtaW1hZ2UtY29udGVudF9fbmF2IC50YWJzLXRpdGxlLnRhbm5pbmcuaXMtYWN0aXZlIGEge1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAudGFiYmVkLWltYWdlLWNvbnRlbnRfX25hdiAudGFicy10aXRsZS50YW5uaW5nLmlzLWFjdGl2ZSBhOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ljb24tdGFubmluZy1saWdodC5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluICFpbXBvcnRhbnQ7IH1cbiAgICAgIC50YWJiZWQtaW1hZ2UtY29udGVudF9fbmF2IC50YWJzLXRpdGxlLnRhbm5pbmcuaXMtYWN0aXZlIGE6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaWNvbi10YW5uaW5nLWxpZ2h0LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDsgfVxuICAgIC50YWJiZWQtaW1hZ2UtY29udGVudF9fbmF2IC50YWJzLXRpdGxlLmJlYXV0eSBhOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9pY29uLWJlYXV0eS1kYXJrLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluICFpbXBvcnRhbnQ7IH1cbiAgICAudGFiYmVkLWltYWdlLWNvbnRlbnRfX25hdiAudGFicy10aXRsZS5iZWF1dHkuaXMtYWN0aXZlIGEge1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAudGFiYmVkLWltYWdlLWNvbnRlbnRfX25hdiAudGFicy10aXRsZS5iZWF1dHkuaXMtYWN0aXZlIGE6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaWNvbi1iZWF1dHktbGlnaHQuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50OyB9XG4gICAgICAudGFiYmVkLWltYWdlLWNvbnRlbnRfX25hdiAudGFicy10aXRsZS5iZWF1dHkuaXMtYWN0aXZlIGE6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaWNvbi1iZWF1dHktbGlnaHQuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50OyB9XG5cbi50YWJiZWQtaW1hZ2UtY29udGVudF9fdGFicyAudGFicy1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi50YWJiZWQtaW1hZ2UtY29udGVudF9fdGFicyAudGFicy1wYW5lbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMDsgfVxuICAudGFiYmVkLWltYWdlLWNvbnRlbnRfX3RhYnMgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgLnRhYmJlZC1pbWFnZS1jb250ZW50X190YWJzIC50YWJzLXBhbmVsX19jb250ZW50IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICNGRkZDRjU7XG4gICAgcGFkZGluZzogMmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC50YWJiZWQtaW1hZ2UtY29udGVudF9fdGFicyAudGFicy1wYW5lbF9fY29udGVudCB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogY2FsYyg4Ny41JSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGFiYmVkLWltYWdlLWNvbnRlbnRfX3RhYnMgLnRhYnMtcGFuZWxfX2NvbnRlbnQge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDQwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHBhZGRpbmc6IDNlbSA0ZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC50YWJiZWQtaW1hZ2UtY29udGVudF9fdGFicyAudGFicy1wYW5lbF9fY29udGVudCB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgLnRhYmJlZC1pbWFnZS1jb250ZW50X190YWJzIC50YWJzLXBhbmVsX19pbWFnZSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnRhYmJlZC1pbWFnZS1jb250ZW50X190YWJzIC50YWJzLXBhbmVsX19pbWFnZSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRhYmJlZC1pbWFnZS1jb250ZW50X190YWJzIC50YWJzLXBhbmVsX19pbWFnZSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAxLjg3NXJlbSAvIDIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAudGFiYmVkLWltYWdlLWNvbnRlbnRfX3RhYnMgLnRhYnMtcGFuZWxfX2ltYWdlIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuODc1cmVtIC8gMik7IH0gfVxuICAgIC50YWJiZWQtaW1hZ2UtY29udGVudF9fdGFicyAudGFicy1wYW5lbF9faW1hZ2UtaW5uZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAudGFiYmVkLWltYWdlLWNvbnRlbnRfX3RhYnMgLnRhYnMtcGFuZWxfX2ltYWdlLWlubmVyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0I0QjFBRjtcbiAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgLnRhYmJlZC1pbWFnZS1jb250ZW50X190YWJzIC50YWJzLXBhbmVsX19pbWFnZS1pbm5lciBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMDsgfVxuXG4udGVzdGltb25pYWxfX2dyaWQtY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1heC13aWR0aDogOTByZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGVzdGltb25pYWxfX2dyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLnRlc3RpbW9uaWFsX19ncmlkLWNvbnRhaW5lcjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAzZW0gMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQjRCMUFGOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC50ZXN0aW1vbmlhbF9fZ3JpZC1jb250YWluZXI6YWZ0ZXIge1xuICAgICAgICBtYXJnaW46IDRlbSAwOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRlc3RpbW9uaWFsX19ncmlkLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICAgIG1hcmdpbjogNmVtIDA7IH0gfVxuXG4udGVzdGltb25pYWxfX2dyaWQtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50ZXN0aW1vbmlhbF9fZ3JpZC1oZWFkZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG5cbi50ZXN0aW1vbmlhbF9fZ3JpZC1pbWFnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbi10b3A6IDJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50ZXN0aW1vbmlhbF9fZ3JpZC1pbWFnZSB7XG4gICAgICBtYXJnaW4tdG9wOiA0ZW07IH0gfVxuXG4udGVzdGltb25pYWxfX2dyaWQtY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogLTVlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50ZXN0aW1vbmlhbF9fZ3JpZC1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IC0xNWVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGVzdGltb25pYWxfX2dyaWQtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAtMjBlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRlc3RpbW9uaWFsX19ncmlkLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogLTI1ZW07IH0gfVxuXG4udGVzdGltb25pYWxfX2hlYWRlciB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50ZXN0aW1vbmlhbF9faGVhZGVyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA5ZW07XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgLnRlc3RpbW9uaWFsX19oZWFkZXIgLmhlYWRlci0tc3RyYXBsaW5lIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC50ZXN0aW1vbmlhbF9faGVhZGVyIC5oZWFkZXItLXN0cmFwbGluZTphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGJvdHRvbTogMDsgfSB9XG5cbi50ZXN0aW1vbmlhbF9fY29udGVudCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjRkZGQ0Y1O1xuICBwYWRkaW5nOiAyZW07XG4gIG9yZGVyOiAxO1xuICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGVzdGltb25pYWxfX2NvbnRlbnQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICB3aWR0aDogY2FsYyg4Ny41JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRlc3RpbW9uaWFsX19jb250ZW50IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA0MHB4O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgcGFkZGluZzogM2VtIDRlbTtcbiAgICAgIG9yZGVyOiAyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGVzdGltb25pYWxfX2NvbnRlbnQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICAudGVzdGltb25pYWxfX2NvbnRlbnQgLmNpdGF0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAzZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAudGVzdGltb25pYWxfX2NvbnRlbnQgLnF1b3RlLW1hcmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgIC50ZXN0aW1vbmlhbF9fY29udGVudCAucXVvdGUtbWFyayB7XG4gICAgICAgIHdpZHRoOiAzMHB4OyB9IH1cblxuLnRlc3RpbW9uaWFsX19pbWFnZSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgb3JkZXI6IDI7XG4gIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50ZXN0aW1vbmlhbF9faW1hZ2Uge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGVzdGltb25pYWxfX2ltYWdlIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgb3JkZXI6IDE7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRlc3RpbW9uaWFsX19pbWFnZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gIC50ZXN0aW1vbmlhbF9faW1hZ2UtaW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC50ZXN0aW1vbmlhbF9faW1hZ2UtaW5uZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTVweDtcbiAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNCNEIxQUY7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgLnRlc3RpbW9uaWFsX19pbWFnZS1pbm5lciBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiAwOyB9XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4gKiBWZXJzaW9uIDYuNy4zXG4gKiBodHRwczovL2dldC5mb3VuZGF0aW9uXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyAtLS0gRGVwZW5kZW5jaWVzIC0tLVxuQGltcG9ydCAndmVuZG9yL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gLS0tIFNldHRpbmdzIC0tLVxuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyAtLS0gQ29tcG9uZW50cyAtLS1cbi8vIFV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcbi8vIEdsb2JhbCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuXG4vLyBHcmlkc1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG4vLyBHZW5lcmljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG4vLyBCYXNpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG4vLyBDb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuXG4vLyBMYXlvdXQgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2UsXG4gICR4eS1ncmlkOiAkeHktZ3JpZFxuKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaWYgJHh5LWdyaWQge1xuICAgICR4eS1ncmlkOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvLyBHbG9iYWwgc3R5bGVzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuXG4gIC8vIEdyaWRzXG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICR4eS1ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgLy8gQmFzaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG5cbiAgLy8gQ29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcblxuICAvLyBMYXlvdXQgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcblxuICAvLyBIZWxwZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbiAgQGlmICRmbGV4IHsgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7IH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpZiAkcHJvdG90eXBlIHsgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlczsgfVxufVxuIiwiQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9SW50ZXI6aXRhbCxvcHN6LHdnaHRAMCwxNC4uMzIsMTAwLi45MDA7MSwxNC4uMzIsMTAwLi45MDAmZGlzcGxheT1zd2FwJyk7XHJcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PVBsYXlmYWlyK0Rpc3BsYXk6aXRhbCx3Z2h0QDAsNDAwLi45MDA7MSw0MDAuLjkwMCZkaXNwbGF5PXN3YXAnKTtcclxuXHJcbiRnbG9iYWwtZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcclxuJGdsb2JhbC1mb250LWZhbWlseS1zZWNvbmRhcnk6IFwiUGxheWZhaXIgRGlzcGxheVwiLCBzZXJpZjtcclxuXHJcbmJvZHkge1xyXG4gIGZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5OyBcclxufVxyXG5cclxuaDEsIC5oMSwgaDIsIC5oMiwgaDMsIC5oMywgaDQsIC5oNCwgaDUsIC5oNSB7XHJcbiAgZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHktc2Vjb25kYXJ5OyBcclxufVxyXG5cclxucCB7XHJcbiAgZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHk7IFxyXG59XHJcblxyXG5oMiB7XHJcblxyXG4gIGZvbnQtc2l6ZTogMzhweCAhaW1wb3J0YW50O1xyXG4gIGxpbmUtaGVpZ2h0OiAzOHB4ICFpbXBvcnRhbnQ7IFxyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgZm9udC1zaXplOiA1OHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBsaW5lLWhlaWdodDogNThweCAhaW1wb3J0YW50OyBcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIGZvbnQtc2l6ZTogODBweCAhaW1wb3J0YW50O1xyXG4gICAgbGluZS1oZWlnaHQ6IDgwcHggIWltcG9ydGFudDsgIFxyXG4gIH0gIFxyXG5cclxufVxyXG5cclxuaDMge1xyXG5cclxuICBmb250LXNpemU6IDMycHggIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50OyBcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIGZvbnQtc2l6ZTogNDRweCAhaW1wb3J0YW50O1xyXG4gICAgbGluZS1oZWlnaHQ6IDQ0cHggIWltcG9ydGFudDtcclxuICB9IFxyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBmb250LXNpemU6IDY4cHggIWltcG9ydGFudDtcclxuICAgIGxpbmUtaGVpZ2h0OiA2OHB4ICFpbXBvcnRhbnQ7IFxyXG4gIH1cclxuXHJcbn1cclxuXHJcbmg0IHsgIFxyXG5cclxuICBmb250LXNpemU6IDI4cHggIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMjhweCAhaW1wb3J0YW50O1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgZm9udC1zaXplOiAzNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBsaW5lLWhlaWdodDogMzZweCAhaW1wb3J0YW50O1xyXG4gIH0gXHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIGZvbnQtc2l6ZTogNThweCAhaW1wb3J0YW50O1xyXG4gICAgbGluZS1oZWlnaHQ6IDU4cHggIWltcG9ydGFudDsgXHJcbiAgfVxyXG5cclxufVxyXG5cclxucCB7XHJcbiAgbWFyZ2luOiAxZW0gMDtcclxufVxyXG5cclxuLmxhcmdle1xyXG4gIGZvbnQtc2l6ZTogMjRweDtcclxuICBtYXgtd2lkdGg6IDUyY2g7XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIGZvbnQtc2l6ZTogMzJweDtcclxuICB9XHJcblxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8vXG4vLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuXG4kLXpmLXNpemU6IG51bGw7XG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIEhpRFBJIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzIGZvciByZXNvbHV0aW9ucy5cbi8vLyBWYWx1ZXMgbXVzdCByZXByZXNlbnQgdGhlIGRldmljZSBwaXhlbHMgLyB3ZWIgcGl4ZWxzIHJhdGlvbiBhbmQgYmUgdW5pdGxlc3Mgb3IgaW4gRFBQWC5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBoaWRwaS0xOiAxLFxuICBoaWRwaS0xLTU6IDEuNSxcbiAgaGlkcGktMjogMixcbiAgcmV0aW5hOiAyLFxuICBoaWRwaS0zOiAzXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFdlYiBzdGFuZGFyZCBQaXhlbHMgcGVyIGluY2guICgxZGRweCAvICRzdGQtd2ViLWRwaSkgPSAxZHBpXG4gIC8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXZhbHVlcy0zLyNhYnNvbHV0ZS1sZW5ndGhzXG4gICRzdGQtd2ViLWRwaTogOTY7XG5cbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBvZiB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnRcbiAgJGJwLW5leHQ6IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWluOiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWluLXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogbnVsbDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIElmIG5hbWVkLCBuYW1lIG9mIHRoZSBicmVha3BvaW50XG4gICRuYW1lOiBudWxsO1xuICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIEhpRFBJIGJyZWFrcG9pbnRcbiAgJGhpZHBpOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cblxuICAvLyBJZiBhIGJyZWFrcG9pbnQgbmFtZSBpcyBnaXZlbiwgZ2V0IGl0cyB2YWx1ZSBmcm9tIHRoZSAkYnJlYWtwb2ludHMvJGJyZWFrcG9pbnRzLWhpZHBpIG1hcC5cbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLWhpZHBpLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0LW51bWJlcigkYnJlYWtwb2ludHMtaGlkcGksICRicCk7XG4gICAgICAkaGlkcGk6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgYCRicmVha3BvaW50c2Agb3IgYCRicmVha3BvaW50cy1oaWRwaWAgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBub3QgJG5hbWUgYW5kICRkaXIgPT0gJ29ubHknIHtcbiAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gT25seSAnb25seScgYW5kICd1cCcgaGF2ZSBhIG1pbiBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ3VwJyB7XG4gICAgJGJwLW1pbjogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgfVxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ2Rvd24nIGhhdmUgYSBtYXggbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSB2YWx1ZSwgdXNlIGl0IGFzIG1heCBsaW1pdC5cbiAgICBAaWYgbm90ICRuYW1lIHtcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gICAgfVxuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIG5hbWVkLCB0aGUgbWF4IGxpbWl0IGlzIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludCAtIDFweC5cbiAgICBAZWxzZSBpZiAkYnAtbmV4dCB7XG4gICAgICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gICAgICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCAkYnAtbmV4dCAtIGRpdmlkZSgxLCAkc3RkLXdlYi1kcGkpLCAtemYtYnAtdG8tZW0oJGJwLW5leHQpIC0gMC4wMDEyNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJhdGUgdGhlIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIG1pbiBhbmQgbWF4IGxpbWl0cy5cbiAgQGlmICRoaWRwaSB7XG4gICAgLy8gR2VuZXJhdGUgdmFsdWVzIGluIERQSSBpbnN0ZWFkIG9mIERQUFggZm9yIGFuIElFOS0xMS9PcGVyYSBtaW5pIGNvbXBhdGliaWxpdHkuXG4gICAgLy8gU2VlIGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgICAkYnAtbWluLWRwaTogaWYoJGJwLW1pbiwgJGJwLW1pbiAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1taW4pO1xuICAgICRicC1tYXgtZHBpOiBpZigkYnAtbWF4LCAkYnAtbWF4ICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1heCk7XG4gICAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgsICctd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8nLCAnLXdlYmtpdC1tYXgtZGV2aWNlLXBpeGVsLXJhdGlvJyksXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLWRwaSwgJGJwLW1heC1kcGksICdtaW4tcmVzb2x1dGlvbicsICdtYXgtcmVzb2x1dGlvbicpLFxuICAgICAgJywgJyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCk7XG4gIH1cbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBhbmQgYCRicmVha3BvaW50cy1oaWRwaWAgbWFwcywgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIElmIG11bHRpcGxlIHZhbHVlcyBhcmUgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBnZW5lcmF0ZSBhIG1lZGlhIHF1ZXJ5IGZvciBlYWNoIG9mIHRoZW0gYXMgZGVzY3JpYmVkIGFib3ZlLlxuLy8vIFNpbmNlIHRoZSBjb250ZW50IGlzIGR1cGxpY2F0ZWQgZm9yIGVhY2ggYnJlYWtwb2ludCwgdGhpcyBtaXhpbiBzaG91bGQgb25seSBiZSB1c2VkIHdpdGggcHJvcGVydGllcyB0aGF0XG4vLy8gY2hhbmdlIGFjcm9zcyBicmVha3BvaW50cy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZXMuLi4gLSBCcmVha3BvaW50IG5hbWUgb3IgcHgvcmVtL2VtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZXMuLi4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHZhbHVlcykge1xuICAgICR2YWx1ZTogbnRoKCR2YWx1ZXMsICRpKTtcbiAgICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsIG50aCgkdmFsdWUsIDEpKTtcbiAgICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcbiAgICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAgICRkaXI6IGlmKGxlbmd0aCgkdmFsdWUpID4gMSwgbnRoKCR2YWx1ZSwgMiksIHVwKTtcblxuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAgIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAgIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICAgIC8vIGdlbmVyYXRlIHByaW50IGlmIHRoZSBicmVha3BvaW50IGFmZmVjdHMgdGhlIHByaW50LWJyZWFrcG9pbnQgKG9yIHNtYWxsZXIpLlxuICAgICAgLy8gVGhpcyBtZWFucyB0aGUgY3VycmVudCBjb25kaXRpb24gb25seSBuZWVkcyB0byBiZSBleHRlbmRlZCBzbyAnZG93bicgYWx3YXlzIGdlbmVyYXRlcyBwcmludC5cbiAgICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgKCRicCA8PSAkcGJwIG9yICRkaXIgPT0gZG93bikge1xuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJ0cyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBudW1iZXIgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgbnVtYmVyIGZvbGxvd2luZyBgJG51bWJlcmAsIGlmIGAkbnVtYmVyYCB3YXMgZm91bmQuIElmIGAkbnVtYmVyYCB3YXMgbm90IGZvdW5kLCBvciBgJG51bWJlcmAgd2FzIHRoZSBiaWdnZXN0IG51bWJlciBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQtbnVtYmVyKCRtYXAsICRudW1iZXIpIHtcblxuICAkbmV4dF9udW1iZXI6IG51bGw7XG5cbiAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgIEBpZiB0eXBlLW9mKCR2KSA9PSAnbnVtYmVyJyBhbmQgJHYgPiAkbnVtYmVyIGFuZCAoJG5leHRfbnVtYmVyID09IG51bGwgb3IgJHYgPCAkbmV4dF9udW1iZXIpIHtcbiAgICAgICRuZXh0X251bWJlcjogJHY7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV4dF9udW1iZXI7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuLy8vIFJldHVybiB0aGUgYmVzdCBicmVha3BvaW50IHRvIHVzZSBhY2NvcmRpbmcgdG8gdGhlIGNhbGxpbmcgY29udGV4dC4gSXQgcmV0dXJucyBpbiBvcmRlcjpcbi8vLyAxLiB0aGUgZ2l2ZW4gYCR2YWx1ZWAgYXJndW1lbnQgaWYgaXQgaXMgbm90IG51bGwuXG4vLy8gMi4gdGhlIGdsb2JhbCBicmVha3BvaW50IGNvbnRleHQgYCQtemYtc2l6ZWAgaWYgaXQgaXMgbm90IG51bGwgKGxpa2UgaWYgY2FsbGVkIGluc2lkZSB0aGVuIGBicmVha3BvaW50KClgIG1peGluKVxuLy8vIDMuIHRoZSBnaXZlbiBgJGRlZmF1bHRgIGFyZ3VtZW50LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgaW4gcHJpb3JpdHkgaWYgbm9uLW51bGwuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGVmYXVsdCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBieSBkZWZhdWx0IGlmIG5vIG90aGVyIHZhbHVlIGNhbiBiZSB1c2VkLlxuLy8vXG4vLy8gQHJldHVybiB7S2V5d29yZH0gVGhlIHJlc29sdmVkIGJyZWFrcG9pbnQuXG5AZnVuY3Rpb24gLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkdmFsdWU6IG51bGwsICRkZWZhdWx0OiBudWxsKSB7XG4gIEBpZiAoJHZhbHVlICE9IG51bGwpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuICBAZWxzZSBpZiAodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgIEByZXR1cm4gJC16Zi1zaXplO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRkZWZhdWx0O1xuICB9XG59XG5cbi8vLyBSZXR1cm4gbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gdGhlIGdpdmVuIG1pbiBhbmQvb3IgbWF4IGxpbWl0cy5cbi8vLyBJZiBhIGxpbWl0IGlzIGVxdWFsIHRvIGBudWxsYCBvciBgMGAsIGl0IGlzIGlnbm9yZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1pbiBbMF0gLSBNaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggWzBdIC0gTWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWluLW5hbWUgWydtaW4td2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlbGltaXRlciBbJ21heC13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gTWVkaWEgUXVlcnkgc3RyaW5nLlxuQGZ1bmN0aW9uIC16Zi1icC1qb2luKFxuICAkbWluOiAwLFxuICAkbWF4OiAwLFxuICAkbWluLW5hbWU6ICdtaW4td2lkdGgnLFxuICAkbWF4LW5hbWU6ICdtYXgtd2lkdGgnXG4pIHtcbiAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICBpZigkbWluIGFuZCAkbWluID4gMCwgJygjeyRtaW4tbmFtZX06ICN7JG1pbn0pJywgbnVsbCksXG4gICAgaWYoJG1heCBhbmQgJG1heCA+IDAsICcoI3skbWF4LW5hbWV9OiAjeyRtYXh9KScsIG51bGwpLFxuICAgICcgYW5kICcpO1xufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbi8vIFRoaXMgc2hvdWxkIGJlIGluIHRoZSBzYW1lIGJyZWFrcG9pbnQgdGhlbiBgQG1peGluIHJldmVhbC1tb2RhbC13aWR0aGBcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIC8vIEV4dGVuZHMgbXVzdCBiZSBtYWRlIG91dHNpZGUgb2YgYnJlYWtwb2ludHMgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBuZXdlciBTYXNzIHZlcnNpb25zIChsaWJzYXNzIHYzLjUpXG4gIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuXG4gIC8vLyBEaXNhYmxlcyB0aGUgc2Nyb2xsIHdoZW4gUmV2ZWFsIGlzIHNob3duIHRvIHByZXZlbnQgdGhlIGJhY2tncm91bmQgZnJvbSBzaGlmdGluZ1xuICBodG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gICAgJi56Zi1oYXMtc2Nyb2xsIHtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB9XG5cbiAgICBib2R5IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbm9ybWFsaXplKCkge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLy8gRG9jdW1lbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuXG4gIGh0bWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG4gIH1cblxuICAvLyBTZWN0aW9uc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gIC8vIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG4gIH1cblxuICAvLyBHcm91cGluZyBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gICAgaGVpZ2h0OiAwOyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBwcmUge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBUZXh0LWxldmVsIHNlbWFudGljc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gIC8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8vIDFcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgY29kZSxcbiAga2JkLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gIC8vIGFsbCBicm93c2Vycy5cblxuICBzdWIsXG4gIHN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIC8vIEVtYmVkZGVkIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuXG4gIGltZyB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB9XG5cbiAgLy8gRm9ybXNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMTAwJTsgLy8gMVxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgbWFyZ2luOiAwOyAvLyAyXG4gIH1cblxuICAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgLy8gMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cblxuICBidXR0b24sXG4gIGlucHV0IHsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gIC8vIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cblxuICBidXR0b24sXG4gIHNlbGVjdCB7IC8vIDFcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG5cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBmaWVsZHNldCB7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAvLyAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gIC8vICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGxlZ2VuZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDFcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAzXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxuICBwcm9ncmVzcyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG5cbiAgdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gIC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cblxuICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gMlxuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cblxuICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxuICAgIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgfVxuXG4gIC8vIEludGVyYWN0aXZlXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cblxuICBkZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cblxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIH1cblxuICAvLyBNaXNjXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG5cbiAgW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBzYWZlIHBhZGRpbmcgb24gdGhlIGJvZHkgZm9yIG5vbi1yZWN0YW5ndWxhciBkZXZpY2VzIChpLmUuIHBob25lcyB3aXRoIG5vdGNoZXMpXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktc2FmZS1wYWRkaW5nOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBAaWYgKCRib2R5LXNhZmUtcGFkZGluZykge1xuICAgICAgLy8gdXNpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIGFjY291bnQgZm9yIG5vbi1yZWN0YW5ndWxhciBkaXNwbGF5cyBlLmcuIHBob25lcyB3aXRoIG5vdGNoZXNcbiAgICAgIHBhZGRpbmctdG9wOiBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xyXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy9cclxuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxyXG4vL1xyXG4vLyAgIDEuIEdsb2JhbFxyXG4vLyAgIDIuIEJyZWFrcG9pbnRzXHJcbi8vICAgMy4gVGhlIEdyaWRcclxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcclxuLy8gICA2LiBBYmlkZVxyXG4vLyAgIDcuIEFjY29yZGlvblxyXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XHJcbi8vICAgOS4gQmFkZ2VcclxuLy8gIDEwLiBCcmVhZGNydW1ic1xyXG4vLyAgMTEuIEJ1dHRvblxyXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAgMTMuIENhbGxvdXRcclxuLy8gIDE0LiBDYXJkXHJcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXHJcbi8vICAxNi4gRHJpbGxkb3duXHJcbi8vICAxNy4gRHJvcGRvd25cclxuLy8gIDE4LiBEcm9wZG93biBNZW51XHJcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcclxuLy8gIDIwLiBGb3Jtc1xyXG4vLyAgMjEuIExhYmVsXHJcbi8vICAyMi4gTWVkaWEgT2JqZWN0XHJcbi8vICAyMy4gTWVudVxyXG4vLyAgMjQuIE1ldGVyXHJcbi8vICAyNS4gT2ZmLWNhbnZhc1xyXG4vLyAgMjYuIE9yYml0XHJcbi8vICAyNy4gUGFnaW5hdGlvblxyXG4vLyAgMjguIFByb2dyZXNzIEJhclxyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xyXG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XHJcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXHJcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXHJcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcclxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXHJcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxyXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xyXG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxyXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXHJcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxyXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcclxuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXHJcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcclxuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXHJcbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cclxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcclxuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXHJcbi8vICA0Ny4gUmV2ZWFsXHJcbi8vICA0OC4gU2xpZGVyXHJcbi8vICA0OS4gU3dpdGNoXHJcbi8vICA1MC4gVGFibGVcclxuLy8gIDUxLiBUYWJzXHJcbi8vICA1Mi4gVGh1bWJuYWlsXHJcbi8vICA1My4gVGl0bGUgQmFyXHJcbi8vICA1NC4gVG9vbHRpcFxyXG4vLyAgNTUuIFRvcCBCYXJcclxuLy8gIDU2LiBYeSBHcmlkXHJcblxyXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xyXG5cclxuLy8gMS4gR2xvYmFsXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XHJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDE0NDApO1xyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcclxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxyXG4gIHByaW1hcnk6ICMxNjQzQTQsXHJcbiAgc2Vjb25kYXJ5OiAjRkYwMjAwLFxyXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXHJcbiAgd2FybmluZzogI2ZmYWUwMCxcclxuICBhbGVydDogI0ZGMDIwMCxcclxuKTtcclxuJGxpZ2h0LWdyYXk6ICNGOEY4Rjg7XHJcbiRtZWRpdW0tZ3JheTogI2NhY2FjYTtcclxuJGRhcmstZ3JheTogIzhhOGE4YTtcclxuJGJsYWNrOiAjMkMzODQzO1xyXG4kd2hpdGU6ICNmZmZmZmY7XHJcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xyXG4kYm9keS1mb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xyXG4kYm9keS1zYWZlLXBhZGRpbmc6IGZhbHNlO1xyXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcclxuJGdsb2JhbC1tYXJnaW46IDFyZW07XHJcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XHJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XHJcbiRnbG9iYWwtcmFkaXVzOiAxNnB4O1xyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XHJcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xyXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XHJcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcclxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xyXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG87XHJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XHJcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcclxuJHByaW50LWhyZWZzOiB0cnVlO1xyXG5cclxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xyXG5cclxuLy8gMi4gQnJlYWtwb2ludHNcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRicmVha3BvaW50czogKFxyXG4gIHNtYWxsOiAwLFxyXG4gIG1lZGl1bTogNjQwcHgsXHJcbiAgbGFyZ2U6IDEwMjRweCxcclxuICB4bGFyZ2U6IDEyMDBweCxcclxuICB4eGxhcmdlOiAxNDQwcHgsICBcclxuKTtcclxuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXHJcbiAgaGlkcGktMTogMSxcclxuICBoaWRwaS0xLTU6IDEuNSxcclxuICBoaWRwaS0yOiAyLFxyXG4gIHJldGluYTogMixcclxuICBoaWRwaS0zOiAzXHJcbik7XHJcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcclxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSB4bGFyZ2UgeHhsYXJnZSk7IFxyXG5cclxuLy8gMy4gVGhlIEdyaWRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcclxuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxyXG4gIHNtYWxsOiAyMHB4LFxyXG4gIG1lZGl1bTogMzBweCxcclxuKTtcclxuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XHJcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xyXG4kYmxvY2stZ3JpZC1tYXg6IDg7XHJcblxyXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XHJcbiRoZWFkZXItZm9udC13ZWlnaHQ6IDUwMDtcclxuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xyXG4kaGVhZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kaGVhZGVyLXN0eWxlczogKFxyXG4gIHNtYWxsOiAoXHJcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcclxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxyXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXHJcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcclxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxyXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXHJcbiAgKSxcclxuICBtZWRpdW06IChcclxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxyXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAzMiksXHJcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDI4KSxcclxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxyXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXHJcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcclxuICApLFxyXG4pO1xyXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XHJcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZTtcclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XHJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XHJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xyXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XHJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XHJcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xyXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcclxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XHJcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xyXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcclxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xyXG5cclxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XHJcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XHJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xyXG4kY29kZS1jb2xvcjogJGJsYWNrO1xyXG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xyXG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtO1xyXG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcblxyXG4vLyA2LiBBYmlkZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGFiaWRlLWlucHV0czogdHJ1ZTtcclxuJGFiaWRlLWxhYmVsczogdHJ1ZTtcclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHJcbi8vIDcuIEFjY29yZGlvblxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcclxuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6ICdcXDAwMkInO1xyXG4kYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ6ICdcXDIwMTMnO1xyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XHJcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcclxuXHJcbi8vIDguIEFjY29yZGlvbiBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcclxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xyXG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xyXG5cclxuLy8gOS4gQmFkZ2VcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XHJcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xyXG5cclxuLy8gMTAuIEJyZWFkY3J1bWJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XHJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG5cclxuLy8gMTEuIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsO1xyXG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW07XHJcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcclxuJGJ1dHRvbi1maWxsOiBzb2xpZDtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xyXG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XHJcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRidXR0b24tcmFkaXVzOiAyZW07XHJcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xyXG4kYnV0dG9uLXNpemVzOiAoXHJcbiAgdGlueTogMC42cmVtLFxyXG4gIHNtYWxsOiAwLjc1cmVtLFxyXG4gIGRlZmF1bHQ6IDAuOXJlbSxcclxuICBsYXJnZTogMS4yNXJlbSxcclxuKTtcclxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XHJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcclxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcclxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZTtcclxuXHJcbi8vIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcclxuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XHJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xyXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XHJcblxyXG4vLyAxMy4gQ2FsbG91dFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGNhbGxvdXQtYmFja2dyb3VuZDogI0Y4RjhGODtcclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiAwJTtcclxuJGNhbGxvdXQtYm9yZGVyOiBub25lO1xyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XHJcbiRjYWxsb3V0LXNpemVzOiAoXHJcbiAgc21hbGw6IDAuNXJlbSxcclxuICBkZWZhdWx0OiAxcmVtLFxyXG4gIGxhcmdlOiAzcmVtLFxyXG4pO1xyXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XHJcblxyXG4vLyAxNC4gQ2FyZFxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kY2FyZC1ib3JkZXI6IG5vbmU7XHJcbiRjYXJkLXNoYWRvdzogbm9uZTtcclxuJGNhcmQtYm9yZGVyLXJhZGl1czogMDtcclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuXHJcbi8vIDE1LiBDbG9zZSBCdXR0b25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XHJcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMDtcclxuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcclxuICBzbWFsbDogMC42NnJlbSxcclxuICBtZWRpdW06IDFyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcclxuICBzbWFsbDogMC4zM2VtLFxyXG4gIG1lZGl1bTogMC41cmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tc2l6ZTogKFxyXG4gIHNtYWxsOiAxLjVlbSxcclxuICBtZWRpdW06IDJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XHJcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XHJcblxyXG4vLyAxNi4gRHJpbGxkb3duXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcclxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XHJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XHJcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcclxuXHJcbi8vIDE3LiBEcm9wZG93blxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xyXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcclxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRkcm9wZG93bi1zaXplczogKFxyXG4gIHRpbnk6IDEwMHB4LFxyXG4gIHNtYWxsOiAyMDBweCxcclxuICBsYXJnZTogNDAwcHgsXHJcbik7XHJcblxyXG4vLyAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xyXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcclxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xyXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGw7XHJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcclxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XHJcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xyXG5cclxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xyXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xyXG5cclxuLy8gMjAuIEZvcm1zXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XHJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcclxuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xyXG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xyXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XHJcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XHJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xyXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJHNlbGVjdC1yYWRpdXM6IDlweDtcclxuJGlucHV0LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xyXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XHJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xyXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAqIDAuNTtcclxuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xyXG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XHJcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcclxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcclxuJGlucHV0LXJhZGl1czogOXB4O1xyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIxLiBMYWJlbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XHJcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcclxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIyLiBNZWRpYSBPYmplY3RcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xyXG5cclxuLy8gMjMuIE1lbnVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRtZW51LW1hcmdpbjogMDtcclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XHJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xyXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xyXG4kbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmU6ICRibGFjaztcclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xyXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcclxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XHJcblxyXG4vLyAyNC4gTWV0ZXJcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xyXG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XHJcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XHJcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xyXG5cclxuLy8gMjUuIE9mZi1jYW52YXNcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRvZmZjYW52YXMtc2l6ZXM6IChcclxuICBzbWFsbDogMjUwcHgsXHJcbik7XHJcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcclxuICBzbWFsbDogMjUwcHgsXHJcbik7XHJcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XHJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcclxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XHJcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XHJcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XHJcblxyXG4vLyAyNi4gT3JiaXRcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XHJcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcclxuXHJcbi8vIDI3LiBQYWdpbmF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xyXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xyXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xyXG4kcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91czogJ1xcMDBBQic7XHJcbiRwYWdpbmF0aW9uLWFycm93LW5leHQ6ICdcXDAwQkInO1xyXG5cclxuLy8gMjguIFByb2dyZXNzIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xyXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxyXG4gIGRvd24sXHJcbiAgdXAsXHJcbiAgcmlnaHQsXHJcbiAgbGVmdFxyXG4pO1xyXG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcclxuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xyXG5cclxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuXHJcbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcblxyXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xyXG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG5cclxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1kaXNwbGF5OiAoXHJcbiAgaW5saW5lLFxyXG4gIGlubGluZS1ibG9jayxcclxuICBibG9jayxcclxuICB0YWJsZSxcclxuICB0YWJsZS1jZWxsXHJcbik7XHJcblxyXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcclxuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHJcbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXHJcbiAgZGlzYyxcclxuICBjaXJjbGUsXHJcbiAgc3F1YXJlXHJcbik7XHJcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXHJcbiAgZGVjaW1hbCxcclxuICBsb3dlci1hbHBoYSxcclxuICBsb3dlci1sYXRpbixcclxuICBsb3dlci1yb21hbixcclxuICB1cHBlci1hbHBoYSxcclxuICB1cHBlci1sYXRpbixcclxuICB1cHBlci1yb21hblxyXG4pO1xyXG5cclxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxyXG4gIHZpc2libGUsXHJcbiAgaGlkZGVuLFxyXG4gIHNjcm9sbFxyXG4pO1xyXG5cclxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxyXG4gIHN0YXRpYyxcclxuICByZWxhdGl2ZSxcclxuICBhYnNvbHV0ZSxcclxuICBmaXhlZFxyXG4pO1xyXG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcclxuXHJcbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XHJcblxyXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xyXG5cclxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTYpLCAwIDJweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcclxuXHJcbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc2l6aW5nOiAoXHJcbiAgd2lkdGgsXHJcbiAgaGVpZ2h0XHJcbik7XHJcbiRwcm90b3R5cGUtc2l6ZXM6IChcclxuICAyNTogMjUlLFxyXG4gIDUwOiA1MCUsXHJcbiAgNzU6IDc1JSxcclxuICAxMDA6IDEwMCVcclxuKTtcclxuXHJcbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcclxuXHJcbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxyXG4gIG92ZXJsaW5lLFxyXG4gIHVuZGVybGluZSxcclxuICBsaW5lLXRocm91Z2gsXHJcbik7XHJcblxyXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXHJcbiAgbG93ZXJjYXNlLFxyXG4gIHVwcGVyY2FzZSxcclxuICBjYXBpdGFsaXplXHJcbik7XHJcblxyXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHJcbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XHJcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxyXG4gIGRlZmF1bHQ6IDQgYnkgMyxcclxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxyXG4pO1xyXG5cclxuLy8gNDcuIFJldmVhbFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHJldmVhbC13aWR0aDogNjAwcHg7XHJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHJldmVhbC16aW5kZXg6IDEwMDU7XHJcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XHJcblxyXG4vLyA0OC4gU2xpZGVyXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcclxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcclxuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XHJcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XHJcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XHJcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDQ5LiBTd2l0Y2hcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xyXG4kc3dpdGNoLWhlaWdodDogMnJlbTtcclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XHJcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XHJcbiRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDogMC41O1xyXG4kc3dpdGNoLWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XHJcblxyXG4vLyA1MC4gVGFibGVcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xyXG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcclxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XHJcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKiAwLjUpO1xyXG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcclxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcclxuXHJcbi8vIDUxLiBUYWJzXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kdGFiLW1hcmdpbjogMDtcclxuJHRhYi1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xyXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6IHRyYW5zcGFyZW50O1xyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XHJcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWItY29udGVudC1ib3JkZXI6IHRyYW5zcGFyZW50O1xyXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiR0YWItY29udGVudC1wYWRkaW5nOiAzcmVtO1xyXG5cclxuLy8gNTIuIFRodW1ibmFpbFxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGh1bWJuYWlsLWJvcmRlcjogNHB4IHNvbGlkICR3aGl0ZTtcclxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcclxuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XHJcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gNTMuIFRpdGxlIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGl0bGViYXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiR0aXRsZWJhci1jb2xvcjogJGJsYWNrO1xyXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xyXG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcclxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuXHJcbi8vIDU0LiBUb29sdGlwXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XHJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XHJcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XHJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gNTUuIFRvcCBCYXJcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xyXG4kdG9wYmFyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcclxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcclxuXHJcbi8vIDU2LiBYeSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4keHktZ3JpZDogdHJ1ZTtcclxuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xyXG4kZ3JpZC1jb2x1bW5zOiAxMjtcclxuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcclxuICBzbWFsbDogMjBweCxcclxuICBtZWRpdW06IDMwcHhcclxuKTtcclxuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcclxuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcclxuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcclxuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLy9cbi8vLyBQYXRjaCB0byBmaXggaXNzdWUgIzEyMDgwXG4kLXpmLXBiLXZhbHVlOiBudWxsO1xuXG4vLy8vXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogZGl2aWRlKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSwgJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkaSkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZShcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGUgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBwYWRkaW5nOiAwICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiBoaWRkZW4gI3skaW1wb3J0YW50fTtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKSAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICN7JGltcG9ydGFudH07XG4gIGJvcmRlcjogMCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBzdGF0aWMgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiBhdXRvICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiB2aXNpYmxlICN7JGltcG9ydGFudH07XG4gIGNsaXA6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KFxuICAkc21hbGw6IHRydWUsXG4gICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oYXV0bywgLXpmLWJvb2woJHNtYWxsKSwgLXpmLWJvb2woJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzKSkge1xuICAgIEBjb250ZW50XG4gIH07XG59XG5cbi8vLyBJdGVyYXRlcyB3aXRoIGBAY29udGVudGAgdGhyb3VnaCB0aGUgZ2l2ZW4gbGlzdCBvZiBicmVha3BvaW50cyBgJGJyZWFrcG9pbnRzYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRicmVha3BvaW50cyBbYXV0b10gLSBCcmVha3BvaW50cyB0byBpdGVyYXRlcyBvbi4gSXQgY2FuIGJlIGEgYnJlYWtwb2ludCBuYW1lLCBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIGBhdXRvYCBmb3IgYWxsIGJyZWFrcG9pbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxOdWxsfSAkemVyby1icmVha3BvaW50IFtudWxsXSAtIFdoZXRoZXIgdGhlIHplcm8tYnJlYWtwb2ludCAob2Z0ZW4gYHNtYWxsYCkgbXVzdCBiZSBpbmNsdWRlZC4gSWYgYHRydWVgLCBpdCB3aWxsIGFsd2F5cyBiZSBhZGRlZCB0byB0aGUgbGlzdCBpZiBub3QgYWxyZWFkeSB0aGVyZS4gSWYgYGZhbHNlYCwgaXQgd2lsbCBhbHdheXMgYmUgcmVtb3ZlZC4gRG9lcyBub3RoaW5nIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtCb29sZWFufEtleXdvcmR9ICRtZWRpYS1xdWVyaWVzIFt0cnVlXSAtIFdoZXRoZXIgbWVkaWEtcXVlcmllcyBtdXN0IGJlIGdlbmVyYXRlZC4gSWYgYGZvci1saXN0c2AsIG9ubHkgZ2VuZXJhdGUgbWVkaWEtcXVlcmllcyB3aGVuIGAkYnJlYWtwb2ludHNgIGlzIGEgbGlzdC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50LWluKFxuICAkYnJlYWtwb2ludHM6IGF1dG8sXG4gICR6ZXJvLWJyZWFrcG9pbnQ6IG51bGwsXG4gICRtZWRpYS1xdWVyaWVzOiB0cnVlXG4pIHtcbiAgJC1saXN0OiAoKTtcbiAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IHRydWU7XG5cbiAgLy8gUmV0cmlldmUgdGhlIGxpc3Qgb2YgYnJlYWtwb2ludChzKSB0byBpdGVyYXRlIG9uLlxuICBAaWYgJGJyZWFrcG9pbnRzID09IGF1dG8ge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ2xpc3QnIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50cztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ3N0cmluZycge1xuICAgICQtbGlzdDogKCRicmVha3BvaW50cyk7XG4gICAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IGZhbHNlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgXCIkYnJlYWtwb2ludHNcIiBpbiBcIi16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oKVwiLiBHb3QgXCIjeyRicmVha3BvaW50c31cIiAoI3t0eXBlLW9mKCRicmVha3BvaW50cyl9KS4gRXhwZWN0ZWQgYSBicmVha3BvaW50IG5hbWUsIGEgbGlzdCBvZiBicmVha3BvaW50cyBvciBcImF1dG9cIic7XG4gIH1cblxuICAvLyBBZGQgb3IgcmVtb3ZlIHRoZSB6ZXJvIGJyZWFrcG9pbnQgYWNjb3JkaW5nIHRvIGAkemVyby1icmVha3BvaW50YFxuICBAaWYgJHplcm8tYnJlYWtwb2ludCA9PSB0cnVlIHtcbiAgICAkLWxpc3Q6IGpvaW4oKCQtemYtemVyby1icmVha3BvaW50KSwgc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpKTtcbiAgfVxuICBAZWxzZSBpZiAkemVyby1icmVha3BvaW50ID09IGZhbHNlIHtcbiAgICAkLWxpc3Q6IHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIEl0ZXJhdGUgb24gYnJlYWtwb2ludChzKVxuICBAZWFjaCAkYnAgaW4gJC1saXN0IHtcbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6ICRicCAhZ2xvYmFsO1xuXG4gICAgQGlmICgkbWVkaWEtcXVlcmllcyA9PSB0cnVlXG4gICAgICBvciAoJG1lZGlhLXF1ZXJpZXMgPT0gJ2Zvci1saXN0cycgYW5kICQtYnJlYWtwb2ludHMtaXMtYS1saXN0KSkge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJGJwLXZhbHVlOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgICBAaWYgJGJwLXZhbHVlICE9IG51bGwge1xuICAgICAgICAkbmFtZTogJGJwLXZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nICogMC41ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gIDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiR1bml0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuIGRpdmlkZSgkbnVtLCAkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogZGl2aWRlKCRiYXNlLCAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEBpZiAkdW5pdC13YXJuaW5ncyB7XG4gICAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgfVxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogZGl2aWRlKHN0cmlwLXVuaXQoJHZhbHVlKSwgc3RyaXAtdW5pdCgkYmFzZSkpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiBkaXZpZGUoJGJhc2UsIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldCdzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogZGl2aWRlKCR2YWx1ZSwgMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBkaXZpZGUoc3RyaXAtdW5pdCgkdmFsdWUpLCBzdHJpcC11bml0KCRiYXNlKSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlciB0aGFuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuIGRpdmlkZSgkdmFsdWUsIHN0cmlwLXVuaXQoJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAqIDAuNSArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqICRpbnB1dC1saW5lLWhlaWdodCkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgJjpub3QoW211bHRpcGxlXSkge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7XG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNvZGUtaW5saW5lYCBjb21wb25lbnQgYXMgZGVmYXVsdCBmb3IgYDxjb2RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBVc2UgdGhlIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY2l0ZS1ibG9jazogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSwgLmgxLFxuICBoMiwgLmgyLFxuICBoMywgLmgzLFxuICBoNCwgLmg0LFxuICBoNSwgLmg1LFxuICBoNiwgLmg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5saW5lIENpdGF0aW9uc1xuICBAaWYgKCRlbmFibGUtY2l0ZS1ibG9jayA9PSB0cnVlKSB7XG4gICAgY2l0ZSB7XG4gICAgICAvLyBFeHRlbmRpbmcgYSBjbGFzcyBpcyBub3QgcmVjb21tZW5kZWQuXG4gICAgICAvLyBUT0RPOiBCcmVhayB0aGUgdHlwb2dyYXBoeS1iYXNlL3R5cG9ncmFwaHktaGVscGVycyBzZXBhcmF0aW9uXG4gICAgICBAZXh0ZW5kIC5jaXRlLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvZGVcbiAgQGlmICgkZW5hYmxlLWNvZGUtaW5saW5lID09IHRydWUpIHtcbiAgICBjb2RlIHtcbiAgICAgIEBleHRlbmQgLmNvZGUtaW5saW5lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLWJsb2NrLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gdW5kZXIgdGhlIGAuY29kZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTogMS41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gY2l0ZS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogJGNpdGUtY29sb3I7XG4gIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgfVxufVxuXG4vLy8gQWRkIGJhc2ljIHN0eWxlcyBmb3IgYSBjb2RlIGhlbHBlci5cbi8vLyBTZWUgYGNvZGUtaW5saW5lYCBhbmQgYGNvZGUtYmxvY2tgIG1peGlucy5cbkBtaXhpbiBjb2RlLXN0eWxlIHtcbiAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbn1cblxuLy8vIE1ha2UgY29kZSBoZWxwZXIgZnJvbSB0aGUgYGNvZGUtc3R5bGVgIG1peGluIGlubGluZS5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1pbmxpbmVgXG5AbWl4aW4gY29kZS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBhIGJsb2NrLlxuLy8vIFVzZWQgdG8gZ2VuZXJhdGUgYC5jb2RlLWJsb2NrYFxuQG1peGluIGNvZGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG5cbiAgcGFkZGluZzogJGNvZGUtYmxvY2stcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmNpdGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNpdGUtYmxvY2s7XG4gIH1cblxuICAuY29kZS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1pbmxpbmU7XG4gIH1cblxuICAuY29kZS1ibG9jayB7XG4gICAgQGluY2x1ZGUgY29kZS1zdHlsZTtcbiAgICBAaW5jbHVkZSBjb2RlLWJsb2NrO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5cyBuZXh0IHRvIGFsbCBsaW5rcyB0aGVpciBcImhyZWZcIiB3aGVuIHByaW50ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC1ocmVmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICAvLyBFbnN1cmUgYSBcImJsYWNrLW9uLXdoaXRlXCIgcHJpbnQgYnkgcmVtb3ZpbmcgYmFja2dyb3VuZHMsXG4gICAgICAvLyB1c2luZyBibGFjayB0ZXh0IGV2ZXJ5d2hlcmUgYW5kIGZvcmNpbmcgdGhlIGJyb3dzZXIgdG8gZWNvbm9taXplIGluay5cbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgICBjb2xvci1hZGp1c3Q6IGVjb25vbXk7XG4gICAgICB9XG4gICAgICAvLyBPdGhlcndpc2UsIHByZXZlbnQgYW55IGVjb25vbXkgYnkgdGhlIGJyb3dzZXIuXG4gICAgICBAZWxzZSB7XG4gICAgICAgIGNvbG9yLWFkanVzdDogZXhhY3Q7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKGZ1bGwsICRndXR0ZXItdHlwZTogbm9uZSk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBhbGwgcHJpb3IgYnJlYWtwb2ludHMuXG4gICAgICAvLyBBcyB0aGVpciBndXR0ZXIgaXMgZGVmaW5lZCB3aXRoIHRoZWlyIHdpZHRoL2hlaWdodCwgZXZlbiBicmVha3BvaW50IHdpdGhvdXQgYSBuZXcgbWFyZ2luIG11c3QgYmVcbiAgICAgIC8vIGdlbmVyYXRlZCB0byBub3QgaGF2aW5nIHRoZWlyIHdpZHRoL2hlaWdodCBvdmVycmlkZWQgYnkgcmUtYWRqdXN0ZWQgc21hbGxlciBicmVha3BvaW50cy5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBncmlkcyB3aXRoaW4gYGdyaWQtY29udGFpbmVyL2dyaWQtY29udGFpbmVyLmZsdWlkYFxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAmIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skYnB9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4sICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgICAuI3skYnB9LXBhZGRpbmctY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZywgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpICogMC41O1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAqIDAuNTtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgZmxleCB2YWx1ZSBmb3IgYSBjZWxsIGJhc2UuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBUaGUgY2VsbCBmbGV4IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gMSAxIDBweDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2dyb3cnKSB7XG4gICAgQHJldHVybiAxIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3Nocmluaycgb3IgJHNpemUgPT0gJ2Z1bGwnIG9yIHpmLWlzLWZyYWN0aW9uKCRzaXplLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IHRydWUpKSB7XG4gICAgQHJldHVybiAwIDAgYXV0bztcbiAgfVxuICBAcmV0dXJuIG51bGw7XG59XG5cbi8vLyBDYWxjdWxhdGUgdGhlIHNpemUgb2YgYSBjZWxsIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcCBgJGd1dHRlcnNgLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfE1hcH0gVGhlIGNlbGwgZ3V0dGVyIHNpemUgb3IgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAuXG5AZnVuY3Rpb24geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgLy8gRm9yIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBtYXAgYCRndXR0ZXJzYC5cbiAgQGlmICgkYnJlYWtwb2ludCA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuICRndXR0ZXJzO1xuICB9XG5cbiAgLy8gVXNlIHRoZSBjb250ZXh0dWFsIGJyZWFrcG9pbnQgYnkgZGVmYXVsdC5cbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpO1xuXG4gIEBpZiAoJGJyZWFrcG9pbnQpIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtemVyby1icmVha3BvaW50KSBvciAwO1xuICB9XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzNgLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gU2l6ZSBvZiB0aGUgY2VsbCAoaW4gcGVyY2VudCkuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIEByZXR1cm4gZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgkc2l6ZSwgJGRlbm9taW5hdG9yOiAkZ3JpZC1jb2x1bW5zKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSBmb3IgYSBjZWxsIHNpemUuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2Agb3IgYW55IGZyYWN0aW9uIGxpa2UgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgYSBtYXAgb2Ygc2l6ZXMgYWRhcHRlZCB0byByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfE1hcH0gVGhlIGNlbGwgc2l6aW5nIHByb3BlcnR5IHZhbHVlLCBvciBhIHJlc3BvbnNpdmUgbWFwIG9mIHRoZW0uXG5AZnVuY3Rpb24geHktY2VsbC1zaXplLWNzcyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJG1hcmdpbi1ndXR0ZXI6IDA7XG5cbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycgb3IgJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBAcmV0dXJuIGF1dG87XG4gIH1cblxuICAvLyBGb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycywgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgJG1hcmdpbi1ndXR0ZXI6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAgIEBpZiAoJG1hcmdpbi1ndXR0ZXIgPT0gbnVsbCkge1xuICAgICAgQGVycm9yICd4eS1jZWxsLXNpemU6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgICB9XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgc2l6ZSAobnVtYmVyKVxuICAkc2l6ZS1yYXc6IGlmKCRzaXplID09ICdmdWxsJywgMTAwJSwgeHktY2VsbC1zaXplKCRzaXplKSk7XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIENTUyBzaXplIGluY2x1ZGluZyBndXR0ZXJzIChzdHJpbmcpXG4gIC8vIElmIHRoZSBjZWxsIGhhcyByZXNwb25zaXZlIG1hcmdpbiBndXR0ZXJzLCByZXR1cm4gYSByZXNwb25zaXZlIG1hcCBvZiBzaXplcy5cbiAgQGlmIHR5cGUtb2YoJG1hcmdpbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6ICgpO1xuXG4gICAgQGVhY2ggJGJwLCAkbWcgaW4gJG1hcmdpbi1ndXR0ZXIge1xuICAgICAgJHNpemUtY3NzOiBpZigkbWcgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7cmVtLWNhbGMoJG1nKX0pKTtcbiAgICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogbWFwLW1lcmdlKCRyZXNwb25zaXZlLWNzcy1zaXplcywgKCRicDogJHNpemUtY3NzKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gYSBzaW5nbGUgQ1NTIHNpemUuXG4gIEBlbHNlIHtcbiAgICAkY3NzLXNpemU6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICBAcmV0dXJuICRjc3Mtc2l6ZTtcbiAgfVxufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgJGJhc2U6IHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgZmxleDogI3skYmFzZX07XG5cbiAgLy8gU2V0IGJhc2Ugc3R5bGVzIGZvciBcImZ1bGxcIiBvbmx5XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICBtYXgtI3skZGlyZWN0aW9ufTogbm9uZTtcbn1cblxuLy8vIFNldHMgc2l6aW5nIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgc2l6ZXMgYWRhcHRlZCBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemVzOiB4eS1jZWxsLXNpemUtY3NzKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcblxuICBAaWYgKHR5cGUtb2YoJHNpemVzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRzaXplcykge1xuICAgICAgI3skZGlyZWN0aW9ufTogJC16Zi1icC12YWx1ZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICN7JGRpcmVjdGlvbn06ICRzaXplcztcbiAgfVxufVxuXG4vLy8gU2V0cyBndXR0ZXJzIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gRGlyZWN0aW9uIG9mIHRoZSBndXR0ZXJzIHRvIG91dHB1dC4gU2VlIGAkZ3V0dGVyLXBvc2l0aW9uYC5cbkBtaXhpbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgLy8gR2V0IHRoZSBkZWZhdWx0IGd1dHRlciBwb3NpdGlvbiBhY2NvcmRpbmcgdG8gY2VsbCBkaXJlY3Rpb25cbiAgQGlmKCRndXR0ZXItcG9zaXRpb24gPT0gbnVsbCkge1xuICAgICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcbiAgfVxuXG4gIC8vIEdldCB0aGUgZ3V0dGVyIHdpZHRoIGZvciB0aGlzIGJyZWFrcG9pbnRcbiAgJGd1dHRlci13aWR0aDogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIEBpZiAoJGd1dHRlci13aWR0aCA9PSBudWxsKSB7XG4gICAgQGVycm9yICd4eS1jZWxsLWd1dHRlcnM6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgfVxuXG4gIEBpZiAoJGd1dHRlci10eXBlIGFuZCAkZ3V0dGVyLXR5cGUgIT0gbm9uZSkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci13aWR0aCwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBwcm9wZXJseSBvdGhlcndpc2UuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gIC8vIERlZmF1bHQgZm9yICRndXR0ZXItb3V0cHV0XG4gIEBpZiAoJGd1dHRlci1vdXRwdXQgIT0gbnVsbCkge1xuICAgIEB3YXJuICd4eS1jZWxsOiAkZ3V0dGVyLW91dHB1dCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG4gICAgQGlmICgkZ3V0dGVyLW91dHB1dCA9PSBmYWxzZSkge1xuICAgICAgJG91dHB1dDogc2wtcmVtb3ZlKCRvdXRwdXQsIGd1dHRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgYmFzZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgc2l6ZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgZ3V0dGVycykpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBgeHktY2VsbC1zdGF0aWMoKWAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLlxuLy8vIFVzZSBgeHktY2VsbCgpYCBpbnN0ZWFkIHdpdGggYCRvdXRwdXQ6IChzaXplIGd1dHRlcnMpYCB0byBub3QgZ2VuZXJhdGUgdGhlIGNlbGwgYmFzZS5cbi8vLyBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTBcbi8vL1xuLy8vIEBkZXByZWNhdGVkIHY2LjYuMFxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuIEFsd2F5cyBgdHJ1ZWAgZm9yIG1hcmdpbiBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQHdhcm4gJ3h5LWNlbGwtc3RhdGljKCkgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgXCJ4eS1jZWxsKClcIiBpbnN0ZWFkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICAkLWd1dHRlci1vdXRwdXQ6IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgdHJ1ZSwgJGd1dHRlci1vdXRwdXQpO1xuICAkLWd1dHRlci1tYXJnaW46IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgJGd1dHRlciwgMCk7XG5cbiAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJC1ndXR0ZXItbWFyZ2luLCAkdmVydGljYWwpO1xuICBAaWYgKCQtZ3V0dGVyLW91dHB1dCkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCBkaXZpZGUoJGV4cG9uZW50LCAkZGVub21pbmF0b3IpKSwgZGl2aWRlKCRwcmVjMiwgJGRlbm9taW5hdG9yKSwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsICRiYXNlKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IGRpdmlkZSgxLCAkbikgKiAoKCRuIC0gMSkgKiAkeCArIGRpdmlkZSgkbnVtLCBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuIGRpdmlkZSgkaCwgJHcpICogMTAwJTtcbn1cblxuLy8vIFBhcnNlIHRoZSBnaXZlbiBgJGZyYWN0aW9uYCB0byBudW1lcmF0b3JzIGFuZCBkZW51bWVyYXRvcnMuXG4vLy9cbi8vLyBAcGFyYW0geyp9ICRmcmFjdGlvbiAtIFZhbHVlIHJlcHJlc2VudGluZyBhIGZyYWN0aW9uIHRvIHBhcnNlLiBJdCBjYW4gYmUgZm9ybWF0dGVkIGFzIGA1MCVgLCBgMSBvZiAyYCwgYDEvMmAgb3IgYDUwYCAobm8gZGVub21pbmF0b3Igd291bGQgYmUgcmV0dXJuZWQpLlxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gTGlzdCBvZiBwYXJzZWQgdmFsdWVzIHdpdGggbnVtZXJhdG9yIGF0IGZpcnN0IHBvc2l0aW9uIGFuZCBkZW51bWVyYXRvciBhcyBzZWNvbmQuIFRoZXNlIHZhbHVlcyBtYXkgYmUgbnVsbC5cbkBmdW5jdGlvbiB6Zi1wYXJzZS1mcmFjdGlvbigkZnJhY3Rpb24pIHtcblxuICBAaWYgdHlwZS1vZigkZnJhY3Rpb24pID09ICdudW1iZXInIHtcbiAgICAvLyBcIjUwJVwiXG4gICAgQGlmIHVuaXQoJGZyYWN0aW9uKSA9PSAnJScge1xuICAgICAgQHJldHVybiAoc3RyaXAtdW5pdCgkZnJhY3Rpb24pLCAxMDApO1xuICAgIH1cbiAgICBAZWxzZSBpZiAodW5pdCgkZnJhY3Rpb24pID09ICcnKSB7XG4gICAgICAvLyBcIjAuNVwiXG4gICAgICBAaWYgJGZyYWN0aW9uIDwgMSB7XG4gICAgICAgIEByZXR1cm4gKCRmcmFjdGlvbiAqIDEwMCwgMTAwKTtcbiAgICAgIH1cbiAgICAgIC8vIFwiNTBcIlxuICAgICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuICgkZnJhY3Rpb24sIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGZyYWN0aW9uKSA9PSAnbGlzdCcge1xuICAgIC8vIFwiNTAgb2YgMTAwXCIsIFwiNTAvMTAwXCIuLi5cbiAgICBAaWYgbGVuZ3RoKCRmcmFjdGlvbikgPT0gM1xuICAgICAgYW5kIHR5cGUtb2YobnRoKCRmcmFjdGlvbiwgMSkgPT0gJ251bWJlcicpXG4gICAgICBhbmQgdHlwZS1vZihudGgoJGZyYWN0aW9uLCAzKSA9PSAnbnVtYmVyJykge1xuICAgICAgQHJldHVybiAobnRoKCRmcmFjdGlvbiwgMSksIG50aCgkZnJhY3Rpb24sIDMpKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIChudWxsLCBudWxsKTtcbn1cblxuLy8vIFJldHVybnMgd2hldGhlciB0aGUgZ2l2ZW4gYCR2YWx1ZWAgcmVwcmVzZW50cyBhIGZyYWN0aW9uLiBTdXBwb3J0cyBmb3JtYXRzIGxpa2UgYDUwJWAsIGAxIG9mIDJgLCBgMSBwZXIgMmAgb3IgYDEvMmAuXG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZSAtIFZhbHVlIHRvIHRlc3QuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYWxsb3ctbm8tZGVub21pbmF0b3IgW2ZhbHNlXSAtIElmIGB0cnVlYCwgc2ltcGxlIG51bWJlcnMgd2l0aG91dCBkZW5vbWluYXRvcnMgbGlrZSBgNTBgIGFyZSBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSBgdHJ1ZWAgaWYgYCR2YWx1ZWAgcmVwcmVzZW50cyBhIGZyYWN0aW9uLCBgZmFsc2VgIG90aGVyd2lzZS5cbkBmdW5jdGlvbiB6Zi1pcy1mcmFjdGlvbigkdmFsdWUsICRhbGxvdy1uby1kZW5vbWluYXRvcjogZmFsc2UpIHtcbiAgJHBhcnNlZDogemYtcGFyc2UtZnJhY3Rpb24oJHZhbHVlKTtcbiAgQHJldHVybiBub3QobnRoKCRwYXJzZWQsIDEpID09IG51bGxcbiAgICBvciAobnRoKCRwYXJzZWQsIDIpID09IG51bGwgYW5kICRhbGxvdy1uby1kZW5vbWluYXRvciA9PSBmYWxzZSkpO1xufVxuXG4vLy8gQ2FsY3VsYXRlIGEgcGVyY2VudGFnZSBmcm9tIGEgZ2l2ZW4gZnJhY3Rpb24uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZnJhY3Rpb24gLSBWYWx1ZSByZXByZXNlbnRpbmcgYSBmcmFjdGlvbiB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlLCBmb3JtYXR0ZWQgYXMgYDUwYCAocmVsYXRpdmUgdG8gYCRkZW5vbWluYXRvcmApLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGRlbm9taW5hdG9yIC0gRGVmYXVsdCB2YWx1ZSB0byB1c2UgYXMgZGVub21pbmF0b3Igd2hlbiBgJGZyYWN0aW9uYCByZXByZXNlbnRzIGFuIGFic29sdXRlIHZhbHVlLlxuQGZ1bmN0aW9uIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoXG4gICRmcmFjdGlvbixcbiAgJGRlbm9taW5hdG9yOiBudWxsXG4pIHtcbiAgJHBhcnNlZDogemYtcGFyc2UtZnJhY3Rpb24oJGZyYWN0aW9uKTtcbiAgJHBhcnNlZC1ub21pbmF0b3I6IG50aCgkcGFyc2VkLCAxKTtcbiAgJHBhcnNlZC1kZW5vbWluYXRvcjogbnRoKCRwYXJzZWQsIDIpO1xuXG4gIEBpZiAkcGFyc2VkLW5vbWluYXRvciA9PSBudWxsIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgXCJmcmFjdGlvbi10by1wZXJjZW50YWdlKClcIi4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG4gIEBpZiAkcGFyc2VkLWRlbm9taW5hdG9yID09IG51bGwge1xuICAgIEBpZiB0eXBlLW9mKCRkZW5vbWluYXRvcikgPT0gJ251bWJlcicge1xuICAgICAgJHBhcnNlZC1kZW5vbWluYXRvcjogJGRlbm9taW5hdG9yO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgJ0Vycm9yIHdpdGggXCJmcmFjdGlvbi10by1wZXJjZW50YWdlKClcIi4gQSBkZWZhdWx0IFwiJGRlbm9taW5hdG9yXCIgaXMgcmVxdWlyZWQgdG8gc3VwcG9ydCBhYnNvbHV0ZSB2YWx1ZXMnO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gcGVyY2VudGFnZShkaXZpZGUoJHBhcnNlZC1ub21pbmF0b3IsICRwYXJzZWQtZGVub21pbmF0b3IpKTtcbn1cblxuLy8vIERpdmlkZSB0aGUgZ2l2ZW4gYCRkaXZpZGVudGAgYnkgdGhlIGdpdmVuIGAkZGl2aXNvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGRpdmlkZW50IC0gVGhlIGRpdmlkZW50LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGl2aXNvciAtIFRoZSBkaXZpc29yLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcHJlY2lzaW9uIC0gVGhlIHByZWNpc2lvbiBkZWNpbWFscyBmb3IgdGhlIGRpdmlzaW9uLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZGl2aXNpb24uXG5AZnVuY3Rpb24gZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEyKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAgb3IgJGRpdmlkZW5kIDwgMCBhbmQgJGRpdmlzb3IgPCAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yIFwiQ2Fubm90IGRpdmlkZSBieSAwXCI7XG4gIH1cbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICAkcmVzdWx0OiAwO1xuICAkZmFjdG9yOiAxMDtcbiAgQHdoaWxlICgkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+PSAwKSB7XG4gICAgJHF1b3RpZW50OiAwO1xuICAgIEB3aGlsZSAoJHJlbWFpbmRlciA+PSAkZGl2aXNvcikge1xuICAgICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICAgICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgIH1cbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkcXVvdGllbnQ7XG4gICAgJGZhY3RvcjogJGZhY3RvciAqIC4xO1xuICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgKiAxMDtcbiAgICAkcHJlY2lzaW9uOiAkcHJlY2lzaW9uIC0gMTtcbiAgICBAaWYgKCRwcmVjaXNpb24gPCAwIGFuZCAkcmVtYWluZGVyID49ICRkaXZpc29yICogNSkge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIDE7XG4gICAgfVxuICB9XG4gICRyZXN1bHQ6ICRyZXN1bHQgKiAkZmFjdG9yICogJHNpZ247XG4gICRkaXZpZGVuZC11bml0OiB1bml0KCRkaXZpZGVuZCk7XG4gICRkaXZpc29yLXVuaXQ6IHVuaXQoJGRpdmlzb3IpO1xuICAkdW5pdC1tYXA6IChcbiAgICBcInB4XCI6IDFweCxcbiAgICBcInJlbVwiOiAxcmVtLFxuICAgIFwiZW1cIjogMWVtLFxuICAgIFwiJVwiOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgYnJlYWtwb2ludCB0byB1c2UgZm9yIHRoZSBjZWxsIGdlbmVyYXRpb24uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgY29ycmVjdGx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoZGl2aWRlKDEsICRuKSk7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwsICRvdXRwdXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbWluLWJyZWFrcG9pbnQgWyQtemYtemVyby1icmVha3BvaW50XSAtIE1pbmltdW0gYnJlYWtwb2ludCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgZm9yIHdoaWNoIHRvIGNvbGxhcHNlIHRoZSBndXR0ZXIuXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgdG8gb2Zmc2V0IGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfSBUaGUgY2VsbCBvZmZzZXQgcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1vZmZzZXQoXG4gICRuLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkc2l6ZTogeHktY2VsbC1zaXplKCRuKTtcblxuICAkb2Zmc2V0OiAkc2l6ZTtcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYyh4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KSk7XG4gICAgJG9mZnNldDogaWYoJGd1dHRlciA9PSAwLCAkc2l6ZSwgY2FsYygjeyRzaXplfSArICN7JGd1dHRlcn0gLyAyKSk7XG4gIH1cbiAgQHJldHVybiAkb2Zmc2V0O1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRicmVha3BvaW50IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGZvciBgJGd1dHRlcnNgLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuIElmIGEgbGlzdCBpcyBnaXZlbiwgbWVkaWEtcXVlcmllcyB3aWxsIGJlIGdlbmVyYXRlZC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogbnVsbCxcbiAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbigkYnJlYWtwb2ludCwgJG1lZGlhLXF1ZXJpZXM6ICdmb3ItbGlzdHMnKSB7XG4gICAgJG9mZnNldDogeHktY2VsbC1vZmZzZXQoJG4sICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUpO1xuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRvZmZzZXR9O1xuICB9XG59XG4iLCIvLy8gTW9kaWZpZXMgYSBncmlkIHRvIGdpdmUgaXQgXCJmcmFtZVwiIGJlaGF2aW9yIChubyBvdmVyZmxvdywgbm8gd3JhcCwgc3RyZXRjaCBiZWhhdmlvcilcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3RlZCBbZmFsc2VdIC0gSXMgZ3JpZCBuZXN0ZWQgb3Igbm90LiBJZiBuZXN0ZWQgaXMgdHJ1ZSB0aGlzIHNldHMgdGhlIGZyYW1lIHRvIDEwMCUgaGVpZ2h0LCBvdGhlcndpc2Ugd2lsbCBiZSAxMDB2aC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFtudWxsXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbmNsdWRlLWJhc2UgW3RydWVdIC0gSW5jbHVkZSB0aGUgYmFzZSBzdHlsZXMgdGhhdCBkb24ndCB2YXJ5IHBlciBicmVha3BvaW50LlxuQG1peGluIHh5LWdyaWQtZnJhbWUoXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRuZXN0ZWQ6IGZhbHNlLFxuICAkZ3V0dGVyczogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICRpbmNsdWRlLWJhc2U6IHRydWVcbikge1xuXG4gIEBpZiAkaW5jbHVkZS1iYXNlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIGFuZCB0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUoJHZlcnRpY2FsLCAkbmVzdGVkLCAkZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBHZXQgb3VyIGd1dHRlcnMgaWYgYXBwbGljYWJsZVxuICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIGEgZ3V0dGVyLCBhZGQgaXQgdG8gdGhlIHdpZHRoL2hlaWdodFxuICAgIEBpZiAkZ3V0dGVyIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIGhlaWdodDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgIGhlaWdodDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcbi8vLyBhcyBhIG1vZGlmaWVyIGZvciBhIGAuY2VsbGAgdG8gYWxsb3cgdGhlIGNlbGwgdG8gcGFzcyBhbG9uZyBmbGV4IHNpemluZ1xuLy8vIGNvbnN0cmFpbnRzIC8gZnJvbSBwYXJlbnRzIHRvIGNoaWxkcmVuLlxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBJZ25vcmVkIGlmIG51bGwgKGRlZmF1bHQpXG4vLy8gQHR5cGUgRm9udC1XZWlnaHRcbiRidXR0b24tZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgYnV0dG9ucywgdHJhbnNwYXJlbnQgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICBib3JkZXI6ICRidXR0b24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBmb250LXdlaWdodDogJGJ1dHRvbi1mb250LXdlaWdodDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgb3IgY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGluIGBidXR0b24tZmlsbC1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuIGBzb2xpZGAgaGFzIG5vIGVmZmVjdHMuXG5AbWl4aW4gYnV0dG9uLWZpbGwoXG4gICRmaWxsOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGNsZWFyIHtcbiAgICBAaW5jbHVkZSBidXR0b24tY2xlYXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZXMgb2YgYSBzb2xpZC9ob2xsb3cvY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGlucyBgYnV0dG9uLXN0eWxlYCwgYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGFuZCBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgZWZmZWN0cyBvZiB2aXN1YWwgc3R5bGluZyBwYXJhbWV0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZpbGwgWyRidXR0b24tZmlsbF0gLSBUeXBlIG9mIGZpbGxpbmcgYmV0d2VlbiBgaG9sbG93YCBhbmQgYGNsZWFyYC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gLVxuQG1peGluIGJ1dHRvbi1maWxsLXN0eWxlKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGZpbGwgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyLXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWhvbGxvdy1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgYW5kIGJvcmRlciBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRob3Zlci1saWdodG5lc3MgWyRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc10gLSBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJvcmRlci13aWR0aCBbJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXSAtIEJvcmRlciB3aWR0aCBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBjbGVhciBidXR0b24uXG4vLy8gU2VlIG1peGluIGBidXR0b24tY2xlYXItc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWNsZWFyIHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuQG1peGluIGJ1dHRvbi1jbGVhci1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCBhbmQgcmVzZXRpbmcgdGhlIGN1cnNvci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9wYWNpdHkgWyRidXR0b24tb3BhY2l0eS1kaXNhYmxlZF0gLSBPcGFjaXR5IG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkXG4pIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRzdHlsZSk7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRzdHlsZSwgJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbigkc3R5bGU6IG5vbmUpO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICBAaWYgJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkIHtcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IG9ubHkpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LW9ubHktZXhwYW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IGRvd24pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZG93bi1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSkge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRzZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnLiN7JGZpbGxpbmd9Jyk7XG5cbiAgICAgICYjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbCgkZmlsbGluZyk7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3csICYuY2xlYXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG5cbiAgYS5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC4gKE9ubHkgbmVlZGVkIHdoZW4gJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTspXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERldGVybWluZXMgaWYgJGJ1dHRvbi1yYWRpdXMgaXMgYXBwbGllZCB0byBlYWNoIGJ1dHRvbiBvciB0aGUgYnV0dG9uIGdyb3VwIGFzIGEgd2hvbGUuIFVzZSAkZ2xvYmFsLXJhZGl1cyBpbiBfc2V0dGluZ3Muc2NzcyB0byBjaGFuZ2UgcmFkaXVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZ1xuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyAvLyBEaXNhYmxlIGNsZWFyZml4XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1ha2UgYnV0dG9ucyBib25kZWQgd2l0aG91dCBnYXAgYmV0d2VlbiB0aGVtLiBCb3JkZXJzIGJldHdlZW4gYnV0dG9ucyBhcmUgbWVyZ2VkXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLW5vLWdhcHMoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiByZW0tY2FsYygtJGJvcmRlci13aWR0aCk7XG5cbiAgICArICN7JHNlbGVjdG9yfSB7XG4gICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgLy8gRGlzYWJsZSBjbGVhcmZpeFxuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZShkaXZpZGUoMSwgJGkpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTb2xpZCwgaG9sbG93ICYgY2xlYXIgc3R5bGVzXG4gICAgQGVhY2ggJGZpbGxpbmcgaW4gKHNvbGlkIGhvbGxvdyBjbGVhcikge1xuICAgICAgJGJhc2Utc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skYmFzZS1zZWxlY3Rvcn0ge1xuICAgICAgICAvLyBEbyBub3QgZ2VuZXJhdGUgYnV0dG9uIGJhc2Ugc3R5bGVzIGZvciB0aGUgZGVmYXVsdCBmaWxsaW5nXG4gICAgICAgIEBpZigkYnV0dG9uLWZpbGwgIT0gJGZpbGxpbmcpIHtcbiAgICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAkaW5kaXZpZHVhbC1zZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfS4jeyRuYW1lfScpO1xuXG4gICAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0sICN7JGluZGl2aWR1YWwtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nLCAkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5uby1nYXBzIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1uby1nYXBzO1xuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcblxuICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBzaXplIHRvIHVzZSBhcyBkZWZhdWx0XG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tc2l6ZVxuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsXG4kY2xvc2VidXR0b24tZGVmYXVsdC1zaXplOiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVXNlZCB0byBnZW5lcmF0ZSBzaXppbmcgbW9kaWZpZXJzLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cblxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkdmFsdWUgLSBBIG51bWJlciBvciBtYXAgdGhhdCByZXByZXNlbnRzIHRoZSBzaXplIG9yIHBvc2l0aW9uIHZhbHVlKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgZ2l2ZW4gbnVtYmVyIG9yIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBzaXplIG5hbWUgZXhpc3RzIGluIHRoZSB2YWx1ZSBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlLCAkc2l6ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlLCAkc2l6ZSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGNsb3NlLWJ1dHRvbi1zaXplKCRzaXplKSB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gICN7JHh9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbCwgJHNpemUpO1xuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XG4gIGZvbnQtc2l6ZTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tc2l6ZSwgJHNpemUpO1xuICBsaW5lLWhlaWdodDogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tbGluZWhlaWdodCwgJHNpemUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICRjbG9zZWJ1dHRvbi16LWluZGV4O1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAvLyBHZW5lcmF0ZSBhIHBsYWNlaG9sZGVyIGFuZCBhIGNsYXNzIGZvciBlYWNoIHNpemVcbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGNsb3NlYnV0dG9uLXNpemUge1xuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JG5hbWV9O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVzZSBieSBkZWZhdWx0IHRoZSBwbGFjZWhvbGRlciBvZiB0aGUgZGVmYXVsdCBzaXplXG4gICAgQGV4dGVuZCAlemYtY2xvc2UtYnV0dG9uLS0jeyRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemV9O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG5cbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkbGFiZWwtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkbGFiZWwtY29sb3IsICRsYWJlbC1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXG5AbWl4aW4gc2xpZGVyLWhhbmRsZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgfVxuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zbGlkZXIge1xuICAvLyBDb250YWluZXJcbiAgLnNsaWRlciB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEZpbGwgYXJlYVxuICAuc2xpZGVyLWZpbGwge1xuICAgIEBpbmNsdWRlIHNsaWRlci1maWxsO1xuICB9XG5cbiAgLy8gRHJhZ2dhYmxlIGhhbmRsZVxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5zbGlkZXIuZGlzYWJsZWQsXG4gIC5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcbiAgLnNsaWRlci52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gUlRMIHN1cHBvcnRcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAuc2xpZGVyOm5vdCgudmVydGljYWwpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBoZWlnaHQgb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNsaWRlcidzIHRyYWNrLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgYWN0aXZlIGZpbGwgY29sb3Igb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaGVpZ2h0IG9mIHRoZSBoYW5kbGUgb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiB0aGUgaGFuZGxlIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgaGFuZGxlIGZvciB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSBhbW91bnQgb2YgYSBkaXNhYmxlZCBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1yYW5nZS1pbnB1dCB7XG4gIGlucHV0W3R5cGU9J3JhbmdlJ10geyAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgJG1hcmdpbjogKCRzbGlkZXItaGFuZGxlLWhlaWdodCAtICRzbGlkZXItaGVpZ2h0KSAqIDAuNTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICAgIH1cblxuICAgIC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXZlbmRvci1wcmVmaXhcblxuICAgIC8vIENocm9tZS9TYWZhcmlcbiAgICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogLSRtYXJnaW47XG5cbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmlyZWZveFxuICAgICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogLSRtYXJnaW47XG5cbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW50ZXJuZXQgRXhwbG9yZXJcbiAgICAmOjotbXMtdHJhY2sge1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXRvcDogJG1hcmdpbiBzb2xpZCAkYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJG1hcmdpbiBzb2xpZCAkYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAYXQtcm9vdCB7XG4gICAgICBvdXRwdXQge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc3dpdGNoXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgYWN0aXZlIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAudGlueSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5zbWFsbCBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLmxhcmdlIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaFxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXIgYW5kIHBhZGRsZS5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGEgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2ggcGFkZGxlXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gc3dpdGNoIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGEgZGlzYWJsZWQgc3dpdGNoLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkOiAuNSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciBmb3IgYSBkaXNhYmxlZCBzd2l0Y2guXG4vLy8gQHR5cGUgQ3Vyc29yXG4kc3dpdGNoLWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vIG1ha2UgdGhlbSB2YXJpYWJsZXNcbi8vIGFzayBhYm91dCBhY2Nlc3NpYmlsaXR5IG9uIGxhYmVsXG4vLyBjaGFuZ2UgY2xhc3MgbmFtZSBmb3IgdGV4dFxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGNvbnRhaW5lciBjbGFzcy5cbkBtaXhpbiBzd2l0Y2gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLW1hcmdpbjtcbiAgb3V0bGluZTogMDtcblxuICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGNhc2NhZGUgZG93biB0byB0aGUgc3dpdGNoIHRleHRcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGlucHV0LiBBcHBseSB0aGlzIHRvIGFuIGA8aW5wdXQ+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBwYWRkbGUgb2YgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gYSBgPGxhYmVsPmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1wYWRkbGUge1xuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1yYWRpdXM7XG4gIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcblxuICAvLyBSZXNldHRpbmcgdGhlc2UgPGxhYmVsPiBwcmVzZXRzIHNvIHR5cGUgc3R5bGVzIGNhc2NhZGUgZG93blxuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIE5lZWRlZCB0byBvdmVycmlkZSBzcGVjaWZpY2l0eVxuICBpbnB1dCArICYge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFRoZSBwYWRkbGUgaXRzZWxmXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXBhZGRsZS1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gQ2hhbmdlIHRoZSB2aXN1YWwgc3R5bGUgd2hlbiB0aGUgc3dpdGNoIGlzIGFjdGl2ZVxuICBpbnB1dDpjaGVja2VkIH4gJiB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICAgIH1cbiAgfVxuXG4gIC8vIGluZGljYXRlIGEgZGlzYWJsZWQgc3dpdGNoXG4gIGlucHV0OmRpc2FibGVkIH4gJiB7XG4gICAgY3Vyc29yOiAkc3dpdGNoLWN1cnNvci1kaXNhYmxlZDtcbiAgICBvcGFjaXR5OiAkc3dpdGNoLW9wYWNpdHktZGlzYWJsZWQ7XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICRzd2l0Y2gtaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG5cbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6ICRwYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1vZmZzZXQ7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzZXBlcmF0b3IgYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDtcbn1cblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJyAhZGVmYXVsdDtcblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IgaW4gcnRsIG1vZGUuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCcgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IgaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcikge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzZXBhcmF0b3I6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGwpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBjb250ZW50OiAkc2VwYXJhdG9yO1xuICAgICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgQ2FsbG91dCBwYWRkaW5ncy5cbi8vLyBAdHlwZSBNYXBcbiRjYWxsb3V0LXNpemVzOiAoXG4gIHNtYWxsOiAwLjVyZW0sXG4gIGRlZmF1bHQ6IDFyZW0sXG4gIGxhcmdlOiAzcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiBtYXAtZ2V0KCRjYWxsb3V0LXNpemVzLCBkZWZhdWx0KTtcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluIG1hcC1yZW1vdmUoJGNhbGxvdXQtc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoJHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhcmRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYXJkcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjYXJkIHNoYWRvdy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4uXG4vLy8gQHR5cGUgbnVtYmVyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLWJvdHRvbSxcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxuXG4gIC8vIEZvciBJRSAxMSAtIEZsZXhidWdcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvNzVcbiAgLmNhcmQtaW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuXG4gIC8vIEFsbG93IGFuIGludGVybWl0dGVudCBzdGF0ZSB0byBkbyBwb3NpdGlvbmluZyBiZWZvcmUgbWFraW5nIHZpc2libGUuXG4gICYuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgcHJldmlvdXMgYXJyb3cgd2hlbiBgJHBhZ2luYXRpb24tYXJyb3dzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzOiAnXFwwMEFCJyAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBuZXh0IGFycm93IHdoZW4gYCRwYWdpbmF0aW9uLWFycm93c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFnaW5hdGlvbi1hcnJvdy1uZXh0OiAnXFwwMEJCJyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJHBhZ2luYXRpb24tYXJyb3ctbmV4dDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGN1cnNvciBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoYXMtdGlwLWN1cnNvcjogaGVscCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXggd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnRvcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7XG4gIH1cblxuICAmLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIHBsdXMgaWNvbiB3aGVuIGAkYWNjb3JkaW9uLXBsdXNtaW51c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogJ1xcMDAyQicgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgbWludXMgaWNvbiB3aGVuIGAkYWNjb3JkaW9uLXBsdXNtaW51c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ6ICdcXDIwMTMnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgJltkaXNhYmxlZF0ge1xuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3IsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgY29udGVudDogJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICYubWlkZGxlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgJi5ib3R0b20ge1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9yYml0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhY3RpdmUgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlhbWV0ZXIgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGJldHdlZW4gT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlzdGFuY2UgZnJvbSBzbGlkZSByZWdpb24gZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZyb20gT3JiaXQncyBidWxsZXRzIHRvIHdoYXRldmVyIGNvbnRlbnQgbWF5IGx1cmsgYmVsb3cgaXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjb250cm9scyB3aGVuIGhvdmVyZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIG91dGVyIE9yYml0IHdyYXBwZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgT3JiaXQgc2xpZGUgY29udGFpbmVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY29udGFpbmVyYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDsgLy8gUHJldmVudCBGT1VDIGJ5IG5vdCBzaG93aW5nIHVudGlsIEpTIHNldHMgaGVpZ2h0XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5kaXZpZHVhbCBzbGlkZXMgb2YgYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtc2xpZGVgIGNsYXNzLlxuQG1peGluIG9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgZm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRjb2xvci1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCAoXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkdGFiLWNvbnRlbnQtY29sb3IsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwgKFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwgKFxuICAkcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmdcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBQYXRjaCB0byBmaXggaXNzdWUgIzEyMDgwXG5cbiRwcmltYXJ5LWNvbG9yICAgOiBudWxsICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvciA6IG51bGwgIWRlZmF1bHQ7XG4kd2FybmluZy1jb2xvciAgIDogbnVsbCAhZGVmYXVsdDtcbiRhbGVydC1jb2xvciAgICAgOiBudWxsICFkZWZhdWx0O1xuJHN1Y2Nlc3MtY29sb3IgICA6IG51bGwgIWRlZmF1bHQ7XG4vLy8vXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogZGl2aWRlKCRyZ2IsIDI1NSk7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgZGl2aWRlKCRyZ2IsIDEyLjkyKSwgcG93KGRpdmlkZSgkcmdiICsgMC4wNTUsIDEuMDU1KSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogZGl2aWRlKCRsdW1pbmFuY2UxLCAkbHVtaW5hbmNlMik7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogZGl2aWRlKDEsICRyYXRpbyk7XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAqIDAuMTtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgdGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLi5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC5cbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC5cbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiB0b3AvYm90dG9tIGljb25zIHdpdGhpbiBhIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYWxpZ25tZW50IFtjZW50ZXJdIC0gQWxpZ25tZW50IG9mIHRoZSBpY29uXG5AbWl4aW4gbWVudS1pY29uLWFsaWdubWVudCgkYWxpZ25tZW50OiBjZW50ZXIpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5pY29uLXRvcCxcbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIGxpIGEge1xuICAgICAgICBpbWcsXG4gICAgICAgIGksXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZSwgKCRtZW51LWl0ZW0tY29sb3ItYWN0aXZlLCAkbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmUpKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tYWxpZ25tZW50KGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWVudSBpY29uIHBvc2l0aW9uXG4gICAgLy8gSW5jbHVkZXMgc3BlY2lmaWNpdHkgdG8gbmVzdGVkIGljb25zIHdpdGggYSBkaWZmZXJlbnQgcG9zaXRpb25cbiAgICAmLFxuICAgICYubmVzdGVkIHtcbiAgICAgIC8vIEljb24gTGVmdFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gUmlnaHRcbiAgICAgICYuaWNvbi1yaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gVG9wXG4gICAgICAmLmljb24tdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gQm90dG9tXG4gICAgICAmLmljb24tYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tYWxpZ25tZW50KHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gYm9yZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIExpc3RcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCBoZWlnaHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSAqIDAuNSk7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxufVxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuXG4gIC5hY2NvcmRpb24tbWVudSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICAgIGJvcmRlci10b3A6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbiwgcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICB9XG5cbiAgLy8gU3VibWVudSB0b2dnbGVcbiAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1yaWdodH06IDA7XG5cbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjtcblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBhcnJvdyB0byB0aGUgdG9nZ2xlXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuXG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxuICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nIGluIHRoZSBzdWJtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG5cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHRvcCBsZXZlbCA8dWw+XG4gIC5kcmlsbGRvd24ge1xuICAgIGEge1xuICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFwcGxpZWQgdG8gc3VibWVudSA8dWw+c1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1Ym1lbnUgaXRlbSBwYWRkaW5nXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBzdWItbWVudSBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAqIDAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW1cbiAgICA+IGxpID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW0gYWN0aXZlIHN0YXRlXG4gICAgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBCaW5kIHRvIGhhcy10cmFuc2l0aW9uLVggY2xhc3MgdG8gcHJldmVudCB0cmFuc2l0aW9uIGZvciB0cmFuc2Zvcm06bm9uZVxuICAmLmhhcy10cmFuc2l0aW9uLW92ZXJsYXAsXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzcyxcbiRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN0aWNreSB7XG4gIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLnN0aWNreS5pcy1zdHVjayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLmlzLWF0LXRvcCB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbjogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcblxuICAgICAgLm1lbnUtaWNvbiB7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtanVzdGlmeSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKXtcbiAgJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgICAnbGVmdCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KSxcbiAgICAncmlnaHQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCksXG4gICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbiAgKTtcblxuICBAcmV0dXJuICQtemYtZmxleC1qdXN0aWZ5O1xufVxuXG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gLjAwMTI1O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gLjAwMTI1O1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICAudmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LXV0aWxpdGllc1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgdGV4dCB1dGlsaXRpZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IFZhbHVlIGZvciBgdGV4dC1vdmVyZmxvd2AgdmFyaWFibGVcbi8vLyBAdHlwZSBTdHJpbmdcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXMgIWRlZmF1bHQ7XG5cbi8vLyBJbWFnZSBSZXBsYWNlbWVudCB1dGlsaXR5LiBgdGV4dC1oaWRlYFxuQG1peGluIHRleHQtaGlkZSB7XG4gIGZvbnQ6IDAvMCBhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbn1cblxuLy8vIFRydW5jYXRpbmcgdGhlIHRleHQsIGVsaXBzaXMgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFskcHJvdG90eXBlLXRleHQtb3ZlcmZsb3ddIFRleHQgVHJ1bmNhdGVcbkBtaXhpbiB0ZXh0LXRydW5jYXRlKFxuICAkb3ZlcmZsb3c6ICRwcm90b3R5cGUtdGV4dC1vdmVyZmxvd1xuKSB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHRleHQtb3ZlcmZsb3c6ICRvdmVyZmxvdzsgXG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLy8vIE5vIHdyYXBwaW5nIG9mIHRoZSB0ZXh0LiBgdGV4dC1ub3dyYXBgXG5AbWl4aW4gdGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBXcmFwcGluZyBvZiB0aGUgdGV4dC4gYHRleHQtd3JhcGBcbkBtaXhpbiB0ZXh0LXdyYXAge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzIHtcbiAgLnRleHQtaGlkZSB7XG4gICAgQGluY2x1ZGUgdGV4dC1oaWRlO1xuICB9XG5cbiAgLnRleHQtdHJ1bmNhdGUge1xuICAgIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7XG4gIH1cblxuICAudGV4dC1ub3dyYXAge1xuICAgIEBpbmNsdWRlIHRleHQtbm93cmFwO1xuICB9XG5cbiAgLnRleHQtd3JhcCB7XG4gICAgQGluY2x1ZGUgdGV4dC13cmFwO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtaGlkZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LWhpZGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtdHJ1bmNhdGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC1ub3dyYXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1ub3dyYXA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtd3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXdyYXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb25cbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHRleHQgdHJhbnNmb3JtYXRpb24gY2xhc3Nlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgdGV4dC10cmFuc2Zvcm1hdGlvbmAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXG4gIGxvd2VyY2FzZSxcbiAgdXBwZXJjYXNlLFxuICBjYXBpdGFsaXplXG4pICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBUcmFuc2Zvcm1hdGlvbiwgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdHJhbnNmb3JtYXRpb24gW10gVGV4dCBUcmFuc2Zvcm1hdGlvblxuQG1peGluIHRleHQtdHJhbnNmb3JtKCR0cmFuc2Zvcm1hdGlvbikge1xuICB0ZXh0LXRyYW5zZm9ybTogJHRyYW5zZm9ybWF0aW9uICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uIHtcbiAgQGVhY2ggJHRyYW5zZm9ybWF0aW9uIGluICRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbiB7XG4gICAgLnRleHQtI3skdHJhbnNmb3JtYXRpb259IHtcbiAgICAgIEBpbmNsdWRlIHRleHQtdHJhbnNmb3JtKCR0cmFuc2Zvcm1hdGlvbik7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgXHRAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHRyYW5zZm9ybWF0aW9uIGluICRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbiB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JHRyYW5zZm9ybWF0aW9ufSB7XG4gIFx0XHRcdCAgICAgIEBpbmNsdWRlIHRleHQtdHJhbnNmb3JtKCR0cmFuc2Zvcm1hdGlvbik7XG4gIFx0XHRcdCAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvblxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgdGV4dCBkZWNvcmF0aW9uIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgdGV4dC1kZWNvcmF0aW9uYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBEZWNvcmF0aW9uLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbmBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlY29yYXRpb24gW10gVGV4dCBEZWNvcmF0aW9uXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCRkZWNvcmF0aW9uKSB7XG4gIHRleHQtZGVjb3JhdGlvbjogJGRlY29yYXRpb24gIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbiB7XG4gIEBlYWNoICRkZWNvcmF0aW9uIGluICRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAudGV4dC0jeyRkZWNvcmF0aW9ufSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yYXRpb24oJGRlY29yYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJGRlY29yYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRkZWNvcmF0aW9ufSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWZvbnQtc3R5bGluZ1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgZm9udCBzdHlsaW5nIHR5cGVzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIExldHRlciBzcGFjaW5nIGZvciBgLmZvbnQtd2lkZWBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdlaWdodCBmb3IgYC5mb250LW5vcm1hbGAsIGRlZmF1bHRlZCB0byBgZ2xvYmFsLXdlaWdodC1ub3JtYWxgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdlaWdodCBmb3IgYC5mb250LWJvbGRgLCBkZWZhdWx0ZWQgdG8gYGdsb2JhbC13ZWlnaHQtYm9sZGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3aWRlIGxldHRlciBzcGFjaW5nIVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGV0dGVyLXNwYWNpbmcgWyRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZ10gV2lkZSBsZXR0ZXIgc3BhY2luZyBmb3IgdGhlIGZvbnRcbkBtaXhpbiBmb250LXdpZGUoXG4gICRsZXR0ZXItc3BhY2luZzogJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nXG4pIHtcbiAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZztcbn1cblxuLy8vIEZvbnQgV2VpZ2h0IE5vcm1hbCwgZGVmYXVsdCB2YWx1ZSBjb21pbmcgdGhyb3VnaCBgZ2xvYmFsLXdlaWdodC1ub3JtYWxgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWyRwcm90b3R5cGUtZm9udC1ub3JtYWxdIFdlaWdodCBvZiB0aGUgZm9udCAobm9ybWFsKVxuQG1peGluIGZvbnQtbm9ybWFsKFxuICAkd2VpZ2h0OiAkcHJvdG90eXBlLWZvbnQtbm9ybWFsXG4pIHtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG59XG5cbi8vLyBGb250IFdlaWdodCBCb2xkLCBkZWZhdWx0IHZhbHVlIGNvbWluZyB0aHJvdWdoIGBnbG9iYWwtd2VpZ2h0LWJvbGRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWyRwcm90b3R5cGUtZm9udC1ib2xkXSBXZWlnaHQgb2YgdGhlIGZvbnQgKGJvbGQpXG5AbWl4aW4gZm9udC1ib2xkKFxuICAkd2VpZ2h0OiAkcHJvdG90eXBlLWZvbnQtYm9sZFxuKSB7XG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xufVxuXG4vLy8gRm9udCBTdHlsZSBJdGFsaWNcbkBtaXhpbiBmb250LWl0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtZm9udC1zdHlsaW5nIHtcbiAgLmZvbnQtd2lkZXtcbiAgICBAaW5jbHVkZSBmb250LXdpZGU7XG4gIH1cblxuICAuZm9udC1ub3JtYWwge1xuICAgIEBpbmNsdWRlIGZvbnQtbm9ybWFsO1xuICB9XG5cbiAgLmZvbnQtYm9sZCB7XG4gICAgQGluY2x1ZGUgZm9udC1ib2xkO1xuICB9XG5cbiAgLmZvbnQtaXRhbGljIHtcbiAgICBAaW5jbHVkZSBmb250LWl0YWxpYztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC13aWRle1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC13aWRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LW5vcm1hbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LW5vcm1hbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC1ib2xkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtYm9sZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC1pdGFsaWMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1pdGFsaWM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWxpc3Qtc3R5bGUtdHlwZVxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgbGlzdCBzdHlsaW5nIHR5cGVzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHN0eWxlLXR5cGUtdW5vcmRlcmVkYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgc3R5bGUtdHlwZS1vcmRlcmVkYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pICFkZWZhdWx0O1xuXG5cbi8vLyBTdHlsZSB0eXBlIGZvciB1bm9yZGVyZWQgTGlzdHMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWRgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHlsZS10eXBlLXVub3JkZXJlZCBbXSBTdHlsZSB0eXBlIGZvciB1bm9yZGVyZWQgTGlzdHNcbkBtaXhpbiBzdHlsZS10eXBlLXVub3JkZXJlZCgkc3R5bGUtdHlwZS11bm9yZGVyZWQpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiAkc3R5bGUtdHlwZS11bm9yZGVyZWQgIWltcG9ydGFudDtcbn1cblxuLy8vIFN0eWxlIHR5cGUgZm9yIG9yZGVyZWQgTGlzdHMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3R5bGUtdHlwZS1vcmRlcmVkIFtdIFN0eWxlIHR5cGUgZm9yIG9yZGVyZWQgTGlzdHNcbkBtaXhpbiBzdHlsZS10eXBlLW9yZGVyZWQoJHN0eWxlLXR5cGUtb3JkZXJlZCkge1xuICBsaXN0LXN0eWxlLXR5cGU6ICRzdHlsZS10eXBlLW9yZGVyZWQgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGxpc3QtdW5vcmRlcmVkIHtcbiAgQGVhY2ggJHN0eWxlLXR5cGUtdW5vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQge1xuICAgIHVsLmxpc3QtI3skc3R5bGUtdHlwZS11bm9yZGVyZWR9IHtcbiAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkc3R5bGUtdHlwZS11bm9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZCB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIHVsLiN7JHNpemV9LWxpc3QtI3skc3R5bGUtdHlwZS11bm9yZGVyZWR9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS11bm9yZGVyZWQoJHN0eWxlLXR5cGUtdW5vcmRlcmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGxpc3Qtb3JkZXJlZCB7XG4gIEBlYWNoICRzdHlsZS10eXBlLW9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQge1xuICAgIG9sLmxpc3QtI3skc3R5bGUtdHlwZS1vcmRlcmVkfSB7XG4gICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLW9yZGVyZWQoJHN0eWxlLXR5cGUtb3JkZXJlZCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkc3R5bGUtdHlwZS1vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgb2wuI3skc2l6ZX0tbGlzdC0jeyRzdHlsZS10eXBlLW9yZGVyZWR9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtbGlzdC1zdHlsZS10eXBlIHtcbiAgQGluY2x1ZGUgbGlzdC11bm9yZGVyZWQ7XG4gIEBpbmNsdWRlIGxpc3Qtb3JkZXJlZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtcm91bmRlZFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igcm91bmRlZCB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci1yYWRpdXNgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuXG4vLy8gUm91bmRlZCB1dGlsaXR5IChhbGwgY29ybmVycyk6IEFkZHMgcmFkaXVzIGNvcm5lcnMgKGFsbCBjb3JuZXJzKSB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYWRpdXMgWyRwcm90b3R5cGUtYm9yZGVyLXJhZGl1c10gQm9yZGVyIHJhZGl1cyAoYWxsIGNvcm5lcnMpXG5AbWl4aW4gYm9yZGVyLXJhZGl1cyhcbiAgJHJhZGl1czogJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzXG4pIHtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuLy8vIFJvdW5kZWQgc3F1YXJlIHV0aWxpdHkgb3IgcmVjdGFuZ2xlIHV0aWxpdHkgKGFsbCBjb3JuZXJzKTogUm91bmRzIGFsbCBjb3JuZXJzIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCB0byBtYWtlIGEgcGlsbCBzaGFwZS5cbkBtaXhpbiBib3JkZXItcm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwMDBweCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtcm91bmRlZCB7XG4gIC5yb3VuZGVkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcblxuICAgIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yb3VuZGVkO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgLy8gRm9yIHN3aXRjaGVzXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnJhZGl1cyB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tcm91bmRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXJhZGl1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXJlZFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyZWQgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLXdpZHRoYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItdHlwZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItY29sb3JgIGRlZmF1bHRlZCB0byBgbWVkaXVtLWdyYXlgXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXJlZCBVdGlsaXR5OiBBZGRzIGEgbGlnaHQgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskcHJvdG90eXBlLWJvcmRlci13aWR0aF0gV2lkdGggb2YgdGhlIGJvcmRlclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdHlwZSBbJHByb3RvdHlwZS1ib3JkZXItdHlwZV0gVHlwZSBvZiB0aGUgYm9yZGVyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskcHJvdG90eXBlLWJvcmRlci1jb2xvcl0gQ29sb3Igb2YgdGhlIGJvcmRlclxuQG1peGluIGJvcmRlcmVkKFxuICAkd2lkdGg6ICRwcm90b3R5cGUtYm9yZGVyLXdpZHRoLFxuICAkdHlwZTogJHByb3RvdHlwZS1ib3JkZXItdHlwZSxcbiAgJGNvbG9yOiAkcHJvdG90eXBlLWJvcmRlci1jb2xvclxuKSB7XG4gIGJvcmRlcjogJHdpZHRoICR0eXBlICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlcmVkIHtcbiAgLmJvcmRlcmVkIHtcbiAgICBAaW5jbHVkZSBib3JkZXJlZDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWJvcmRlcmVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlcmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zaGFkb3dcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNoYWRvdyB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm94LXNoYWRvd2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpICFkZWZhdWx0O1xuXG4vLy8gU2hhZG93IFV0aWxpdHk6IEFkZHMgYSBsaWdodCBib3ggc2hhZG93IHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNoYWRvdyBbJHByb3RvdHlwZS1ib3gtc2hhZG93XSBCb3ggU2hhZG93IG9mIGEgY29tcG9uZW50XG5AbWl4aW4gc2hhZG93KFxuICAkc2hhZG93OiAkcHJvdG90eXBlLWJveC1zaGFkb3dcbikge1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2hhZG93IHtcbiAgLnNoYWRvdyB7XG4gICAgQGluY2x1ZGUgc2hhZG93O1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXNoYWRvdyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3c7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWFycm93XG4vLy8vXG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBhcnJvd2AgZGlyZWN0aW9uXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgdGhlIEFycm93LCBgMC40Mzc1cmVtYCBieSBkZWZhdWx0LlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG5cbi8vLyBDb2xvciBvZiB0aGUgQXJyb3csIGAkYmxhY2tgIGJ5IGRlZmF1bHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWFycm93IHtcbiAgQGVhY2ggJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb24gaW4gJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zIHtcbiAgICAuYXJyb3ctI3skcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKFxuICAgICAgICAkcHJvdG90eXBlLWFycm93LXNpemUsIFxuICAgICAgICAkcHJvdG90eXBlLWFycm93LWNvbG9yLCBcbiAgICAgICAgJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25cbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXNlcGFyYXRvclxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc2VwYXJhdG9yLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWxpZ25tZW50IG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMikgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBDb2xvclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgTWFyZ2luIG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUaXRsZSBzZXBhcmF0b3IgVXRpbGl0eSwgbW9zdGx5IHVzZWQgdG8gc3R5bGUgdGhlIG1haW4gaGVhZGluZyBvZiBhIHNlY3Rpb25cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGFsaWduIFskcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbl0gLSBzZXBhcmF0b3IgQWxpZ25tZW50XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWyRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodF0gLSBXaWR0aFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoXSAtIEhlaWdodFxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcF0gLSBNYXJnaW4gVG9wXG5AbWl4aW4gc2VwYXJhdG9yIChcbiAgJGFsaWduOiAkcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbixcbiAgJGhlaWdodDogJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0LFxuICAkd2lkdGg6ICRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoLFxuICAkYmFja2dyb3VuZDogJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZCxcbiAgJHRvcDogJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcFxuKSB7XG4gIHRleHQtYWxpZ246ICRhbGlnbiAhaW1wb3J0YW50O1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUpO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkYmFja2dyb3VuZDtcbiAgICBtYXJnaW46ICR0b3AgYXV0byAwO1xuXG4gICAgQGlmICRhbGlnbiA9PSBsZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGlmICRhbGlnbiA9PSByaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNlcGFyYXRvciB7XG5cdC5zZXBhcmF0b3ItY2VudGVyIHtcblx0XHRAaW5jbHVkZSBzZXBhcmF0b3IoY2VudGVyKTtcblx0fVxuXG4gIC5zZXBhcmF0b3ItbGVmdCB7XG4gICAgQGluY2x1ZGUgc2VwYXJhdG9yKGxlZnQpO1xuICB9XG5cbiAgLnNlcGFyYXRvci1yaWdodCB7XG4gICAgQGluY2x1ZGUgc2VwYXJhdG9yKHJpZ2h0KTtcbiAgfVxuXG5cdEBpZiAoJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1zZXBhcmF0b3ItY2VudGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlcGFyYXRvcihjZW50ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLWxlZnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VwYXJhdG9yKGxlZnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLXJpZ2h0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlcGFyYXRvcihyaWdodCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXBvc2l0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwb3NpdGlvbiBoZWxwZXJzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBwb3NpdGlvbmAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbikgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBmaXhlZCBwb3NpdGlvbmluZ1xuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzUgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbiBjbGFzc2VzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXBvc2l0aW9uYCwgd2hlcmVhcyBhbGwgdGhlIG9mZnNldCB2YWx1ZXMgYXJlIG11bHRpcGxpZWQgYnkgYCRnbG9iYWwtcG9zaXRpb25gIHdoaWNoIGJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gYDFyZW1gLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcG9zaXRpb24gW10gUG9zaXRpb24gY2xhc3NlcywgRWl0aGVyIGBzdGF0aWNgLCBgcmVsYXRpdmVgLCBgYWJzb2x1dGVgIG9yIGBmaXhlZGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBUb3Agb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBSaWdodCBvZmZzZXRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBCb3R0b20gb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIExlZnQgb2Zmc2V0XG5AbWl4aW4gcG9zaXRpb24oXG4gICRwb3NpdGlvbixcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIHBvc2l0aW9uOiAkcG9zaXRpb24gIWltcG9ydGFudDtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgdG9wOiAkdG9wICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7XG4gICAgcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBib3R0b206ICRib3R0b20gKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIGxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBQb3NpdGlvbiBGaXhlZCBvbiB0b3AgY29ybmVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtdG9wYFxuQG1peGluIHBvc2l0aW9uLWZpeGVkLXRvcChcbiAgJHotaW5kZXg6ICRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleFxuKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwLCAwLCBudWxsLCAwKTtcbiAgei1pbmRleDogJHotaW5kZXg7XG59XG5cbi8vLyBQb3NpdGlvbiBGaXhlZCBvbiBib3R0b20gY29ybmVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtYm90dG9tYFxuQG1peGluIHBvc2l0aW9uLWZpeGVkLWJvdHRvbShcbiAgJHotaW5kZXg6ICRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleFxuKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCBudWxsLCAwLCAwLCAwKTtcbiAgei1pbmRleDogJHotaW5kZXg7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1wb3NpdGlvbiB7XG4gIC8vIFBvc2l0aW9uOiBTdGF0aWMsIFJlbGF0aXZlLCBGaXhlZCwgQWJzb2x1dGVcbiAgQGVhY2ggJHBvc2l0aW9uIGluICRwcm90b3R5cGUtcG9zaXRpb24ge1xuICAgIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJHBvc2l0aW9uKTtcbiAgICB9XG4gIH1cblxuICAvLyBQb3NpdGlvbjogRml4ZWQgVG9wLCBGaXhlZCBCb3R0b21cbiAgLnBvc2l0aW9uLWZpeGVkLXRvcCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtdG9wO1xuICB9XG4gIC5wb3NpdGlvbi1maXhlZC1ib3R0b20ge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLWJvdHRvbTtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIC8vIFBvc2l0aW9uOiBTdGF0aWMsIFJlbGF0aXZlLCBGaXhlZCwgQWJzb2x1dGVcbiAgICAgICAgQGVhY2ggJHBvc2l0aW9uIGluICRwcm90b3R5cGUtcG9zaXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJHBvc2l0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQb3NpdGlvbjogRml4ZWQgVG9wLCBGaXhlZCBCb3R0b21cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tZml4ZWQtdG9wIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLXRvcDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tZml4ZWQtYm90dG9tIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLWJvdHRvbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtb3ZlcmZsb3dcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIG92ZXJmbG93IGhlbHBlciBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBvdmVyZmxvd2AgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKSAhZGVmYXVsdDtcblxuLy8vIE92ZXJmbG93IGNsYXNzZXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzXG5AbWl4aW4gb3ZlcmZsb3coJG92ZXJmbG93KSB7XG4gIG92ZXJmbG93OiAkb3ZlcmZsb3cgIWltcG9ydGFudDtcbn1cblxuLy8vIE92ZXJmbG93IGNsYXNzZXMgb24gaG9yaXpvbnRhbCBheGlzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLW92ZXJmbG93YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgW10gT3ZlcmZsb3cgY2xhc3NlcyAoaG9yaXpvbnRhbCBheGlzKVxuQG1peGluIG92ZXJmbG93LXgoJG92ZXJmbG93KSB7XG4gIG92ZXJmbG93LXg6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcyBvbiB2ZXJ0aWNhbCBheGlzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLW92ZXJmbG93YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgW10gT3ZlcmZsb3cgY2xhc3NlcyAodmVydGljYWwgYXhpcylcbkBtaXhpbiBvdmVyZmxvdy15KCRvdmVyZmxvdykge1xuICBvdmVyZmxvdy15OiAkb3ZlcmZsb3cgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLW92ZXJmbG93IHtcbiAgQGVhY2ggJG92ZXJmbG93IGluICRwcm90b3R5cGUtb3ZlcmZsb3cge1xuICAgIC5vdmVyZmxvdy0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3coJG92ZXJmbG93KTtcbiAgICB9XG4gICAgLm92ZXJmbG93LXgtI3skb3ZlcmZsb3d9IHtcbiAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXgoJG92ZXJmbG93KTtcbiAgICB9XG4gICAgLm92ZXJmbG93LXktI3skb3ZlcmZsb3d9IHtcbiAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXkoJG92ZXJmbG93KTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkb3ZlcmZsb3cgaW4gJHByb3RvdHlwZS1vdmVyZmxvdyB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1vdmVyZmxvdy0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdygkb3ZlcmZsb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LXgtI3skb3ZlcmZsb3d9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteCgkb3ZlcmZsb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LXktI3skb3ZlcmZsb3d9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteSgkb3ZlcmZsb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1kaXNwbGF5XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBkaXNwbGF5IGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgZGlzcGxheWAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEaXNwbGF5IGNsYXNzZXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtZGlzcGxheWBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgW10gRGlzcGxheSBjbGFzc2VzXG5AbWl4aW4gZGlzcGxheSgkZGlzcGxheSkge1xuICBkaXNwbGF5OiAkZGlzcGxheSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtZGlzcGxheSB7XG4gIEBlYWNoICRkaXNwbGF5IGluICRwcm90b3R5cGUtZGlzcGxheSB7XG4gICAgLmRpc3BsYXktI3skZGlzcGxheX0ge1xuICAgICAgQGluY2x1ZGUgZGlzcGxheSgkZGlzcGxheSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkZGlzcGxheSBpbiAkcHJvdG90eXBlLWRpc3BsYXkge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZGlzcGxheS0jeyRkaXNwbGF5fSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGRpc3BsYXkoJGRpc3BsYXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXItYm94XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBib3JkZXIgYm94LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYm94IHV0aWxpdHlcbkBtaXhpbiBib3JkZXItYm94IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyLWJveCB7XG4gIC5ib3JkZXItYm94IHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm94O1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1ib3JkZXItYm94IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3g7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJvcmRlci1ub25lXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBib3JkZXIgbm9uZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBub25lIHV0aWxpdHlcbkBtaXhpbiBib3JkZXItbm9uZSB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyLW5vbmUge1xuICAuYm9yZGVyLW5vbmUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ub25lO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyLW5vbmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLW5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXNpemluZ1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc3BhY2luZyBjbGFzc2VzIChtYXJnaW4gYW5kIHBhZGRpbmcpXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgc2l6aW5nYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBzaXplcy5cbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pICFkZWZhdWx0O1xuXG4vLy8gTWF4IFdpZHRoIDEwMCB1dGlsaXR5LlxuQG1peGluIG1heC13aWR0aC0xMDAge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLy8vIE1heCBIZWlnaHQgMTAwIHV0aWxpdHkuXG5AbWl4aW4gbWF4LWhlaWdodC0xMDAge1xuICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zaXppbmcge1xuICAvLyBFbGVtZW50IFNpemluZ1xuICBAZWFjaCAkc2l6aW5nIGluICRwcm90b3R5cGUtc2l6aW5nIHtcbiAgICBAZWFjaCAkbGVuZ3RoLCAkcGVyY2VudGFnZSBpbiAkcHJvdG90eXBlLXNpemVzIHtcbiAgICAgIC4jeyRzaXppbmd9LSN7JGxlbmd0aH0ge1xuICAgICAgICAjeyRzaXppbmd9OiAkcGVyY2VudGFnZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1heCB3aWR0aCAmIGhlaWdodFxuICAubWF4LXdpZHRoLTEwMCB7XG4gICAgQGluY2x1ZGUgbWF4LXdpZHRoLTEwMDtcbiAgfVxuICAubWF4LWhlaWdodC0xMDAge1xuICAgIEBpbmNsdWRlIG1heC1oZWlnaHQtMTAwO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgQGVhY2ggJHNpemluZyBpbiAkcHJvdG90eXBlLXNpemluZyB7XG4gICAgICAgICAgICBAZWFjaCAkbGVuZ3RoLCAkcGVyY2VudGFnZSBpbiAkcHJvdG90eXBlLXNpemVzIHtcbiAgICAgICAgICAgICAgLiN7JHNpemV9LSN7JHNpemluZ30tI3skbGVuZ3RofSB7XG4gICAgICAgICAgICAgICAgI3skc2l6aW5nfTogJHBlcmNlbnRhZ2UgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zcGFjaW5nXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzcGFjaW5nIGNsYXNzZXMgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBudW1iZXIgb2Ygc3BhY2VycyBjb3VudCAobWFyZ2luIGFuZCBwYWRkaW5nKVxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGhlbHBlciBtaXhpbiwgYWxsIHRoZSB2YWx1ZXMgYXJlIG11bHRpcGxpZWQgYnkgYCRnbG9iYWwtbWFyZ2luYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIE1hcmdpbiBUb3Bcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpZ2h0IFtudWxsXSAtIE1hcmdpbiBSaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYm90dG9tIFtudWxsXSAtIE1hcmdpbiBCb3R0b21cbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gTWFyZ2luIExlZnRcbkBtaXhpbiBtYXJnaW4oXG4gICR0b3A6IG51bGwsXG4gICRyaWdodDogbnVsbCxcbiAgJGJvdHRvbTogbnVsbCxcbiAgJGxlZnQ6IG51bGxcbikge1xuICBAaWYgJHRvcCAhPSBudWxsIHtcbiAgICBtYXJnaW4tdG9wOiAkdG9wICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJHJpZ2h0ICE9IG51bGwge1xuICAgIG1hcmdpbi1yaWdodDogJHJpZ2h0ICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYm90dG9tICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGxlZnQgIT0gbnVsbCB7XG4gICAgbWFyZ2luLWxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gUGFkZGluZyBoZWxwZXIgbWl4aW4sIGFsbCB0aGUgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLXBhZGRpbmdgIHdoaWNoIGJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gYDFyZW1gXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgW251bGxdIC0gUGFkZGluZyBUb3Bcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpZ2h0IFtudWxsXSAtIFBhZGRpbmcgUmlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBQYWRkaW5nIEJvdHRvbVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGVmdCBbbnVsbF0gLSBQYWRkaW5nIExlZnRcbkBtaXhpbiBwYWRkaW5nKFxuICAkdG9wOiBudWxsLFxuICAkcmlnaHQ6IG51bGwsXG4gICRib3R0b206IG51bGwsXG4gICRsZWZ0OiBudWxsXG4pIHtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgcGFkZGluZy10b3A6ICR0b3AgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJHJpZ2h0ICE9IG51bGwge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkYm90dG9tICE9IG51bGwge1xuICAgIHBhZGRpbmctYm90dG9tOiAkYm90dG9tICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIHBhZGRpbmctbGVmdDogJGxlZnQgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTWFyZ2luIGNsYXNzZXMgZm9yIHNwZWNpZmljIGRpcmVjdGlvbiBwcm9wZXJ0aWVzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXIgW10gRGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjZXIgW10gU3BhY2VyXG5AbWl4aW4gbWFyZ2luLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKSB7XG4gIEBpZiAoJGRpciA9PSB0b3ApIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCR0b3A6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSByaWdodCkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJHJpZ2h0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gYm90dG9tKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gbGVmdCkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJGxlZnQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBob3Jpem9udGFsKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkcmlnaHQ6ICRzcGFjZXIsICRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gdmVydGljYWwpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCR0b3A6ICRzcGFjZXIsICRib3R0b206ICRzcGFjZXIpOyBcbiAgfVxufVxuXG4vLy8gUGFkZGluZyBjbGFzc2VzIGZvciBzcGVjaWZpYyBkaXJlY3Rpb24gcHJvcGVydGllc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyIFtdIERpcmVjdGlvblxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2VyIFtdIFNwYWNlclxuQG1peGluIHBhZGRpbmctZGlyZWN0aW9uKCRkaXIsICRzcGFjZXIpIHtcbiAgQGlmICgkZGlyID09IHRvcCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSByaWdodCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRyaWdodDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGJvdHRvbSkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRib3R0b206ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBsZWZ0KSB7IFxuICAgIEBpbmNsdWRlIHBhZGRpbmcoJGxlZnQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBob3Jpem9udGFsKSB7IFxuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHJpZ2h0OiAkc3BhY2VyLCAkbGVmdDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IHZlcnRpY2FsKSB7IFxuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogJHNwYWNlciwgJGJvdHRvbTogJHNwYWNlcik7IFxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zcGFjaW5nIHtcbiAgQGZvciAkc3BhY2VyIGZyb20gMCB0aHJvdWdoICRwcm90b3R5cGUtc3BhY2Vycy1jb3VudCB7XG4gICAgXG4gICAgQGVhY2ggJHByb3AgaW4gKG1hcmdpbiwgcGFkZGluZykge1xuICAgICAgLy8gQWxsIFNpZGVzXG4gICAgICAuI3skcHJvcH0tI3skc3BhY2VyfSB7XG4gICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxuICAgICAgICAgIG1hcmdpbjogJHNwYWNlciAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHsgXG4gICAgICAgICAgcGFkZGluZzogJHNwYWNlciAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBlYWNoICRkaXIgaW4gKHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCwgaG9yaXpvbnRhbCwgdmVydGljYWwpIHtcbiAgICAgICAgLy8gVG9wIFNpZGVcbiAgICAgICAgLiN7JHByb3B9LSN7JGRpcn0tI3skc3BhY2VyfSB7XG4gICAgICAgICAgQGlmICgkcHJvcCA9PSBtYXJnaW4pIHsgXG4gICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4tZGlyZWN0aW9uKCRkaXIsICRzcGFjZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSBpZiAoJHByb3AgPT0gcGFkZGluZykge1xuICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZy1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHMpIHtcbiAgICBAZm9yICRzcGFjZXIgZnJvbSAwIHRocm91Z2ggJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50IHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9IHtcbiAgICAgICAgICAgICAgQGVhY2ggJHByb3AgaW4gKG1hcmdpbiwgcGFkZGluZykge1xuICAgICAgICAgICAgICAgIC8vIEFsbCBTaWRlc1xuICAgICAgICAgICAgICAgICYtI3skcHJvcH0tI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAkc3BhY2VyICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIEBlbHNlIGlmICgkcHJvcCA9PSBwYWRkaW5nKSB7IFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2VyICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGVhY2ggJGRpciBpbiAodG9wLCByaWdodCwgYm90dG9tLCBsZWZ0LCBob3Jpem9udGFsLCB2ZXJ0aWNhbCkge1xuICAgICAgICAgICAgICAgICAgLy8gVG9wIFNpZGVcbiAgICAgICAgICAgICAgICAgICYtI3skcHJvcH0tI3skZGlyfS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcHJvcCA9PSBtYXJnaW4pIHsgXG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAZWxzZSBpZiAoJHByb3AgPT0gcGFkZGluZykgeyBcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiYm9keSB7XHJcbiAgb3ZlcmZsb3cteDogY2xpcDtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47ICBcclxuXHJcbiAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvd29vZC1iYWNrZ3JvdW5kLmpwZycpIG5vLXJlcGVhdCB0b3AgY2VudGVyO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbn1cclxuXHJcbm1haW4ge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47IFxyXG59XHJcblxyXG4uc21hbGwtbG9nbyB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xyXG4gIG1heC13aWR0aDogMjAwcHg7XHJcbn1cclxuXHJcbi5pcy1oaWRkZW4ge1xyXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmlzLXZpc2libGUge1xyXG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbn0iLCJAa2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogLjU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLS41ZW0pO1xyXG5cclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW5Pbmx5IHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAuNTsgXHJcblxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcbiIsIi5wYjQge1xyXG4gIHBhZGRpbmctYm90dG9tOiA0ZW07XHJcbn1cclxuLmdyaWQtY29udGFpbmVyIHtcclxuICAmLS1zbWFsbCB7XHJcbiAgICBtYXgtd2lkdGg6IDQ4cmVtICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAmLS1tZWRpdW0ge1xyXG4gICAgbWF4LXdpZHRoOiA2NHJlbSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgJi0tZnVsbCB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgfVxyXG5cclxuICAmLS1yZWQsICYtLW1hZ2VudGF7XHJcbiAgICBiYWNrZ3JvdW5kOiAkbWFnZW50YSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgJi0tZ3JlZW4ge1xyXG4gICAgYmFja2dyb3VuZDogJGdyZWVuICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAmLS1ibHVlLCAmLS1wcmltYXJ5IHtcclxuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxufSBcclxuXHJcbi5ncmlkLXg+Lm1lZGl1bS0xNjAge1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIHdpZHRoOiAxNDBweDtcclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgIHdpZHRoOiAxNjBweDtcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4uY2VsbCB7XHJcbiAgei1pbmRleDogMTtcclxufVxyXG5cclxuLmNlbGwtLXJpY2gtdGV4dCB7XHJcbiAgcCB7XHJcbiAgICBtYXgtd2lkdGg6IDg1Y2g7XHJcbiAgfVxyXG4gIGEge1xyXG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gIH1cclxuICB1bCB7XHJcbiAgICBsaXN0LXN0eWxlOiBkaXNjO1xyXG4gICAgbWFyZ2luOiAwIDAgMmVtIDJlbTtcclxuICAgIGxpIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAvLyBwYWRkaW5nLWxlZnQ6IDJlbTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcclxuICAgICAgbWF4LXdpZHRoOiA1NWNoO1xyXG5cclxuICAgICAgLy8gJjo6YmVmb3JlIHtcclxuICAgICAgLy8gICBjb250ZW50OiB1cmwoJy4uLy4uL2ltZy9ncmVlbi10aWNrLnN2ZycpO1xyXG4gICAgICAvLyAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgLy8gICBsZWZ0OiAwO1xyXG4gICAgICAvLyAgIHRvcDogMDtcclxuICAgICAgLy8gfVxyXG5cclxuICAgICAgYiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIHRyeWluZyB0byByZW1vdmUgYW55IG1hcmdpbiBmb3JtIHRoZSBlbmQgb2YgYSBsYXN0IGVsZW1lbnRcclxuICAmID46bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4uei1pbmRleC0tMiB7XHJcbiAgei1pbmRleDogMjtcclxufVxyXG5cclxuLnotaW5kZXgtLTEge1xyXG4gIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi56LWluZGV4LS0wIHtcclxuICB6LWluZGV4OiAwO1xyXG59XHJcblxyXG4uei1pbmRleC0tLTEge1xyXG4gIHotaW5kZXg6IC0xICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi56LWluZGV4LS12aWRlby1tb2RhbCB7XHJcbiAgei1pbmRleDogMTAyICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4uY2VsbC0tdmVydGljYWwge1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gIC5jZWxsIHtcclxuICAgICY6ZW1wdHkge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNlbGwtLWhvcml6b250YWwge1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIFxyXG4gIC5jZWxsIHtcclxuICAgICY6ZW1wdHkge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbiRibGFjazogIzAwMDAwMDtcclxuLyohXHJcbiAqIEhhbWJ1cmdlcnNcclxuICogQGRlc2NyaXB0aW9uIFRhc3R5IENTUy1hbmltYXRlZCBoYW1idXJnZXJzXHJcbiAqIEBhdXRob3IgSm9uYXRoYW4gU3VoIEBqb25zdWhcclxuICogQHNpdGUgaHR0cHM6Ly9qb25zdWguY29tL2hhbWJ1cmdlcnNcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2pvbnN1aC9oYW1idXJnZXJzXHJcbiAqL1xyXG5cclxuLy8gU2V0dGluZ3NcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuJGhhbWJ1cmdlci1wYWRkaW5nLXggICAgICAgICAgIDogMCAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1wYWRkaW5nLXkgICAgICAgICAgIDogMThweCAwIDEwcHggIWRlZmF1bHQ7XHJcbiRoYW1idXJnZXItbGF5ZXItd2lkdGggICAgICAgICA6IDMycHggIWRlZmF1bHQ7XHJcbiRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICAgICAgICA6IDNweCAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICAgICAgIDogNnB4ICFkZWZhdWx0O1xyXG4vLyAkaGFtYnVyZ2VyLWxheWVyLWNvbG9yICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XHJcbiRoYW1idXJnZXItbGF5ZXItY29sb3IgICAgICAgICA6ICRzZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XHJcbiRoYW1idXJnZXItbGF5ZXItYm9yZGVyLXJhZGl1cyA6IDBweCAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5ICAgICAgIDogMC43ICFkZWZhdWx0O1xyXG4kaGFtYnVyZ2VyLWFjdGl2ZS1sYXllci1jb2xvciAgOiAkaGFtYnVyZ2VyLWxheWVyLWNvbG9yICFkZWZhdWx0O1xyXG4kaGFtYnVyZ2VyLWFjdGl2ZS1ob3Zlci1vcGFjaXR5OiAkaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHkgIWRlZmF1bHQ7XHJcblxyXG4vLyBUbyB1c2UgQ1NTIGZpbHRlcnMgYXMgdGhlIGhvdmVyIGVmZmVjdCBpbnN0ZWFkIG9mIG9wYWNpdHksXHJcbi8vIHNldCAkaGFtYnVyZ2VyLWhvdmVyLXVzZS1maWx0ZXIgYXMgdHJ1ZSBhbmRcclxuLy8gY2hhbmdlIHRoZSB2YWx1ZSBvZiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciBhY2NvcmRpbmdseS5cclxuJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyICAgOiBmYWxzZSAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXIgICAgICAgOiBvcGFjaXR5KDUwJSkgIWRlZmF1bHQ7XHJcbiRoYW1idXJnZXItYWN0aXZlLWhvdmVyLWZpbHRlcjogJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXIgIWRlZmF1bHQ7XHJcblxyXG4vLyBUeXBlcyAoUmVtb3ZlIG9yIGNvbW1lbnQgb3V0IHdoYXQgeW91IGRvbuKAmXQgbmVlZClcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuJGhhbWJ1cmdlci10eXBlczogKFxyXG4gIC8vIDNkeCxcclxuICAvLyAzZHgtcixcclxuICAvLyAzZHksXHJcbiAgLy8gM2R5LXIsXHJcbiAgLy8gM2R4eSxcclxuICAvLyAzZHh5LXIsXHJcbiAgLy8gYXJyb3csXHJcbiAgLy8gYXJyb3ctcixcclxuICAvLyBhcnJvd2FsdCxcclxuICAvLyBhcnJvd2FsdC1yLFxyXG4gIC8vIGFycm93dHVybixcclxuICAvLyBhcnJvd3R1cm4tcixcclxuICAvLyBib3JpbmcsXHJcbiAgLy8gY29sbGFwc2UsXHJcbiAgLy8gY29sbGFwc2UtcixcclxuICAvLyBlbGFzdGljLFxyXG4gIC8vIGVsYXN0aWMtcixcclxuICAvLyBlbXBoYXRpYyxcclxuICAvLyBlbXBoYXRpYy1yLFxyXG4gIC8vIG1pbnVzLFxyXG4gIHNsaWRlcixcclxuICAvLyBzbGlkZXItcixcclxuICAvLyBzcGluLFxyXG4gIC8vIHNwaW4tcixcclxuICAvLyBzcHJpbmcsXHJcbiAgLy8gc3ByaW5nLXIsXHJcbiAgLy8gc3RhbmQsXHJcbiAgLy8gc3RhbmQtcixcclxuICAvLyBzcXVlZXplLFxyXG4gIC8vIHZvcnRleCxcclxuICAvLyB2b3J0ZXgtclxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gQmFzZSBIYW1idXJnZXIgKFdlIG5lZWQgdGhpcylcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuQGltcG9ydCBcImJhc2VcIjtcclxuXHJcbi8vIEhhbWJ1cmdlciB0eXBlc1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBAaW1wb3J0IFwidHlwZXMvM2R4XCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy8zZHgtclwiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvM2R5XCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy8zZHktclwiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvM2R4eVwiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvM2R4eS1yXCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy9hcnJvd1wiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvYXJyb3ctclwiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvYXJyb3dhbHRcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL2Fycm93YWx0LXJcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL2Fycm93dHVyblwiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvYXJyb3d0dXJuLXJcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL2JvcmluZ1wiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvY29sbGFwc2VcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL2NvbGxhcHNlLXJcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL2VsYXN0aWNcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL2VsYXN0aWMtclwiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvZW1waGF0aWNcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL2VtcGhhdGljLXJcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL21pbnVzXCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy9zbGlkZXJcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL3NsaWRlci1yXCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy9zcGluXCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy9zcGluLXJcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL3NwcmluZ1wiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvc3ByaW5nLXJcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL3N0YW5kXCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy9zdGFuZC1yXCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy9zcXVlZXplXCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy92b3J0ZXhcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL3ZvcnRleC1yXCI7XHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBDb29raW5nIHVwIGFkZGl0aW9uYWwgdHlwZXM6XHJcbi8vXHJcbi8vIFRoZSBTYXNzIGZvciBlYWNoIGhhbWJ1cmdlciB0eXBlIHNob3VsZCBiZSBuZXN0ZWRcclxuLy8gaW5zaWRlIGFuIEBpZiBkaXJlY3RpdmUgdG8gY2hlY2sgd2hldGhlciBvciBub3RcclxuLy8gaXQgZXhpc3RzIGluICRoYW1idXJnZXItdHlwZXMgc28gb25seSB0aGUgQ1NTIGZvclxyXG4vLyBpbmNsdWRlZCB0eXBlcyBhcmUgZ2VuZXJhdGVkLlxyXG4vL1xyXG4vLyBlLmcuIGhhbWJ1cmdlcnMvdHlwZXMvX25ldy10eXBlLnNjc3NcclxuLy9cclxuLy8gQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIG5ldy10eXBlKSB7XHJcbi8vICAgLmhhbWJ1cmdlci0tbmV3LXR5cGUge1xyXG4vLyAgICAgLi4uXHJcbi8vICAgfVxyXG4vLyB9XHJcbiIsIi8vIEhhbWJ1cmdlclxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4uaGFtYnVyZ2VyIHtcclxuICBwYWRkaW5nOiAkaGFtYnVyZ2VyLXBhZGRpbmcteSAkaGFtYnVyZ2VyLXBhZGRpbmcteDtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCBmaWx0ZXI7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuXHJcbiAgLy8gTm9ybWFsaXplICg8YnV0dG9uPilcclxuICBmb250OiBpbmhlcml0O1xyXG4gIGNvbG9yOiBpbmhlcml0O1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlcjogMDtcclxuICBtYXJnaW46IDA7XHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgQGlmICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciA9PSB0cnVlIHtcclxuICAgICAgZmlsdGVyOiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlcjtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgb3BhY2l0eTogJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5pcy1hY3RpdmUge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIEBpZiAkaGFtYnVyZ2VyLWhvdmVyLXVzZS1maWx0ZXIgPT0gdHJ1ZSB7XHJcbiAgICAgICAgZmlsdGVyOiAkaGFtYnVyZ2VyLWFjdGl2ZS1ob3Zlci1maWx0ZXI7XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgIG9wYWNpdHk6ICRoYW1idXJnZXItYWN0aXZlLWhvdmVyLW9wYWNpdHk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaGFtYnVyZ2VyLWlubmVyLFxyXG4gICAgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLFxyXG4gICAgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGFtYnVyZ2VyLWFjdGl2ZS1sYXllci1jb2xvcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5oYW1idXJnZXItYm94IHtcclxuICB3aWR0aDogJGhhbWJ1cmdlci1sYXllci13aWR0aDtcclxuICBoZWlnaHQ6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMyArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDI7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmhhbWJ1cmdlci1pbm5lciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAtMjtcclxuXHJcbiAgJixcclxuICAmOjpiZWZvcmUsXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgd2lkdGg6ICRoYW1idXJnZXItbGF5ZXItd2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbWJ1cmdlci1sYXllci1jb2xvcjtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRoYW1idXJnZXItbGF5ZXItYm9yZGVyLXJhZGl1cztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xyXG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XHJcbiAgfVxyXG5cclxuICAmOjpiZWZvcmUsXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSAqIC0xO1xyXG4gIH1cclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgYm90dG9tOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTE7XHJcbiAgfVxyXG59XHJcbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzbGlkZXIpIHtcclxuICAvKlxyXG4gICAqIFNsaWRlclxyXG4gICAqL1xyXG4gIC5oYW1idXJnZXItLXNsaWRlciB7XHJcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcclxuICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAvIDI7XHJcblxyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmc7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xyXG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xyXG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XHJcbiAgICAgICAgJHktb2Zmc2V0OiAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcclxuXHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQsIDApIHJvdGF0ZSg0NWRlZyk7XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggLyAtNywgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogLTEsIDApO1xyXG4gICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0ICogLTIsIDApIHJvdGF0ZSgtOTBkZWcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuc2VjdGlvbiB7XHJcblxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nLXRvcDogM2VtO1xyXG4gIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gIHotaW5kZXg6IDE7XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogNGVtO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAvLyBwYWRkaW5nLWJvdHRvbTogNGVtO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgcGFkZGluZy10b3A6IDRlbTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgLy8gcGFkZGluZy1ib3R0b206IDRlbTtcclxuICB9XHJcblxyXG5cclxuICAmLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uIHtcclxuXHJcbiAgICAuZ3JpZC1jb250YWluZXIge1xyXG5cclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNnMgZWFzZS1vdXQ7IFxyXG5cclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1vdXQgLjZzO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG5cclxuXHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcblxyXG4gICAgJi0tcmVkdWNlZCB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiA0ZW0gIWltcG9ydGFudDsgXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNGVtICFpbXBvcnRhbnQ7ICAgICAgIFxyXG4gICAgICB9XHJcbiAgICB9ICAgIFxyXG5cclxufVxyXG5cclxuLnNlY3Rpb24tLWNvbGxhcHNlLW92ZXJyaWRlICB7XHJcblxyXG4gIHBhZGRpbmctdG9wOiAzZW0gIWltcG9ydGFudDtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgcGFkZGluZy10b3A6IDhlbSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgJi5zZWN0aW9uIHtcclxuXHJcbiAgICAgICYtLWxpZ2h0LXBpbmssICYtLWxpZ2h0LWJsdWUsICYtLWxpZ2h0LXllbGxvdyB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDZlbSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG4vLyBNT0RJRklFUlMgVE8gUkVEVUNFIENUQSBTUEFDSU5HIERFUEVOREVOVCBPTiBBREpBQ0VOVCBCTE9DS1NcclxuXHJcbi8vIC5zZWN0aW9uLS1jb250ZW50LXNwbGl0Om5vdCguc2VjdGlvbi0tZ3JleSwgLnNlY3Rpb24tLW5hdnkpKy5zZWN0aW9uLS1jdGEtYmFyIHsgICBcclxuLy8gICBwYWRkaW5nLXRvcDogMmVtICFpbXBvcnRhbnQ7XHJcbi8vIH1cclxuXHJcbi8vIC5zZWN0aW9uLS1jdGEtYmFyKy5zZWN0aW9uOm5vdCguc2VjdGlvbi0tZ3JleSwgLnNlY3Rpb24tLW5hdnkpIHsgIFxyXG4vLyAgIHBhZGRpbmctdG9wOiAyZW0gIWltcG9ydGFudDtcclxuLy8gfVxyXG5cclxuLy8gLnNlY3Rpb24tLWljb24tZ3JpZC10d28tY29sOm5vdCguc2VjdGlvbi0tZ3JleSkrLnNlY3Rpb24tLWN0YS1iYXIgeyAgIFxyXG4vLyAgIHBhZGRpbmctdG9wOiAyZW0gIWltcG9ydGFudDtcclxuLy8gfVxyXG5cclxuXHJcblxyXG5zZWN0aW9uLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uIHtcclxuXHJcbiAgLmdyaWQtYW5pbWF0ZSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLy8gbWFyZ2luLXRvcDogMTAwcHg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgY3ViaWMtYmV6aWVyKDAuNjUsIDAsIDAuMzUsIDEpO1xyXG4gIH1cclxuXHJcbiAgJi5hY3RpdmUge1xyXG4gICAgLmdyaWQtYW5pbWF0ZSB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIC8vIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbi5zZWN0aW9uLS1jb2xsYXBzZSsuc2VjdGlvbi0tY29sbGFwc2UsIC5zZWN0aW9uLS1ncmV5Ky5zZWN0aW9uLS1ncmV5IHtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG59XHJcblxyXG4uc2VjdGlvbi0tZ3JleSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JleTtcclxufVxyXG5cclxuXHJcblxyXG5cclxuLnNlY3Rpb24tLXB1bGwtdXAge1xyXG4gIG1hcmdpbi10b3A6IC0yZW07XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBtYXJnaW4tdG9wOiAtNWVtO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5zZWN0aW9uX19ncmlkIHtcclxuXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBnYXA6IDFlbTtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIH1cclxufVxyXG5cclxuLnNlY3Rpb25fX2NlbGwge1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgfVxyXG5cclxuICAuY2FyZC0tcG9zdCB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgZmxleC1ncm93OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuICAuYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgYWxpZ24tY29udGVudDogZW5kO1xyXG4gICAgfVxyXG5cclxuICAgIC5idXR0b24ge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLnNlY3Rpb24ge1xyXG5cclxuICAmLS1jdXN0b21lci1xdW90ZSB7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5zZWN0aW9uLS16LWluZGV4LXJhaXNlIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDogMjtcclxufVxyXG4gXHJcbiAiLCJcclxuJGxpZ2h0LWJyb3duOiAjRTFDQkMzO1xyXG4kbGlnaHQtYnJvd24tdmFyMjogI0U4RENDMjtcclxuXHJcbiRtZWRpdW0tYnJvd246ICNCN0E0OUQ7XHJcbiRtZWRpdW0tYnJvd24tdmFyMjogI0I0QjFBRjtcclxuXHJcblxyXG5cclxuJGJsYWNrOiAjMUUxRTFFO1xyXG4kYmxhY2stdmFyMjogIzRmNGY0ZjtcclxuXHJcbiR3aGl0ZTogI2ZlZmVmZTtcclxuJG9mZi13aGl0ZTogI0ZFRkNGOTtcclxuJG9mZi13aGl0ZS12YXIyOiAjRjZGM0VGO1xyXG4kb2ZmLXdoaXRlLXZhcjM6ICNGRkZDRjU7XHJcblxyXG5cclxuXHJcbiRjeWFuOiAjMTY0M0E0O1xyXG4kY3lhbi12YXIyOiBsaWdodGVuKCRjeWFuLDIwKTtcclxuJGN5YW4tdmFyMzogI0RFRTJFQztcclxuXHJcbiR5ZWxsb3ctdmFyMjogI0ZBQjAzQTtcclxuJHllbGxvdzogJHllbGxvdy12YXIyO1xyXG5cclxuJG5hdnk6ICMwMzFFNTc7XHJcbiRuYXZ5LXZhcjI6ICMwMzFFNTc7XHJcbiRuYXZ5LXZhcjM6ICMwMjE1M2Q7XHJcblxyXG5cclxuJGdyZWVuOiAjMkZCNjdDO1xyXG4kZ3JlZW4tdmFyMjogIzM1NkY2RjtcclxuJGdyZWVuLXZhcjM6ICM0N0I0N0I7XHJcblxyXG4kbWFnZW50YTogI0UxMzQyOTtcclxuJG1hZ2VudGEtdmFyMjogI0UxMzQyOTtcclxuXHJcbiRyZWQ6ICRtYWdlbnRhO1xyXG4kYmx1ZTogJGN5YW47XHJcblxyXG4kZ3JheTogI2RhZGFkYTtcclxuJHRoaXJkbHktY29sb3I6ICR5ZWxsb3c7XHJcblxyXG4kbGlnaHQtZ3JleTogI0Y4RjhGODtcclxuJGxpZ2h0LWdyYXk6ICRsaWdodC1ncmV5O1xyXG5cclxuJGxpZ2h0LWdyZXktdmFyMjogI0U4RThFODtcclxuXHJcbiRkYXJrLWdyYXk6ICM5OTk5OTk7XHJcbiRkYXJrLWdyZXk6ICRkYXJrLWdyYXk7XHJcblxyXG4kZGFyay1ncmV5LXZhcjI6ICM3MDcwNzA7XHJcblxyXG4kZGFyay1ncmV5LXZhcjM6IzgxN0Q3MTtcclxuXHJcblxyXG5cclxuJG1lZGl1bS1ncmV5OiAjRDhEOEQ4O1xyXG4kbWVkaXVtLWdyYXk6ICRtZWRpdW0tZ3JleTtcclxuXHJcbiRtZWRpdW0tZ3JheS12YXIyOiAjNzA3MDcwO1xyXG5cclxuJGRhcmstZ3JheTogIzhhOGE4YTtcclxuXHJcblxyXG5cclxuJGRhcms6ICMwNjEyMUU7XHJcbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLyogTmF2IExheW91dFxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4ubmF2YmFyIHtcclxuXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgIGZsZXgtd3JhcDogd3JhcDsgXHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgIHBhZGRpbmc6IC41cmVtIDFyZW07XHJcblxyXG4gICAgLmNvbnRhaW5lciB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xyXG5cclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLmZpeGVkLXRvcCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB6LWluZGV4OiAxMDMwO1xyXG59XHJcblxyXG4ubmF2YmFyLW1haW4ge1xyXG5cclxuXHRwYWRkaW5nLXRvcDogNXB4O1xyXG5cdHBhZGRpbmctYm90dG9tOiA1cHg7XHJcblxyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRib3JkZXItcmFkaXVzOiAwO1xyXG5cclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyLCAxMiwgMTIsIDApO1xyXG5cdGJveC1zaGFkb3c6IDBweCAzcHggM3B4IHJnYmEoMCwgMCwgMCwgMCk7XHJcblxyXG5cdHRyYW5zaXRpb246IGFsbCAwLjdzIGVhc2UtaW4tb3V0O1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRwYWRkaW5nLXRvcDogMTVweDtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG5cdH1cclxuXHJcbn1cclxuXHJcblxyXG4ubmF2YmFyLW1haW4uc2hvdyB7XHJcblxyXG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIsIDEyLCAxMiwgMC45MCk7XHJcblx0Ym94LXNoYWRvdzogMHB4IDNweCAzcHggcmdiYSgwLCAwLCAwLCAwLjM4MCk7XHJcblxyXG59XHJcblxyXG5cclxuLm5hdmJhci1tYWluIC5uYXYtaXRlbSB7XHJcblxyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxuXHRtYXJnaW4tbGVmdDogMHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG59XHJcblxyXG5cclxuLm5hdmJhci1tYWluIC5uYXYtbGluayB7XHJcblxyXG5cdGNvbG9yOiAjZGViNjY4O1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cclxufVxyXG5cclxuXHJcbi5uYXZiYXItbWFpbiAubmF2LWxpbms6aG92ZXIsXHJcbi5uYXZiYXItbWFpbi5wYWdlLWNvbG9yLWxpZ2h0IC5uYXYtbGluazpob3ZlciB7XHJcblxyXG5cdGNvbG9yOiAjZmZjNjAxO1xyXG5cdHRyYW5zaXRpb246IGNvbG9yIDAuN3MgZWFzZS1pbi1vdXQ7XHJcblxyXG59XHJcblxyXG5cclxuLm5hdmJhci1tYWluIC5uYXYtaXRlbS5hY3RpdmUgLm5hdi1saW5rIHtcclxuXHJcblx0Y29sb3I6ICNiYmJiYmI7XHJcblxyXG59XHJcblxyXG5cclxuLm5hdi1hbmQtbG9nbyxcclxuLm5hdi1jb250YWN0IHtcclxuXHJcblx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHJcbn1cclxuXHJcblxyXG4ubmF2LWFuZC1sb2dvPmxpIHtcclxuXHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblxyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cclxufVxyXG5cclxuXHJcbi5uYXYtY29udGFjdD5saSB7XHJcblxyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGZsb2F0OiByaWdodDtcclxuXHJcbn1cclxuXHJcblxyXG4ubmF2LWNvbnRhY3Q+bGkuY29udGFjdC1saW5rIHtcclxuXHJcblxyXG5cdGhlaWdodDogNzBweDtcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWRjMjZmO1xyXG5cclxuXHRwYWRkaW5nLXRvcDogMjBweDtcclxuXHRwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG5cclxufVxyXG5cclxuXHJcbi5uYXYtYW5kLWxvZ28+bGkubmF2LW1lbnUtYnRuIHtcclxuXHJcblx0aGVpZ2h0OiA3MHB4O1xyXG5cclxuXHR3aWR0aDogNzBweDtcclxuXHJcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZWRjMjZmO1xyXG5cclxuXHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHJcblx0Zm9udC1zaXplOiAyNHB4O1xyXG5cclxuXHRsaW5lLWhlaWdodDogMjRweDtcclxuXHJcblx0bWFyZ2luLWxlZnQ6IDBweDtcclxuXHJcblxyXG5cdHBhZGRpbmctdG9wOiAyMnB4O1xyXG5cclxuXHJcblx0YmFja2dyb3VuZDogIzE4MTkxYTtcclxuXHJcbn1cclxuXHJcblxyXG4ubmF2LWFuZC1sb2dvPmxpLm5hdi1tZW51LWxvZ28ge1xyXG5cclxuXHR3aWR0aDogOTBweDtcclxuXHJcblx0aGVpZ2h0OiA5MHB4O1xyXG5cclxuXHRwYWRkaW5nLWxlZnQ6IDVweDtcclxuXHJcblx0cGFkZGluZy10b3A6IDVweDtcclxuXHJcblx0YmFja2dyb3VuZDogIzE4MTkxYTtcclxuXHJcbn1cclxuXHJcblxyXG4ubmF2LWFuZC1sb2dvPmxpLm5hdi1tZW51LWJ0bj5hIHtcclxuXHJcblx0Y29sb3I6ICNlZGMyNmY7XHJcblxyXG59XHJcblxyXG5cclxuLm5hdi1sb2dvIHtcclxuXHJcblx0bWFyZ2luOiAwO1xyXG5cclxuXHRsaXN0LXN0eWxlOiBub25lO1xyXG5cclxufVxyXG5cclxuXHJcbi5uYXYtbG9nbyBzdmcge1xyXG5cclxuXHRmaWxsOiAkbGlnaHQtYnJvd247XHJcblx0d2lkdGg6IDgwcHg7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdHdpZHRoOiA2MHB4O1xyXG5cdH1cclxuXHJcbn1cclxuXHJcblxyXG4ubmF2YmFyLW1haW4gLm5hdmJhci10b2dnbGVyIGkge1xyXG5cclxuXHRjb2xvcjogI2JiYmJiYjtcclxuXHJcbn1cclxuXHJcblxyXG4ubmF2YmFyLW1haW4gLm5hdmJhci10b2dnbGVyOmZvY3VzIHtcclxuXHJcblx0b3V0bGluZTogbm9uZTtcclxuXHJcbn1cclxuXHJcblxyXG4ubmF2YmFyLW1haW4gLm5hdmJhci1uYXYge1xyXG5cclxuXHRwYWRkaW5nLXRvcDogMTVweDtcclxuXHJcbn1cclxuXHJcblxyXG4ubmF2YmFyLW1haW4gLm5hdmJhci1uYXYgLmRpdmlkZXIuZmlyc3Qge1xyXG5cclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgIzc3Nzc3NztcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuXHR0cmFuc2l0aW9uOiBib3JkZXIgMC43cyBlYXNlLWluLW91dDtcclxuXHJcbn1cclxuXHJcblxyXG4ubmF2YmFyLW1haW4uc2hvdyAubmF2YmFyLW5hdiAuZGl2aWRlci5maXJzdCB7XHJcblxyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAjNDQ0NDQ0O1xyXG5cclxufVxyXG5cclxuXHJcbi5uYXYtbWVudSB7XHJcblxyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblxyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG5cdGxpIHtcclxuXHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG5cdFx0LmJ1dHRvbiB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkb2ZmLXdoaXRlLXZhcjM7XHJcblx0XHRcdGNvbG9yOiAkb2ZmLXdoaXRlLXZhcjM7XHJcblxyXG5cdFx0XHRwYWRkaW5nOiAxZW0gMS4zZW07XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMS41ZW07XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDEuM2VtIDEuNmVtO1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogM2VtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHJpZ2h0OiAtMC45ZW07XHJcblx0XHRcdFx0dG9wOiA2cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAzNHB4O1xyXG5cdFx0XHRcdHdpZHRoOiAxcHg7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogJGRhcmstZ3JleS12YXIzO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0cmlnaHQ6IC0xLjZlbTtcclxuXHRcdFx0XHRcdHRvcDogMTBweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICRvZmYtd2hpdGUtdmFyMztcclxuXHRcdFx0XHRjb2xvcjogJGJsYWNrO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRcclxuXHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHJcbn1cclxuXHJcblxyXG4uYnRuLW9wZW4tbWVudSB7XHJcblxyXG5cclxuXHQvLyBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC44KTtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblxyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHdpZHRoOiA0OHB4O1xyXG5cdGhlaWdodDogNDhweDtcclxuXHJcblx0bGluZS1oZWlnaHQ6IDQ4cHg7XHJcblxyXG5cdHBhZGRpbmctdG9wOiAxNnB4O1xyXG5cclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Y29sb3I6ICRvZmYtd2hpdGUtdmFyMztcclxuXHJcbiBcdGJvcmRlcjogMXB4IHNvbGlkICRvZmYtd2hpdGUtdmFyMztcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdHdpZHRoOiA2MnB4O1xyXG5cdFx0aGVpZ2h0OiA2MnB4O1xyXG5cclxuXHRcdGxpbmUtaGVpZ2h0OiA2MnB4O1xyXG5cclxuXHRcdHBhZGRpbmctdG9wOiAyNHB4O1xyXG5cdH1cclxuXHJcblxyXG59XHJcblxyXG5cclxuXHJcbi5idG4tb3Blbi1tZW51IHNwYW4ge1xyXG5cclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRtYXJnaW46IDAgYXV0bztcclxuXHRoZWlnaHQ6IDJweDtcclxuXHR3aWR0aDogMjRweDtcclxuXHJcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cclxuXHRiYWNrZ3JvdW5kOiAkbGlnaHQtYnJvd24tdmFyMjtcclxuXHJcbn1cclxuXHJcbi5idG4tb3Blbi1tZW51IHNwYW46bnRoLW9mLXR5cGUoMikge1xyXG5cdHdpZHRoOiAxOHB4O1xyXG59XHJcblxyXG4uYnRuLW9wZW4tbWVudSBzcGFuOmxhc3Qtb2YtdHlwZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuXHJcbi5idG4tb3Blbi1tZW51IHtcclxuXHJcblx0Jjpob3ZlciB7XHJcblxyXG5cdFx0YmFja2dyb3VuZDogJG9mZi13aGl0ZS12YXIzO1xyXG5cclxuXHRcdHNwYW4ge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkYmxhY2s7XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHJcblxyXG59XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5cclxuI25hdi10b2dnbGUgeyBjdXJzb3I6IHBvaW50ZXI7IHBhZGRpbmc6IDEycHggMzVweCAxNnB4IDBweDsgfVxyXG5cclxuXHJcblxyXG4jbmF2LXRvZ2dsZSBzcGFuLCAjbmF2LXRvZ2dsZSBzcGFuOmJlZm9yZSwgI25hdi10b2dnbGUgc3BhbjphZnRlciwgLm5hdmJhci1tYWluLnBhZ2UtY29sb3ItbGlnaHQgI25hdi10b2dnbGUgc3BhbiwgLm5hdmJhci1tYWluLnBhZ2UtY29sb3ItbGlnaHQgI25hdi10b2dnbGUgc3BhbjpiZWZvcmUsIC5uYXZiYXItbWFpbi5wYWdlLWNvbG9yLWxpZ2h0ICNuYXYtdG9nZ2xlIHNwYW46YWZ0ZXIge1xyXG5cclxuICBjdXJzb3I6IHBvaW50ZXI7IFxyXG5cclxuICBib3JkZXItcmFkaXVzOiAxcHg7IFxyXG5cclxuICBoZWlnaHQ6IDJweDtcclxuXHJcbiAgd2lkdGg6IDI1cHg7XHJcblxyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG5cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICBjb250ZW50OiAnJztcclxuXHJcbn1cclxuXHJcblxyXG5cclxuI25hdi10b2dnbGUgc3BhbjpiZWZvcmUge1xyXG5cclxuICB0b3A6IC04cHg7IFxyXG5cclxufVxyXG5cclxuXHJcblxyXG4jbmF2LXRvZ2dsZSBzcGFuOmFmdGVyIHtcclxuXHJcbiAgYm90dG9tOiAtOHB4O1xyXG5cclxufVxyXG5cclxuXHJcblxyXG4jbmF2LXRvZ2dsZSBzcGFuLCAjbmF2LXRvZ2dsZSBzcGFuOmJlZm9yZSwgI25hdi10b2dnbGUgc3BhbjphZnRlciB7XHJcblxyXG4gIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlLWluLW91dDtcclxuXHJcbn1cclxuXHJcblxyXG5cclxuI25hdi10b2dnbGUuYWN0aXZlIHNwYW4sIC5uYXZiYXItbWFpbi5wYWdlLWNvbG9yLWxpZ2h0ICNuYXYtdG9nZ2xlLmFjdGl2ZSBzcGFuIHtcclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG59XHJcblxyXG5cclxuXHJcbiNuYXYtdG9nZ2xlLmFjdGl2ZSBzcGFuOmJlZm9yZSwgI25hdi10b2dnbGUuYWN0aXZlIHNwYW46YWZ0ZXIge1xyXG5cclxuICB0b3A6IDA7XHJcblxyXG59XHJcblxyXG5cclxuXHJcbiNuYXYtdG9nZ2xlLmFjdGl2ZSBzcGFuOmJlZm9yZSB7XHJcblxyXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuXHJcbn1cclxuXHJcblxyXG5cclxuI25hdi10b2dnbGUuYWN0aXZlIHNwYW46YWZ0ZXIge1xyXG5cclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG5cclxufVxyXG5cclxuXHJcblxyXG4qL1xyXG5cclxuXHJcbi5uYXZiYXItbWFpbi5wYWdlLWNvbG9yLWxpZ2h0IHtcclxuXHJcblx0Y29sb3I6ICMxMTExMTE7XHJcblxyXG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgIWltcG9ydGFudDtcclxuXHJcblx0Ym94LXNoYWRvdzogbm9uZTtcclxuXHJcblx0LyogYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7ICovXHJcblxyXG59XHJcblxyXG5cclxuLm5hdmJhci1tYWluLnBhZ2UtY29sb3ItbGlnaHQuc2hvdyB7XHJcblxyXG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45MCkgIWltcG9ydGFudDtcclxuXHJcblx0Ym94LXNoYWRvdzogbm9uZTtcclxuXHJcblx0LyogYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7ICovXHJcblxyXG59XHJcblxyXG5cclxuLm5hdmJhci1tYWluLnBhZ2UtY29sb3ItbGlnaHQgLm5hdi1saW5rIHtcclxuXHJcblx0Y29sb3I6ICMyMTI1Mjk7XHJcblxyXG59XHJcblxyXG5cclxuLm5hdmJhci1tYWluLnBhZ2UtY29sb3ItbGlnaHQgLm5hdi1pdGVtLmFjdGl2ZSAubmF2LWxpbmsge1xyXG5cclxuXHRjb2xvcjogIzIxMjUyOTtcclxuXHJcbn1cclxuXHJcblxyXG4ubmF2YmFyLW1haW4ucGFnZS1jb2xvci1saWdodCAubmF2LWxvZ28gc3ZnIHtcclxuXHJcblx0ZmlsbDogIzEwMTExMTtcclxuXHJcbn1cclxuXHJcblxyXG4ubmF2YmFyLW1haW4gLm5hdmJhci10b2dnbGVyIGkge1xyXG5cclxuXHRjb2xvcjogIzIxMjUyOTtcclxuXHJcbn1cclxuXHJcblxyXG4vKlxyXG5cclxuLm5hdmJhci1tYWluLnBhZ2UtY29sb3ItbGlnaHQgLm5hdi1saW5rOmhvdmVyIHtcclxuXHJcblx0Y29sb3I6ICM3Nzc3Nzc7XHJcblxyXG59XHJcblxyXG4qL1xyXG5cclxuXHJcbi5uYXZiYXItbWFpbi5wYWdlLWNvbG9yLWxpZ2h0ICNuYXYtdG9nZ2xlIHNwYW4sXHJcbi5uYXZiYXItbWFpbi5wYWdlLWNvbG9yLWxpZ2h0ICNuYXYtdG9nZ2xlIHNwYW46YmVmb3JlLFxyXG4ubmF2YmFyLW1haW4ucGFnZS1jb2xvci1saWdodCAjbmF2LXRvZ2dsZSBzcGFuOmFmdGVyIHtcclxuXHJcblx0YmFja2dyb3VuZDogIzIxMjUyOTtcclxuXHJcbn1cclxuXHJcblxyXG4ubmF2YmFyLW1haW4ucGFnZS1jb2xvci1saWdodCAubmF2LWl0ZW0uYWN0aXZlIC5uYXYtbGluayB7XHJcblxyXG5cdGNvbG9yOiAjYWFhYWFhO1xyXG5cclxufVxyXG5cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLyogTmF2IE92ZXJsYXlcclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuXHJcbi5vdmVybGF5IHtcclxuXHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cclxuXHRiYWNrZ3JvdW5kOiByZ2JhKDI0LCAyNSwgMjYsIDAuOTcpO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblxyXG5cdG9wYWNpdHk6IDA7XHJcblxyXG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAuMzVzLCB2aXNpYmlsaXR5IC4zNXMsIGhlaWdodCAuMzVzO1xyXG5cclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHotaW5kZXg6IDEwMDAwMDA7XHJcblxyXG59XHJcblxyXG5cclxuLm92ZXJsYXkub3BlbiB7XHJcblxyXG5cdG9wYWNpdHk6IDE7XHJcblxyXG5cdHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG5cdGhlaWdodDogMTAwJTtcclxuXHJcbn1cclxuXHJcblxyXG4ub3ZlcmxheSAubmF2LXRpdGxlIHtcclxuXHJcblx0Zm9udC1zaXplOiAxOHB4O1xyXG5cclxuXHRjb2xvcjogI2RlZGVkZTtcclxuXHJcblx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG5cdGxlZnQ6IDUwJTtcclxuXHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcblxyXG5cdHRvcDogOCU7XHJcblxyXG59XHJcblxyXG5cclxuLm92ZXJsYXkgbmF2IHtcclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHQvKiBoZWlnaHQ6IDUwJTsgKi9cclxuXHJcblx0dG9wOiA1MCU7XHJcblxyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHJcblx0Zm9udC1zaXplOiAzMnB4O1xyXG5cclxuXHRsaW5lLWhlaWdodDogMjZweDtcclxuXHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHJcblxyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblx0bGV0dGVyLXNwYWNpbmc6IDNweDtcclxuXHJcbn1cclxuXHJcblxyXG4ub3ZlcmxheSB1bCB7XHJcblxyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblxyXG5cdHBhZGRpbmc6IDA7XHJcblxyXG5cdG1hcmdpbjogMCBhdXRvO1xyXG5cclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cclxufVxyXG5cclxuXHJcbi5vdmVybGF5IHVsIGxpIHtcclxuXHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0b3BhY2l0eTogMDtcclxuXHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHJcblx0LyogcGFkZGluZy1sZWZ0OiAyNXB4OyAqL1xyXG5cclxufVxyXG5cclxuXHJcbi5vdmVybGF5IHVsIGxpLm5vLXBhZGRpbmctbGVmdCB7XHJcblxyXG5cdHBhZGRpbmctbGVmdDogMDtcclxuXHJcbn1cclxuXHJcblxyXG4ub3ZlcmxheSB1bCBsaS5tZW51LWxvZ28ge1xyXG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcblxyXG4ub3ZlcmxheSB1bCBsaS5tZW51LWxvZ28gaW1nIHtcclxuXHJcblx0aGVpZ2h0OiA1MHB4O1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBcdGhlaWdodDogNzBweDtcclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuLm92ZXJsYXkgdWwgbGkuaG9tZSB7XHJcblxyXG5cdGZvbnQtc2l6ZTogMjJweDtcclxuXHRsaW5lLWhlaWdodDogMThweDtcclxuXHJcbn1cclxuXHJcblxyXG4ub3ZlcmxheSB1bCBsaS5jbG9zZS1tZW51IHtcclxuXHJcblx0bWFyZ2luLXRvcDogMjBweDtcclxuXHRtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG5cclxufVxyXG5cclxuXHJcbi5vdmVybGF5IHVsIGxpLm1lbnUtc3VidGV4dCB7XHJcblxyXG5cdGZvbnQtc2l6ZTogMTNweDtcclxuXHJcblx0bGluZS1oZWlnaHQ6IDEzcHg7XHJcblxyXG5cdGNvbG9yOiAjNzQ3NDc0O1xyXG5cclxuXHRsZXR0ZXItc3BhY2luZzogMDtcclxuXHJcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cclxufVxyXG5cclxuXHJcbi5vdmVybGF5IHVsIGxpIGEge1xyXG5cclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdGNvbG9yOiAkb2ZmLXdoaXRlO1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICBmb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseS1zZWNvbmRhcnk7XHJcblxyXG59XHJcblxyXG5cclxuLm92ZXJsYXkgdWwgbGkgYTphZnRlciB7XHJcblxyXG5cdGNvbnRlbnQ6ICcnO1xyXG5cclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG5cdHRvcDogNTAlO1xyXG5cdGxlZnQ6IDQzLjUlO1xyXG5cclxuXHR3aWR0aDogMCU7XHJcblxyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuXHRoZWlnaHQ6IDFweDtcclxuXHJcblx0YmFja2dyb3VuZDogJGxpZ2h0LWJyb3duO1xyXG5cdHRyYW5zaXRpb246IC4zNXM7XHJcblxyXG59XHJcblxyXG5cclxuLm92ZXJsYXkgdWwgbGkgYTpob3ZlcixcclxuXHJcbi5vdmVybGF5IHVsIGxpIGE6Zm9jdXMsXHJcblxyXG4ub3ZlcmxheSB1bCBsaSBhOmFjdGl2ZSB7XHJcblxyXG5cdGNvbG9yOiAkbGlnaHQtYnJvd247XHJcblxyXG59XHJcblxyXG5cclxuLm92ZXJsYXkgdWwgbGkgYTpob3ZlcjphZnRlcixcclxuXHJcbi5vdmVybGF5IHVsIGxpIGE6Zm9jdXM6YWZ0ZXIsXHJcblxyXG4ub3ZlcmxheSB1bCBsaSBhOmFjdGl2ZTphZnRlciB7XHJcblxyXG5cdHdpZHRoOiAxMDAlO1xyXG5cclxuXHRiYWNrZ3JvdW5kOiAkbGlnaHQtYnJvd247XHJcblxyXG59XHJcblxyXG5cclxuLm92ZXJsYXkub3BlbiBsaSB7XHJcblxyXG5cdGFuaW1hdGlvbjogZmFkZUluUmlnaHQgLjVzIGVhc2UgZm9yd2FyZHM7XHJcblxyXG5cdGFuaW1hdGlvbi1kZWxheTogLjM1cztcclxuXHJcbn1cclxuXHJcbi5vdmVybGF5Lm9wZW4gbGk6bnRoLW9mLXR5cGUoMikge1xyXG5cclxuXHRhbmltYXRpb24tZGVsYXk6IC40cztcclxuXHJcbn1cclxuXHJcbi5vdmVybGF5Lm9wZW4gbGk6bnRoLW9mLXR5cGUoMykge1xyXG5cclxuXHRhbmltYXRpb24tZGVsYXk6IC40NXM7XHJcblxyXG59XHJcblxyXG4ub3ZlcmxheS5vcGVuIGxpOm50aC1vZi10eXBlKDQpIHtcclxuXHJcblx0YW5pbWF0aW9uLWRlbGF5OiAuNTBzO1xyXG5cclxufVxyXG5cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xyXG5cclxuXHQwJSB7XHJcblxyXG5cdFx0b3BhY2l0eTogMDtcclxuXHJcblx0XHRsZWZ0OiAyMCU7XHJcblxyXG5cdH1cclxuXHJcblx0MTAwJSB7XHJcblxyXG5cdFx0b3BhY2l0eTogMTtcclxuXHJcblx0XHRsZWZ0OiAwO1xyXG5cclxuXHR9XHJcblxyXG59XHJcblxyXG5cclxuYnV0dG9uOmZvY3VzIHtcclxuXHJcblx0b3V0bGluZTogMDtcclxuXHJcbn1cclxuXHJcblxyXG4ub3Blbi1tZW51LFxyXG5cclxuLmNsb3NlLW1lbnUsXHJcblxyXG4uYnV0dG9uIHtcclxuXHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cclxufVxyXG5cclxuXHJcbi5idG4tY2xvc2UtbWVudSBzdmcsXHJcbi5idG4tbWVudS1ob21lIHN2ZyB7XHJcblxyXG5cdHdpZHRoOiA0MHB4O1xyXG5cclxuXHRmaWxsOiAjZGVkZWRlO1xyXG5cclxufVxyXG5cclxuXHJcbi5idG4tY2xvc2UtbWVudTpob3ZlciBzdmcsXHJcbi5idG4tbWVudS1ob21lOmhvdmVyIHN2ZyB7XHJcblxyXG5cdGZpbGw6ICRsaWdodC1icm93bjtcclxuXHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi5vdmVybGF5IHtcclxuXHJcbiAgLmJ1dHRvbiB7XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1icm93bjtcclxuICAgIGNvbG9yOiAkbWVkaXVtLWJyb3duO1xyXG5cclxuICAgIG1hcmdpbi10b3A6IDJlbTsgICAgXHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRvZmYtd2hpdGU7XHJcbiAgICAgIGNvbG9yOiAkb2ZmLXdoaXRlO1xyXG5cclxuICAgICAgJjphZnRlciB7IFxyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG4vLyAuaGVhZGVyIHtcclxuLy8gICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbi8vICAgei1pbmRleDogMTAxO1xyXG5cclxuXHJcbi8vICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4vLyAgICAgcGFkZGluZy10b3A6IDJlbTtcclxuLy8gICAgIHBhZGRpbmctYm90dG9tOiAyZW07XHJcbi8vICAgfVxyXG5cclxuLy8gICAmLmhlYWRlci0taG9tZSB7XHJcblxyXG4vLyAgICAgJi50b3AtZmxvb3Ige1xyXG4vLyAgICAgICAubG9nby1saW5rIHsgXHJcbi8vICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvcmNzLWxvZ28td2hpdGUuc3ZnJyk7XHJcbi8vICAgICAgIH1cclxuLy8gICAgIH1cclxuXHJcbiAgICBcclxuLy8gICB9XHJcblxyXG4vLyAgIC5sb2dvLWxpbmsge1xyXG4vLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3Jjcy1sb2dvLnN2ZycpO1xyXG4vLyAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuLy8gICAgIGJhY2tncm91bmQtcmVwZWF0OiAgbm8tcmVwZWF0O1xyXG4vLyAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG5cclxuLy8gICAgIHdpZHRoOiAxNjBweDtcclxuLy8gICAgIGhlaWdodDogNDdweDtcclxuXHJcbi8vICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbi8vICAgICAgICAgd2lkdGg6IDE2MHB4O1xyXG4vLyAgICAgICAgIGhlaWdodDogNDdweDtcclxuLy8gICAgICAgfVxyXG4vLyAgIH1cclxuXHJcbi8vICAgLmxvZ28ge1xyXG4vLyAgICAgbWF4LXdpZHRoOiAxOThweDtcclxuXHJcbi8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbi8vICAgICAgICAgbWF4LXdpZHRoOiAyODJweDtcclxuLy8gICAgICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgXHJcbi8vICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuLy8gICAgIH1cclxuLy8gICB9XHJcbi8vIH1cclxuXHJcbi8vICNuYXZiYXIge1xyXG4vLyAgIHBvc2l0aW9uOiBmaXhlZDtcclxuLy8gICB0b3A6IDA7XHJcbi8vICAgd2lkdGg6IDEwMHZ3O1xyXG4vLyAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gKDEwMHZ3IC0gMTAwJSkpO1xyXG4vLyAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4vLyAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuLy8gICAmLmdvaW5nLWRvd24ge1xyXG4vLyAgICAgdG9wOiAtMTc1cHg7XHJcbi8vICAgfVxyXG4vLyAgICYuZ29pbmctdXAge1xyXG4vLyAgICAgdG9wOiAwO1xyXG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4vLyAgIH1cclxuXHJcbi8vICAgJi50b3AtZmxvb3Ige1xyXG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbi8vICAgfVxyXG5cclxuLy8gICAmLndoaXRlIHtcclxuLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuLy8gICB9XHJcbiAgXHJcbi8vIH1cclxuXHJcbi8vIC5tYWluLS1mdWxsLXdpZHRoIHtcclxuLy8gICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbi8vICAgICB0b3A6IDEyNHB4ICAgIWltcG9ydGFudDtcclxuXHJcbi8vICAgICB0cmFuc2l0aW9uOiB0b3AgLjFzIGVhc2Utb3V0O1xyXG4vLyAgICAgJi5saWZ0IHtcclxuLy8gICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XHJcbi8vICAgICB9XHJcbi8vICAgfVxyXG5cclxuLy8gfVxyXG5cclxuLy8gLy9wYXJlbnQgZm9yIGRyb3Bkb3duIG1lbnVcclxuLy8gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50e1xyXG5cclxuLy8gICAgIGEge1xyXG4vLyAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjRyZW0gIWltcG9ydGFudDtcclxuXHJcbi8vICAgICAgICY6OmFmdGVyIHtcclxuLy8gICAgICAgICBjb250ZW50OiAnJztcclxuLy8gICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcclxuLy8gICAgICAgICBoZWlnaHQ6IC42ZW0gIWltcG9ydGFudDtcclxuLy8gICAgICAgICB3aWR0aDogLjZlbSAhaW1wb3J0YW50O1xyXG4vLyAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2NoZXZyb24tZG93bi5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuLy8gICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbi8vICAgICAgICAgLy8gbWFyZ2luLXRvcDogLS41ZW0gIWltcG9ydGFudDtcclxuLy8gICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4vLyAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xyXG4vLyAgICAgICAgIG1hcmdpbi1sZWZ0OiAuNWVtO1xyXG4vLyAgICAgICB9XHJcblxyXG4vLyAgICAgICAmOmhhcyhpbWcpIHtcclxuXHJcbi8vICAgICAgICAgJjphZnRlciB7XHJcbi8vICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgICAgfVxyXG5cclxuLy8gICAgICAgfVxyXG5cclxuLy8gICAgIH1cclxuXHJcbi8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbi8vICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuLy8gICAgIH1cclxuXHJcbi8vICAgICBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW17XHJcbi8vICAgICAgIGEge1xyXG4vLyAgICAgICAgICY6OmFmdGVye1xyXG4vLyAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4vLyAgICAgICAgIH1cclxuLy8gICAgICAgfVxyXG4vLyAgICAgfVxyXG5cclxuLy8gfVxyXG4vLyAubWFpbi1tZW51IHtcclxuXHJcbi8vICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuXHJcbi8vICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4vLyAgICAgdWwge1xyXG4vLyAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcclxuXHJcbi8vICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4vLyAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbi8vICAgICAgICAgZmxleC1ncm93OiAxO1xyXG5cclxuLy8gICAgICAgICA+bGkge1xyXG5cclxuLy8gICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuXHJcbi8vICAgICAgICAgICBhIHtcclxuLy8gICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XHJcbi8vICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbi8vICAgICAgICAgICB9XHJcblxyXG4vLyAgICAgICAgIH1cclxuXHJcbi8vICAgICAgIH1cclxuXHJcbi8vICAgICB9XHJcblxyXG4vLyAgIH1cclxuXHJcbi8vICAgbGkge1xyXG4vLyAgICAgcGFkZGluZzogLjVlbSAxZW07XHJcblxyXG4vLyAgICAgJi5pcy1mZWF0dXJlZCB7XHJcblxyXG4vLyAgICAgICAmOjpiZWZvcmUge1xyXG4vLyAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4vLyAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gICAgICAgICB6LWluZGV4OiAzMDA7XHJcbi8vICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4vLyAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4vLyAgICAgICAgIGJvdHRvbTogMDtcclxuLy8gICAgICAgICBsZWZ0OiAwO1xyXG4vLyAgICAgICAgIHJpZ2h0OiAwO1xyXG5cclxuLy8gICAgICAgICBib3JkZXItcmFkaXVzOiAxZW07XHJcbi8vICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XHJcbi8vICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4vLyAgICAgICAgIHotaW5kZXg6IC0xO1xyXG5cclxuLy8gICAgICAgICBhbmltYXRpb246IGZhZGVJbiAuMTVzIG5vcm1hbCBmb3J3YXJkcyBlYXNlLW91dDtcclxuXHJcbi8vICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4vLyAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMmVtO1xyXG4vLyAgICAgICAgIH1cclxuXHJcbi8vICAgICAgIH1cclxuLy8gICAgIH1cclxuXHJcbi8vICAgICAmLmlzLWFjdGl2ZSB7XHJcblxyXG4vLyAgICAgICAmID4gYSB7XHJcbi8vICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4vLyAgICAgICAgIHRyYW5zaXRpb246IC4wNXMgYWxsIGVhc2Utb3V0O1xyXG5cclxuLy8gICAgICAgICAmOjphZnRlciB7XHJcbi8vICAgICAgICAgICBjb250ZW50OiAnJztcclxuLy8gICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2NoZXZyb24tZG93bi13aGl0ZS5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuLy8gICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuLy8gICAgICAgICB9XHJcbi8vICAgICAgIH1cclxuXHJcblxyXG4vLyAgICAgICAmOjpiZWZvcmUge1xyXG4vLyAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4vLyAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gICAgICAgICB6LWluZGV4OiAzMDA7XHJcbi8vICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4vLyAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4vLyAgICAgICAgIGJvdHRvbTogMDtcclxuLy8gICAgICAgICBsZWZ0OiAwO1xyXG4vLyAgICAgICAgIHJpZ2h0OiAwO1xyXG5cclxuLy8gICAgICAgICBib3JkZXItcmFkaXVzOiAxZW07XHJcbi8vICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbi8vICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4vLyAgICAgICAgIHotaW5kZXg6IC0xO1xyXG5cclxuLy8gICAgICAgICBhbmltYXRpb246IGZhZGVJbiAuMTVzIG5vcm1hbCBmb3J3YXJkcyBlYXNlLW91dDtcclxuXHJcbi8vICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4vLyAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMmVtO1xyXG4vLyAgICAgICAgIH1cclxuXHJcbi8vICAgICAgIH1cclxuXHJcbi8vICAgICB9XHJcbi8vICAgfVxyXG5cclxuXHJcbi8vICAgYTpub3QoLmJ1dHRvbikge1xyXG5cclxuLy8gICAgIGZvbnQtc2l6ZTogMTZweDtcclxuLy8gICAgIHRyYW5zaXRpb246IGNvbG9yIGVhc2Utb3V0IC4zcztcclxuXHJcbi8vICAgICBjb2xvcjogJGJsYWNrO1xyXG5cclxuXHJcbi8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbi8vICAgICAgICAgcGFkZGluZzogMC40cmVtIDAgIWltcG9ydGFudDtcclxuLy8gICAgIH1cclxuLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTIyMHB4KSB7XHJcbi8vICAgICAgICAgcGFkZGluZzogMC40cmVtIDAgIWltcG9ydGFudDtcclxuLy8gICAgIH1cclxuXHJcbi8vICAgICAmLmFjdGl2ZSB7XHJcbi8vICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuLy8gICAgIH1cclxuXHJcbi8vICAgICAmOmhvdmVyIHtcclxuLy8gICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4vLyAgICAgfVxyXG4vLyAgIH1cclxuXHJcbi8vICAgLmJ1dHRvbiB7XHJcbi8vICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbi8vICAgICAgICY6aG92ZXIge1xyXG4vLyAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbi8vICAgICAgIH1cclxuLy8gICB9XHJcblxyXG4vLyAgIGxpIHtcclxuLy8gICAgIGEuYnV0dG9uOm5vdCguY2xlYXIpIHtcclxuLy8gICAgICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xyXG4vLyAgICAgICB3aWR0aDogMTAwJTtcclxuLy8gICAgICAgbWFyZ2luOiAxZW0gMDtcclxuXHJcbi8vICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbi8vICAgICAgICAgICB3aWR0aDogYXV0bztcclxuLy8gICAgICAgICAgIG1hcmdpbjogMDtcclxuLy8gICAgICAgfVxyXG4vLyAgICAgfVxyXG5cclxuLy8gICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuLy8gICAgIC8vICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJHdoaXRlLCAuNSk7XHJcblxyXG4vLyAgICAgLy8gICAmOmxhc3QtY2hpbGQge1xyXG4vLyAgICAgLy8gICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbi8vICAgICAvLyAgIH1cclxuLy8gICAgIC8vIH1cclxuLy8gICB9XHJcblxyXG5cclxuXHJcbi8vICAgLy9jaGlsZCBmb3IgZHJvcGRvd24gbWVudVxyXG4vLyAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcclxuXHJcbi8vICAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XHJcblxyXG4vLyAgICAgICBhbmltYXRpb246IGZhZGVJbk9ubHkgLjFzO1xyXG4vLyAgICAgICB6LWluZGV4OiAxO1xyXG5cclxuLy8gICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuLy8gICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4vLyAgICAgICBib3JkZXI6IDA7XHJcblxyXG4vLyAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblxyXG4vLyAgICAgICAgIHotaW5kZXg6IC0yO1xyXG5cclxuLy8gICAgICAgICBtYXJnaW46IDAgLTJlbTtcclxuLy8gICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuLy8gICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcblxyXG4vLyAgICAgICAgIHRvcDogMTcwcHggO1xyXG4vLyAgICAgICAgIHotaW5kZXg6IDIwMDtcclxuXHJcbi8vICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4vLyAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4vLyAgICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcclxuLy8gICAgICAgICByaWdodDogMCAhaW1wb3J0YW50O1xyXG5cclxuLy8gICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xyXG5cclxuLy8gICAgICAgICBmbGV4LWZsb3c6IHJvdztcclxuLy8gICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcblxyXG4vLyAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmV5O1xyXG4vLyAgICAgICAgIGJveC1zaGFkb3c6IDBweCAxNHB4IDE0cHggMHB4IHJnYmEoMCwgMCwgMCwgLjE1KTtcclxuICAgICAgICBcclxuLy8gICAgICAgICBib3JkZXItcmFkaXVzOiAxZW07XHJcbi8vICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbi8vICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4vLyAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMmVtO1xyXG4vLyAgICAgICAgIH1cclxuXHJcbi8vICAgICAgICAgJj4gKiB7XHJcbi8vICAgICAgICAgICBhbmltYXRpb246IGZhZGVJbiAuMnMgbm9ybWFsIGZvcndhcmRzIGVhc2Utb3V0O1xyXG4vLyAgICAgICAgIH1cclxuXHJcblxyXG5cclxuLy8gICAgICAgICAvLyAmOjpiZWZvcmUge1xyXG4vLyAgICAgICAgIC8vICAgY29udGVudDogJyc7XHJcbi8vICAgICAgICAgLy8gICBkaXNwbGF5OiBibG9jaztcclxuLy8gICAgICAgICAvLyAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XHJcbi8vICAgICAgICAgLy8gICBtYXJnaW4tbGVmdDogLTEwMCU7XHJcbi8vICAgICAgICAgLy8gICB0b3A6MDtcclxuLy8gICAgICAgICAvLyAgIGxlZnQ6IDA7XHJcbi8vICAgICAgICAgLy8gICBoZWlnaHQ6IDEwMCU7XHJcbi8vICAgICAgICAgLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbi8vICAgICAgICAgLy8gICB3aWR0aDogMTAwMCU7XHJcbi8vICAgICAgICAgLy8gICB6LWluZGV4OiAtMTtcclxuLy8gICAgICAgICAvLyAgIGJveC1zaGFkb3c6IDBweCA2cHggOXB4IC0xcHggcmdiYSgwLCAwLCAwLCAuMDQpO1xyXG4vLyAgICAgICAgIC8vIH1cclxuXHJcbi8vICAgICAgIH1cclxuXHJcbi8vICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xyXG4vLyAgICAgICAgICAgLy8gd2lkdGg6IDE0NDBweDtcclxuLy8gICAgICAgICAgIC8vIGxlZnQ6IDUwJSAhaW1wb3J0YW50O1xyXG4vLyAgICAgICAgICAgLy8gbGVmdDogNjQlICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoIC01MCUgKTtcclxuLy8gICAgICAgfVxyXG5cclxuXHJcblxyXG4vLyAgICAgICBsaSB7XHJcbi8vICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbi8vICAgICAgICAgJi5hY3RpdmUge1xyXG4vLyAgICAgICAgICAgYSB7XHJcbi8vICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuLy8gICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbi8vICAgICAgICAgICB9XHJcbi8vICAgICAgICAgfVxyXG4gICAgXHJcblxyXG4vLyAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDhweCkge1xyXG4vLyAgICAgICAgICAgZmxleDogMCAwIDMzJTtcclxuLy8gICAgICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4vLyAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciBlYXNlLW91dCAuMTVzO1xyXG5cclxuLy8gICAgICAgICAgICY6aG92ZXJ7XHJcbi8vICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGN5YW4tdmFyMiwgLjEpO1xyXG4vLyAgICAgICAgICAgfVxyXG4vLyAgICAgICAgIH1cclxuXHJcbi8vICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XHJcbi8vICAgICAgICAgICBmbGV4OiAwIDAgMjUlO1xyXG5cclxuLy8gICAgICAgICB9XHJcblxyXG5cclxuLy8gICAgICAgICBhIHtcclxuLy8gICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbi8vICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuLy8gICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbi8vICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4vLyAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjE1cyBlYXNlLW91dDtcclxuXHJcbi8vICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4vLyAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuLy8gICAgICAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgICAgICAgIGhlaWdodDogMWVtICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgICAgICAgIHdpZHRoOiAuNmVtICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2NoZXZyb24tcmlnaHQuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbi8vICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuLy8gICAgICAgICAgICAgLy8gbWFyZ2luLXRvcDogLS41ZW0gIWltcG9ydGFudDtcclxuLy8gICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuLy8gICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAuMmVtO1xyXG4vLyAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC42ZW07XHJcbi8vICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbi8vICAgICAgICAgICB9XHJcblxyXG4vLyAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4vLyAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgICAgICB9XHJcblxyXG4vLyAgICAgICAgICAgJjpob3ZlciB7XHJcbi8vICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG4vLyAgICAgICAgICAgfVxyXG5cclxuLy8gICAgICAgICAgIGRpdltyb2xlPXRpdGxlXSB7XHJcbi8vICAgICAgICAgICAgIG1hcmdpbjogMCAwIDFlbSAwO1xyXG4vLyAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbi8vICAgICAgICAgICB9XHJcbi8vICAgICAgICAgICBwIHtcclxuLy8gICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4vLyAgICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcclxuLy8gICAgICAgICAgIH1cclxuLy8gICAgICAgICB9XHJcbi8vICAgICAgIH1cclxuLy8gICAgIH1cclxuLy8gICB9XHJcblxyXG4vLyAgIC8vIE1vYmlsZSBtZW51XHJcbi8vICAgJi5zaG93LW1lbnUge1xyXG4vLyAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gICAgIHotaW5kZXg6IDU7XHJcbi8vICAgICB3aWR0aDogMTAwJTtcclxuLy8gICAgIGxlZnQ6IDA7XHJcbi8vICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDBweCk7XHJcbi8vICAgICBvdmVyZmxvdzogc2Nyb2xsO1xyXG5cclxuLy8gICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG5cclxuLy8gICAgIHBhZGRpbmc6IDFlbTtcclxuXHJcbi8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblxyXG4vLyAgICAgdWwge1xyXG4vLyAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbi8vICAgICAgIGxpIHtcclxuLy8gICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4vLyAgICAgICAgIGEge1xyXG4vLyAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbi8vICAgICAgICAgICBwYWRkaW5nOiAuNWVtIDAgIWltcG9ydGFudDtcclxuLy8gICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4vLyAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuLy8gICAgICAgICB9XHJcblxyXG4vLyAgICAgICB9XHJcbi8vICAgICB9XHJcbi8vICAgfVxyXG4vLyB9XHJcblxyXG5cclxuXHJcblxyXG4vLyAubWVudS0tZmVhdHVyZSB7XHJcblxyXG4vLyAgICAgLy8gcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG5cclxuLy8gICAgIGEubWVudV9fY2FyZC1saW5rIHtcclxuLy8gICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xyXG4vLyAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcblxyXG4vLyAgICAgICAuY2FyZF9fYXJyb3cge1xyXG4vLyAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuNjUsIDAsIDAuMzUsIDEpO1xyXG4vLyAgICAgICB9XHJcblxyXG4vLyAgICAgICAmOmhvdmVyIHtcclxuLy8gICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuXHJcbi8vICAgICAgICAgLmNhcmRfX2Fycm93IHtcclxuLy8gICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJlbSk7XHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgICB9XHJcblxyXG5cclxuXHJcblxyXG4vLyAgICAgfVxyXG5cclxuLy8gICAgIGE6bm90KC5tZW51X19leHRyYS1hKS5tZW51X19jYXJkLWxpbmsge1xyXG4vLyAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcblxyXG4vLyAgICAgICAmOjphZnRlcntcclxuLy8gICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4vLyAgICAgICB9XHJcbi8vICAgICB9XHJcblxyXG4vLyAgICAgLm1lbnVfX2RldGFpbHMge1xyXG4vLyAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4vLyAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4vLyAgICAgICBnYXA6IDFlbTtcclxuXHJcbi8vICAgICAgIC8vIG1hcmdpbjogMWVtO1xyXG4vLyAgICAgICAvLyBwYWRkaW5nOiAxZW0gMS40ZW0gMS40ZW07XHJcbi8vICAgICAgIC8vIGJveC1zaGFkb3c6IDJweCAycHggOHB4IDJweCByZ2JhKDAsMCwwLDAuMSk7XHJcbi8vICAgICAgIC8vIGJhY2tncm91bmQ6ICRsaWdodC1ncmV5O1xyXG4vLyAgICAgICAvLyBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuLy8gICAgICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcclxuLy8gICAgICAgLy8gb3ZlcmZsb3c6IGNsaXA7XHJcblxyXG4vLyAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbi8vICAgICAgICAgLy8gbWFyZ2luOiAzLjVlbSAxZW0gMWVtO1xyXG4vLyAgICAgICAgIC8vIHBhZGRpbmc6IDFlbSAyLjVlbSAyZW07XHJcbi8vICAgICAgIH1cclxuLy8gICAgIH1cclxuXHJcbi8vICAgICAgIC5tZW51X19pbWFnZXtcclxuLy8gICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcclxuLy8gICAgICAgICB3aWR0aDogMTAwJTtcclxuLy8gICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4vLyAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuLy8gICAgICAgICBib3JkZXItcmFkaXVzOiAxZW07XHJcblxyXG4vLyAgICAgICB9XHJcblxyXG4vLyAgICAgICAubWVudV9faW1hZ2UtY292ZXJ7XHJcbi8vICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbi8vICAgICAgICAgYXNwZWN0LXJhdGlvOiA1IC8gMztcclxuLy8gICAgICAgICB3aWR0aDogMTAwJTtcclxuLy8gICAgICAgICBib3JkZXItcmFkaXVzOiAxZW07XHJcbi8vICAgICAgIH1cclxuXHJcbi8vICAgICAgIC5tZW51X190aXRsZXtcclxuLy8gICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbi8vICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuLy8gICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbi8vICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xyXG4vLyAgICAgICAgIC8vIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG4vLyAgICAgICAgIC8vIG1hcmdpbjogMWVtIDA7XHJcblxyXG4vLyAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuLy8gICAgICAgICAgIG1hcmdpbjogMmVtIDAgMWVtO1xyXG4vLyAgICAgICAgIH1cclxuLy8gICAgICAgfVxyXG5cclxuLy8gICAgICAgLm1lbnVfX3N1YnRpdGxle1xyXG4vLyAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuLy8gICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbi8vICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbi8vICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4vLyAgICAgICAgIC8vIG1hcmdpbi1ib3R0b206IC41ZW07XHJcblxyXG4vLyAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuLy8gICAgICAgICAgIC8vIGZvbnQtc2l6ZTogMjhweDtcclxuLy8gICAgICAgICB9XHJcbi8vICAgICAgIH1cclxuLy8gICAgICAgLm1lbnVfX2Rlc2NyaXB0aW9ue1xyXG4vLyAgICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbi8vICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuLy8gICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbi8vICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xyXG4vLyAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblxyXG5cclxuLy8gICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbi8vICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuLy8gICAgICAgICAgIG1hcmdpbjogMWVtIDAgMDtcclxuLy8gICAgICAgICAgIG1heC13aWR0aDogNDRjaDtcclxuLy8gICAgICAgICB9XHJcbi8vICAgICAgIH1cclxuXHJcbi8vICAgICAgIC5tZW51X19idXR0b24ge1xyXG4vLyAgICAgICAgIG1hcmdpbjogMDtcclxuLy8gICAgICAgICBwYWRkaW5nOiAwO1xyXG4vLyAgICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcclxuXHJcbi8vICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4vLyAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50ICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgICAgICY6OmFmdGVyIHtcclxuLy8gICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuLy8gICAgICAgICB9XHJcbi8vICAgICAgIH1cclxuXHJcbi8vICAgICB9XHJcbi8vICAgICAubWVudV9faXRlbXMge1xyXG5cclxuLy8gICAgICAgcGFkZGluZzogMWVtO1xyXG4vLyAgICAgICBtYXJnaW46IDA7XHJcbi8vICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbi8vICAgICAgIGZsZXgtZ3JvdzogMTtcclxuXHJcbi8vICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbi8vICAgICAgIGdyaWQtYXV0by1mbG93OiByb3c7XHJcbi8vICAgICAgIGdyaWQtYXV0by1jb2x1bW5zOiAxZnI7XHJcbi8vICAgICAgIGdhcDogMWVtO1xyXG5cclxuLy8gICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4vLyAgICAgICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XHJcbi8vICAgICAgIH1cclxuXHJcbi8vICAgICAgIC5tZW51X19pdGVtLWJsb2NrIHtcclxuXHJcbi8vICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4vLyAgICAgICAgIGJvcmRlci1yYWRpdXM6IDFlbTtcclxuXHJcbi8vICAgICAgICAgcGFkZGluZzogMWVtO1xyXG4vLyAgICAgICAgIC8vIG1hcmdpbjogMWVtO1xyXG5cclxuLy8gICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4vLyAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4vLyAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuLy8gICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbi8vICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuLy8gICAgICAgICB9XHJcbi8vICAgICAgICAgcCB7XHJcbi8vICAgICAgICAgICBtYXJnaW46IDAuOGVtIDAgMCAwO1xyXG4vLyAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcbi8vICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4vLyAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG5cclxuLy8gICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuLy8gICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4vLyAgICAgICAgICAgfVxyXG4vLyAgICAgICAgICAgYiwgc3Ryb25nIHtcclxuXHJcbi8vICAgICAgICAgICB9XHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgICAgIGJyIHtcclxuLy8gICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgICAgIHVsIHtcclxuXHJcbi8vICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG5cclxuLy8gICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbi8vICAgICAgICAgICBtYXJnaW46IDFlbSAwIDA7XHJcbiAgICAgICAgICBcclxuLy8gICAgICAgICAgIGxpIHtcclxuLy8gICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG4vLyAgICAgICAgICAgICBwYWRkaW5nOiAuMmVtICAwO1xyXG4vLyAgICAgICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4vLyAgICAgICAgICAgICBhIHtcclxuLy8gICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4vLyAgICAgICAgICAgICAgIHBhZGRpbmc6IC41ZW0gMCAhaW1wb3J0YW50O1xyXG4vLyAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlLW91dDtcclxuXHJcbi8vICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xyXG4vLyAgICAgICAgICAgICAgIG1hcmdpbjogLTAuMmVtIDA7XHJcblxyXG4vLyAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4vLyAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgICAgICAgICAgfVxyXG5cclxuLy8gICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbi8vICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgICAgICAgICAgfVxyXG4vLyAgICAgICAgICAgICB9XHJcblxyXG4vLyAgICAgICAgICAgICAuYnV0dG9uIHtcclxuLy8gICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbi8vICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuLy8gICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuLy8gICAgICAgICAgICAgICAgIH1cclxuLy8gICAgICAgICAgICAgfVxyXG4vLyAgICAgICAgICAgfVxyXG4vLyAgICAgICAgIH1cclxuXHJcblxyXG4vLyAgICAgICAgICYtLWZlYXR1cmUsICYtLWJsdWUsICYtLWRhcmstYmx1ZSwgJi0tcmVkICB7XHJcblxyXG4vLyAgICAgICAgICAgLm1lbnVfX3N1Yi1oZWFkaW5nIHtcclxuLy8gICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4vLyAgICAgICAgICAgfVxyXG4gICAgICAgICAgXHJcblxyXG4vLyAgICAgICAgICAgdWwge1xyXG4vLyAgICAgICAgICAgICBsaSB7XHJcbi8vICAgICAgICAgICAgICAgYSB7XHJcbi8vICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbi8vICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XHJcbiAgXHJcbi8vICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4vLyAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuLy8gICAgICAgICAgICAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcclxuLy8gICAgICAgICAgICAgICAgICAgYm90dG9tOiAuNWVtICFpbXBvcnRhbnQ7XHJcblxyXG4vLyAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9jaGV2cm9uLXJpZ2h0LnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50O1xyXG4vLyAgICAgICAgICAgICAgICAgfVxyXG4vLyAgICAgICAgICAgICAgIH1cclxuLy8gICAgICAgICAgICAgfVxyXG4vLyAgICAgICAgICAgfVxyXG5cclxuLy8gICAgICAgICB9XHJcblxyXG4vLyAgICAgICAgICYtLWJsdWUsICYtLWRhcmstYmx1ZSwgJi0tcmVkICB7XHJcbi8vICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4vLyAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN5YW47XHJcbi8vICAgICAgICAgICB1bCB7XHJcbi8vICAgICAgICAgICAgIGxpIHtcclxuLy8gICAgICAgICAgICAgICBhIHtcclxuLy8gICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcclxuLy8gICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDJlbSAgIWltcG9ydGFudDtcclxuXHJcbi8vICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuLy8gICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGN5YW4sIDQwKSAhaW1wb3J0YW50O1xyXG4vLyAgICAgICAgICAgICAgICAgfVxyXG5cclxuLy8gICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbi8vICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2NoZXZyb24tcmlnaHQtd2hpdGUuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcclxuLy8gICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjJlbSAgIWltcG9ydGFudDtcclxuLy8gICAgICAgICAgICAgICAgIH1cclxuLy8gICAgICAgICAgICAgICB9XHJcbi8vICAgICAgICAgICAgIH1cclxuLy8gICAgICAgICAgIH1cclxuLy8gICAgICAgICB9XHJcblxyXG4vLyAgICAgICAgICYtLWRhcmstYmx1ZSB7XHJcbi8vICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2eTtcclxuLy8gICAgICAgICB9XHJcbi8vICAgICAgICAgJi0tcmVkIHtcclxuLy8gICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XHJcblxyXG4vLyAgICAgICAgICAgdWwge1xyXG4vLyAgICAgICAgICAgICBsaSB7XHJcbi8vICAgICAgICAgICAgICAgYSB7XHJcbi8vICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuLy8gICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJHJlZCwgMzUpICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgICAgICAgICAgICB9XHJcbi8vICAgICAgICAgICAgICAgfVxyXG4vLyAgICAgICAgICAgICB9XHJcbi8vICAgICAgICAgICB9XHJcbi8vICAgICAgICAgfVxyXG5cclxuXHJcbi8vICAgICAgIH1cclxuXHJcblxyXG4vLyB9XHJcblxyXG5cclxuXHJcblxyXG5cclxuLy8gLm1lbnVfX2V4dHJhLWN0YXtcclxuLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4vLyAgICAgLy8gcGFkZGluZzogMS40ZW0gMDtcclxuLy8gICAgIHdpZHRoOiAxMDAlO1xyXG4vLyB9XHJcblxyXG4vLyAubWVudV9fZXh0cmEtY3RhLXRpdGxle1xyXG4vLyAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4vLyB9XHJcblxyXG4vLyAubWVudV9fZXh0cmEtYSB7XHJcblxyXG4vLyAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuLy8gICBtYXJnaW46IDAuOGVtIDAhaW1wb3J0YW50O1xyXG4vLyAgIGZvbnQtc2l6ZTogMjRweDtcclxuXHJcbi8vICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4vLyAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4vLyAgIH1cclxuXHJcbi8vICAgJiB7XHJcbi8vICAgICBjb2xvcjogJG1hZ2VudGEgIWltcG9ydGFudDtcclxuLy8gICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cclxuLy8gICAgICY6OmFmdGVyIHtcclxuLy8gICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4vLyAgICAgfVxyXG4vLyAgIH1cclxuXHJcbi8vIH1cclxuXHJcbi8vIC5tZW51X19leHRyYS1hLXRlbCB7XHJcbi8vICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4vLyAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbi8vICAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4vLyAgIH1cclxuLy8gfVxyXG5cclxuXHJcbi8vIC5tZW51X19zdWItaGVhZGluZyB7XHJcbi8vICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbi8vICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG4vLyAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuLy8gICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4vLyB9XHJcblxyXG5cclxuXHJcbi8vIC5tYWluLXNlY29uZGFyeS1tZW51IHtcclxuXHJcbi8vICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4vLyAgIHotaW5kZXg6IDI7XHJcblxyXG4vLyAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xyXG5cclxuLy8gICB1bCB7XHJcblxyXG4vLyAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuLy8gICAgIG1hcmdpbjogMDtcclxuLy8gICAgIHBhZGRpbmc6IDA7XHJcblxyXG4vLyAgICAgbGkge1xyXG4vLyAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbi8vICAgICAgIGZvbnQtc2l6ZTogMWVtO1xyXG5cclxuLy8gICAgICAgYSB7XHJcbi8vICAgICAgICAgY29sb3I6ICRibGFjaztcclxuLy8gICAgICAgfVxyXG5cclxuLy8gICAgICAgJi5oYXMtZHJvcGRvd24ge1xyXG5cclxuLy8gICAgICAgICBhIHtcclxuXHJcbi8vICAgICAgICAgICAmOmFmdGVyIHtcclxuLy8gICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4vLyAgICAgICAgICAgICBjb250ZW50OiAnPic7XHJcbi8vICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuLy8gICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcclxuXHJcbi8vICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcclxuLy8gICAgICAgICAgIH1cclxuXHJcbi8vICAgICAgICAgfVxyXG5cclxuLy8gICAgICAgfVxyXG5cclxuLy8gICAgIH1cclxuXHJcbi8vICAgfVxyXG5cclxuLy8gICAmX19uYXYge1xyXG5cclxuLy8gICAgIGRpc3BsYXk6IGZsZXg7XHJcbi8vICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4vLyAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHJcbi8vICAgICAuZHJvcGRvd24tcGFuZSB7XHJcblxyXG4vLyAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbi8vICAgICAgIHotaW5kZXg6IDEwMDA7XHJcblxyXG4vLyAgICAgfVxyXG5cclxuLy8gICB9XHJcblxyXG4vLyAgICZfX2luZm8sICZfX2NvbnRyb2xzIHtcclxuXHJcbi8vICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXktdmFyMjtcclxuLy8gICAgIG1hcmdpbi1yaWdodDogMS41ZW07XHJcbi8vICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVlbTtcclxuXHJcblxyXG4vLyAgICAgdWwge1xyXG5cclxuLy8gICAgICAgbGkge1xyXG4vLyAgICAgICAgIC8vIG1hcmdpbi1yaWdodDogMS41ZW07XHJcbi8vICAgICAgIH1cclxuXHJcbi8vICAgICB9XHJcblxyXG4vLyAgIH1cclxuXHJcbi8vICAgJl9fY29udHJvbHMge1xyXG4vLyAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG4vLyAgICAgcGFkZGluZy1yaWdodDogMDtcclxuLy8gICB9XHJcblxyXG4vLyAgICZfX2J0bi1wcmljaW5nIHtcclxuXHJcbi8vICAgICAuYnV0dG9uIHtcclxuLy8gICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuLy8gICAgIH1cclxuXHJcbi8vICAgfVxyXG5cclxuLy8gfVxyXG5cclxuLy8gLm1lbnUtLW1pbm9yIHtcclxuLy8gICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XHJcbi8vICAgYm9yZGVyOiAwO1xyXG4vLyAgIHBhZGRpbmc6IDFlbSAhaW1wb3J0YW50O1xyXG4vLyAgIGJveC1zaGFkb3c6IDBweCA2cHggOXB4IC0xcHggcmdiYSgwLCAwLCAwLCAuMSk7XHJcblxyXG5cclxuLy8gICAubWVudV9fc3VidGl0bGV7XHJcbi8vICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbi8vICAgICBmb250LXdlaWdodDogYm9sZDtcclxuLy8gICB9XHJcblxyXG4vLyAgIC5tZW51X19mbGFne1xyXG4vLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4vLyAgICAgbWFyZ2luLXJpZ2h0OiAuNWVtO1xyXG4vLyAgICAgbWF4LXdpZHRoOiAyNXB4O1xyXG4vLyAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuLy8gICB9XHJcblxyXG4vLyAgIC5tZW51X19kZXNjcmlwdGlvbntcclxuLy8gICAgIG1hcmdpbi10b3A6IC41ZW07XHJcbi8vICAgICBsaW5lLWhlaWdodDogMS40ZW07XHJcbi8vICAgICBmb250LXNpemU6IDE0cHg7XHJcbi8vICAgfVxyXG5cclxuLy8gICBhIHtcclxuLy8gICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICogMC42O1xyXG4vLyAgICAgcGFkZGluZzogMS4yZW0gMmVtICFpbXBvcnRhbnQ7XHJcbi8vICAgICBtaW4td2lkdGg6IDI0MHB4O1xyXG4vLyAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciBlYXNlLW91dCAuMTVzO1xyXG5cclxuLy8gICAgICY6aG92ZXIge1xyXG4vLyAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjeWFuLXZhcjIsIC4xKTtcclxuLy8gICAgIH1cclxuLy8gICB9XHJcblxyXG4vLyB9XHJcblxyXG4vLyAubWVudS0tZW5kIHsgXHJcbi8vICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHJcbi8vICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4vLyAgICAgZ2FwOiAuNWVtO1xyXG4vLyAgIH1cclxuXHJcblxyXG4vLyAgIGxpIHtcclxuLy8gICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xyXG4vLyAgIH1cclxuLy8gfVxyXG5cclxuXHJcbi8vIC5idXR0b24tLW1lbnUge1xyXG4vLyAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcclxuXHJcbi8vICAgJjpob3ZlciwgJjphY3RpdmUge1xyXG4vLyAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkcHJpbWFyeS1jb2xvciwgMTApICFpbXBvcnRhbnQ7XHJcbi8vICAgfVxyXG5cclxuLy8gICAmOjphZnRlciB7XHJcbi8vICAgICBmaWx0ZXI6IGludmVydCg4OCUpIHNlcGlhKDE5JSkgc2F0dXJhdGUoMCUpIGh1ZS1yb3RhdGUoMTI5ZGVnKSBicmlnaHRuZXNzKDExNCUpIGNvbnRyYXN0KDEwMSUpO1xyXG4vLyAgIH1cclxuLy8gfVxyXG5cclxuLy8gLm1haW4tbWVudSBsaSBhLmJ1dHRvbi0tbWVudTpub3QoLmNsZWFyKSB7XHJcblxyXG4vLyAgIHBhZGRpbmc6IDAuODVlbSAxZW0gIWltcG9ydGFudDtcclxuLy8gICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcblxyXG4vLyAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHJcbi8vICAgfVxyXG5cclxuLy8gfVxyXG5cclxuXHJcbi8vIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtYWN0aXZlID4gYS5idXR0b24tLW1lbnUge1xyXG4vLyAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XHJcblxyXG4vLyAgICY6aG92ZXIsICY6YWN0aXZlIHtcclxuLy8gICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJHByaW1hcnktY29sb3IsIDEwKSAhaW1wb3J0YW50O1xyXG4vLyAgIH1cclxuLy8gfVxyXG5cclxuXHJcbi5uYXZiYXIge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcblxyXG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuICAmLmdvaW5nLWRvd24ge1xyXG4gICAgdG9wOiAtMTc1cHg7XHJcbiAgfVxyXG4gICYuZ29pbmctdXAge1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssMC41KTtcclxuXHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJG1lZGl1bS1icm93biwgMC42NSk7XHJcbiAgfVxyXG5cclxuICAmLnRvcC1mbG9vciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB9XHJcblxyXG4gICYud2hpdGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gIH1cclxuICBcclxufVxyXG5cclxuXHJcblxyXG5cclxuLm5hdmJhci0tZGFyayB7XHRcclxuXHJcblx0Ji5nb2luZy11cCB7XHRcdFxyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkb2ZmLXdoaXRlLXZhcjMsMC43NSk7XHJcblx0XHRib3JkZXItYm90dG9tOiBub25lO1xyXG5cdH1cclxuXHJcblx0Lm5hdi1sb2dvIHN2ZyB7XHJcblx0XHRmaWxsOiAkYmxhY2s7XHRcclxuXHR9XHJcblxyXG5cdC5uYXYtbWVudSB7XHJcblxyXG5cdFx0bGkge1xyXG5cclxuXHRcdFx0LmJ1dHRvbiB7XHJcblx0XHJcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xyXG5cdFx0XHRcdGNvbG9yOiAkYmxhY2s7XHRcclxuXHJcblx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkYmxhY2s7XHJcblx0XHRcdFx0XHRjb2xvcjogJG9mZi13aGl0ZS12YXIzO1xyXG5cdFx0XHRcdH1cdFx0XHRcclxuXHJcblx0XHRcdH1cclxuXHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHJcblx0XHRcclxuXHQuYnRuLW9wZW4tbWVudSB7XHJcblxyXG5cdFx0Y29sb3I6ICRibGFjaztcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcclxuXHJcblx0XHRzcGFuIHtcclxuXHRcdFx0YmFja2dyb3VuZDogJG1lZGl1bS1icm93bi12YXIyO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cclxuXHRcdFx0YmFja2dyb3VuZDogJGJsYWNrO1xyXG5cclxuXHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogJG9mZi13aGl0ZS12YXIzO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG59XHJcblxyXG4iLCIuZm9vdGVyIHtcclxuXHJcbiAgYm9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCAkb2ZmLXdoaXRlLXZhcjI7XHJcblxyXG4gICZfX2dyaWQtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xyXG4gIH1cclxuXHJcbiAgJl9fZ3JpZCB7XHJcblxyXG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcclxuXHJcbiAgICAmLS1zYWxvbi1pbmZvcm1hdGlvbiB7XHJcblxyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICBtYXJnaW4tdG9wOiAwZW07XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNGVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmFmdGVyIHtcclxuXHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJG1lZGl1bS1icm93bi12YXIyOztcclxuICAgICAgICBtYXJnaW4tdG9wOiAyZW07XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtOyAgICAgICAgXHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRlbTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNGVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgJi0tY29udGFjdC1pbmZvcm1hdGlvbiB7XHJcblxyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IFxyXG5cclxuICAgICAgJjphZnRlciB7XHJcblxyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRtZWRpdW0tYnJvd24tdmFyMjs7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMmVtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTsgICAgICAgIFxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0ZW07XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgICYtLWxlZ2FsLXNvY2lhbCB7XHJcblxyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDRlbTtcclxuXHJcbiAgICB9XHJcbiAgICBcclxuXHJcbiAgfVxyXG5cclxuICAmX19sYXJnZS1sb2dvIHtcclxuXHJcbiAgICBAaW5jbHVkZSB4eS1jZWxsO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICYtYnV0dG9uIHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zZW0pO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gICZfX2Fib3V0LW1lbnUge1xyXG5cclxuICAgIEBpbmNsdWRlIHh5LWNlbGw7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEuNSk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgJl9fb3BlbmluZy10aW1lcywgJl9fb25saW5lLWJvb2tpbmcsICZfX3BheW1lbnQtbWV0aG9kcyB7XHJcblxyXG4gICAgQGluY2x1ZGUgeHktY2VsbDtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMyk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgJl9fb3BlbmluZy10aW1lcyB7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDMuNSk7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAmX19vbmxpbmUtYm9va2luZyB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19hYm91dC1tZW51LCAmX19vcGVuaW5nLXRpbWVzLCAmX19vbmxpbmUtYm9va2luZywgJl9fcGF5bWVudC1tZXRob2RzIHtcclxuXHJcbiAgICBtYXJnaW4tYm90dG9tOiAzZW07XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIGg1IHtcclxuICAgICAgZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHk7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIHVsIHtcclxuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gICZfX2NvbnRhY3QtaGVhZGVyLCAmX19jb250YWN0LWluZm9ybWF0aW9uIHtcclxuXHJcbiAgICBAaW5jbHVkZSB4eS1jZWxsO1xyXG4gICAgbWFyZ2luLXRvcDogMWVtO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgQGluY2x1ZGUgeHktY2VsbCg2KTtcclxuICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAmX19jb250YWN0LWluZm9ybWF0aW9uIHtcclxuXHJcbiAgICBtYXJnaW4tdG9wOiAyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gICZfX29wZW5pbmctdGltZXMge1xyXG5cclxuICAgIHVsIHtcclxuXHJcbiAgICAgIGxpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAmX19wYXltZW50LW1ldGhvZHMge1xyXG5cclxuICAgICYtbG9nb3Mge1xyXG5cclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblxyXG4gICAgICBtYXJnaW4tdG9wOiAyZW07XHJcblxyXG4gICAgICBpbWcge1xyXG5cclxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAmX19jb250YWN0LWhlYWRlciB7XHJcblxyXG4gICAgaDMge1xyXG4gICAgICBmb250LXNpemU6IDYycHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MnB4O1xyXG5cclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gICZfX2NvbnRhY3QtaW5mb3JtYXRpb24ge1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIHVsIHtcclxuXHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgIGxpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYudGl0bGUge1xyXG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubnVtYmVyIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogNDJweDtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xyXG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHktc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNjZweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDY2cHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmVtYWlsIHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDFlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gICZfX2xlZ2FsLW1lbnUge1xyXG5cclxuICAgIEBpbmNsdWRlIHh5LWNlbGw7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgQGluY2x1ZGUgeHktY2VsbCg3KTtcclxuICAgIH0gICAgXHJcblxyXG4gIH1cclxuXHJcbiAgJl9fc29jaWFsLWljb25zIHtcclxuXHJcbiAgICBAaW5jbHVkZSB4eS1jZWxsO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNCk7XHJcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gICZfX2xlZ2FsLW1lbnUsICZfX3NvY2lhbC1pY29ucyB7XHJcblxyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG5cclxuICAgIHVsIHtcclxuXHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgIGxpIHtcclxuXHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgICAgICAgXHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgfSAgICBcclxuXHJcbiAgfVxyXG5cclxuICAmX19sZWdhbC1tZW51IHtcclxuXHJcbiAgICB1bCB7XHJcblxyXG4gICAgICBsaSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVlbTsgICBcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7ICBcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyAgIFxyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtOyAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgIFxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gICZfX3NvY2lhbC1pY29ucyB7XHJcblxyXG4gICAgdWwge1xyXG5cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7ICAgICAgICAgICAgXHJcbiAgICAgICAgbWFyZ2luLXRvcDogMmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsaSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgICAgICAgICAgICBcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG5cclxuICAmX19jb3B5cmlnaHQge1xyXG4gICAgQGluY2x1ZGUgeHktY2VsbDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuXHJcbiAgICB1bCB7XHJcblxyXG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICBsaSB7XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgJl9fYWRkcmVzcyB7XHJcbiAgICBAaW5jbHVkZSB4eS1jZWxsO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gIH1cclxuXHJcbiAgJl9fbG9nby1zdGFtcCB7XHJcbiAgICBAaW5jbHVkZSB4eS1jZWxsO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIG1hcmdpbi10b3A6IDNlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDNlbTtcclxuICB9XHJcblxyXG59IiwiLnNlY3Rpb24tLWNhcmRzIHtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgb3ZlcmZsb3cteDogY2xpcDtcclxufVxyXG5cclxuXHJcbi5zZWN0aW9uLS1jYXJkcy1mZWF0dXJlIHtcclxuXHJcbiAgei1pbmRleDogMjtcclxuXHJcbiAgLmdyaWQtY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgICBwYWRkaW5nOiAyZW07XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLmNhcmQge1xyXG5cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHJcblxyXG4gIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcclxuXHJcbiAgbWF4LXdpZHRoOiAzODBweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHJcbiAgICBmbGV4OiAwIDAgMTAwJTtcclxuICAgIHdpZHRoOiBjYWxjKCAxMDAlIC8gMyAtIDNlbSk7XHJcbiAgICBtYXgtd2lkdGg6IDM2OHB4O1xyXG4gIH1cclxuXHJcbiAgJi0tZmx1aWQge1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgZmxleC1iYXNpczogMDtcclxuXHJcbiAgICBmbGV4OiAwIDAgMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBmbGV4OiBhdXRvO1xyXG4gICAgICB3aWR0aDogbWluLWNvbnRlbnQ7XHJcbiAgICAgIFxyXG4gICAgICBtaW4td2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAmLS1mbHVpZC1ncmlkIHtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIGZsZXgtYmFzaXM6IDA7XHJcblxyXG4gICAgZmxleDogMCAwIDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgZ2FwOiAxZW07XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBmbGV4OiBhdXRvO1xyXG4gICAgICB3aWR0aDogbWluLWNvbnRlbnQ7XHJcbiAgICAgIG1pbi13aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICB9XHJcblxyXG4gICAgLmNhcmRfX2ltYWdlLS00MyB7XHJcbiAgICAgIGFzcGVjdC1yYXRpbzogNC8zO1xyXG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDE4MHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5jYXJkX19jb2wge1xyXG4gICAgICBcclxuICAgIH1cclxuXHJcbiAgICAuY2FyZF9fc2VjdGlvbiB7XHJcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZ2FwOiAuNWVtO1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmNhcmRfX3RpdGxlIHtcclxuICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgfVxyXG5cclxuICAgIC5jYXJkX190aXRsZSwgLmNhcmRfX3N1YnRpdGxlIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gICYtLXJhZGl1cyB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuICAgIGJveC1zaGFkb3c6IDAgNnB4IDlweCAtMXB4IHJnYmEoMCwwLDAsMC4yKTtcclxuICB9XHJcblxyXG4gICYtLWhvcml6b250YWwge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblxyXG4gICAgICB3aWR0aDogODAlO1xyXG4gICAgICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAmID4gKiB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAmLS1wb3N0IHtcclxuICAgIHBhZGRpbmc6IDAgMWVtO1xyXG5cclxuICAgIC5jYXJkX19zZWN0aW9uIHtcclxuICAgICAgcGFkZGluZzogMWVtIDAgMWVtO1xyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFlbTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAmLS10d28tZ3JpZCB7XHJcblxyXG4gICAgbWF4LXdpZHRoOiAzODBweDtcclxuXHJcbiAgICBmbGV4OiAwIDAgODAlO1xyXG4gICAgd2lkdGg6IDgwJTtcclxuXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICBmbGV4OiAwIDAgMTAwJTtcclxuICAgICAgd2lkdGg6IGNhbGMoIDEwMCUgLSAzZW0pO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gICZfX2xpbmsge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICBvcGFjaXR5OiAuODA7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlLW91dDtcclxuXHJcbiAgICAmOmhvdmVye1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fc2VjdGlvbiB7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBwYWRkaW5nOiAxLjVlbTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIHBhZGRpbmc6IDJlbSAzZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19zZWN0aW9uLS1kYXJrIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrO1xyXG4gICAgbWFyZ2luOiAxZW07XHJcbiAgICBwYWRkaW5nOiAyZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiAxZW0gMCAwIDFlbTtcclxuXHJcbiAgICBib3JkZXItcmFkaXVzOiAxZW0gMWVtIDAgMDtcclxuICAgIGZsZXgtZ3JvdzogMDtcclxuICAgIG1pbi1oZWlnaHQ6IDE1ZW07XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxZW0gMCAwIDFlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3NlY3Rpb24tLWdyZXkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XHJcbiAgICBtYXJnaW46IDFlbTtcclxuICAgIHBhZGRpbmc6IDJlbTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDFlbSAxZW0gMCAwO1xyXG4gICAgZmxleC1ncm93OiAwO1xyXG4gICAgbWluLWhlaWdodDogMTVlbTtcclxuICB9XHJcblxyXG4gICZfX2Zvb3RlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICB9XHJcbiAgJl9fZm9vdGVyLXNlY3Rpb24ge1xyXG4gICAgcGFkZGluZzogMS41ZW07XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIHBhZGRpbmc6IDJlbSAzZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19yZWFkLXRpbWUge1xyXG4gICAgJjo6YmVmb3Jle1xyXG4gICAgICBjb250ZW50OiAnXFwyMDIyJztcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAuNWVtO1xyXG4gICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9faW1hZ2UtYm9yZGVyIHtcclxuICAgIGJvcmRlci1ib3R0b206IDlweCAgJHJlZCBzb2xpZDtcclxuICB9XHJcblxyXG4gICZfX2ltYWdlLS1yYWRpdXMge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcbiAgICAgIG1hcmdpbjogLjVlbSAhaW1wb3J0YW50O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgKCRnbG9iYWwtcmFkaXVzIC8gMS40KSAoJGdsb2JhbC1yYWRpdXMgLyAxLjQgKTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIG1hcmdpbjogMS41ZW0gIWltcG9ydGFudDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMCAwICgkZ2xvYmFsLXJhZGl1cyAvIDIpICgkZ2xvYmFsLXJhZGl1cyAvIDIpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG5cclxuICAmX19pbWFnZS0tNDMge1xyXG4gICAgYXNwZWN0LXJhdGlvOiA0LzM7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICB9XHJcbiAgXHJcbiAgJl9faW1hZ2UtLTQzMTI1IHtcclxuICAgIGFzcGVjdC1yYXRpbzogNCAvIDMuMTI1O1xyXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgfVxyXG5cclxuICAmX19pbWFnZS0tNDMyNyB7XHJcbiAgICBhc3BlY3QtcmF0aW86IDQgLyAzLjI3O1xyXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgfVxyXG5cclxuXHJcbiAgJl9fdGl0bGUge1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIG1hcmdpbi1ib3R0b206IC44ZW07XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xyXG5cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RpdGxlLS13aGl0ZSB7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gIH1cclxuXHJcbiAgJl9fdGl0bGUtLXVuZGVybGluZSB7XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBoZWlnaHQ6IDNweDtcclxuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAkbWFnZW50YSAwJSwgJGN5YW4gMTAwJSk7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW46IDFlbSAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxuICAmX19zdXJ0aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG4gICAgbWFyZ2luLXRvcDogLTFlbTtcclxuXHJcbiAgICAmLS1yZWQge1xyXG4gICAgICBjb2xvcjogJG1hZ2VudGE7XHJcbiAgICB9XHJcbiAgfVxyXG4gICZfX3N1YnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xyXG4gICAgY29sb3I6ICRibHVlO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgfVxyXG4gICZfX3N5bm9wc2lzIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcclxuICB9XHJcbiAgJl9fc3lub3BzaXMtLXdoaXRlIHtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgfVxyXG4gICZfX2F1dGhvciB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgfVxyXG4gICZfX2RhdGUge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6ICRibGFjaztcclxuICB9XHJcbiAgJl9fbG9nbyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDExMHB4O1xyXG4gICAgaGVpZ2h0OiAxMTBweDtcclxuICAgIHRvcDogLTk1cHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDZweCA5cHggLTFweCByZ2JhKDAsMCwwLDAuMSk7XHJcbiAgICBwYWRkaW5nOiAxZW07XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgZGlzcGxheTogZmxleDsgICBcclxuICB9XHJcblxyXG4gICZfX2xvZ28taW1hZ2Uge1xyXG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gIH1cclxuICBcclxuICAmX19hcnJvdyB7XHJcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMmVtICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMmVtICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltZy9ncmVlbi1hcnJvdy5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAmX190ZXh0LWxpbmsge1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGNvbG9yOiAkYmx1ZTtcclxuXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBcclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcclxuXHJcbiAgICAgIGJvcmRlcjogMDtcclxuICAgICAgaGVpZ2h0OiAxZW07XHJcbiAgICAgIHdpZHRoOiAxZW07XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2dyZWVuLWNoZXZyb24tcmlnaHQuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHJcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKDAuNjUsIDAsIDAuMzUsIDEpO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG5cclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgxZW0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19jb250ZW50IHtcclxuICAgIHBhZGRpbmc6IDJlbTtcclxuICB9XHJcblxyXG4gIHVsIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBcclxuICAgIGxpIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcclxuXHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogdXJsKCcuLi8uLi9pbWcvZ3JlZW4tdGljay5zdmcnKTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGIge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gIH1cclxuICBcclxufVxyXG5cclxuXHJcbi5jYXJkIGEsIGEuY2FyZCB7XHJcbiAgY29sb3I6IGluaGVyaXQ7XHJcblxyXG4gIC5jYXJkX19hcnJvdyB7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllcigwLjY1LCAwLCAwLjM1LCAxKTtcclxuICB9XHJcbiAgJjpob3ZlciB7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxuXHJcbiAgICAuY2FyZF9fYXJyb3cge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMmVtKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jYXJkIGEge1xyXG4gIGRpc3BsYXk6IGNvbnRlbnRzO1xyXG59XHJcblxyXG4uY2FyZC1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZ2FwOiAyZW07XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG5cclxuICAuY2FyZCB7XHJcbiAgICBAc3VwcG9ydHMgKC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZSkgYW5kIChub3QodHJhbnNsYXRlOiBub25lKSkge1xyXG4gICAgICBtYXJnaW46IDFlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtLWNlbnRlciB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMWVtIDA7XHJcbiAgfVxyXG59XHJcblxyXG4uY2FyZC1zY3JvbGxlciB7XHJcblxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgLmNhcmQge1xyXG4gICAgZmxleDogMCAwIDgwJTtcclxuICAgIHdpZHRoOiA4MCU7XHJcblxyXG4gIH1cclxuXHJcbiAgJl9fc3RhZ2Uge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBhZGRpbmc6IDJlbSAxZW0gIDtcclxuICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcclxuICAgIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xyXG4gICAgc2Nyb2xsLXBhZGRpbmc6IDFlbTtcclxuICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gKDEwMHZ3IC0gMTAwJSkpO1xyXG4gICAgZ2FwOiAyZW07XHJcbiAgICBtYXJnaW46IDAgMCAyZW0gMDtcclxuXHJcbiAgICAuY2FyZCB7XHJcbiAgICAgIEBzdXBwb3J0cyAoLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lKSBhbmQgKG5vdCh0cmFuc2xhdGU6IG5vbmUpKSB7XHJcbiAgICAgICAgbWFyZ2luOiAxZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICAgIGhlaWdodDogMTJweDtcclxuICAgIH1cclxuXHJcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYixcclxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogOTJweDtcclxuICAgIH1cclxuXHJcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiAgICB9XHJcblxyXG4gICAgJi0tbG9ja2VkIHtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gIH1cclxuXHJcblxyXG4gICZfX2hhbmRsZXMge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgd2lkdGg6IDEwMHZ3O1xyXG4gICAgICB3aWR0aDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGVhc2Utb3V0O1xyXG4gICAgfVxyXG5cclxuICAgICYtLWxvY2tlZCB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgJl9fcHJldiwgJl9fbmV4dHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XHJcbiAgICBoZWlnaHQ6IDZlbTtcclxuICAgIHdpZHRoOiAzZW07XHJcblxyXG4gICAgdHJhbnNpdGlvbjogLjNzIGFsbCBlYXNlLW91dDtcclxuXHJcblxyXG4gIH1cclxuXHJcbiAgJl9fbGFiZWwge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gICZfX3ByZXYge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAxNjBweCAxNjBweCAwO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwLjZlbTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtLjVlbSk7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gICZfX25leHQge1xyXG4gICAgYm9yZGVyLXJhZGl1czogIDE2MHB4IDAgMCAxNjBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDAuNmVtO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC41ZW0pO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5jYXJkLWNvbnRhaW5lci11c2UtY2FzZS1zcGxpdCB7XHJcblxyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuXHJcbiAgd2lkdGg6IDEwMCU7XHJcblxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAyO1xyXG5cclxuICBhIHtcclxuXHJcbiAgICAmOmZvY3VzLCAmOmFjdGl2ZSwgJjphY3RpdmU6Zm9jdXMge1xyXG4gICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAuY2FyZCB7XHJcblxyXG4gICAgZmxleDogMCAwIDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gLjRzIG5vcm1hbCBmb3J3YXJkcyBlYXNlLW91dDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiAgcm93O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2ltYWdlLCAmX19zZWN0aW9uIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fc2VjdGlvbiB7XHJcblxyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGdhcDogMWVtO1xyXG5cclxuXHJcblxyXG4gICAgICAuY2FyZF9fdGl0bGUsIC5jYXJkX19zeW5vcHNpcywgLmJ1dHRvbiwgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW1hZ2V7XHJcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuLmNhcmQtY29udGFpbmVyLXVzZS1jYXNlIHtcclxuXHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4gIHBhZGRpbmc6IDJlbTtcclxuXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG5cclxuICBtaW4taGVpZ2h0OiA1NDBweDtcclxuXHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luOiAxcmVtO1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgcGFkZGluZzogNGVtO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBhIHtcclxuXHJcbiAgICAmOmZvY3VzLCAmOmFjdGl2ZSwgJjphY3RpdmU6Zm9jdXMge1xyXG4gICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAuY2FyZCB7XHJcbiAgICBmbGV4OiAwIDAgMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICBtYXgtd2lkdGg6IDU2MHB4O1xyXG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gLjRzIG5vcm1hbCBmb3J3YXJkcyBlYXNlLW91dDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR3aGl0ZSwgLjkpO1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICByaWdodDogLTJlbTtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB3aWR0aDogMDtcclxuICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICBib3R0b206IDRlbTtcclxuICAgICAgYm9yZGVyLXRvcDogMmVtIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICBib3JkZXItYm90dG9tOiAyZW0gc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAyZW0gc29saWQgcmdiYSgkd2hpdGUsIC45KTsgLyogVHJpYW5nbGUgY29sb3IgKi9cclxuICAgIH1cclxuXHJcbiAgICAuY2FyZF9fYXV0aG9yIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBnYXA6IDFlbTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgfVxyXG5cclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICB1cmwoJy4uL2ltZy9yY3MtcXVvdGUuc3ZnJyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAmLS1sYXJnZSB7XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLy8gbWFyZ2luLWJvdHRvbTogNmVtO1xyXG5cclxuICAgIC5zdmctZ2F0b3ItYWZ0ZXIge1xyXG5cclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB3aWR0aDogNTE5cHg7XHJcbiAgICAgIGJvdHRvbTogLTcwcHg7XHJcbiAgICAgIHJpZ2h0OiAtNzBweDtcclxuICBcclxuICAgICAgei1pbmRleDogLTE7XHJcbiAgXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBcclxuICAgICAgICB3aWR0aDogMzUwcHg7XHJcbiAgICAgICAgYm90dG9tOiAtMzVweDtcclxuICAgICAgICByaWdodDogLTM1cHg7XHJcbiAgXHJcbiAgICAgIH1cclxuICBcclxuICAgIH1cclxuXHJcbiAgICAuY2FyZCB7XHJcblxyXG4gICAgICAmX19sb2dvIHtcclxuICAgICAgICB3aWR0aDogMTEwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMTBweDtcclxuXHJcbiAgICAgICAgdG9wOiAtOTVweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS42cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gICYtLXNtYWxsLCAmLS1saXN0aW5nIHtcclxuXHJcbiAgICBwYWRkaW5nOiAyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgcGFkZGluZzogMmVtO1xyXG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAycmVtKTtcclxuICAgIH1cclxuXHJcbiAgICAuY2FyZCB7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtLWxpc3Rpbmcge1xyXG5cclxuICAgIG1pbi1oZWlnaHQ6IGF1dG87XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgXHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAyLjVlbSAxZW07ICAgIFxyXG5cclxuICAgICAgLmNhcmQgeyAgICAgICAgXHJcblxyXG4gICAgICAgICZfX3NlY3Rpb24ge1xyXG4gICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2ltYWdlIHtcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xyXG5cclxuICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG5cclxuLmNhcmQtZ3JpZCB7XHJcblxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcblxyXG4gIHBhZGRpbmc6IDJlbSAwO1xyXG5cclxuICBnYXA6IDJlbTtcclxuICBtYXJnaW46IDAgMCAyZW0gMDtcclxuXHJcbiAgLmNhcmQge1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcblxyXG4gIC5jYXJkLCAuYXNpZGUge1xyXG5cclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZmxleDogMCAwIDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgbWF4LXdpZHRoOiBjYWxjKCAoMTAwJSAvIDIpIC0gMS41ZW0pO1xyXG4gICAgICBmbGV4OiAwIDAgODAlO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgbWF4LXdpZHRoOiBjYWxjKCAoMTAwJSAvIDMpIC0gMS41ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vICYtLW5ld3NsZXR0ZXIge1xyXG4gICAgLy9cclxuICAgIC8vICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAvLyAgIHBhZGRpbmc6IDJlbTtcclxuICAgIC8vICAgYmFja2dyb3VuZDogJGJsYWNrO1xyXG4gICAgLy8gICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgLy9cclxuICAgIC8vIH1cclxuICAgIC8vXHJcbiAgICAvLyAmX19uZXdzbGV0dGVyIHtcclxuICAgIC8vXHJcbiAgICAvLyAgICYtaW50cm8ge1xyXG4gICAgLy9cclxuICAgIC8vICAgICBoMyB7XHJcbiAgICAvLyAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgLy8gICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIC8vXHJcbiAgICAvLyAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy9cclxuICAgIC8vICAgfVxyXG4gICAgLy9cclxuICAgIC8vICAgJi1mb3JtIHtcclxuICAgIC8vXHJcbiAgICAvLyAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xyXG4gICAgLy8gICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG4gICAgLy8gICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcclxuICAgIC8vICAgICB9XHJcbiAgICAvL1xyXG4gICAgLy8gICAgIC5idXR0b24ge1xyXG4gICAgLy8gICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvLyAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG4gICAgLy8gICAgICAgcGFkZGluZzogMS40ZW0gMS42ZW07XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy9cclxuICAgIC8vICAgfVxyXG4gICAgLy9cclxuICAgIC8vIH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbi5zZWN0aW9uIHtcclxuXHJcbiAgJi0tY2FyZHMge1xyXG5cclxuICAgICYgKyAuc2VjdGlvbi0tY3VzdG9tZXItcXVvdGUge1xyXG4gICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxufSIsIi5oZXJvIHtcclxuXHJcbiAgJi0tc2ltcGxlIHtcclxuXHJcbiAgICBwYWRkaW5nLXRvcDogOGVtO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgcGFkZGluZy10b3A6IDEyZW07XHJcbiAgICB9XHJcblxyXG4gICAgICZfX2dyaWQtY29udGFpbmVyIHtcclxuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XHJcbiAgICAgIEBpbmNsdWRlIHNlY3Rpb24tYm9yZGVyLWJvdHRvbTtcclxuICAgIH1cclxuXHJcbiAgICAmX19ncmlkIHtcclxuICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZFxyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRlbnQge1xyXG5cclxuICAgICAgQGluY2x1ZGUgeHktY2VsbDsgIFxyXG5cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNyk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgICBoMSB7XHJcblxyXG4gICAgICAgIGZvbnQtc2l6ZTogNTJweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcclxuICAgICAgICBtYXJnaW46IDAuMmVtIDA7XHJcbiAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB6LWluZGV4OiAzO1xyXG5cclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgICAgICAgc3BhbiwgaSB7ICAgICAgICAgIFxyXG4gICAgICAgIGNvbG9yOiAkbGlnaHQtYnJvd247XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZW0ge1xyXG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDU4cHg7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogNTZweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA5NnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogOTZweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwLjJlbSAwO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIGVtIHtcclxuXHJcbiAgICAgICAgICAmLmFjY2VudC10b3Age1xyXG5cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnOyAgICAgIFxyXG4gICAgICAgICAgICAgIHRvcDogLTEwcHg7ICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtMXB4OyAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC0xNXB4O1xyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJi5hY2NlbnQtYm90dG9tIHtcclxuXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuXHJcbiAgICAgICAgICAgICAgYm90dG9tOiAtMTRweDsgICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IC0xM3B4OyAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogLTM1cHg7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5oZWFkZXItLXN0cmFwbGluZSB7XHJcblxyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG5cclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBib3R0b206IC02cHg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblxyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IC02cHg7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG59IiwiQG1peGluIHNlY3Rpb24tYm9yZGVyLWJvdHRvbSB7XHJcblxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogM2VtIDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tYnJvd24tdmFyMjtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcclxuICAgICAgICBtYXJnaW46IDRlbSAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiA2ZW0gMDtcclxuICAgIH1cclxuXHJcbiAgfSAgXHJcbiAgXHJcbn1cclxuXHJcbkBtaXhpbiBzZWN0aW9uLWJvcmRlci10b3Age1xyXG5cclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAzZW0gMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG1lZGl1bS1icm93bi12YXIyO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcclxuICAgICAgICBtYXJnaW46IDRlbSAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiA2ZW0gMDtcclxuICAgIH1cclxuXHJcbiAgfSAgXHJcbiAgXHJcbn0iLCIucG9zdGNvZGUtc2VhcmNoIHtcclxuXHJcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcblxyXG4gICAgZm9ybSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2lucHV0IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIC41KTtcclxuICAgICAgICBwYWRkaW5nOiAxLjVlbTtcclxuICAgIH1cclxuXHJcbiAgICAmX19idXR0b24ge1xyXG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogLTFweDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2J1dHRvbi1pbWFnZSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLm5ld3NsZXR0ZXItZm9ybSB7XHJcblxyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG5cclxuICAgIGZvcm0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAmX19pbnB1dCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAuNSk7XHJcbiAgICAgICAgcGFkZGluZzogMS41ZW0gNmVtIDEuNWVtIDEuNWVtO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2J1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAtMXB4O1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbn1cclxuXHJcbnRleHRhcmVhIHtcclxuICBtaW4taGVpZ2h0OiA0ZW07XHJcbiAgbWFyZ2luLXRvcDogLjVlbTtcclxufVxyXG5cclxuc2VsZWN0IHtcclxuICBtaW4taGVpZ2h0OiAyZW07XHJcbiAgbWFyZ2luLXRvcDogLjVlbTtcclxufVxyXG5cclxubGFiZWwge1xyXG4gIGJvcmRlci1ib3R0b206IC41ZW07XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcblxyXG4gIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gIG1hcmdpbjogMDtcclxuXHJcbiAgZm9udDogaW5oZXJpdDtcclxuICBjb2xvcjogY3VycmVudENvbG9yO1xyXG4gIHdpZHRoOiAxLjE1ZW07XHJcbiAgaGVpZ2h0OiAxLjE1ZW07XHJcbiAgYm9yZGVyOiAwLjE1ZW0gc29saWQgY3VycmVudENvbG9yO1xyXG4gIGJvcmRlci1yYWRpdXM6IDAuMTVlbTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuMDc1ZW0pO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgbWFyZ2luLXJpZ2h0OiA2cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgd2lkdGg6IDAuNjVlbTtcclxuICBoZWlnaHQ6IDAuNjVlbTtcclxuICBjbGlwLXBhdGg6IHBvbHlnb24oMTQlIDQ0JSwgMCA2NSUsIDUwJSAxMDAlLCAxMDAlIDE2JSwgODAlIDAlLCA0MyUgNjIlKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xyXG4gIHRyYW5zaXRpb246IDEyMG1zIHRyYW5zZm9ybSBlYXNlLWluLW91dDtcclxuICBib3gtc2hhZG93OiBpbnNldCAxZW0gMWVtIHZhcigtLWZvcm0tY29udHJvbC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogQ2FudmFzVGV4dDtcclxuICB0b3A6IC4yNWVtO1xyXG4gIGxlZnQ6IC4yNWVtOyBcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOjpiZWZvcmUge1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyB7XHJcbiAgb3V0bGluZTogIDAuMTVlbSBzb2xpZCAgcmdiYSgkYmxhY2ssIC4yKTtcclxuICBvdXRsaW5lLW9mZnNldDogMC4xNWVtO1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQge1xyXG4gIC0tZm9ybS1jb250cm9sLWNvbG9yOiAkbGlnaHQtZ3JleTtcclxuXHJcbiAgY29sb3I6ICRsaWdodC1ncmV5O1xyXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbn1cclxuXHJcblxyXG4uY2hlY2tib3gtY29sdW1ucyB7XHJcbiAgY29sdW1uczogMTtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgY29sdW1uczogMjtcclxuICB9XHJcbn1cclxuXHJcbi5jaGVja2JveC1jb2x1bW5zX19jaGVja2JveHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDAuNWVtO1xyXG4gIH1cclxuXHJcbiAgW3R5cGU9J2NoZWNrYm94J10rbGFiZWwsIFt0eXBlPSdyYWRpbyddK2xhYmVsIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgICBtYXJnaW4tbGVmdDogMS44ZW07XHJcbiAgfVxyXG5cclxufVxyXG4uY2hlY2tib3gtY29sdW1uc19fbGVnZW5ke1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4uZm9ybS1jb250YWluZXIge1xyXG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuICBtYXJnaW46IC40ZW07XHJcbiAgcGFkZGluZzogMWVtO1xyXG4gIGJveC1zaGFkb3c6IDAgNnB4IDlweCAtMXB4IHJnYmEoMCwwLDAsMC4xKTtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgbWFyZ2luOiAyZW07XHJcbiAgICBwYWRkaW5nOiA0ZW07IFxyXG4gIH1cclxuXHJcbiAgYnV0dG9uIHtcclxuICAgIEBleHRlbmQgLmJ1dHRvbjtcclxuICAgIEBleHRlbmQgLnNlY29uZGFyeTtcclxuICB9XHJcblxyXG4gICYtLXdoaXRlIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcclxuICB9IFxyXG59XHJcblxyXG4uZXJyb3JzIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIG1hcmdpbjogMCAwIDFlbTtcclxuXHJcbiAgbGkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1hZ2VudGE7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgcGFkZGluZzogMC42ZW07XHJcbiAgICBmb250LXNpemU6IC44ZW07XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLy8gVGhpcyBnZW5lcmljIGNsYXNzZXMgY2FuIGJlIGFkZGVkIHRvIGFueSBjb250YWluZXJcclxuLmZvcm0tcmVzZXQge1xyXG4gIGxhYmVsLCBpbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCwgYnV0dG9uLCAub25Gb3JtU3VibWl0dGVkRmVlZGJhY2tNZXNzYWdlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAub25Gb3JtU3VibWl0dGVkRmVlZGJhY2t7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgdGFibGUge1xyXG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIHRhYmxlLm11bHRpIC50ZXh0Rm9ybUZpZWxkQmxvY2ssIHRhYmxlLm11bHRpIC5kYXRlVGltZUZvcm1GaWVsZEJsb2NrLCB0YWJsZS5tdWx0aSAudHdvT3B0aW9uRm9ybUZpZWxkQmxvY2ssIHRhYmxlLm11bHRpIC5vcHRpb25TZXRGb3JtRmllbGRCbG9jaywgdGFibGUubXVsdGkgLm11bHRpT3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2ssIHRhYmxlLm11bHRpIC5sb29rdXBGb3JtRmllbGRCbG9jaywgLnRleHRGb3JtRmllbGRCbG9jaywgLmRhdGVUaW1lRm9ybUZpZWxkQmxvY2ssIC50d29PcHRpb25Gb3JtRmllbGRCbG9jaywgLm9wdGlvblNldEZvcm1GaWVsZEJsb2NrLCAubXVsdGlPcHRpb25TZXRGb3JtRmllbGRCbG9jaywgLmxvb2t1cEZvcm1GaWVsZEJsb2NrIHtcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIHRoIHtcclxuICAgIHBhZGRpbmc6IDNweCAhaW1wb3J0YW50O1xyXG4gICAgLy8gd2h5IGRvZXMgdGhpcyB3b3JrP1xyXG4gICAgd2lkdGg6IDEwJSFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICB0YWJsZS5tdWx0aSB7XHJcblxyXG4gICAgdGJvZHkge1xyXG4gICAgICB0ciB7XHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm9wdGlvblNldEZvcm1GaWVsZEJsb2NrIHNlbGVjdCwgLnRleHRGb3JtRmllbGRCbG9jayBpbnB1dCwgLmRhdGVUaW1lRm9ybUZpZWxkQmxvY2sgaW5wdXQsIC5sb29rdXBGb3JtRmllbGRCbG9jayBpbnB1dCwgLm1hcmtldGluZ0Zvcm0gdGV4dGFyZWEsIGRpdltkYXRhLWVkaXRvcmJsb2NrdHlwZT1cIkNhcHRjaGFcIl0gaW5wdXQge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjRweCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nOiA4cHggMTZweCAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLmNvbHVtbkNvbnRhaW5lci5pbm5lciB7XHJcbiAgICAudGV4dEZvcm1GaWVsZEJsb2Nre1xyXG4gICAgICAvLyBtYXJnaW4tcmlnaHQ6IDFlbSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRleHRGb3JtRmllbGRCbG9jaywgLmRhdGVUaW1lRm9ybUZpZWxkQmxvY2ssIC50d29PcHRpb25Gb3JtRmllbGRCbG9jaywgLm9wdGlvblNldEZvcm1GaWVsZEJsb2NrLCAubXVsdGlPcHRpb25TZXRGb3JtRmllbGRCbG9jaywgLmxvb2t1cEZvcm1GaWVsZEJsb2NrIHtcclxuICAgIGdhcDogNHB4O1xyXG59XHJcblxyXG4gIC5jb25zZW50QmxvY2t7XHJcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICBkaXZbZGF0YS1lZGl0b3JibG9ja3R5cGU9XCJTdWJtaXRCdXR0b25cIl0ge1xyXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLnN1Ym1pdEJ1dHRvbntcclxuICAgIGJvcmRlci1yYWRpdXM6IDMycHg7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gIH1cclxuXHJcbiAgZGl2W2RhdGEtY2FjaGVkLWZvcm0tdXJsXSBidXR0b24uc3VibWl0QnV0dG9uIHtcclxuICAgIG1pbi13aWR0aDogMTYwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2Utb3V0O1xyXG5cclxuICAgICY6aG92ZXIsICY6YWN0aXZlLCAmOmFmb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkc2Vjb25kYXJ5LWNvbG9yLCAyMCkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5mb3JtLXJlc2V0LS1yZXZlcnNlIHtcclxuICAub25Gb3JtU3VibWl0dGVkRmVlZGJhY2tNZXNzYWdlIHtcclxuICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcclxuICB9XHJcbiAgbGFiZWwge1xyXG4gICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLnRleHRGb3JtRmllbGRCbG9jayBsYWJlbDo6YWZ0ZXIsIC50d29vcHRpb25fY2hlY2tib3ggbGFiZWw6OmFmdGVyLCAuZGF0ZVRpbWVGb3JtRmllbGRCbG9jayBsYWJlbDo6YWZ0ZXIsIC5sb29rdXBGb3JtRmllbGRCbG9jayBsYWJlbDo6YWZ0ZXIsIC50d29PcHRpb25Gb3JtRmllbGRCbG9jayBsYWJlbC5ibG9jay1sYWJlbDo6YWZ0ZXIsIC50d29PcHRpb25Gb3JtRmllbGRCbG9jayBkaXYudHdvb3B0aW9uX2NoZWNrYm94IGxhYmVsOjphZnRlciwgLm9wdGlvblNldEZvcm1GaWVsZEJsb2NrIGxhYmVsLmJsb2NrLWxhYmVsOjphZnRlciwgLm11bHRpT3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2sgbGFiZWwuYmxvY2stbGFiZWw6OmFmdGVyLCAuY29uc2VudEJsb2NrIGxhYmVsOjphZnRlciwgLmV2ZW50U2Vzc2lvbiBsYWJlbDo6YWZ0ZXIsIGRpdltkYXRhLWVkaXRvcmJsb2NrdHlwZT1cIkNhcHRjaGFcIl0gbGFiZWxbaWRePVwid2xzcGlzcEhpcEluc3RydWN0aW9uQ29udGFpbmVyXCJdOjphZnRlciB7XHJcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuI2l1YmVuZGEtY3MtYmFubmVyIC5pdWJlbmRhLWdyYW51bGFyLWNvbnRyb2xzLWNvbnRhaW5lciAuZ3JhbnVsYXItY29udHJvbC1jaGVja2JveCBpbnB1dC5zdHlsZTE6Y2hlY2tlZCB7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5nLXJlY2FwdGNoYSB7XHJcbiAgcGFkZGluZy10b3A6IDI1cHg7XHJcbn1cclxuXHJcblxyXG5cclxuLmZvcm0tY29scyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICBpbnB1dFt0eXBlPVwidGV4dFwiXS5mb3JtLWNvbHMtLWVtYWlsIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjZweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgJi0tc3VibWl0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAzcHg7XHJcbiAgICB0b3A6IDNweDtcclxuICAgIHdpZHRoOiAxNjBweCAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiA1NHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDU0cHg7XHJcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG5cclxuLnNlY3Rpb24ge1xyXG5cclxuICAmLS1jb250YWN0IHtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JleTtcclxuXHJcbiAgICAuY29udGFjdC1kZXRhaWwtc2VjdGlvbiB7XHJcblxyXG4gICAgICAuYnV0dG9uIHtcclxuXHJcbiAgICAgICAgcGFkZGluZzogMWVtIDEuNWVtO1xyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS13aGl0ZSB7XHJcblxyXG4gICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgICAgY29sb3I6ICRjeWFuICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtZWRpdW0tZ3JleTtcclxuICAgICAgICAgICAgY29sb3I6ICRjeWFuO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICY6YWN0aXZlLCAmOmZvY3VzLCAmOmFjdGl2ZTpmb2N1cyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5tZW51IHtcclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcblxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgJl9fZm9ybS1jZWxsIHtcclxuXHJcbiAgICAgIC5mb3JtLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuYmFja2dyb3VuZC1saXR0bGUtZG90cyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLXRvcC1yaWdodCB7XHJcblxyXG4gICAgICAgICAgdG9wOiAtMzBweDtcclxuICAgICAgICAgIHJpZ2h0OiAtNTBweDtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHRvcDogLTYwcHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtNzVweDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1ib3R0b20tbGVmdCB7XHJcbiAgICAgICAgICBib3R0b206IC0xMjBweDtcclxuICAgICAgICAgIGxlZnQ6IDA7XHJcblxyXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgYm90dG9tOiAtMTUwcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDQ1cHg7ICAgICAgICAgIFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn0iLCJibG9ja3F1b3RlIHtcclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgY29sb3I6ICRibGFjaztcclxuXHJcbiAgYm9yZGVyOiBub25lOyAgXHJcbiAgbWFyZ2luOiA1ZW0gMDtcclxuXHJcbiAgcGFkZGluZzogMCAzZW0gMCAwOyBcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIHBhZGRpbmc6IDAgM2VtIDAgMDsgXHJcbiAgfVxyXG5cclxuICAmOmJlZm9yZSB7XHJcblxyXG4gICAgY29udGVudDogJyc7ICBcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHdpZHRoPVwiMTAzLjU3NFwiIGhlaWdodD1cIjgyLjk4MVwiIHZpZXdCb3g9XCIwIDAgMTAzLjU3NCA4Mi45ODFcIj48ZGVmcz48Y2xpcFBhdGggaWQ9XCJjbGlwLXBhdGhcIj48cmVjdCBpZD1cIlJlY3RhbmdsZV83MDNcIiBkYXRhLW5hbWU9XCJSZWN0YW5nbGUgNzAzXCIgd2lkdGg9XCIxMDMuNTc0XCIgaGVpZ2h0PVwiODIuOTgxXCIgZmlsbD1cIm5vbmVcIi8+PC9jbGlwUGF0aD48L2RlZnM+PGcgaWQ9XCJpY29uLWJsb2NrcXVvdGVcIiBzdHlsZT1cImlzb2xhdGlvbjogaXNvbGF0ZVwiPjxnIGlkPVwiR3JvdXBfOTgxXCIgZGF0YS1uYW1lPVwiR3JvdXAgOTgxXCIgY2xpcC1wYXRoPVwidXJsKCUyM2NsaXAtcGF0aClcIj48cGF0aCBpZD1cIlBhdGhfNjgwXCIgZGF0YS1uYW1lPVwiUGF0aCA2ODBcIiBkPVwiTTMzLjI1MSwxNTkuNDU4QzE5LjU5LDE2My44LDYuNDgxLDE1Ni40MTgsMiwxNDIuM2MtMi40OS03LjgzNC0xLjQ2My0xNS4xMzIsMi4zNTgtMjEuMDUybDguMSw0LjYxMmExNS4zLDE1LjMsMCwwLDAtMS42ODcsMTMuMDgyYzIuNyw4LjQ4MSwxMC41NjUsMTIuNjA5LDE5LjExMSw5Ljg5M3MxMi41ODktMTAuNjMxLDkuODk0LTE5LjExMWExNS4xNTUsMTUuMTU1LDAsMCwwLTktOS42ODdsNC4wNzUtOC43MDhjNi42LDIuNjA2LDExLjUyOCw4LjI0LDE0LjAzOSwxNi4xMzksNC40NjUsMTQuMDQ5LTEuOTc4LDI3LjY0NC0xNS42MzksMzEuOTg1XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjQ0NyAtNzcuNzcxKVwiIGZpbGw9XCIlMjNkOGQ4ZDhcIi8+PHBhdGggaWQ9XCJQYXRoXzY4MVwiIGRhdGEtbmFtZT1cIlBhdGggNjgxXCIgZD1cIk05Ny43MjUsMTQ4LjVjMTkuMi0xLjExMSwyNy4zMzgtMjcuMDQ2LDQuOTc0LTM3LjUwN0w5OC42MjMsMTE5LjdjMTQuNzI5LDcuNDg2LDExLjI2NiwyNS4yOTItLjksMjguOFwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNjguMjY1IC03Ny41MzIpXCIgZmlsbD1cIiUyM2ZmMDIwMFwiLz48cGF0aCBpZD1cIlBhdGhfNjgyXCIgZGF0YS1uYW1lPVwiUGF0aCA2ODJcIiBkPVwiTTEyLjAzNywxNDguMTcxYy04LjQsMTQuNjU1LDIuODIsMzAuMjUyLDIyLjQxOSwzMy4xQzExLjYsMTkwLjU0NC04LjUwOSwxNjMuNzU1LDMuNjgxLDE0My40MTNaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgLTEwMC4xOClcIiBmaWxsPVwiJTIzMDMxZTU3XCIvPjxwYXRoIGlkPVwiUGF0aF82ODNcIiBkYXRhLW5hbWU9XCJQYXRoIDY4M1wiIGQ9XCJNMTIuMjExLDQzLjIzNCwzNS40NjksMGw2Ljk0Nyw0LjItMjEuODUsNDMuOFwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtOC41MyAwKVwiIGZpbGw9XCIlMjMwMzFlNTdcIi8+PHBhdGggaWQ9XCJQYXRoXzY4NFwiIGRhdGEtbmFtZT1cIlBhdGggNjg0XCIgZD1cIk0yMTEuNDc2LDE1OS40NThjLTEzLjY2LDQuMzQxLTI2Ljc2OS0zLjA0LTMxLjI1NS0xNy4xNTMtMi40OS03LjgzNC0xLjQ2My0xNS4xMzIsMi4zNTgtMjEuMDUybDguMSw0LjYxMmExNS4zLDE1LjMsMCwwLDAtMS42ODcsMTMuMDgyYzIuNyw4LjQ4MSwxMC41NjUsMTIuNjA5LDE5LjExMSw5Ljg5M1MyMjAuNjksMTM4LjIxLDIxOCwxMjkuNzI5YTE1LjE1NSwxNS4xNTUsMCwwLDAtOS05LjY4N2w0LjA3NS04LjcwOGM2LjYsMi42MDYsMTEuNTI4LDguMjQsMTQuMDM5LDE2LjEzOSw0LjQ2NSwxNC4wNDktMS45NzgsMjcuNjQ0LTE1LjYzOSwzMS45ODVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEyNC45NDQgLTc3Ljc3MSlcIiBmaWxsPVwiJTIzZDhkOGQ4XCIvPjxwYXRoIGlkPVwiUGF0aF82ODVcIiBkYXRhLW5hbWU9XCJQYXRoIDY4NVwiIGQ9XCJNMjc1Ljk0OSwxNDguNWMxOS4yLTEuMTExLDI3LjMzOC0yNy4wNDYsNC45NzQtMzcuNTA3bC00LjA3NSw4LjcwOWMxNC43MjksNy40ODYsMTEuMjY2LDI1LjI5Mi0uOSwyOC44XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xOTIuNzYxIC03Ny41MzIpXCIgZmlsbD1cIiUyM2ZmMDIwMFwiLz48cGF0aCBpZD1cIlBhdGhfNjg2XCIgZGF0YS1uYW1lPVwiUGF0aCA2ODZcIiBkPVwiTTE5MC4yNjEsMTQ4LjE3MWMtOC40LDE0LjY1NSwyLjgyLDMwLjI1MiwyMi40MTksMzMuMS0yMi44Niw5LjI3NS00Mi45NjQtMTcuNTE0LTMwLjc3NC0zNy44NTZaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMjQuNDk3IC0xMDAuMTgpXCIgZmlsbD1cIiUyMzAzMWU1N1wiLz48cGF0aCBpZD1cIlBhdGhfNjg3XCIgZGF0YS1uYW1lPVwiUGF0aCA2ODdcIiBkPVwiTTE5MC40MzYsNDMuMjM0LDIxMy42OTQsMGw2Ljk0Nyw0LjItMjEuODUsNDMuOFwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTMzLjAyNyAwKVwiIGZpbGw9XCIlMjMwMzFlNTdcIi8+PC9nPjwvZz48L3N2Zz4nKTtcclxuXHJcbiAgICB3aWR0aDogMTA0cHg7XHJcbiAgICBoZWlnaHQ6IDgzcHg7XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIFxyXG4gIH0gXHJcblxyXG4gIGNpdGUge1xyXG5cclxuICAgIG1hcmdpbi10b3A6IDJlbTtcclxuXHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBjb2xvcjogJGJsYWNrO1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG59XHJcbiIsIi5idXR0b24ge1xyXG5cclxuICBwYWRkaW5nOiAxLjNlbSAxLjZlbTtcclxuICBiYWNrZ3JvdW5kOiBub25lO1xyXG5cclxuICBjb2xvcjogJGJsYWNrOyBcclxuXHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xyXG5cclxuICBsaW5lLWhlaWdodDogMS4xZW07XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgJjphZnRlciB7XHJcblxyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMWVtICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMS42ZW0gIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ljb24tYnV0dG9uLWFycm93LXJpZ2h0LnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBtYXJnaW4tbGVmdDogLjVlbTtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKDAuNjUsIDAsIDAuMzUsIDEpO1xyXG5cclxuICB9XHJcblxyXG4gICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzLCAmOmFjdGl2ZTpmb2N1cyB7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG5cclxuICAgICY6YWZ0ZXIge1xyXG5cclxuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvaWNvbi1idXR0b24tYXJyb3ctcmlnaHQtd2hpdGUuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMC41ZW0pO1xyXG4gICAgfVxyXG5cclxuICB9ICBcclxuXHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxucCArIC5idXR0b24ge1xyXG5cclxuIG1hcmdpbi10b3A6IDFlbTtcclxuXHJcbn1cclxuXHJcblxyXG5cclxuIiwiLmZhcXMge1xyXG5cclxuICAmX19ncmlkLWNvbnRhaW5lciB7XHJcblxyXG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XHJcbiAgICBAaW5jbHVkZSBzZWN0aW9uLWJvcmRlci1ib3R0b207XHJcblxyXG4gIH1cclxuXHJcbiAgJl9fYmxvY2sge1xyXG5cclxuICAgIG1hcmdpbi10b3A6IDNlbTtcclxuXHJcbiAgfVxyXG5cclxuICAmX19pbWFnZSB7XHJcbiAgIFxyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxZW07XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWlubmVyIHtcclxuXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAxNXB4O1xyXG5cclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tYnJvd24tdmFyMjtcclxuXHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaW1nIHtcclxuXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7ICAgICAgICAgICBcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSAgICAgICAgXHJcbiAgXHJcbiAgICB9XHJcblxyXG4gIC5hY2NvcmRpb24ge1xyXG5cclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcblxyXG4gICAgJi10aXRsZSB7XHJcblxyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuXHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5LXNlY29uZGFyeTtcclxuXHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJlbTtcclxuICAgICAgXHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJG1lZGl1bS1icm93bjtcclxuICAgICAgICBcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkb2ZmLXdoaXRlLXZhcjI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgJi1jb250ZW50IHtcclxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmLWl0ZW0ge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICA6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG59XHJcblxyXG4iLCIuYnJlYWRjcnVtYnNfX2NvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNzJweDtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG92ZXJmbG93LXg6IGF1dG87XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHRvcDogMTc1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmJyZWFkY3J1bWJzIHtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLCAuOCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZS1vdXQ7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLWxhc3QtY2hpbGQoMikge1xyXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhpcmRseS1jb2xvcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNlYXJjaC1tb2JpbGUge1xyXG4gIHBhZGRpbmc6IC44ZW07XHJcbiAgbWFyZ2luLXJpZ2h0OiAuOGVtO1xyXG5cclxuICAuZmEge1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gIH1cclxufVxyXG4iLCJodG1sLCBib2R5ICB7XHJcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XHJcbiAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgLy8gb3ZlcmZsb3cteDpoaWRkZW47XHJcblxyXG4gIGJhY2tncm91bmQtY29sb3I6ICRvZmYtd2hpdGU7XHJcbn1cclxuXHJcbnN2ZyB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5hLCBhOmFjdGl2ZSB7XHJcbiAgICAvLyBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAvLyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlLW91dDtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6ICRibGFjay12YXIyO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbnAge1xyXG4gIC8vIG1heC13aWR0aDogNTVjaDtcclxufVxyXG5cclxuaDEsIC5oMSwgaDIsIC5oMiwgaDMsIC5oMywgaDQsIC5oNCwgaDUsIC5oNXtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxuICBtYXJnaW4tYm90dG9tOiAwLjhlbTtcclxuXHJcbiAgLy8gZm9udC13ZWlnaHQ6IDYwMDtcclxuICBjb2xvcjogJGJsYWNrO1xyXG5cclxuICAmOmVtcHR5IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuaDMsIC5oMywgaDQsIC5oNCwgaDUsIC5oNSB7XHJcbiAgY29sb3I6ICRibGFjaztcclxufVxyXG5cclxuXHJcbmgxLCAuaDEsIGgyLCAuaDIsIGgzLCAuaDMsIGg0LCAuaDQge1xyXG5cclxuICBpLCBzcGFuIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyAgICBcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHNvbGlkICRtZWRpdW0tYnJvd24gM3B4O1xyXG5cclxuICB9XHJcblxyXG4gIGVtIHtcclxuICAgIFxyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICYuYWNjZW50LXRvcCB7XHJcblxyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IC0xMHB4O1xyXG4gICAgICAgIGxlZnQ6IC0xNXB4O1xyXG4gICAgICAgIHdpZHRoOiA1MnB4O1xyXG4gICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9hY2NlbnQtbG9vcC10b3AtZGFyay5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgdG9wOiAtMXB4O1xyXG4gICAgICAgICAgbGVmdDogLTE1cHg7ICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblxyXG4gICAgICAgICAgdG9wOiAtMTVweDtcclxuICAgICAgICAgIGxlZnQ6IC00MHB4O1xyXG4gICAgICAgICAgd2lkdGg6IDEwM3B4O1xyXG4gICAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgICYuYWNjZW50LWJvdHRvbSB7XHJcblxyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3R0b206IC0xN3B4O1xyXG4gICAgICAgIHJpZ2h0OiAtMTVweDtcclxuICAgICAgICB3aWR0aDogNjJweDtcclxuICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvYWNjZW50LWxvb3AtYm90dG9tLWRhcmsuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgIGJvdHRvbTogLTEzcHg7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgYm90dG9tOiAtMzVweDtcclxuICAgICAgICAgIHJpZ2h0OiAtMjhweDtcclxuICAgICAgICAgIHdpZHRoOiAxMjNweDtcclxuICAgICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgICYuY2Fwcy11bmRlcmxpbmUge1xyXG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7ICAgIFxyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBzb2xpZCAkbWVkaXVtLWJyb3duIDNweDtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbnAsIHVsLCBvbCwgaW5wdXQsIHRleHRhcmVhIHtcclxuICAvLyBmb250LXNpemU6IDE4cHg7XHJcbiAgLy8gbWFyZ2luLWJvdHRvbTogMmVtO1xyXG59XHJcblxyXG5vbCB7XHJcbiAgICBjb3VudGVyLXJlc2V0OiBpdGVtO1xyXG59XHJcbm9sIGxpIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiAxZW0gMCAyZW07XHJcbn1cclxub2wgbGk6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IGNvdW50ZXIoaXRlbSlcIi5cIjtcclxuICAgIGNvdW50ZXItaW5jcmVtZW50OiBpdGVtO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMDAlO1xyXG4gICAgcmlnaHQ6IDEwcHg7IC8qIHNwYWNlIGJldHdlZW4gbnVtYmVyIGFuZCB0ZXh0ICovXHJcbiAgICBjb2xvcjogJGN5YW47XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG5cclxufVxyXG5cclxub2xbdHlwZT1cIjFcIl0ge1xyXG4gICAgY291bnRlci1yZXNldDogaXRlbTtcclxufVxyXG5vbFt0eXBlPVwiMVwiXSBsaSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5vbFt0eXBlPVwiMVwiXSBsaTpiZWZvcmUge1xyXG4gICAgY29udGVudDogY291bnRlcnMoaXRlbSwgXCIuXCIpXCIuXCI7XHJcbiAgICBjb3VudGVyLWluY3JlbWVudDogaXRlbTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIG1hcmdpbi1yaWdodDogMTAwJTtcclxuICAgIHJpZ2h0OiAxMHB4OyAvKiBzcGFjZSBiZXR3ZWVuIG51bWJlciBhbmQgdGV4dCAqL1xyXG4gICAgY29sb3I6ICRjeWFuO1xyXG59XHJcblxyXG5vbFt0eXBlPVwiYVwiXSB7XHJcbiAgICBjb3VudGVyLXJlc2V0OiBpdGVtO1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1sYXRpbjtcclxufVxyXG5vbFt0eXBlPVwiYVwiXSBsaSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5vbFt0eXBlPVwiYVwiXSBsaTpiZWZvcmUge1xyXG4gICAgY29udGVudDogY291bnRlcihpdGVtLCBsb3dlci1sYXRpbilcIi5cIjtcclxuICAgIGNvdW50ZXItaW5jcmVtZW50OiBpdGVtO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMDAlO1xyXG4gICAgcmlnaHQ6IDEwcHg7XHJcbiAgICBjb2xvcjogJGN5YW47XHJcbn1cclxuXHJcbm9iamVjdC5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbiB7XHJcblxyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKDAuNjUsIDAsIDAuMzUsIDEpO1xyXG5cclxuICAmLmFjdGl2ZSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG4uaGVhZGVyIHtcclxuICBcclxuICAmLS1zdHJhcGxpbmUge1xyXG5cclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgIG1hcmdpbi1ib3R0b206IDAuOGVtO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgICBiIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn0iLCIuY29udGVudC1zcGxpdCB7XHJcblxyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgb3ZlcmZsb3cteDogY2xpcDtcclxuXHJcbiAgICAmX19ncmlkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgc2VjdGlvbi1ib3JkZXItYm90dG9tO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2ltYWdlIHtcclxuICAgXHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1pbm5lciB7XHJcblxyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuXHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMTVweDtcclxuXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWJyb3duLXZhcjI7XHJcblxyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcblxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAwOyAgICAgICAgICAgXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gICAgICAgIFxyXG4gIFxyXG4gICAgfVxyXG4gICBcclxuICAgIC5tZWRpdW0tb3JkZXItMiB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmNvbnRlbnQtc3BsaXRfX2ltYWdlLWlubmVyIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5zbWFsbC1vcmRlci0yIHtcclxuXHJcbiAgICAgICAgLmNvbnRlbnQtc3BsaXRfX2ltYWdlLWlubmVyIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDFlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIFxyXG4gICAgXHJcbiAgXHJcbn1cclxuXHJcblxyXG4uY2VsbC0tcmljaC10ZXh0IHtcclxuXHJcbiAgICAuY29udGVudC1zcGxpdF9fY29udGFjdC1pbmZvcm1hdGlvbiB7ICAgICBcclxuXHJcbiAgICAgICAgdWwge1xyXG5cclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIG1hcmdpbjogMmVtIDAgMmVtIDA7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAzZW0gMCAzZW0gMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYudGl0bGUge1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLm51bWJlciB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDQycHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDJweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5LXNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNjZweDtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNjZweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLmVtYWlsIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59IiwiLmFzaWRlIHtcclxuXHJcbiAgICAmX19pbnRybyB7XHJcblxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgICZfX2Jhc2Uge1xyXG5cclxuICAgIH1cclxuXHJcbn1cclxuIiwiLnBhZ2luYXRpb24ge1xyXG5cclxuICAuY3VycmVudCB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgY29sb3I6ICRibGFjaztcclxuICB9XHJcbiAgLnBhZ2luYXRpb24tbmV4dCwgLnBhZ2luYXRpb24tcHJldmlvdXMge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAxZW07XHJcbiAgICAgICAgd2lkdGg6IDFlbTtcclxuICAgICAgICByaWdodDogLTJlbTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9tYWdlbnRhLWNoZXZyb24tcmlnaHQuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG5cclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllcigwLjY1LCAwLCAwLjM1LCAxKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cclxuICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDFlbSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLnBhZ2luYXRpb24tcHJldmlvdXMge1xyXG4gICAgYSB7XHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBsZWZ0OiAtMmVtO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlWSg1MCUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGVZKDUwJSkgdHJhbnNsYXRlWCgxZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIC5wYWdpbmF0aW9uLW5leHQge1xyXG4gIC8vICAgYSB7XHJcbiAgLy8gICAgICY6OmFmdGVyIHtcclxuICAvLyAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAvLyAgICAgfVxyXG4gIC8vXHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG5cclxufVxyXG4iLCIuc2VjdGlvbiB7XHJcblxyXG4gICAgJi0tZmFxcyB7XHJcblxyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuXHJcbiAgICAgICAgLmJhY2tncm91bmQtaW1hZ2V7XHJcblxyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICB3aWR0aDogNjUwcHg7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNGVtOyAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwOyAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNHMgY3ViaWMtYmV6aWVyKDAuNjUsIDAsIDAuMzUsIDEpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1MzBkZWcpO1xyXG4gICAgICAgICAgICB9ICAgXHJcblxyXG4gICAgICAgICAgICAmLS1yaWdodCB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDEwMHB4O1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0yLjVlbTsgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfSAgICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fY29sIHtcclxuXHJcbiAgICAgICAgICAgICYtZmFxcyB7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgpO1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLS1mdWxsLXdpZHRoIHsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpOyAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYtc2lkZWJhciB7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgpOyAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDRlbTtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IFxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fZmFxLWFjY29yZGlvbiB7XHJcblxyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjVlbTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyZXk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDFlbTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogM2VtO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNWVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmlzLWhpZGRlbiB7IFxyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5hY2NvcmRpb24ge1xyXG5cclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgJi1pdGVtIHsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi10aXRsZSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTsgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7ICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDQwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDFyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi0tY3lhbiB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSwgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGN5YW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLS1ncmVlbiB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSwgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi0tbWFnZW50YSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSwgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG1hZ2VudGE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLS1uYXZ5IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLCAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbmF2eTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi0teWVsbG93IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLCAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkeWVsbG93O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi1jb250ZW50IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5pcy1hY3RpdmUge1xyXG5cclxuICAgICAgICAgICAgICAgIC5hY2NvcmRpb24geyAgICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICYtdGl0bGUge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtYWdlbnRhO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtYWdlbnRhO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2hlYWRlciB7XHJcblxyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjVlbTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibGFjaztcclxuXHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVlbTsgXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYtLWN5YW4ge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY3lhbjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi0tZ3JlZW4ge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYtLW1hZ2VudGEge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbWFnZW50YTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi0tbmF2eSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRuYXZ5O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLS15ZWxsb3cge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkeWVsbG93O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuLmZhcXMgeyBcclxuXHJcbiAgICAmX19zZWFyY2gge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM2VtO1xyXG5cclxuICAgICAgICBoNSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19uby1yZXN1bHRzIHtcclxuXHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41ZW07XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmV5OyAgICAgXHJcbiAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnNob3cge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgICZfX2ZhcS1saXN0IHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDNlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgICZfX3RvcGljcyB7XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRlbTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBsaSB7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn0iLCIuYnJlYWRjcnVtYiB7XHJcblxyXG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjJyZW07XHJcblxyXG4gICYtLXdoaXRlIHtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgfVxyXG5cclxuICAmX19saW5rIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHJcblxyXG4gICAgJjpob3ZlcntcclxuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgfVxyXG4gICAgJi0tYmx1ZSwgJi0tY3lhbiB7XHJcbiAgICAgIGNvbG9yOiAkY3lhbjtcclxuICAgIH1cclxuICAgICYtLWdyZWVuIHtcclxuICAgICAgY29sb3I6ICRncmVlbjtcclxuICAgIH1cclxuICAgICYtLXJlZCwgJi0tbWFnZW50YSB7XHJcbiAgICAgIGNvbG9yOiAkbWFnZW50YTtcclxuICAgIH1cclxuICAgICYtLXllbGxvdyB7XHJcbiAgICAgIGNvbG9yOiAkeWVsbG93O1xyXG4gICAgfVxyXG4gICAgJi0td2hpdGUge1xyXG4gICAgICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRtYWdlbnRhO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG4iLCIuc2VjdGlvbiB7XHJcblxyXG4gICAgJi0tdGVybXMtcGFnZXMge1xyXG5cclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuXHJcbiAgICAgICAgLmdyaWQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDNlbTtcclxuICAgICAgICAgICAgLy8gYm9yZGVyLXRvcDogMnB4IHNvbGlkICRuYXZ5O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2ZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRuYXZ5O1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICsgLnNlY3Rpb24tLWNhcmQtZ3JpZC1maWxlcyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59IiwiLmNvb2tpZS1tZXNzYWdlIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHotaW5kZXg6IDIwMDtcclxuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgYm94LXNoYWRvdzogMCAtMnB4IDE2cHggMHB4IHJnYmEoMCwgMCwgMCwgLjE2KTtcclxuXHJcbiAgcCB7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICBtYXJnaW46IDFlbSAwO1xyXG4gIH1cclxuXHJcbiAgLmJ1dHRvbntcclxuICAgIG1hcmdpbjogMWVtIDA7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAvLyB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIH1cclxufVxyXG4iLCJAY2hhcnNldCAndXRmLTgnO1xyXG5cclxuQGltcG9ydCAnZm91bmRhdGlvbic7XHJcbkBpbXBvcnQgJ3NldHRpbmdzJztcclxuLy8gQGltcG9ydCAnbW90aW9uLXVpJztcclxuXHJcblxyXG4vLyBHbG9iYWwgc3R5bGVzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xyXG5cclxuLy8gR3JpZHMgKGNob29zZSBvbmUpXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xyXG5cclxuLy8gR2VuZXJpYyBjb21wb25lbnRzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1yYW5nZS1pbnB1dDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XHJcblxyXG4vLyBCYXNpYyBjb21wb25lbnRzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcclxuXHJcbi8vIENvbnRhaW5lcnNcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XHJcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XHJcblxyXG4vLyBMYXlvdXQgY29tcG9uZW50c1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcclxuXHJcbi8vIEhlbHBlcnNcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XHJcblxyXG4vLyBNb3Rpb24gVUlcclxuLy8gQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xyXG4vLyBAaW5jbHVkZSBtb3Rpb24tdWktYW5pbWF0aW9uczsgXHJcblxyXG4vL2NvbXBvbmVudHNcclxuQGltcG9ydCAnZ2xvYmFsL2NvbG91cnMnO1xyXG5AaW1wb3J0ICdnbG9iYWwvYm9keSc7XHJcbkBpbXBvcnQgJ2dsb2JhbC90eXBvZ3JhcGh5JztcclxuQGltcG9ydCAnZ2xvYmFsL21peGlucyc7XHJcbkBpbXBvcnQgJ2dsb2JhbC9hbmltYXRpb24nO1xyXG5AaW1wb3J0ICdnbG9iYWwvZ3JpZC1tb2RzJztcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbC9oYW1idXJnZXJzL2hhbWJ1cmdlcnMnO1xyXG5cclxuQGltcG9ydCAnY29tcG9uZW50cy9zZWN0aW9ucyc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaGVhZGVyJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9mb290ZXInO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmRzJztcclxuXHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaGVybyc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZm9ybXMnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2Jsb2NrcXVvdGUnO1xyXG4vLyBAaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbnMnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XHJcblxyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9icmVhZGNydW1ic1wiO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbXBvbmVudHMnOyBcclxuXHJcblxyXG5cclxuXHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudC1zcGxpdCc7XHJcblxyXG5cclxuQGltcG9ydCAnY29tcG9uZW50cy9hc2lkZSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGUnOyBcclxuQGltcG9ydCAnY29tcG9uZW50cy9mYXFzJztcclxuXHJcblxyXG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWInO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3Rlcm1zLXBhZ2VzJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9jb29raWUnO1xyXG4gXHJcblxyXG5cclxuXHJcbi8qIFRuSCAqL1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2F1dG8tdmlkZW8nOyBcclxuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50LXRleHQtb25seSc7IFxyXG5AaW1wb3J0ICdjb21wb25lbnRzL2ltYWdlLWNhcm91c2VsJzsgIFxyXG5AaW1wb3J0ICdjb21wb25lbnRzL2xvZ28tZ3JpZCc7IFxyXG5AaW1wb3J0ICdjb21wb25lbnRzL3ByaWNlLWRyb3Bkb3duLW1lbnUnOyBcclxuQGltcG9ydCAnY29tcG9uZW50cy9wcmljZS1zZXJ2aWNlJzsgXHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmljaC10ZXh0JzsgIFxyXG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmJlZC1pbWFnZS1jb250ZW50JzsgXHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGVzdGltb25pYWwnOyBcclxuXHJcblxyXG4iLCIucGxheS1tZXtcclxuICAgIG1heC1oZWlnaHQ6IDgydmg7XHJcbiAgICAvL2hhY2sgdG8gZ2V0IHJpZCBvZiByZW5kZXJpbmcgaXNzdWUgYm9yZGVyIG9uIENocm9tZSAvIFdpbjExXHJcbiAgICBvcGFjaXR5OiAuOTk7IFxyXG4gIH1cclxuICBcclxuICBcclxuICAucmV2ZWFsIHtcclxuICAgIHBhZGRpbmc6IDJlbTtcclxuICBcclxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB9XHJcbiAgfSBcclxuICBcclxuXHJcblxyXG4gIC5hdXRvLXZpZGVvIHtcclxuXHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcblxyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjY1KTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgfVxyXG5cclxuICAgIC5ncmlkLWNvbnRhaW5lciB7XHJcblxyXG4gICAgICAmLmZpeGVkLWhlaWdodCB7XHJcblxyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgaGVpZ2h0OiAzNjBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdmlkZW8ge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRlbnQge1xyXG5cclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuXHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgICAgICBcclxuXHJcbiAgICAgIHotaW5kZXg6IDI7XHJcblxyXG4gICAgICAmLWlubmVyIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgpOyAgICAgICAgXHJcblxyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNyk7XHJcblxyXG4gICAgICAgICAgdGV4dC1hbGlnbjpyaWdodDtcclxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgICZfX3NtYWxsLWxvZ28ge1xyXG5cclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgIG1heC13aWR0aDogMjAwcHg7XHJcblxyXG4gICAgICArIC5hdXRvLXZpZGVvX190ZXh0LWNvbnRlbnQge1xyXG4gICAgICAgIFxyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDAuMmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAmX190ZXh0LWNvbnRlbnQge1xyXG5cclxuICAgICAgICBoMSB7XHJcblxyXG4gICAgICAgICAgICBmb250LXNpemU6IDUycHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IC40ZW0gMDtcclxuICAgICAgICAgICAgY29sb3I6ICRvZmYtd2hpdGU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAzO1xyXG5cclxuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgICAgICAgaSwgZW0geyAgICAgICAgICBcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJyb3duO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgJi5hY2NlbnQtdG9wIHtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICB0b3A6IC00cHg7XHJcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xNXB4O1xyXG4gICAgICAgICAgICAgICAgICB3aWR0aDogNTJweDtcclxuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9hY2NlbnQtbG9vcC10b3AtbGlnaHQuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTFweDtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMTVweDsgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB0b3A6IC05cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNTBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgJi5hY2NlbnQtYm90dG9tIHtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICBib3R0b206IC0xNXB4O1xyXG4gICAgICAgICAgICAgICAgICByaWdodDogLTE1cHg7XHJcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MnB4O1xyXG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2FjY2VudC1sb29wLWJvdHRvbS1saWdodC5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMTNweDsgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IC0zMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMjhweDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTIzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogNThweDtcclxuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNTZweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA5NnB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDk2cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAuM2VtIDAgLjhlbSAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmhlYWRlci0tc3RyYXBsaW5lIHtcclxuXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgY29sb3I6ICRvZmYtd2hpdGU7XHJcblxyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMTJweDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWJyb3duO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMTVweDtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG5cclxuICAgIH1cclxuICBcclxuICB9IiwiLmNvbnRlbnQtdGV4dC1vbmx5IHtcclxuXHJcbiAgICAmX19ncmlkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgc2VjdGlvbi1ib3JkZXItYm90dG9tO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2dyaWQge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29udGVudCB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoKTsgICAgICAgXHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoOS41KTsgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtLW5vLWJvcmRlciB7XHJcblxyXG4gICAgICAgIC5jb250ZW50LXRleHQtb25seV9fZ3JpZC1jb250YWluZXIge1xyXG5cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgJi0tcHJpY2luZy1wYWdlIHtcclxuXHJcbiAgICAgICAgLmNvbnRlbnQtdGV4dC1vbmx5X19ncmlkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBzZWN0aW9uLWJvcmRlci10b3A7XHJcblxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG59ICIsIi5pbWFnZS1jYXJvdXNlbCB7XHJcblxyXG4gICAgJl9fZ3JpZC1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xyXG4gICAgICAgIEBpbmNsdWRlIHNlY3Rpb24tYm9yZGVyLWJvdHRvbTtcclxuICAgIH1cclxuXHJcbiAgICAmX19ncmlkIHtcclxuXHJcbiAgICAgICAgJi1oZWFkZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtY2Fyb3VzZWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xyXG5cclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNGVtO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDNlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgJl9faGVhZGVyIHtcclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDgpOyAgICAgICAgICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDllbTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcblxyXG4gICAgICAgICAgICAuaGVhZGVyLS1zdHJhcGxpbmUge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAgICAgICAgXHJcblxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgJl9fY2Fyb3VzZWwge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsO1xyXG4gICAgICAgIFxyXG4gICAgICAgIG1hcmdpbi10b3A6IC0zZW07XHJcblxyXG4gICAgICAgIC5zcGxpZGUgeyBcclxuXHJcbiAgICAgICAgICAgICZfX2Fycm93cyB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICZfX2Fycm93IHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcblxyXG4gICAgICAgICAgICAgICAgJi0tcHJldiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICZfX3RyYWNrIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmX19zbGlkZSB7XHJcblxyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1icm93bi12YXIyO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOyBcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn0iLCIubG9nby1ncmlkIHtcclxuXHJcbiAgICAmX19ncmlkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgc2VjdGlvbi1ib3JkZXItYm90dG9tO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2dyaWQsICZfX2dyaWQtbG9nb3Mge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZ3JpZC1sb2dvcyB7XHJcblxyXG4gICAgICAgIG1hcmdpbi10b3A6IDJlbTtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIFxyXG4gICAgfVxyXG5cclxuICAgICZfX2hlYWRlciB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGw7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg5LjUpOyAgICAgIFxyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcblxyXG4gICAgICZfX2dyaWQtbG9nb3Mge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2xvZ28ge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDYpOyAgXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM2VtO1xyXG5cclxuICAgICAgICBkaXNwbGF5OiBmbGV4OyAgICBcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAgcGFkZGluZzogMCAwLjVlbTsgXHJcbiAgICAgICAgXHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgyKTsgICAgICBcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxZW07ICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbWcge1xyXG5cclxuICAgICAgICAgICAgbWF4LWhlaWdodDogNzBweDtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIH0gICAgXHJcblxyXG4gICAgfSAgICBcclxuXHJcbn0gIiwiLnByaWNlLWRyb3Bkb3duLW1lbnUge1xyXG5cclxuICAgIHotaW5kZXg6IDI7XHJcblxyXG4gICAgJl9fZ3JpZC1jb250YWluZXIge1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xyXG4gICAgICAgIEBpbmNsdWRlIHNlY3Rpb24tYm9yZGVyLXRvcDtcclxuXHJcbiAgICAgICAgICY6YmVmb3JlIHtcclxuICBcclxuICAgICAgICAgICAgbWFyZ2luOiAxZW0gMDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyZW0gMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogM2VtIDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSAgXHJcblxyXG4gICAgfVxyXG5cclxuICAgICZfX2dyaWQge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbWVudS1ibG9jayB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoKTsgICAgICAgICAgICAgXHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7ICAgICBcclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDAuOWVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMS4yZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ljb24tY2hldnJvbi1kb3duLWRhcmsuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAuNWVtOyAgIFxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7ICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvZmYtd2hpdGUtdmFyMztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcblxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ljb24tY2hldnJvbi1kb3duLWRhcmsuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmFjdGl2ZSwgJjpmb2N1cywgJjphY3RpdmU6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgICAgIH0gXHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgJl9fbGFiZWwge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZHJvcGRvd24tcGFuZSB7XHJcblxyXG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xyXG4gICAgICAgIHotaW5kZXg6IDEwMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcbiAgICAgICAgdWwge1xyXG5cclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG5cclxuICAgICAgICAgICAgbGkge1xyXG5cclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xyXG5cclxuICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufSIsIi5wcmljZS1zZXJ2aWNlIHtcclxuXHJcbiAgICAmX19ncmlkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZ3JpZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcclxuICAgIH1cclxuXHJcbiAgICAmX19oZWFkZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGw7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3ByaWNlcyB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGw7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNik7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KDEpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1yb3cge1xyXG5cclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tYnJvd24tdmFyMjtcclxuICAgICAgICAgICAgcGFkZGluZzogMC41ZW0gMDtcclxuXHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDUwJTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgICZfX3Bvc3QtdGV4dCB7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzZW07XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbi5jb250ZW50LXRleHQtb25seSArIC5wcmljZS1zZXJ2aWNlIHtcclxuXHJcbiAgICBwYWRkaW5nLXRvcDogNGVtO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogOGVtO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLnByaWNlLXNlcnZpY2UgKyAudGVzdGltb25pYWwge1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDAuNWVtO1xyXG4gICAgfVxyXG5cclxuICAgIC50ZXN0aW1vbmlhbF9fZ3JpZC1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIHNlY3Rpb24tYm9yZGVyLXRvcDtcclxuICAgIH1cclxuXHJcbn0iLCIucmljaC10ZXh0IHtcclxuXHJcbiAgICAmX19ncmlkLWNvbnRhaW5lciB7IFxyXG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xyXG4gICAgICAgIEBpbmNsdWRlIHNlY3Rpb24tYm9yZGVyLWJvdHRvbTtcclxuICAgIH1cclxuXHJcbiAgICAmX19ncmlkIHtcclxuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGw7XHJcblxyXG4gICAgICAgICYtLXBsYWluIHtcclxuXHJcbiAgICAgICAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjhlbTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuXHJcbi5jZWxsLS1yaWNoLXRleHQge1xyXG5cclxuICAgIGZpZ3VyZSB7IFxyXG4gICAgICAgIG1hcmdpbjogMWVtIGF1dG87IFxyXG4gICAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAvLyBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICAgICAgLy8gb3ZlcmZsb3cteDogY2xpcDtcclxuXHJcbiAgICAgICAgLy8gJjo6YmVmb3JlIHtcclxuICAgICAgICAvLyAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3doaXRlLXJpbmctd2l0aC1jdXQuc3ZnJyk7XHJcbiAgICAgICAgLy8gICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgLy8gICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodDtcclxuICAgICAgICAvLyAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICAgIC8vICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgLy8gICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgLy8gICAgIHJpZ2h0OiAtMjAlO1xyXG4gICAgICAgIC8vICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcblxyXG4gICAgdmlkZW8ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRoaXMgZG9lc24ndCB5ZXQgd29yayBpbiBDaHJvbWVcclxuICAgICY6ZW1wdHksICY6LW1vei1vbmx5LXdoaXRlc3BhY2Uge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgXHJcbiAgICB9XHJcblxyXG4gICAgb2x7XHJcbiAgICAgICAgbWFyZ2luOiAyZW0gMCAxLjI1ZW0gMmVtO1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgbWFyZ2luOiAuNWVtIDA7XHJcbiAgICAgIH0gIFxyXG4gICAgfVxyXG5cclxuICAgIHVsIHtcclxuXHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDJlbSAwIDJlbSAwO1xyXG5cclxuICAgICAgICBsaSB7XHJcblxyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDU1Y2g7XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gY29udGVudDogdXJsKC90aGVtZXMvdXNlci9yY3MvaW1nL21hZ2VudGEtdGljay5zdmcpOyBcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7ICAgICBcclxuICAgICAgICBtYXJnaW46IDFlbSAwO1xyXG4gICAgfVxyXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1IHsgICAgICAgIFxyXG5cclxuICAgICAgICBtYXJnaW4tdG9wOiAxLjVlbTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xyXG4gICAgICAgIFxyXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIFxyXG4gICAgaDUgKyBoMiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMC41ZW07XHJcbiAgICB9XHJcblxyXG4gICAgYSB7ICAgICAgICBcclxuXHJcbiAgICAgICAgJjpub3QoLmJ1dHRvbikge1xyXG4gICAgICAgICAgICBjb2xvcjogJG1hZ2VudGE7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuIiwiLnRhYmJlZC1pbWFnZS1jb250ZW50IHtcclxuXHJcbiAgICAmX19ncmlkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgc2VjdGlvbi1ib3JkZXItYm90dG9tO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2dyaWQge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faGVhZGVyIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoOS41KTsgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgICZfX2hlYWRlci1zeW5vcHNpcyB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoKTsgICAgICAgICBcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDYpOyBcclxuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoNik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAmX19uYXYge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNGVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0ZW07XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgLnRhYnMtdGl0bGUgeyAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJlbTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4zZW07XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7ICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICd8JztcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgICAgICAgICAgICAgICB0b3A6IDM1JTtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMThweDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcblxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG5cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjNlbSAxLjZlbTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjazsgXHJcblxyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xyXG5cclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjFlbTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMmVtOyBcclxuXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjZlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyLjJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ljb24taGFpci1kYXJrLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLjVlbTsgICAgICAgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvZmYtd2hpdGUtdmFyMztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9pY29uLWhhaXItZGFyay5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSwgJjpmb2N1cywgJjphY3RpdmU6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5oYWlyIHsgICAgICAgXHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGEge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvaWNvbi1oYWlyLWRhcmsuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9pY29uLWhhaXItbGlnaHQuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHsgICAgICAgXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvaWNvbi1oYWlyLWxpZ2h0LnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLnRhbm5pbmcge1xyXG5cclxuICAgICAgICAgICAgICAgIGEge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvaWNvbi10YW5uaW5nLWRhcmsuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9pY29uLXRhbm5pbmctbGlnaHQuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHsgICAgICAgXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvaWNvbi10YW5uaW5nLWxpZ2h0LnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmJlYXV0eSB7XHJcblxyXG4gICAgICAgICAgICAgICAgYSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9pY29uLWJlYXV0eS1kYXJrLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvaWNvbi1iZWF1dHktbGlnaHQuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHsgICAgICAgXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvaWNvbi1iZWF1dHktbGlnaHQuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcblxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcblxyXG4gICAgfVxyXG5cclxuICAgICZfX3RhYnMge1xyXG5cclxuICAgICAgICAudGFicy1jb250ZW50IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRhYnMtcGFuZWwge1xyXG5cclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJl9fY29udGVudCB7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7IFxyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvZmYtd2hpdGUtdmFyMztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJlbTsgICBcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEwLjUpOyAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoOSk7ICAgICBcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogM2VtIDRlbTsgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg3KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICZfX2ltYWdlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTApOyAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDgpOyBcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCg0KTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg2KTsgXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoNik7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICYtaW5uZXIge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMTVweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWJyb3duLXZhcjI7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMDsgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9ICBcclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxufSIsIi50ZXN0aW1vbmlhbCB7XHJcblxyXG4gICAgJl9fZ3JpZC1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xyXG4gICAgICAgIEBpbmNsdWRlIHNlY3Rpb24tYm9yZGVyLWJvdHRvbTtcclxuICAgIH0gXHJcblxyXG4gICAgJl9fZ3JpZCB7XHJcblxyXG4gICAgICAgICYtaGVhZGVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWltYWdlIHsgICAgICAgICAgICBcclxuICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcclxuXHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJlbTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0ZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC01ZW07XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTE1ZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0yMGVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMjVlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgXHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgJl9faGVhZGVyIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg4KTsgICAgICAgICAgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA5ZW07XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cclxuICAgICAgICAgICAgLmhlYWRlci0tc3RyYXBsaW5lIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuICBcclxuICAgICZfX2NvbnRlbnQge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTsgXHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kOiAkb2ZmLXdoaXRlLXZhcjM7XHJcbiAgICAgICAgcGFkZGluZzogMmVtOyAgIFxyXG5cclxuICAgICAgICBvcmRlcjogMTtcclxuXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTAuNSk7ICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDkpOyAgICAgXHJcblxyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gICAgICAgICAgICB0b3A6IDQwcHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG5cclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDNlbSA0ZW07ICBcclxuXHJcbiAgICAgICAgICAgIG9yZGVyOiAyOyAgXHJcblxyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg3KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jaXRhdGlvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDNlbTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnF1b3RlLW1hcmsge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yZW07XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgJl9faW1hZ2Uge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoKTtcclxuXHJcbiAgICAgICAgb3JkZXI6IDI7XHJcblxyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMCk7ICAgICAgIFxyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoOCk7ICBcclxuICAgICAgICAgICAgb3JkZXI6IDE7ICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDYpOyAgIFxyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICYtaW5uZXIge1xyXG5cclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcblxyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMTVweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDE1cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1icm93bi12YXIyO1xyXG5cclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG5cclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMDsgICAgICAgICAgIFxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9ICBcclxuXHJcbiAgICB9XHJcblxyXG59Il19 */
