@charset "UTF-8";
/**
 * Foundation for Sites
 * Version 6.7.3
 * https://get.foundation
 * Licensed under MIT Open Source
 */
@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: #F0F0F0;
  font-family: "Causten Round", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #161616;
  -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: 4px; }

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

.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: 4px;
  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.625rem;
  margin: 0 0 1.5625rem;
  padding: 0.5rem;
  border: 2px solid #e0e0e0;
  border-radius: 0;
  background-color: #f8f8f8;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-family: inherit;
  font-size: 1.125rem;
  font-weight: normal;
  line-height: 1.5;
  color: #161616;
  -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: 2px solid #a12471;
    background-color: #f8f8f8;
    -webkit-box-shadow: 0 0 5px #cacaca;
            box-shadow: 0 0 5px #cacaca;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }

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

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

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

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 1.5625rem; }

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

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

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

label {
  display: block;
  margin: 0;
  font-size: 1.125rem;
  font-weight: 900;
  line-height: 1;
  color: #161616; }
  label.middle {
    margin: 0 0 1.5625rem;
    line-height: 1.5;
    padding: 0.90625rem 0; }

.help-text {
  margin-top: -0.78125rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #161616; }

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

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

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #161616;
  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: 1.125rem; }

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

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

.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.625rem;
  margin: 0 0 1.5625rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 2px solid #e0e0e0;
  border-radius: 0;
  background-color: #f8f8f8;
  font-family: inherit;
  font-size: 1.125rem;
  font-weight: normal;
  line-height: 1.5;
  color: #161616;
  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 -1.5625rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 2.34375rem;
  -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: 2px solid #a12471;
    background-color: #f8f8f8;
    -webkit-box-shadow: 0 0 5px #cacaca;
            box-shadow: 0 0 5px #cacaca;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }
  select:not([multiple]) {
    padding-top: 0;
    padding-bottom: 0; }

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

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

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

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

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

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

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

small {
  font-size: 1rem;
  line-height: inherit; }

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

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 3.125rem; }
  h2, .h2 {
    font-size: 2.1875rem; }
  h3, .h3 {
    font-size: 1.875rem; }
  h4, .h4 {
    font-size: 1.5625rem; }
  h5, .h5 {
    font-size: 1.375rem; }
  h6, .h6 {
    font-size: 1.125rem; } }

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

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

blockquote {
  margin: 0 0 1rem;
  padding: 0;
  border-left: none; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #a12471; }

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

figure {
  margin: 0; }

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

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

.lead {
  font-size: 1.5rem;
  line-height: 1.6; }

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

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

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

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

.code-block {
  border: 1px solid #cacaca;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #161616;
  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; } }

.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; }
  .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: 75rem;
  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; } }

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

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

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

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

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

.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 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 print, screen and (min-width: 64em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

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

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 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); } }

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

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

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

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

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

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

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

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.5625rem 0.9375rem;
  border: none;
  border-radius: 0;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 1.125rem;
  font-weight: 800;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 1rem; }
  .button.large {
    font-size: 1.125rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button, .button.disabled, .button[disabled], .button.disabled:hover, .button[disabled]:hover, .button.disabled:focus, .button[disabled]:focus {
    background-color: #a12471;
    color: #f8f8f8; }
  .button:hover, .button:focus {
    background-color: #891f60;
    color: #f8f8f8; }
  .button.primary, .button.primary.disabled, .button.primary[disabled], .button.primary.disabled:hover, .button.primary[disabled]:hover, .button.primary.disabled:focus, .button.primary[disabled]:focus {
    background-color: #a12471;
    color: #f8f8f8; }
  .button.primary:hover, .button.primary:focus {
    background-color: #811d5a;
    color: #f8f8f8; }
  .button.secondary, .button.secondary.disabled, .button.secondary[disabled], .button.secondary.disabled:hover, .button.secondary[disabled]:hover, .button.secondary.disabled:focus, .button.secondary[disabled]:focus {
    background-color: #767676;
    color: #f8f8f8; }
  .button.secondary:hover, .button.secondary:focus {
    background-color: #5e5e5e;
    color: #f8f8f8; }
  .button.success, .button.success.disabled, .button.success[disabled], .button.success.disabled:hover, .button.success[disabled]:hover, .button.success.disabled:focus, .button.success[disabled]:focus {
    background-color: #3adb76;
    color: #161616; }
  .button.success:hover, .button.success:focus {
    background-color: #22bb5b;
    color: #161616; }
  .button.warning, .button.warning.disabled, .button.warning[disabled], .button.warning.disabled:hover, .button.warning[disabled]:hover, .button.warning.disabled:focus, .button.warning[disabled]:focus {
    background-color: #ffae00;
    color: #161616; }
  .button.warning:hover, .button.warning:focus {
    background-color: #cc8b00;
    color: #161616; }
  .button.alert, .button.alert.disabled, .button.alert[disabled], .button.alert.disabled:hover, .button.alert[disabled]:hover, .button.alert.disabled:focus, .button.alert[disabled]:focus {
    background-color: #cc4b37;
    color: #f8f8f8; }
  .button.alert:hover, .button.alert:focus {
    background-color: #a53b2a;
    color: #f8f8f8; }
  .button.white, .button.white.disabled, .button.white[disabled], .button.white.disabled:hover, .button.white[disabled]:hover, .button.white.disabled:focus, .button.white[disabled]:focus {
    background-color: #f8f8f8;
    color: #161616; }
  .button.white:hover, .button.white:focus {
    background-color: #c6c6c6;
    color: #161616; }
  .button.black, .button.black.disabled, .button.black[disabled], .button.black.disabled:hover, .button.black[disabled]:hover, .button.black.disabled:focus, .button.black[disabled]:focus {
    background-color: #161616;
    color: #f8f8f8; }
  .button.black:hover, .button.black:focus {
    background-color: #121212;
    color: #f8f8f8; }
  .button.castleford-blue, .button.castleford-blue.disabled, .button.castleford-blue[disabled], .button.castleford-blue.disabled:hover, .button.castleford-blue[disabled]:hover, .button.castleford-blue.disabled:focus, .button.castleford-blue[disabled]:focus {
    background-color: #0081D6;
    color: #f8f8f8; }
  .button.castleford-blue:hover, .button.castleford-blue:focus {
    background-color: #0067ab;
    color: #f8f8f8; }
  .button.castleford-dark-blue, .button.castleford-dark-blue.disabled, .button.castleford-dark-blue[disabled], .button.castleford-dark-blue.disabled:hover, .button.castleford-dark-blue[disabled]:hover, .button.castleford-dark-blue.disabled:focus, .button.castleford-dark-blue[disabled]:focus {
    background-color: #00122B;
    color: #f8f8f8; }
  .button.castleford-dark-blue:hover, .button.castleford-dark-blue:focus {
    background-color: #000e22;
    color: #f8f8f8; }
  .button.selby-red, .button.selby-red.disabled, .button.selby-red[disabled], .button.selby-red.disabled:hover, .button.selby-red[disabled]:hover, .button.selby-red.disabled:focus, .button.selby-red[disabled]:focus {
    background-color: #CD1619;
    color: #f8f8f8; }
  .button.selby-red:hover, .button.selby-red:focus {
    background-color: #a41214;
    color: #f8f8f8; }
  .button.selby-dark-red, .button.selby-dark-red.disabled, .button.selby-dark-red[disabled], .button.selby-dark-red.disabled:hover, .button.selby-dark-red[disabled]:hover, .button.selby-dark-red.disabled:focus, .button.selby-dark-red[disabled]:focus {
    background-color: #340200;
    color: #f8f8f8; }
  .button.selby-dark-red:hover, .button.selby-dark-red:focus {
    background-color: #2a0200;
    color: #f8f8f8; }
  .button.wakefield-green, .button.wakefield-green.disabled, .button.wakefield-green[disabled], .button.wakefield-green.disabled:hover, .button.wakefield-green[disabled]:hover, .button.wakefield-green.disabled:focus, .button.wakefield-green[disabled]:focus {
    background-color: #36AE72;
    color: #161616; }
  .button.wakefield-green:hover, .button.wakefield-green:focus {
    background-color: #2b8b5b;
    color: #161616; }
  .button.wakefield-dark-green, .button.wakefield-dark-green.disabled, .button.wakefield-dark-green[disabled], .button.wakefield-dark-green.disabled:hover, .button.wakefield-dark-green[disabled]:hover, .button.wakefield-dark-green.disabled:focus, .button.wakefield-dark-green[disabled]:focus {
    background-color: #002A16;
    color: #f8f8f8; }
  .button.wakefield-dark-green:hover, .button.wakefield-dark-green:focus {
    background-color: #002212;
    color: #f8f8f8; }
  .button.hoy-blue, .button.hoy-blue.disabled, .button.hoy-blue[disabled], .button.hoy-blue.disabled:hover, .button.hoy-blue[disabled]:hover, .button.hoy-blue.disabled:focus, .button.hoy-blue[disabled]:focus {
    background-color: #1c4760;
    color: #f8f8f8; }
  .button.hoy-blue:hover, .button.hoy-blue:focus {
    background-color: #16394d;
    color: #f8f8f8; }
  .button.hoy-pink, .button.hoy-pink.disabled, .button.hoy-pink[disabled], .button.hoy-pink.disabled:hover, .button.hoy-pink[disabled]:hover, .button.hoy-pink.disabled:focus, .button.hoy-pink[disabled]:focus {
    background-color: #a12471;
    color: #f8f8f8; }
  .button.hoy-pink:hover, .button.hoy-pink:focus {
    background-color: #811d5a;
    color: #f8f8f8; }
  .button.hoy-purple, .button.hoy-purple.disabled, .button.hoy-purple[disabled], .button.hoy-purple.disabled:hover, .button.hoy-purple[disabled]:hover, .button.hoy-purple.disabled:focus, .button.hoy-purple[disabled]:focus {
    background-color: #571d42;
    color: #f8f8f8; }
  .button.hoy-purple:hover, .button.hoy-purple:focus {
    background-color: #461735;
    color: #f8f8f8; }
  .button.hoy-yellow, .button.hoy-yellow.disabled, .button.hoy-yellow[disabled], .button.hoy-yellow.disabled:hover, .button.hoy-yellow[disabled]:hover, .button.hoy-yellow.disabled:focus, .button.hoy-yellow[disabled]:focus {
    background-color: #fdb521;
    color: #161616; }
  .button.hoy-yellow:hover, .button.hoy-yellow:focus {
    background-color: #e39902;
    color: #161616; }
  .button.hoy-grey, .button.hoy-grey.disabled, .button.hoy-grey[disabled], .button.hoy-grey.disabled:hover, .button.hoy-grey[disabled]:hover, .button.hoy-grey.disabled:focus, .button.hoy-grey[disabled]:focus {
    background-color: #6a7883;
    color: #f8f8f8; }
  .button.hoy-grey:hover, .button.hoy-grey:focus {
    background-color: #556069;
    color: #f8f8f8; }
  .button.hoy-brown, .button.hoy-brown.disabled, .button.hoy-brown[disabled], .button.hoy-brown.disabled:hover, .button.hoy-brown[disabled]:hover, .button.hoy-brown.disabled:focus, .button.hoy-brown[disabled]:focus {
    background-color: #82764c;
    color: #f8f8f8; }
  .button.hoy-brown:hover, .button.hoy-brown:focus {
    background-color: #685e3d;
    color: #f8f8f8; }
  .button.adult-purple, .button.adult-purple.disabled, .button.adult-purple[disabled], .button.adult-purple.disabled:hover, .button.adult-purple[disabled]:hover, .button.adult-purple.disabled:focus, .button.adult-purple[disabled]:focus {
    background-color: #7f1e49;
    color: #f8f8f8; }
  .button.adult-purple:hover, .button.adult-purple:focus {
    background-color: #66183a;
    color: #f8f8f8; }
  .button.adult-dark-purple, .button.adult-dark-purple.disabled, .button.adult-dark-purple[disabled], .button.adult-dark-purple.disabled:hover, .button.adult-dark-purple[disabled]:hover, .button.adult-dark-purple.disabled:focus, .button.adult-dark-purple[disabled]:focus {
    background-color: #250a36;
    color: #f8f8f8; }
  .button.adult-dark-purple:hover, .button.adult-dark-purple:focus {
    background-color: #1e082b;
    color: #f8f8f8; }
  .button.adult-blue, .button.adult-blue.disabled, .button.adult-blue[disabled], .button.adult-blue.disabled:hover, .button.adult-blue[disabled]:hover, .button.adult-blue.disabled:focus, .button.adult-blue[disabled]:focus {
    background-color: #3f8dac;
    color: #161616; }
  .button.adult-blue:hover, .button.adult-blue:focus {
    background-color: #32718a;
    color: #161616; }
  .button.apprenticeships-orange, .button.apprenticeships-orange.disabled, .button.apprenticeships-orange[disabled], .button.apprenticeships-orange.disabled:hover, .button.apprenticeships-orange[disabled]:hover, .button.apprenticeships-orange.disabled:focus, .button.apprenticeships-orange[disabled]:focus {
    background-color: #f7941d;
    color: #161616; }
  .button.apprenticeships-orange:hover, .button.apprenticeships-orange:focus {
    background-color: #d57808;
    color: #161616; }
  .button.employers-dark-blue, .button.employers-dark-blue.disabled, .button.employers-dark-blue[disabled], .button.employers-dark-blue.disabled:hover, .button.employers-dark-blue[disabled]:hover, .button.employers-dark-blue.disabled:focus, .button.employers-dark-blue[disabled]:focus {
    background-color: #00454b;
    color: #f8f8f8; }
  .button.employers-dark-blue:hover, .button.employers-dark-blue:focus {
    background-color: #00373c;
    color: #f8f8f8; }
  .button.employers-light-blue, .button.employers-light-blue.disabled, .button.employers-light-blue[disabled], .button.employers-light-blue.disabled:hover, .button.employers-light-blue[disabled]:hover, .button.employers-light-blue.disabled:focus, .button.employers-light-blue[disabled]:focus {
    background-color: #65989f;
    color: #161616; }
  .button.employers-light-blue:hover, .button.employers-light-blue:focus {
    background-color: #507a80;
    color: #161616; }
  .button.offWhite, .button.offWhite.disabled, .button.offWhite[disabled], .button.offWhite.disabled:hover, .button.offWhite[disabled]:hover, .button.offWhite.disabled:focus, .button.offWhite[disabled]:focus {
    background-color: #F0F0F0;
    color: #161616; }
  .button.offWhite:hover, .button.offWhite:focus {
    background-color: silver;
    color: #161616; }
  .button.dark-grey, .button.dark-grey.disabled, .button.dark-grey[disabled], .button.dark-grey.disabled:hover, .button.dark-grey[disabled]:hover, .button.dark-grey.disabled:focus, .button.dark-grey[disabled]:focus {
    background-color: #333;
    color: #f8f8f8; }
  .button.dark-grey:hover, .button.dark-grey:focus {
    background-color: #292929;
    color: #f8f8f8; }
  .button.dark-blue, .button.dark-blue.disabled, .button.dark-blue[disabled], .button.dark-blue.disabled:hover, .button.dark-blue[disabled]:hover, .button.dark-blue.disabled:focus, .button.dark-blue[disabled]:focus {
    background-color: #0e2330;
    color: #f8f8f8; }
  .button.dark-blue:hover, .button.dark-blue:focus {
    background-color: #0b1c26;
    color: #f8f8f8; }
  .button.elements-orange, .button.elements-orange.disabled, .button.elements-orange[disabled], .button.elements-orange.disabled:hover, .button.elements-orange[disabled]:hover, .button.elements-orange.disabled:focus, .button.elements-orange[disabled]:focus {
    background-color: #f15a3b;
    color: #161616; }
  .button.elements-orange:hover, .button.elements-orange:focus {
    background-color: #e03310;
    color: #161616; }
  .button.elements-green, .button.elements-green.disabled, .button.elements-green[disabled], .button.elements-green.disabled:hover, .button.elements-green[disabled]:hover, .button.elements-green.disabled:focus, .button.elements-green[disabled]:focus {
    background-color: #4a8b74;
    color: #f8f8f8; }
  .button.elements-green:hover, .button.elements-green:focus {
    background-color: #3b6f5d;
    color: #f8f8f8; }
  .button.aspire-blue, .button.aspire-blue.disabled, .button.aspire-blue[disabled], .button.aspire-blue.disabled:hover, .button.aspire-blue[disabled]:hover, .button.aspire-blue.disabled:focus, .button.aspire-blue[disabled]:focus {
    background-color: #3b2f59;
    color: #f8f8f8; }
  .button.aspire-blue:hover, .button.aspire-blue:focus {
    background-color: #2f2647;
    color: #f8f8f8; }
  .button.aspire-purple, .button.aspire-purple.disabled, .button.aspire-purple[disabled], .button.aspire-purple.disabled:hover, .button.aspire-purple[disabled]:hover, .button.aspire-purple.disabled:focus, .button.aspire-purple[disabled]:focus {
    background-color: #5c1b46;
    color: #f8f8f8; }
  .button.aspire-purple:hover, .button.aspire-purple:focus {
    background-color: #4a1638;
    color: #f8f8f8; }
  .button.elements-aspire-white, .button.elements-aspire-white.disabled, .button.elements-aspire-white[disabled], .button.elements-aspire-white.disabled:hover, .button.elements-aspire-white[disabled]:hover, .button.elements-aspire-white.disabled:focus, .button.elements-aspire-white[disabled]:focus {
    background-color: #fff3d0;
    color: #161616; }
  .button.elements-aspire-white:hover, .button.elements-aspire-white:focus {
    background-color: #ffdb73;
    color: #161616; }
  .button.hollow, .button.hollow:hover, .button.hollow:focus, .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
    background-color: transparent; }
  .button.hollow, .button.hollow.disabled, .button.hollow[disabled], .button.hollow.disabled:hover, .button.hollow[disabled]:hover, .button.hollow.disabled:focus, .button.hollow[disabled]:focus {
    border: 2px solid #a12471;
    color: #a12471; }
  .button.hollow:hover, .button.hollow:focus {
    border-color: #511239;
    color: #511239; }
  .button.hollow.primary, .button.hollow.primary.disabled, .button.hollow.primary[disabled], .button.hollow.primary.disabled:hover, .button.hollow.primary[disabled]:hover, .button.hollow.primary.disabled:focus, .button.hollow.primary[disabled]:focus {
    border: 2px solid #a12471;
    color: #a12471; }
  .button.hollow.primary:hover, .button.hollow.primary:focus {
    border-color: #511239;
    color: #511239; }
  .button.hollow.secondary, .button.hollow.secondary.disabled, .button.hollow.secondary[disabled], .button.hollow.secondary.disabled:hover, .button.hollow.secondary[disabled]:hover, .button.hollow.secondary.disabled:focus, .button.hollow.secondary[disabled]:focus {
    border: 2px solid #767676;
    color: #767676; }
  .button.hollow.secondary:hover, .button.hollow.secondary:focus {
    border-color: #3b3b3b;
    color: #3b3b3b; }
  .button.hollow.success, .button.hollow.success.disabled, .button.hollow.success[disabled], .button.hollow.success.disabled:hover, .button.hollow.success[disabled]:hover, .button.hollow.success.disabled:focus, .button.hollow.success[disabled]:focus {
    border: 2px solid #3adb76;
    color: #3adb76; }
  .button.hollow.success:hover, .button.hollow.success:focus {
    border-color: #157539;
    color: #157539; }
  .button.hollow.warning, .button.hollow.warning.disabled, .button.hollow.warning[disabled], .button.hollow.warning.disabled:hover, .button.hollow.warning[disabled]:hover, .button.hollow.warning.disabled:focus, .button.hollow.warning[disabled]:focus {
    border: 2px solid #ffae00;
    color: #ffae00; }
  .button.hollow.warning:hover, .button.hollow.warning:focus {
    border-color: #805700;
    color: #805700; }
  .button.hollow.alert, .button.hollow.alert.disabled, .button.hollow.alert[disabled], .button.hollow.alert.disabled:hover, .button.hollow.alert[disabled]:hover, .button.hollow.alert.disabled:focus, .button.hollow.alert[disabled]:focus {
    border: 2px solid #cc4b37;
    color: #cc4b37; }
  .button.hollow.alert:hover, .button.hollow.alert:focus {
    border-color: #67251a;
    color: #67251a; }
  .button.hollow.white, .button.hollow.white.disabled, .button.hollow.white[disabled], .button.hollow.white.disabled:hover, .button.hollow.white[disabled]:hover, .button.hollow.white.disabled:focus, .button.hollow.white[disabled]:focus {
    border: 2px solid #f8f8f8;
    color: #f8f8f8; }
  .button.hollow.white:hover, .button.hollow.white:focus {
    border-color: #7c7c7c;
    color: #7c7c7c; }
  .button.hollow.black, .button.hollow.black.disabled, .button.hollow.black[disabled], .button.hollow.black.disabled:hover, .button.hollow.black[disabled]:hover, .button.hollow.black.disabled:focus, .button.hollow.black[disabled]:focus {
    border: 2px solid #161616;
    color: #161616; }
  .button.hollow.black:hover, .button.hollow.black:focus {
    border-color: #0b0b0b;
    color: #0b0b0b; }
  .button.hollow.castleford-blue, .button.hollow.castleford-blue.disabled, .button.hollow.castleford-blue[disabled], .button.hollow.castleford-blue.disabled:hover, .button.hollow.castleford-blue[disabled]:hover, .button.hollow.castleford-blue.disabled:focus, .button.hollow.castleford-blue[disabled]:focus {
    border: 2px solid #0081D6;
    color: #0081D6; }
  .button.hollow.castleford-blue:hover, .button.hollow.castleford-blue:focus {
    border-color: #00416b;
    color: #00416b; }
  .button.hollow.castleford-dark-blue, .button.hollow.castleford-dark-blue.disabled, .button.hollow.castleford-dark-blue[disabled], .button.hollow.castleford-dark-blue.disabled:hover, .button.hollow.castleford-dark-blue[disabled]:hover, .button.hollow.castleford-dark-blue.disabled:focus, .button.hollow.castleford-dark-blue[disabled]:focus {
    border: 2px solid #00122B;
    color: #00122B; }
  .button.hollow.castleford-dark-blue:hover, .button.hollow.castleford-dark-blue:focus {
    border-color: #000916;
    color: #000916; }
  .button.hollow.selby-red, .button.hollow.selby-red.disabled, .button.hollow.selby-red[disabled], .button.hollow.selby-red.disabled:hover, .button.hollow.selby-red[disabled]:hover, .button.hollow.selby-red.disabled:focus, .button.hollow.selby-red[disabled]:focus {
    border: 2px solid #CD1619;
    color: #CD1619; }
  .button.hollow.selby-red:hover, .button.hollow.selby-red:focus {
    border-color: #670b0d;
    color: #670b0d; }
  .button.hollow.selby-dark-red, .button.hollow.selby-dark-red.disabled, .button.hollow.selby-dark-red[disabled], .button.hollow.selby-dark-red.disabled:hover, .button.hollow.selby-dark-red[disabled]:hover, .button.hollow.selby-dark-red.disabled:focus, .button.hollow.selby-dark-red[disabled]:focus {
    border: 2px solid #340200;
    color: #340200; }
  .button.hollow.selby-dark-red:hover, .button.hollow.selby-dark-red:focus {
    border-color: #1a0100;
    color: #1a0100; }
  .button.hollow.wakefield-green, .button.hollow.wakefield-green.disabled, .button.hollow.wakefield-green[disabled], .button.hollow.wakefield-green.disabled:hover, .button.hollow.wakefield-green[disabled]:hover, .button.hollow.wakefield-green.disabled:focus, .button.hollow.wakefield-green[disabled]:focus {
    border: 2px solid #36AE72;
    color: #36AE72; }
  .button.hollow.wakefield-green:hover, .button.hollow.wakefield-green:focus {
    border-color: #1b5739;
    color: #1b5739; }
  .button.hollow.wakefield-dark-green, .button.hollow.wakefield-dark-green.disabled, .button.hollow.wakefield-dark-green[disabled], .button.hollow.wakefield-dark-green.disabled:hover, .button.hollow.wakefield-dark-green[disabled]:hover, .button.hollow.wakefield-dark-green.disabled:focus, .button.hollow.wakefield-dark-green[disabled]:focus {
    border: 2px solid #002A16;
    color: #002A16; }
  .button.hollow.wakefield-dark-green:hover, .button.hollow.wakefield-dark-green:focus {
    border-color: #00150b;
    color: #00150b; }
  .button.hollow.hoy-blue, .button.hollow.hoy-blue.disabled, .button.hollow.hoy-blue[disabled], .button.hollow.hoy-blue.disabled:hover, .button.hollow.hoy-blue[disabled]:hover, .button.hollow.hoy-blue.disabled:focus, .button.hollow.hoy-blue[disabled]:focus {
    border: 2px solid #1c4760;
    color: #1c4760; }
  .button.hollow.hoy-blue:hover, .button.hollow.hoy-blue:focus {
    border-color: #0e2430;
    color: #0e2430; }
  .button.hollow.hoy-pink, .button.hollow.hoy-pink.disabled, .button.hollow.hoy-pink[disabled], .button.hollow.hoy-pink.disabled:hover, .button.hollow.hoy-pink[disabled]:hover, .button.hollow.hoy-pink.disabled:focus, .button.hollow.hoy-pink[disabled]:focus {
    border: 2px solid #a12471;
    color: #a12471; }
  .button.hollow.hoy-pink:hover, .button.hollow.hoy-pink:focus {
    border-color: #511239;
    color: #511239; }
  .button.hollow.hoy-purple, .button.hollow.hoy-purple.disabled, .button.hollow.hoy-purple[disabled], .button.hollow.hoy-purple.disabled:hover, .button.hollow.hoy-purple[disabled]:hover, .button.hollow.hoy-purple.disabled:focus, .button.hollow.hoy-purple[disabled]:focus {
    border: 2px solid #571d42;
    color: #571d42; }
  .button.hollow.hoy-purple:hover, .button.hollow.hoy-purple:focus {
    border-color: #2c0f21;
    color: #2c0f21; }
  .button.hollow.hoy-yellow, .button.hollow.hoy-yellow.disabled, .button.hollow.hoy-yellow[disabled], .button.hollow.hoy-yellow.disabled:hover, .button.hollow.hoy-yellow[disabled]:hover, .button.hollow.hoy-yellow.disabled:focus, .button.hollow.hoy-yellow[disabled]:focus {
    border: 2px solid #fdb521;
    color: #fdb521; }
  .button.hollow.hoy-yellow:hover, .button.hollow.hoy-yellow:focus {
    border-color: #8e6001;
    color: #8e6001; }
  .button.hollow.hoy-grey, .button.hollow.hoy-grey.disabled, .button.hollow.hoy-grey[disabled], .button.hollow.hoy-grey.disabled:hover, .button.hollow.hoy-grey[disabled]:hover, .button.hollow.hoy-grey.disabled:focus, .button.hollow.hoy-grey[disabled]:focus {
    border: 2px solid #6a7883;
    color: #6a7883; }
  .button.hollow.hoy-grey:hover, .button.hollow.hoy-grey:focus {
    border-color: #353c42;
    color: #353c42; }
  .button.hollow.hoy-brown, .button.hollow.hoy-brown.disabled, .button.hollow.hoy-brown[disabled], .button.hollow.hoy-brown.disabled:hover, .button.hollow.hoy-brown[disabled]:hover, .button.hollow.hoy-brown.disabled:focus, .button.hollow.hoy-brown[disabled]:focus {
    border: 2px solid #82764c;
    color: #82764c; }
  .button.hollow.hoy-brown:hover, .button.hollow.hoy-brown:focus {
    border-color: #413b26;
    color: #413b26; }
  .button.hollow.adult-purple, .button.hollow.adult-purple.disabled, .button.hollow.adult-purple[disabled], .button.hollow.adult-purple.disabled:hover, .button.hollow.adult-purple[disabled]:hover, .button.hollow.adult-purple.disabled:focus, .button.hollow.adult-purple[disabled]:focus {
    border: 2px solid #7f1e49;
    color: #7f1e49; }
  .button.hollow.adult-purple:hover, .button.hollow.adult-purple:focus {
    border-color: #400f25;
    color: #400f25; }
  .button.hollow.adult-dark-purple, .button.hollow.adult-dark-purple.disabled, .button.hollow.adult-dark-purple[disabled], .button.hollow.adult-dark-purple.disabled:hover, .button.hollow.adult-dark-purple[disabled]:hover, .button.hollow.adult-dark-purple.disabled:focus, .button.hollow.adult-dark-purple[disabled]:focus {
    border: 2px solid #250a36;
    color: #250a36; }
  .button.hollow.adult-dark-purple:hover, .button.hollow.adult-dark-purple:focus {
    border-color: #13051b;
    color: #13051b; }
  .button.hollow.adult-blue, .button.hollow.adult-blue.disabled, .button.hollow.adult-blue[disabled], .button.hollow.adult-blue.disabled:hover, .button.hollow.adult-blue[disabled]:hover, .button.hollow.adult-blue.disabled:focus, .button.hollow.adult-blue[disabled]:focus {
    border: 2px solid #3f8dac;
    color: #3f8dac; }
  .button.hollow.adult-blue:hover, .button.hollow.adult-blue:focus {
    border-color: #204756;
    color: #204756; }
  .button.hollow.apprenticeships-orange, .button.hollow.apprenticeships-orange.disabled, .button.hollow.apprenticeships-orange[disabled], .button.hollow.apprenticeships-orange.disabled:hover, .button.hollow.apprenticeships-orange[disabled]:hover, .button.hollow.apprenticeships-orange.disabled:focus, .button.hollow.apprenticeships-orange[disabled]:focus {
    border: 2px solid #f7941d;
    color: #f7941d; }
  .button.hollow.apprenticeships-orange:hover, .button.hollow.apprenticeships-orange:focus {
    border-color: #854b05;
    color: #854b05; }
  .button.hollow.employers-dark-blue, .button.hollow.employers-dark-blue.disabled, .button.hollow.employers-dark-blue[disabled], .button.hollow.employers-dark-blue.disabled:hover, .button.hollow.employers-dark-blue[disabled]:hover, .button.hollow.employers-dark-blue.disabled:focus, .button.hollow.employers-dark-blue[disabled]:focus {
    border: 2px solid #00454b;
    color: #00454b; }
  .button.hollow.employers-dark-blue:hover, .button.hollow.employers-dark-blue:focus {
    border-color: #002326;
    color: #002326; }
  .button.hollow.employers-light-blue, .button.hollow.employers-light-blue.disabled, .button.hollow.employers-light-blue[disabled], .button.hollow.employers-light-blue.disabled:hover, .button.hollow.employers-light-blue[disabled]:hover, .button.hollow.employers-light-blue.disabled:focus, .button.hollow.employers-light-blue[disabled]:focus {
    border: 2px solid #65989f;
    color: #65989f; }
  .button.hollow.employers-light-blue:hover, .button.hollow.employers-light-blue:focus {
    border-color: #324c50;
    color: #324c50; }
  .button.hollow.offWhite, .button.hollow.offWhite.disabled, .button.hollow.offWhite[disabled], .button.hollow.offWhite.disabled:hover, .button.hollow.offWhite[disabled]:hover, .button.hollow.offWhite.disabled:focus, .button.hollow.offWhite[disabled]:focus {
    border: 2px solid #F0F0F0;
    color: #F0F0F0; }
  .button.hollow.offWhite:hover, .button.hollow.offWhite:focus {
    border-color: #787878;
    color: #787878; }
  .button.hollow.dark-grey, .button.hollow.dark-grey.disabled, .button.hollow.dark-grey[disabled], .button.hollow.dark-grey.disabled:hover, .button.hollow.dark-grey[disabled]:hover, .button.hollow.dark-grey.disabled:focus, .button.hollow.dark-grey[disabled]:focus {
    border: 2px solid #333;
    color: #333; }
  .button.hollow.dark-grey:hover, .button.hollow.dark-grey:focus {
    border-color: #1a1a1a;
    color: #1a1a1a; }
  .button.hollow.dark-blue, .button.hollow.dark-blue.disabled, .button.hollow.dark-blue[disabled], .button.hollow.dark-blue.disabled:hover, .button.hollow.dark-blue[disabled]:hover, .button.hollow.dark-blue.disabled:focus, .button.hollow.dark-blue[disabled]:focus {
    border: 2px solid #0e2330;
    color: #0e2330; }
  .button.hollow.dark-blue:hover, .button.hollow.dark-blue:focus {
    border-color: #071218;
    color: #071218; }
  .button.hollow.elements-orange, .button.hollow.elements-orange.disabled, .button.hollow.elements-orange[disabled], .button.hollow.elements-orange.disabled:hover, .button.hollow.elements-orange[disabled]:hover, .button.hollow.elements-orange.disabled:focus, .button.hollow.elements-orange[disabled]:focus {
    border: 2px solid #f15a3b;
    color: #f15a3b; }
  .button.hollow.elements-orange:hover, .button.hollow.elements-orange:focus {
    border-color: #8c200a;
    color: #8c200a; }
  .button.hollow.elements-green, .button.hollow.elements-green.disabled, .button.hollow.elements-green[disabled], .button.hollow.elements-green.disabled:hover, .button.hollow.elements-green[disabled]:hover, .button.hollow.elements-green.disabled:focus, .button.hollow.elements-green[disabled]:focus {
    border: 2px solid #4a8b74;
    color: #4a8b74; }
  .button.hollow.elements-green:hover, .button.hollow.elements-green:focus {
    border-color: #25463a;
    color: #25463a; }
  .button.hollow.aspire-blue, .button.hollow.aspire-blue.disabled, .button.hollow.aspire-blue[disabled], .button.hollow.aspire-blue.disabled:hover, .button.hollow.aspire-blue[disabled]:hover, .button.hollow.aspire-blue.disabled:focus, .button.hollow.aspire-blue[disabled]:focus {
    border: 2px solid #3b2f59;
    color: #3b2f59; }
  .button.hollow.aspire-blue:hover, .button.hollow.aspire-blue:focus {
    border-color: #1e182d;
    color: #1e182d; }
  .button.hollow.aspire-purple, .button.hollow.aspire-purple.disabled, .button.hollow.aspire-purple[disabled], .button.hollow.aspire-purple.disabled:hover, .button.hollow.aspire-purple[disabled]:hover, .button.hollow.aspire-purple.disabled:focus, .button.hollow.aspire-purple[disabled]:focus {
    border: 2px solid #5c1b46;
    color: #5c1b46; }
  .button.hollow.aspire-purple:hover, .button.hollow.aspire-purple:focus {
    border-color: #2e0e23;
    color: #2e0e23; }
  .button.hollow.elements-aspire-white, .button.hollow.elements-aspire-white.disabled, .button.hollow.elements-aspire-white[disabled], .button.hollow.elements-aspire-white.disabled:hover, .button.hollow.elements-aspire-white[disabled]:hover, .button.hollow.elements-aspire-white.disabled:focus, .button.hollow.elements-aspire-white[disabled]:focus {
    border: 2px solid #fff3d0;
    color: #fff3d0; }
  .button.hollow.elements-aspire-white:hover, .button.hollow.elements-aspire-white:focus {
    border-color: #e8ac00;
    color: #e8ac00; }
  .button.clear, .button.clear:hover, .button.clear:focus, .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
    border-color: transparent;
    background-color: transparent; }
  .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear.disabled:hover, .button.clear[disabled]:hover, .button.clear.disabled:focus, .button.clear[disabled]:focus {
    color: #a12471; }
  .button.clear:hover, .button.clear:focus {
    color: #511239; }
  .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary.disabled:hover, .button.clear.primary[disabled]:hover, .button.clear.primary.disabled:focus, .button.clear.primary[disabled]:focus {
    color: #a12471; }
  .button.clear.primary:hover, .button.clear.primary:focus {
    color: #511239; }
  .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary.disabled:hover, .button.clear.secondary[disabled]:hover, .button.clear.secondary.disabled:focus, .button.clear.secondary[disabled]:focus {
    color: #767676; }
  .button.clear.secondary:hover, .button.clear.secondary:focus {
    color: #3b3b3b; }
  .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success.disabled:hover, .button.clear.success[disabled]:hover, .button.clear.success.disabled:focus, .button.clear.success[disabled]:focus {
    color: #3adb76; }
  .button.clear.success:hover, .button.clear.success:focus {
    color: #157539; }
  .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning.disabled:hover, .button.clear.warning[disabled]:hover, .button.clear.warning.disabled:focus, .button.clear.warning[disabled]:focus {
    color: #ffae00; }
  .button.clear.warning:hover, .button.clear.warning:focus {
    color: #805700; }
  .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert.disabled:hover, .button.clear.alert[disabled]:hover, .button.clear.alert.disabled:focus, .button.clear.alert[disabled]:focus {
    color: #cc4b37; }
  .button.clear.alert:hover, .button.clear.alert:focus {
    color: #67251a; }
  .button.clear.white, .button.clear.white.disabled, .button.clear.white[disabled], .button.clear.white.disabled:hover, .button.clear.white[disabled]:hover, .button.clear.white.disabled:focus, .button.clear.white[disabled]:focus {
    color: #f8f8f8; }
  .button.clear.white:hover, .button.clear.white:focus {
    color: #7c7c7c; }
  .button.clear.black, .button.clear.black.disabled, .button.clear.black[disabled], .button.clear.black.disabled:hover, .button.clear.black[disabled]:hover, .button.clear.black.disabled:focus, .button.clear.black[disabled]:focus {
    color: #161616; }
  .button.clear.black:hover, .button.clear.black:focus {
    color: #0b0b0b; }
  .button.clear.castleford-blue, .button.clear.castleford-blue.disabled, .button.clear.castleford-blue[disabled], .button.clear.castleford-blue.disabled:hover, .button.clear.castleford-blue[disabled]:hover, .button.clear.castleford-blue.disabled:focus, .button.clear.castleford-blue[disabled]:focus {
    color: #0081D6; }
  .button.clear.castleford-blue:hover, .button.clear.castleford-blue:focus {
    color: #00416b; }
  .button.clear.castleford-dark-blue, .button.clear.castleford-dark-blue.disabled, .button.clear.castleford-dark-blue[disabled], .button.clear.castleford-dark-blue.disabled:hover, .button.clear.castleford-dark-blue[disabled]:hover, .button.clear.castleford-dark-blue.disabled:focus, .button.clear.castleford-dark-blue[disabled]:focus {
    color: #00122B; }
  .button.clear.castleford-dark-blue:hover, .button.clear.castleford-dark-blue:focus {
    color: #000916; }
  .button.clear.selby-red, .button.clear.selby-red.disabled, .button.clear.selby-red[disabled], .button.clear.selby-red.disabled:hover, .button.clear.selby-red[disabled]:hover, .button.clear.selby-red.disabled:focus, .button.clear.selby-red[disabled]:focus {
    color: #CD1619; }
  .button.clear.selby-red:hover, .button.clear.selby-red:focus {
    color: #670b0d; }
  .button.clear.selby-dark-red, .button.clear.selby-dark-red.disabled, .button.clear.selby-dark-red[disabled], .button.clear.selby-dark-red.disabled:hover, .button.clear.selby-dark-red[disabled]:hover, .button.clear.selby-dark-red.disabled:focus, .button.clear.selby-dark-red[disabled]:focus {
    color: #340200; }
  .button.clear.selby-dark-red:hover, .button.clear.selby-dark-red:focus {
    color: #1a0100; }
  .button.clear.wakefield-green, .button.clear.wakefield-green.disabled, .button.clear.wakefield-green[disabled], .button.clear.wakefield-green.disabled:hover, .button.clear.wakefield-green[disabled]:hover, .button.clear.wakefield-green.disabled:focus, .button.clear.wakefield-green[disabled]:focus {
    color: #36AE72; }
  .button.clear.wakefield-green:hover, .button.clear.wakefield-green:focus {
    color: #1b5739; }
  .button.clear.wakefield-dark-green, .button.clear.wakefield-dark-green.disabled, .button.clear.wakefield-dark-green[disabled], .button.clear.wakefield-dark-green.disabled:hover, .button.clear.wakefield-dark-green[disabled]:hover, .button.clear.wakefield-dark-green.disabled:focus, .button.clear.wakefield-dark-green[disabled]:focus {
    color: #002A16; }
  .button.clear.wakefield-dark-green:hover, .button.clear.wakefield-dark-green:focus {
    color: #00150b; }
  .button.clear.hoy-blue, .button.clear.hoy-blue.disabled, .button.clear.hoy-blue[disabled], .button.clear.hoy-blue.disabled:hover, .button.clear.hoy-blue[disabled]:hover, .button.clear.hoy-blue.disabled:focus, .button.clear.hoy-blue[disabled]:focus {
    color: #1c4760; }
  .button.clear.hoy-blue:hover, .button.clear.hoy-blue:focus {
    color: #0e2430; }
  .button.clear.hoy-pink, .button.clear.hoy-pink.disabled, .button.clear.hoy-pink[disabled], .button.clear.hoy-pink.disabled:hover, .button.clear.hoy-pink[disabled]:hover, .button.clear.hoy-pink.disabled:focus, .button.clear.hoy-pink[disabled]:focus {
    color: #a12471; }
  .button.clear.hoy-pink:hover, .button.clear.hoy-pink:focus {
    color: #511239; }
  .button.clear.hoy-purple, .button.clear.hoy-purple.disabled, .button.clear.hoy-purple[disabled], .button.clear.hoy-purple.disabled:hover, .button.clear.hoy-purple[disabled]:hover, .button.clear.hoy-purple.disabled:focus, .button.clear.hoy-purple[disabled]:focus {
    color: #571d42; }
  .button.clear.hoy-purple:hover, .button.clear.hoy-purple:focus {
    color: #2c0f21; }
  .button.clear.hoy-yellow, .button.clear.hoy-yellow.disabled, .button.clear.hoy-yellow[disabled], .button.clear.hoy-yellow.disabled:hover, .button.clear.hoy-yellow[disabled]:hover, .button.clear.hoy-yellow.disabled:focus, .button.clear.hoy-yellow[disabled]:focus {
    color: #fdb521; }
  .button.clear.hoy-yellow:hover, .button.clear.hoy-yellow:focus {
    color: #8e6001; }
  .button.clear.hoy-grey, .button.clear.hoy-grey.disabled, .button.clear.hoy-grey[disabled], .button.clear.hoy-grey.disabled:hover, .button.clear.hoy-grey[disabled]:hover, .button.clear.hoy-grey.disabled:focus, .button.clear.hoy-grey[disabled]:focus {
    color: #6a7883; }
  .button.clear.hoy-grey:hover, .button.clear.hoy-grey:focus {
    color: #353c42; }
  .button.clear.hoy-brown, .button.clear.hoy-brown.disabled, .button.clear.hoy-brown[disabled], .button.clear.hoy-brown.disabled:hover, .button.clear.hoy-brown[disabled]:hover, .button.clear.hoy-brown.disabled:focus, .button.clear.hoy-brown[disabled]:focus {
    color: #82764c; }
  .button.clear.hoy-brown:hover, .button.clear.hoy-brown:focus {
    color: #413b26; }
  .button.clear.adult-purple, .button.clear.adult-purple.disabled, .button.clear.adult-purple[disabled], .button.clear.adult-purple.disabled:hover, .button.clear.adult-purple[disabled]:hover, .button.clear.adult-purple.disabled:focus, .button.clear.adult-purple[disabled]:focus {
    color: #7f1e49; }
  .button.clear.adult-purple:hover, .button.clear.adult-purple:focus {
    color: #400f25; }
  .button.clear.adult-dark-purple, .button.clear.adult-dark-purple.disabled, .button.clear.adult-dark-purple[disabled], .button.clear.adult-dark-purple.disabled:hover, .button.clear.adult-dark-purple[disabled]:hover, .button.clear.adult-dark-purple.disabled:focus, .button.clear.adult-dark-purple[disabled]:focus {
    color: #250a36; }
  .button.clear.adult-dark-purple:hover, .button.clear.adult-dark-purple:focus {
    color: #13051b; }
  .button.clear.adult-blue, .button.clear.adult-blue.disabled, .button.clear.adult-blue[disabled], .button.clear.adult-blue.disabled:hover, .button.clear.adult-blue[disabled]:hover, .button.clear.adult-blue.disabled:focus, .button.clear.adult-blue[disabled]:focus {
    color: #3f8dac; }
  .button.clear.adult-blue:hover, .button.clear.adult-blue:focus {
    color: #204756; }
  .button.clear.apprenticeships-orange, .button.clear.apprenticeships-orange.disabled, .button.clear.apprenticeships-orange[disabled], .button.clear.apprenticeships-orange.disabled:hover, .button.clear.apprenticeships-orange[disabled]:hover, .button.clear.apprenticeships-orange.disabled:focus, .button.clear.apprenticeships-orange[disabled]:focus {
    color: #f7941d; }
  .button.clear.apprenticeships-orange:hover, .button.clear.apprenticeships-orange:focus {
    color: #854b05; }
  .button.clear.employers-dark-blue, .button.clear.employers-dark-blue.disabled, .button.clear.employers-dark-blue[disabled], .button.clear.employers-dark-blue.disabled:hover, .button.clear.employers-dark-blue[disabled]:hover, .button.clear.employers-dark-blue.disabled:focus, .button.clear.employers-dark-blue[disabled]:focus {
    color: #00454b; }
  .button.clear.employers-dark-blue:hover, .button.clear.employers-dark-blue:focus {
    color: #002326; }
  .button.clear.employers-light-blue, .button.clear.employers-light-blue.disabled, .button.clear.employers-light-blue[disabled], .button.clear.employers-light-blue.disabled:hover, .button.clear.employers-light-blue[disabled]:hover, .button.clear.employers-light-blue.disabled:focus, .button.clear.employers-light-blue[disabled]:focus {
    color: #65989f; }
  .button.clear.employers-light-blue:hover, .button.clear.employers-light-blue:focus {
    color: #324c50; }
  .button.clear.offWhite, .button.clear.offWhite.disabled, .button.clear.offWhite[disabled], .button.clear.offWhite.disabled:hover, .button.clear.offWhite[disabled]:hover, .button.clear.offWhite.disabled:focus, .button.clear.offWhite[disabled]:focus {
    color: #F0F0F0; }
  .button.clear.offWhite:hover, .button.clear.offWhite:focus {
    color: #787878; }
  .button.clear.dark-grey, .button.clear.dark-grey.disabled, .button.clear.dark-grey[disabled], .button.clear.dark-grey.disabled:hover, .button.clear.dark-grey[disabled]:hover, .button.clear.dark-grey.disabled:focus, .button.clear.dark-grey[disabled]:focus {
    color: #333; }
  .button.clear.dark-grey:hover, .button.clear.dark-grey:focus {
    color: #1a1a1a; }
  .button.clear.dark-blue, .button.clear.dark-blue.disabled, .button.clear.dark-blue[disabled], .button.clear.dark-blue.disabled:hover, .button.clear.dark-blue[disabled]:hover, .button.clear.dark-blue.disabled:focus, .button.clear.dark-blue[disabled]:focus {
    color: #0e2330; }
  .button.clear.dark-blue:hover, .button.clear.dark-blue:focus {
    color: #071218; }
  .button.clear.elements-orange, .button.clear.elements-orange.disabled, .button.clear.elements-orange[disabled], .button.clear.elements-orange.disabled:hover, .button.clear.elements-orange[disabled]:hover, .button.clear.elements-orange.disabled:focus, .button.clear.elements-orange[disabled]:focus {
    color: #f15a3b; }
  .button.clear.elements-orange:hover, .button.clear.elements-orange:focus {
    color: #8c200a; }
  .button.clear.elements-green, .button.clear.elements-green.disabled, .button.clear.elements-green[disabled], .button.clear.elements-green.disabled:hover, .button.clear.elements-green[disabled]:hover, .button.clear.elements-green.disabled:focus, .button.clear.elements-green[disabled]:focus {
    color: #4a8b74; }
  .button.clear.elements-green:hover, .button.clear.elements-green:focus {
    color: #25463a; }
  .button.clear.aspire-blue, .button.clear.aspire-blue.disabled, .button.clear.aspire-blue[disabled], .button.clear.aspire-blue.disabled:hover, .button.clear.aspire-blue[disabled]:hover, .button.clear.aspire-blue.disabled:focus, .button.clear.aspire-blue[disabled]:focus {
    color: #3b2f59; }
  .button.clear.aspire-blue:hover, .button.clear.aspire-blue:focus {
    color: #1e182d; }
  .button.clear.aspire-purple, .button.clear.aspire-purple.disabled, .button.clear.aspire-purple[disabled], .button.clear.aspire-purple.disabled:hover, .button.clear.aspire-purple[disabled]:hover, .button.clear.aspire-purple.disabled:focus, .button.clear.aspire-purple[disabled]:focus {
    color: #5c1b46; }
  .button.clear.aspire-purple:hover, .button.clear.aspire-purple:focus {
    color: #2e0e23; }
  .button.clear.elements-aspire-white, .button.clear.elements-aspire-white.disabled, .button.clear.elements-aspire-white[disabled], .button.clear.elements-aspire-white.disabled:hover, .button.clear.elements-aspire-white[disabled]:hover, .button.clear.elements-aspire-white.disabled:focus, .button.clear.elements-aspire-white[disabled]:focus {
    color: #fff3d0; }
  .button.clear.elements-aspire-white:hover, .button.clear.elements-aspire-white:focus {
    color: #e8ac00; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.4em;
    content: '';
    border-bottom-width: 0;
    border-color: #f8f8f8 transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 0.9375rem; }
  .button.dropdown.hollow::after, .button.dropdown.clear::after {
    border-top-color: #a12471; }
  .button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {
    border-top-color: #a12471; }
  .button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {
    border-top-color: #767676; }
  .button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {
    border-top-color: #cc4b37; }
  .button.dropdown.hollow.white::after, .button.dropdown.clear.white::after {
    border-top-color: #f8f8f8; }
  .button.dropdown.hollow.black::after, .button.dropdown.clear.black::after {
    border-top-color: #161616; }
  .button.dropdown.hollow.castleford-blue::after, .button.dropdown.clear.castleford-blue::after {
    border-top-color: #0081D6; }
  .button.dropdown.hollow.castleford-dark-blue::after, .button.dropdown.clear.castleford-dark-blue::after {
    border-top-color: #00122B; }
  .button.dropdown.hollow.selby-red::after, .button.dropdown.clear.selby-red::after {
    border-top-color: #CD1619; }
  .button.dropdown.hollow.selby-dark-red::after, .button.dropdown.clear.selby-dark-red::after {
    border-top-color: #340200; }
  .button.dropdown.hollow.wakefield-green::after, .button.dropdown.clear.wakefield-green::after {
    border-top-color: #36AE72; }
  .button.dropdown.hollow.wakefield-dark-green::after, .button.dropdown.clear.wakefield-dark-green::after {
    border-top-color: #002A16; }
  .button.dropdown.hollow.hoy-blue::after, .button.dropdown.clear.hoy-blue::after {
    border-top-color: #1c4760; }
  .button.dropdown.hollow.hoy-pink::after, .button.dropdown.clear.hoy-pink::after {
    border-top-color: #a12471; }
  .button.dropdown.hollow.hoy-purple::after, .button.dropdown.clear.hoy-purple::after {
    border-top-color: #571d42; }
  .button.dropdown.hollow.hoy-yellow::after, .button.dropdown.clear.hoy-yellow::after {
    border-top-color: #fdb521; }
  .button.dropdown.hollow.hoy-grey::after, .button.dropdown.clear.hoy-grey::after {
    border-top-color: #6a7883; }
  .button.dropdown.hollow.hoy-brown::after, .button.dropdown.clear.hoy-brown::after {
    border-top-color: #82764c; }
  .button.dropdown.hollow.adult-purple::after, .button.dropdown.clear.adult-purple::after {
    border-top-color: #7f1e49; }
  .button.dropdown.hollow.adult-dark-purple::after, .button.dropdown.clear.adult-dark-purple::after {
    border-top-color: #250a36; }
  .button.dropdown.hollow.adult-blue::after, .button.dropdown.clear.adult-blue::after {
    border-top-color: #3f8dac; }
  .button.dropdown.hollow.apprenticeships-orange::after, .button.dropdown.clear.apprenticeships-orange::after {
    border-top-color: #f7941d; }
  .button.dropdown.hollow.employers-dark-blue::after, .button.dropdown.clear.employers-dark-blue::after {
    border-top-color: #00454b; }
  .button.dropdown.hollow.employers-light-blue::after, .button.dropdown.clear.employers-light-blue::after {
    border-top-color: #65989f; }
  .button.dropdown.hollow.offWhite::after, .button.dropdown.clear.offWhite::after {
    border-top-color: #F0F0F0; }
  .button.dropdown.hollow.dark-grey::after, .button.dropdown.clear.dark-grey::after {
    border-top-color: #333; }
  .button.dropdown.hollow.dark-blue::after, .button.dropdown.clear.dark-blue::after {
    border-top-color: #0e2330; }
  .button.dropdown.hollow.elements-orange::after, .button.dropdown.clear.elements-orange::after {
    border-top-color: #f15a3b; }
  .button.dropdown.hollow.elements-green::after, .button.dropdown.clear.elements-green::after {
    border-top-color: #4a8b74; }
  .button.dropdown.hollow.aspire-blue::after, .button.dropdown.clear.aspire-blue::after {
    border-top-color: #3b2f59; }
  .button.dropdown.hollow.aspire-purple::after, .button.dropdown.clear.aspire-purple::after {
    border-top-color: #5c1b46; }
  .button.dropdown.hollow.elements-aspire-white::after, .button.dropdown.clear.elements-aspire-white::after {
    border-top-color: #fff3d0; }
  .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: 0.9375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .button-group::after {
    clear: both; }
  .button-group::before, .button-group::after {
    display: none; }
  .button-group .button {
    margin: 0;
    margin-right: 0.9375rem;
    margin-bottom: 0.9375rem;
    font-size: 1.125rem;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 1rem; }
  .button-group.large .button {
    font-size: 1.125rem; }
  .button-group.expanded .button {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .button-group.primary .button, .button-group.primary .button.disabled, .button-group.primary .button[disabled], .button-group.primary .button.disabled:hover, .button-group.primary .button[disabled]:hover, .button-group.primary .button.disabled:focus, .button-group.primary .button[disabled]:focus {
    background-color: #a12471;
    color: #f8f8f8; }
  .button-group.primary .button:hover, .button-group.primary .button:focus {
    background-color: #811d5a;
    color: #f8f8f8; }
  .button-group.secondary .button, .button-group.secondary .button.disabled, .button-group.secondary .button[disabled], .button-group.secondary .button.disabled:hover, .button-group.secondary .button[disabled]:hover, .button-group.secondary .button.disabled:focus, .button-group.secondary .button[disabled]:focus {
    background-color: #767676;
    color: #f8f8f8; }
  .button-group.secondary .button:hover, .button-group.secondary .button:focus {
    background-color: #5e5e5e;
    color: #f8f8f8; }
  .button-group.success .button, .button-group.success .button.disabled, .button-group.success .button[disabled], .button-group.success .button.disabled:hover, .button-group.success .button[disabled]:hover, .button-group.success .button.disabled:focus, .button-group.success .button[disabled]:focus {
    background-color: #3adb76;
    color: #161616; }
  .button-group.success .button:hover, .button-group.success .button:focus {
    background-color: #22bb5b;
    color: #161616; }
  .button-group.warning .button, .button-group.warning .button.disabled, .button-group.warning .button[disabled], .button-group.warning .button.disabled:hover, .button-group.warning .button[disabled]:hover, .button-group.warning .button.disabled:focus, .button-group.warning .button[disabled]:focus {
    background-color: #ffae00;
    color: #161616; }
  .button-group.warning .button:hover, .button-group.warning .button:focus {
    background-color: #cc8b00;
    color: #161616; }
  .button-group.alert .button, .button-group.alert .button.disabled, .button-group.alert .button[disabled], .button-group.alert .button.disabled:hover, .button-group.alert .button[disabled]:hover, .button-group.alert .button.disabled:focus, .button-group.alert .button[disabled]:focus {
    background-color: #cc4b37;
    color: #f8f8f8; }
  .button-group.alert .button:hover, .button-group.alert .button:focus {
    background-color: #a53b2a;
    color: #f8f8f8; }
  .button-group.white .button, .button-group.white .button.disabled, .button-group.white .button[disabled], .button-group.white .button.disabled:hover, .button-group.white .button[disabled]:hover, .button-group.white .button.disabled:focus, .button-group.white .button[disabled]:focus {
    background-color: #f8f8f8;
    color: #161616; }
  .button-group.white .button:hover, .button-group.white .button:focus {
    background-color: #c6c6c6;
    color: #161616; }
  .button-group.black .button, .button-group.black .button.disabled, .button-group.black .button[disabled], .button-group.black .button.disabled:hover, .button-group.black .button[disabled]:hover, .button-group.black .button.disabled:focus, .button-group.black .button[disabled]:focus {
    background-color: #161616;
    color: #f8f8f8; }
  .button-group.black .button:hover, .button-group.black .button:focus {
    background-color: #121212;
    color: #f8f8f8; }
  .button-group.castleford-blue .button, .button-group.castleford-blue .button.disabled, .button-group.castleford-blue .button[disabled], .button-group.castleford-blue .button.disabled:hover, .button-group.castleford-blue .button[disabled]:hover, .button-group.castleford-blue .button.disabled:focus, .button-group.castleford-blue .button[disabled]:focus {
    background-color: #0081D6;
    color: #f8f8f8; }
  .button-group.castleford-blue .button:hover, .button-group.castleford-blue .button:focus {
    background-color: #0067ab;
    color: #f8f8f8; }
  .button-group.castleford-dark-blue .button, .button-group.castleford-dark-blue .button.disabled, .button-group.castleford-dark-blue .button[disabled], .button-group.castleford-dark-blue .button.disabled:hover, .button-group.castleford-dark-blue .button[disabled]:hover, .button-group.castleford-dark-blue .button.disabled:focus, .button-group.castleford-dark-blue .button[disabled]:focus {
    background-color: #00122B;
    color: #f8f8f8; }
  .button-group.castleford-dark-blue .button:hover, .button-group.castleford-dark-blue .button:focus {
    background-color: #000e22;
    color: #f8f8f8; }
  .button-group.selby-red .button, .button-group.selby-red .button.disabled, .button-group.selby-red .button[disabled], .button-group.selby-red .button.disabled:hover, .button-group.selby-red .button[disabled]:hover, .button-group.selby-red .button.disabled:focus, .button-group.selby-red .button[disabled]:focus {
    background-color: #CD1619;
    color: #f8f8f8; }
  .button-group.selby-red .button:hover, .button-group.selby-red .button:focus {
    background-color: #a41214;
    color: #f8f8f8; }
  .button-group.selby-dark-red .button, .button-group.selby-dark-red .button.disabled, .button-group.selby-dark-red .button[disabled], .button-group.selby-dark-red .button.disabled:hover, .button-group.selby-dark-red .button[disabled]:hover, .button-group.selby-dark-red .button.disabled:focus, .button-group.selby-dark-red .button[disabled]:focus {
    background-color: #340200;
    color: #f8f8f8; }
  .button-group.selby-dark-red .button:hover, .button-group.selby-dark-red .button:focus {
    background-color: #2a0200;
    color: #f8f8f8; }
  .button-group.wakefield-green .button, .button-group.wakefield-green .button.disabled, .button-group.wakefield-green .button[disabled], .button-group.wakefield-green .button.disabled:hover, .button-group.wakefield-green .button[disabled]:hover, .button-group.wakefield-green .button.disabled:focus, .button-group.wakefield-green .button[disabled]:focus {
    background-color: #36AE72;
    color: #161616; }
  .button-group.wakefield-green .button:hover, .button-group.wakefield-green .button:focus {
    background-color: #2b8b5b;
    color: #161616; }
  .button-group.wakefield-dark-green .button, .button-group.wakefield-dark-green .button.disabled, .button-group.wakefield-dark-green .button[disabled], .button-group.wakefield-dark-green .button.disabled:hover, .button-group.wakefield-dark-green .button[disabled]:hover, .button-group.wakefield-dark-green .button.disabled:focus, .button-group.wakefield-dark-green .button[disabled]:focus {
    background-color: #002A16;
    color: #f8f8f8; }
  .button-group.wakefield-dark-green .button:hover, .button-group.wakefield-dark-green .button:focus {
    background-color: #002212;
    color: #f8f8f8; }
  .button-group.hoy-blue .button, .button-group.hoy-blue .button.disabled, .button-group.hoy-blue .button[disabled], .button-group.hoy-blue .button.disabled:hover, .button-group.hoy-blue .button[disabled]:hover, .button-group.hoy-blue .button.disabled:focus, .button-group.hoy-blue .button[disabled]:focus {
    background-color: #1c4760;
    color: #f8f8f8; }
  .button-group.hoy-blue .button:hover, .button-group.hoy-blue .button:focus {
    background-color: #16394d;
    color: #f8f8f8; }
  .button-group.hoy-pink .button, .button-group.hoy-pink .button.disabled, .button-group.hoy-pink .button[disabled], .button-group.hoy-pink .button.disabled:hover, .button-group.hoy-pink .button[disabled]:hover, .button-group.hoy-pink .button.disabled:focus, .button-group.hoy-pink .button[disabled]:focus {
    background-color: #a12471;
    color: #f8f8f8; }
  .button-group.hoy-pink .button:hover, .button-group.hoy-pink .button:focus {
    background-color: #811d5a;
    color: #f8f8f8; }
  .button-group.hoy-purple .button, .button-group.hoy-purple .button.disabled, .button-group.hoy-purple .button[disabled], .button-group.hoy-purple .button.disabled:hover, .button-group.hoy-purple .button[disabled]:hover, .button-group.hoy-purple .button.disabled:focus, .button-group.hoy-purple .button[disabled]:focus {
    background-color: #571d42;
    color: #f8f8f8; }
  .button-group.hoy-purple .button:hover, .button-group.hoy-purple .button:focus {
    background-color: #461735;
    color: #f8f8f8; }
  .button-group.hoy-yellow .button, .button-group.hoy-yellow .button.disabled, .button-group.hoy-yellow .button[disabled], .button-group.hoy-yellow .button.disabled:hover, .button-group.hoy-yellow .button[disabled]:hover, .button-group.hoy-yellow .button.disabled:focus, .button-group.hoy-yellow .button[disabled]:focus {
    background-color: #fdb521;
    color: #161616; }
  .button-group.hoy-yellow .button:hover, .button-group.hoy-yellow .button:focus {
    background-color: #e39902;
    color: #161616; }
  .button-group.hoy-grey .button, .button-group.hoy-grey .button.disabled, .button-group.hoy-grey .button[disabled], .button-group.hoy-grey .button.disabled:hover, .button-group.hoy-grey .button[disabled]:hover, .button-group.hoy-grey .button.disabled:focus, .button-group.hoy-grey .button[disabled]:focus {
    background-color: #6a7883;
    color: #f8f8f8; }
  .button-group.hoy-grey .button:hover, .button-group.hoy-grey .button:focus {
    background-color: #556069;
    color: #f8f8f8; }
  .button-group.hoy-brown .button, .button-group.hoy-brown .button.disabled, .button-group.hoy-brown .button[disabled], .button-group.hoy-brown .button.disabled:hover, .button-group.hoy-brown .button[disabled]:hover, .button-group.hoy-brown .button.disabled:focus, .button-group.hoy-brown .button[disabled]:focus {
    background-color: #82764c;
    color: #f8f8f8; }
  .button-group.hoy-brown .button:hover, .button-group.hoy-brown .button:focus {
    background-color: #685e3d;
    color: #f8f8f8; }
  .button-group.adult-purple .button, .button-group.adult-purple .button.disabled, .button-group.adult-purple .button[disabled], .button-group.adult-purple .button.disabled:hover, .button-group.adult-purple .button[disabled]:hover, .button-group.adult-purple .button.disabled:focus, .button-group.adult-purple .button[disabled]:focus {
    background-color: #7f1e49;
    color: #f8f8f8; }
  .button-group.adult-purple .button:hover, .button-group.adult-purple .button:focus {
    background-color: #66183a;
    color: #f8f8f8; }
  .button-group.adult-dark-purple .button, .button-group.adult-dark-purple .button.disabled, .button-group.adult-dark-purple .button[disabled], .button-group.adult-dark-purple .button.disabled:hover, .button-group.adult-dark-purple .button[disabled]:hover, .button-group.adult-dark-purple .button.disabled:focus, .button-group.adult-dark-purple .button[disabled]:focus {
    background-color: #250a36;
    color: #f8f8f8; }
  .button-group.adult-dark-purple .button:hover, .button-group.adult-dark-purple .button:focus {
    background-color: #1e082b;
    color: #f8f8f8; }
  .button-group.adult-blue .button, .button-group.adult-blue .button.disabled, .button-group.adult-blue .button[disabled], .button-group.adult-blue .button.disabled:hover, .button-group.adult-blue .button[disabled]:hover, .button-group.adult-blue .button.disabled:focus, .button-group.adult-blue .button[disabled]:focus {
    background-color: #3f8dac;
    color: #161616; }
  .button-group.adult-blue .button:hover, .button-group.adult-blue .button:focus {
    background-color: #32718a;
    color: #161616; }
  .button-group.apprenticeships-orange .button, .button-group.apprenticeships-orange .button.disabled, .button-group.apprenticeships-orange .button[disabled], .button-group.apprenticeships-orange .button.disabled:hover, .button-group.apprenticeships-orange .button[disabled]:hover, .button-group.apprenticeships-orange .button.disabled:focus, .button-group.apprenticeships-orange .button[disabled]:focus {
    background-color: #f7941d;
    color: #161616; }
  .button-group.apprenticeships-orange .button:hover, .button-group.apprenticeships-orange .button:focus {
    background-color: #d57808;
    color: #161616; }
  .button-group.employers-dark-blue .button, .button-group.employers-dark-blue .button.disabled, .button-group.employers-dark-blue .button[disabled], .button-group.employers-dark-blue .button.disabled:hover, .button-group.employers-dark-blue .button[disabled]:hover, .button-group.employers-dark-blue .button.disabled:focus, .button-group.employers-dark-blue .button[disabled]:focus {
    background-color: #00454b;
    color: #f8f8f8; }
  .button-group.employers-dark-blue .button:hover, .button-group.employers-dark-blue .button:focus {
    background-color: #00373c;
    color: #f8f8f8; }
  .button-group.employers-light-blue .button, .button-group.employers-light-blue .button.disabled, .button-group.employers-light-blue .button[disabled], .button-group.employers-light-blue .button.disabled:hover, .button-group.employers-light-blue .button[disabled]:hover, .button-group.employers-light-blue .button.disabled:focus, .button-group.employers-light-blue .button[disabled]:focus {
    background-color: #65989f;
    color: #161616; }
  .button-group.employers-light-blue .button:hover, .button-group.employers-light-blue .button:focus {
    background-color: #507a80;
    color: #161616; }
  .button-group.offWhite .button, .button-group.offWhite .button.disabled, .button-group.offWhite .button[disabled], .button-group.offWhite .button.disabled:hover, .button-group.offWhite .button[disabled]:hover, .button-group.offWhite .button.disabled:focus, .button-group.offWhite .button[disabled]:focus {
    background-color: #F0F0F0;
    color: #161616; }
  .button-group.offWhite .button:hover, .button-group.offWhite .button:focus {
    background-color: silver;
    color: #161616; }
  .button-group.dark-grey .button, .button-group.dark-grey .button.disabled, .button-group.dark-grey .button[disabled], .button-group.dark-grey .button.disabled:hover, .button-group.dark-grey .button[disabled]:hover, .button-group.dark-grey .button.disabled:focus, .button-group.dark-grey .button[disabled]:focus {
    background-color: #333;
    color: #f8f8f8; }
  .button-group.dark-grey .button:hover, .button-group.dark-grey .button:focus {
    background-color: #292929;
    color: #f8f8f8; }
  .button-group.dark-blue .button, .button-group.dark-blue .button.disabled, .button-group.dark-blue .button[disabled], .button-group.dark-blue .button.disabled:hover, .button-group.dark-blue .button[disabled]:hover, .button-group.dark-blue .button.disabled:focus, .button-group.dark-blue .button[disabled]:focus {
    background-color: #0e2330;
    color: #f8f8f8; }
  .button-group.dark-blue .button:hover, .button-group.dark-blue .button:focus {
    background-color: #0b1c26;
    color: #f8f8f8; }
  .button-group.elements-orange .button, .button-group.elements-orange .button.disabled, .button-group.elements-orange .button[disabled], .button-group.elements-orange .button.disabled:hover, .button-group.elements-orange .button[disabled]:hover, .button-group.elements-orange .button.disabled:focus, .button-group.elements-orange .button[disabled]:focus {
    background-color: #f15a3b;
    color: #161616; }
  .button-group.elements-orange .button:hover, .button-group.elements-orange .button:focus {
    background-color: #e03310;
    color: #161616; }
  .button-group.elements-green .button, .button-group.elements-green .button.disabled, .button-group.elements-green .button[disabled], .button-group.elements-green .button.disabled:hover, .button-group.elements-green .button[disabled]:hover, .button-group.elements-green .button.disabled:focus, .button-group.elements-green .button[disabled]:focus {
    background-color: #4a8b74;
    color: #f8f8f8; }
  .button-group.elements-green .button:hover, .button-group.elements-green .button:focus {
    background-color: #3b6f5d;
    color: #f8f8f8; }
  .button-group.aspire-blue .button, .button-group.aspire-blue .button.disabled, .button-group.aspire-blue .button[disabled], .button-group.aspire-blue .button.disabled:hover, .button-group.aspire-blue .button[disabled]:hover, .button-group.aspire-blue .button.disabled:focus, .button-group.aspire-blue .button[disabled]:focus {
    background-color: #3b2f59;
    color: #f8f8f8; }
  .button-group.aspire-blue .button:hover, .button-group.aspire-blue .button:focus {
    background-color: #2f2647;
    color: #f8f8f8; }
  .button-group.aspire-purple .button, .button-group.aspire-purple .button.disabled, .button-group.aspire-purple .button[disabled], .button-group.aspire-purple .button.disabled:hover, .button-group.aspire-purple .button[disabled]:hover, .button-group.aspire-purple .button.disabled:focus, .button-group.aspire-purple .button[disabled]:focus {
    background-color: #5c1b46;
    color: #f8f8f8; }
  .button-group.aspire-purple .button:hover, .button-group.aspire-purple .button:focus {
    background-color: #4a1638;
    color: #f8f8f8; }
  .button-group.elements-aspire-white .button, .button-group.elements-aspire-white .button.disabled, .button-group.elements-aspire-white .button[disabled], .button-group.elements-aspire-white .button.disabled:hover, .button-group.elements-aspire-white .button[disabled]:hover, .button-group.elements-aspire-white .button.disabled:focus, .button-group.elements-aspire-white .button[disabled]:focus {
    background-color: #fff3d0;
    color: #161616; }
  .button-group.elements-aspire-white .button:hover, .button-group.elements-aspire-white .button:focus {
    background-color: #ffdb73;
    color: #161616; }
  .button-group.hollow .button, .button-group.hollow .button:hover, .button-group.hollow .button:focus, .button-group.hollow .button.disabled, .button-group.hollow .button.disabled:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .button[disabled], .button-group.hollow .button[disabled]:hover, .button-group.hollow .button[disabled]:focus {
    background-color: transparent; }
  .button-group.hollow .button, .button-group.hollow .button.disabled, .button-group.hollow .button[disabled], .button-group.hollow .button.disabled:hover, .button-group.hollow .button[disabled]:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .button[disabled]:focus {
    border: 2px solid #a12471;
    color: #a12471; }
  .button-group.hollow .button:hover, .button-group.hollow .button:focus {
    border-color: #511239;
    color: #511239; }
  .button-group.hollow.primary .button, .button-group.hollow.primary .button.disabled, .button-group.hollow.primary .button[disabled], .button-group.hollow.primary .button.disabled:hover, .button-group.hollow.primary .button[disabled]:hover, .button-group.hollow.primary .button.disabled:focus, .button-group.hollow.primary .button[disabled]:focus, .button-group.hollow .button.primary, .button-group.hollow .button.primary.disabled, .button-group.hollow .button.primary[disabled], .button-group.hollow .button.primary.disabled:hover, .button-group.hollow .button.primary[disabled]:hover, .button-group.hollow .button.primary.disabled:focus, .button-group.hollow .button.primary[disabled]:focus {
    border: 2px solid #a12471;
    color: #a12471; }
  .button-group.hollow.primary .button:hover, .button-group.hollow.primary .button:focus, .button-group.hollow .button.primary:hover, .button-group.hollow .button.primary:focus {
    border-color: #511239;
    color: #511239; }
  .button-group.hollow.secondary .button, .button-group.hollow.secondary .button.disabled, .button-group.hollow.secondary .button[disabled], .button-group.hollow.secondary .button.disabled:hover, .button-group.hollow.secondary .button[disabled]:hover, .button-group.hollow.secondary .button.disabled:focus, .button-group.hollow.secondary .button[disabled]:focus, .button-group.hollow .button.secondary, .button-group.hollow .button.secondary.disabled, .button-group.hollow .button.secondary[disabled], .button-group.hollow .button.secondary.disabled:hover, .button-group.hollow .button.secondary[disabled]:hover, .button-group.hollow .button.secondary.disabled:focus, .button-group.hollow .button.secondary[disabled]:focus {
    border: 2px solid #767676;
    color: #767676; }
  .button-group.hollow.secondary .button:hover, .button-group.hollow.secondary .button:focus, .button-group.hollow .button.secondary:hover, .button-group.hollow .button.secondary:focus {
    border-color: #3b3b3b;
    color: #3b3b3b; }
  .button-group.hollow.success .button, .button-group.hollow.success .button.disabled, .button-group.hollow.success .button[disabled], .button-group.hollow.success .button.disabled:hover, .button-group.hollow.success .button[disabled]:hover, .button-group.hollow.success .button.disabled:focus, .button-group.hollow.success .button[disabled]:focus, .button-group.hollow .button.success, .button-group.hollow .button.success.disabled, .button-group.hollow .button.success[disabled], .button-group.hollow .button.success.disabled:hover, .button-group.hollow .button.success[disabled]:hover, .button-group.hollow .button.success.disabled:focus, .button-group.hollow .button.success[disabled]:focus {
    border: 2px solid #3adb76;
    color: #3adb76; }
  .button-group.hollow.success .button:hover, .button-group.hollow.success .button:focus, .button-group.hollow .button.success:hover, .button-group.hollow .button.success:focus {
    border-color: #157539;
    color: #157539; }
  .button-group.hollow.warning .button, .button-group.hollow.warning .button.disabled, .button-group.hollow.warning .button[disabled], .button-group.hollow.warning .button.disabled:hover, .button-group.hollow.warning .button[disabled]:hover, .button-group.hollow.warning .button.disabled:focus, .button-group.hollow.warning .button[disabled]:focus, .button-group.hollow .button.warning, .button-group.hollow .button.warning.disabled, .button-group.hollow .button.warning[disabled], .button-group.hollow .button.warning.disabled:hover, .button-group.hollow .button.warning[disabled]:hover, .button-group.hollow .button.warning.disabled:focus, .button-group.hollow .button.warning[disabled]:focus {
    border: 2px solid #ffae00;
    color: #ffae00; }
  .button-group.hollow.warning .button:hover, .button-group.hollow.warning .button:focus, .button-group.hollow .button.warning:hover, .button-group.hollow .button.warning:focus {
    border-color: #805700;
    color: #805700; }
  .button-group.hollow.alert .button, .button-group.hollow.alert .button.disabled, .button-group.hollow.alert .button[disabled], .button-group.hollow.alert .button.disabled:hover, .button-group.hollow.alert .button[disabled]:hover, .button-group.hollow.alert .button.disabled:focus, .button-group.hollow.alert .button[disabled]:focus, .button-group.hollow .button.alert, .button-group.hollow .button.alert.disabled, .button-group.hollow .button.alert[disabled], .button-group.hollow .button.alert.disabled:hover, .button-group.hollow .button.alert[disabled]:hover, .button-group.hollow .button.alert.disabled:focus, .button-group.hollow .button.alert[disabled]:focus {
    border: 2px solid #cc4b37;
    color: #cc4b37; }
  .button-group.hollow.alert .button:hover, .button-group.hollow.alert .button:focus, .button-group.hollow .button.alert:hover, .button-group.hollow .button.alert:focus {
    border-color: #67251a;
    color: #67251a; }
  .button-group.hollow.white .button, .button-group.hollow.white .button.disabled, .button-group.hollow.white .button[disabled], .button-group.hollow.white .button.disabled:hover, .button-group.hollow.white .button[disabled]:hover, .button-group.hollow.white .button.disabled:focus, .button-group.hollow.white .button[disabled]:focus, .button-group.hollow .button.white, .button-group.hollow .button.white.disabled, .button-group.hollow .button.white[disabled], .button-group.hollow .button.white.disabled:hover, .button-group.hollow .button.white[disabled]:hover, .button-group.hollow .button.white.disabled:focus, .button-group.hollow .button.white[disabled]:focus {
    border: 2px solid #f8f8f8;
    color: #f8f8f8; }
  .button-group.hollow.white .button:hover, .button-group.hollow.white .button:focus, .button-group.hollow .button.white:hover, .button-group.hollow .button.white:focus {
    border-color: #7c7c7c;
    color: #7c7c7c; }
  .button-group.hollow.black .button, .button-group.hollow.black .button.disabled, .button-group.hollow.black .button[disabled], .button-group.hollow.black .button.disabled:hover, .button-group.hollow.black .button[disabled]:hover, .button-group.hollow.black .button.disabled:focus, .button-group.hollow.black .button[disabled]:focus, .button-group.hollow .button.black, .button-group.hollow .button.black.disabled, .button-group.hollow .button.black[disabled], .button-group.hollow .button.black.disabled:hover, .button-group.hollow .button.black[disabled]:hover, .button-group.hollow .button.black.disabled:focus, .button-group.hollow .button.black[disabled]:focus {
    border: 2px solid #161616;
    color: #161616; }
  .button-group.hollow.black .button:hover, .button-group.hollow.black .button:focus, .button-group.hollow .button.black:hover, .button-group.hollow .button.black:focus {
    border-color: #0b0b0b;
    color: #0b0b0b; }
  .button-group.hollow.castleford-blue .button, .button-group.hollow.castleford-blue .button.disabled, .button-group.hollow.castleford-blue .button[disabled], .button-group.hollow.castleford-blue .button.disabled:hover, .button-group.hollow.castleford-blue .button[disabled]:hover, .button-group.hollow.castleford-blue .button.disabled:focus, .button-group.hollow.castleford-blue .button[disabled]:focus, .button-group.hollow .button.castleford-blue, .button-group.hollow .button.castleford-blue.disabled, .button-group.hollow .button.castleford-blue[disabled], .button-group.hollow .button.castleford-blue.disabled:hover, .button-group.hollow .button.castleford-blue[disabled]:hover, .button-group.hollow .button.castleford-blue.disabled:focus, .button-group.hollow .button.castleford-blue[disabled]:focus {
    border: 2px solid #0081D6;
    color: #0081D6; }
  .button-group.hollow.castleford-blue .button:hover, .button-group.hollow.castleford-blue .button:focus, .button-group.hollow .button.castleford-blue:hover, .button-group.hollow .button.castleford-blue:focus {
    border-color: #00416b;
    color: #00416b; }
  .button-group.hollow.castleford-dark-blue .button, .button-group.hollow.castleford-dark-blue .button.disabled, .button-group.hollow.castleford-dark-blue .button[disabled], .button-group.hollow.castleford-dark-blue .button.disabled:hover, .button-group.hollow.castleford-dark-blue .button[disabled]:hover, .button-group.hollow.castleford-dark-blue .button.disabled:focus, .button-group.hollow.castleford-dark-blue .button[disabled]:focus, .button-group.hollow .button.castleford-dark-blue, .button-group.hollow .button.castleford-dark-blue.disabled, .button-group.hollow .button.castleford-dark-blue[disabled], .button-group.hollow .button.castleford-dark-blue.disabled:hover, .button-group.hollow .button.castleford-dark-blue[disabled]:hover, .button-group.hollow .button.castleford-dark-blue.disabled:focus, .button-group.hollow .button.castleford-dark-blue[disabled]:focus {
    border: 2px solid #00122B;
    color: #00122B; }
  .button-group.hollow.castleford-dark-blue .button:hover, .button-group.hollow.castleford-dark-blue .button:focus, .button-group.hollow .button.castleford-dark-blue:hover, .button-group.hollow .button.castleford-dark-blue:focus {
    border-color: #000916;
    color: #000916; }
  .button-group.hollow.selby-red .button, .button-group.hollow.selby-red .button.disabled, .button-group.hollow.selby-red .button[disabled], .button-group.hollow.selby-red .button.disabled:hover, .button-group.hollow.selby-red .button[disabled]:hover, .button-group.hollow.selby-red .button.disabled:focus, .button-group.hollow.selby-red .button[disabled]:focus, .button-group.hollow .button.selby-red, .button-group.hollow .button.selby-red.disabled, .button-group.hollow .button.selby-red[disabled], .button-group.hollow .button.selby-red.disabled:hover, .button-group.hollow .button.selby-red[disabled]:hover, .button-group.hollow .button.selby-red.disabled:focus, .button-group.hollow .button.selby-red[disabled]:focus {
    border: 2px solid #CD1619;
    color: #CD1619; }
  .button-group.hollow.selby-red .button:hover, .button-group.hollow.selby-red .button:focus, .button-group.hollow .button.selby-red:hover, .button-group.hollow .button.selby-red:focus {
    border-color: #670b0d;
    color: #670b0d; }
  .button-group.hollow.selby-dark-red .button, .button-group.hollow.selby-dark-red .button.disabled, .button-group.hollow.selby-dark-red .button[disabled], .button-group.hollow.selby-dark-red .button.disabled:hover, .button-group.hollow.selby-dark-red .button[disabled]:hover, .button-group.hollow.selby-dark-red .button.disabled:focus, .button-group.hollow.selby-dark-red .button[disabled]:focus, .button-group.hollow .button.selby-dark-red, .button-group.hollow .button.selby-dark-red.disabled, .button-group.hollow .button.selby-dark-red[disabled], .button-group.hollow .button.selby-dark-red.disabled:hover, .button-group.hollow .button.selby-dark-red[disabled]:hover, .button-group.hollow .button.selby-dark-red.disabled:focus, .button-group.hollow .button.selby-dark-red[disabled]:focus {
    border: 2px solid #340200;
    color: #340200; }
  .button-group.hollow.selby-dark-red .button:hover, .button-group.hollow.selby-dark-red .button:focus, .button-group.hollow .button.selby-dark-red:hover, .button-group.hollow .button.selby-dark-red:focus {
    border-color: #1a0100;
    color: #1a0100; }
  .button-group.hollow.wakefield-green .button, .button-group.hollow.wakefield-green .button.disabled, .button-group.hollow.wakefield-green .button[disabled], .button-group.hollow.wakefield-green .button.disabled:hover, .button-group.hollow.wakefield-green .button[disabled]:hover, .button-group.hollow.wakefield-green .button.disabled:focus, .button-group.hollow.wakefield-green .button[disabled]:focus, .button-group.hollow .button.wakefield-green, .button-group.hollow .button.wakefield-green.disabled, .button-group.hollow .button.wakefield-green[disabled], .button-group.hollow .button.wakefield-green.disabled:hover, .button-group.hollow .button.wakefield-green[disabled]:hover, .button-group.hollow .button.wakefield-green.disabled:focus, .button-group.hollow .button.wakefield-green[disabled]:focus {
    border: 2px solid #36AE72;
    color: #36AE72; }
  .button-group.hollow.wakefield-green .button:hover, .button-group.hollow.wakefield-green .button:focus, .button-group.hollow .button.wakefield-green:hover, .button-group.hollow .button.wakefield-green:focus {
    border-color: #1b5739;
    color: #1b5739; }
  .button-group.hollow.wakefield-dark-green .button, .button-group.hollow.wakefield-dark-green .button.disabled, .button-group.hollow.wakefield-dark-green .button[disabled], .button-group.hollow.wakefield-dark-green .button.disabled:hover, .button-group.hollow.wakefield-dark-green .button[disabled]:hover, .button-group.hollow.wakefield-dark-green .button.disabled:focus, .button-group.hollow.wakefield-dark-green .button[disabled]:focus, .button-group.hollow .button.wakefield-dark-green, .button-group.hollow .button.wakefield-dark-green.disabled, .button-group.hollow .button.wakefield-dark-green[disabled], .button-group.hollow .button.wakefield-dark-green.disabled:hover, .button-group.hollow .button.wakefield-dark-green[disabled]:hover, .button-group.hollow .button.wakefield-dark-green.disabled:focus, .button-group.hollow .button.wakefield-dark-green[disabled]:focus {
    border: 2px solid #002A16;
    color: #002A16; }
  .button-group.hollow.wakefield-dark-green .button:hover, .button-group.hollow.wakefield-dark-green .button:focus, .button-group.hollow .button.wakefield-dark-green:hover, .button-group.hollow .button.wakefield-dark-green:focus {
    border-color: #00150b;
    color: #00150b; }
  .button-group.hollow.hoy-blue .button, .button-group.hollow.hoy-blue .button.disabled, .button-group.hollow.hoy-blue .button[disabled], .button-group.hollow.hoy-blue .button.disabled:hover, .button-group.hollow.hoy-blue .button[disabled]:hover, .button-group.hollow.hoy-blue .button.disabled:focus, .button-group.hollow.hoy-blue .button[disabled]:focus, .button-group.hollow .button.hoy-blue, .button-group.hollow .button.hoy-blue.disabled, .button-group.hollow .button.hoy-blue[disabled], .button-group.hollow .button.hoy-blue.disabled:hover, .button-group.hollow .button.hoy-blue[disabled]:hover, .button-group.hollow .button.hoy-blue.disabled:focus, .button-group.hollow .button.hoy-blue[disabled]:focus {
    border: 2px solid #1c4760;
    color: #1c4760; }
  .button-group.hollow.hoy-blue .button:hover, .button-group.hollow.hoy-blue .button:focus, .button-group.hollow .button.hoy-blue:hover, .button-group.hollow .button.hoy-blue:focus {
    border-color: #0e2430;
    color: #0e2430; }
  .button-group.hollow.hoy-pink .button, .button-group.hollow.hoy-pink .button.disabled, .button-group.hollow.hoy-pink .button[disabled], .button-group.hollow.hoy-pink .button.disabled:hover, .button-group.hollow.hoy-pink .button[disabled]:hover, .button-group.hollow.hoy-pink .button.disabled:focus, .button-group.hollow.hoy-pink .button[disabled]:focus, .button-group.hollow .button.hoy-pink, .button-group.hollow .button.hoy-pink.disabled, .button-group.hollow .button.hoy-pink[disabled], .button-group.hollow .button.hoy-pink.disabled:hover, .button-group.hollow .button.hoy-pink[disabled]:hover, .button-group.hollow .button.hoy-pink.disabled:focus, .button-group.hollow .button.hoy-pink[disabled]:focus {
    border: 2px solid #a12471;
    color: #a12471; }
  .button-group.hollow.hoy-pink .button:hover, .button-group.hollow.hoy-pink .button:focus, .button-group.hollow .button.hoy-pink:hover, .button-group.hollow .button.hoy-pink:focus {
    border-color: #511239;
    color: #511239; }
  .button-group.hollow.hoy-purple .button, .button-group.hollow.hoy-purple .button.disabled, .button-group.hollow.hoy-purple .button[disabled], .button-group.hollow.hoy-purple .button.disabled:hover, .button-group.hollow.hoy-purple .button[disabled]:hover, .button-group.hollow.hoy-purple .button.disabled:focus, .button-group.hollow.hoy-purple .button[disabled]:focus, .button-group.hollow .button.hoy-purple, .button-group.hollow .button.hoy-purple.disabled, .button-group.hollow .button.hoy-purple[disabled], .button-group.hollow .button.hoy-purple.disabled:hover, .button-group.hollow .button.hoy-purple[disabled]:hover, .button-group.hollow .button.hoy-purple.disabled:focus, .button-group.hollow .button.hoy-purple[disabled]:focus {
    border: 2px solid #571d42;
    color: #571d42; }
  .button-group.hollow.hoy-purple .button:hover, .button-group.hollow.hoy-purple .button:focus, .button-group.hollow .button.hoy-purple:hover, .button-group.hollow .button.hoy-purple:focus {
    border-color: #2c0f21;
    color: #2c0f21; }
  .button-group.hollow.hoy-yellow .button, .button-group.hollow.hoy-yellow .button.disabled, .button-group.hollow.hoy-yellow .button[disabled], .button-group.hollow.hoy-yellow .button.disabled:hover, .button-group.hollow.hoy-yellow .button[disabled]:hover, .button-group.hollow.hoy-yellow .button.disabled:focus, .button-group.hollow.hoy-yellow .button[disabled]:focus, .button-group.hollow .button.hoy-yellow, .button-group.hollow .button.hoy-yellow.disabled, .button-group.hollow .button.hoy-yellow[disabled], .button-group.hollow .button.hoy-yellow.disabled:hover, .button-group.hollow .button.hoy-yellow[disabled]:hover, .button-group.hollow .button.hoy-yellow.disabled:focus, .button-group.hollow .button.hoy-yellow[disabled]:focus {
    border: 2px solid #fdb521;
    color: #fdb521; }
  .button-group.hollow.hoy-yellow .button:hover, .button-group.hollow.hoy-yellow .button:focus, .button-group.hollow .button.hoy-yellow:hover, .button-group.hollow .button.hoy-yellow:focus {
    border-color: #8e6001;
    color: #8e6001; }
  .button-group.hollow.hoy-grey .button, .button-group.hollow.hoy-grey .button.disabled, .button-group.hollow.hoy-grey .button[disabled], .button-group.hollow.hoy-grey .button.disabled:hover, .button-group.hollow.hoy-grey .button[disabled]:hover, .button-group.hollow.hoy-grey .button.disabled:focus, .button-group.hollow.hoy-grey .button[disabled]:focus, .button-group.hollow .button.hoy-grey, .button-group.hollow .button.hoy-grey.disabled, .button-group.hollow .button.hoy-grey[disabled], .button-group.hollow .button.hoy-grey.disabled:hover, .button-group.hollow .button.hoy-grey[disabled]:hover, .button-group.hollow .button.hoy-grey.disabled:focus, .button-group.hollow .button.hoy-grey[disabled]:focus {
    border: 2px solid #6a7883;
    color: #6a7883; }
  .button-group.hollow.hoy-grey .button:hover, .button-group.hollow.hoy-grey .button:focus, .button-group.hollow .button.hoy-grey:hover, .button-group.hollow .button.hoy-grey:focus {
    border-color: #353c42;
    color: #353c42; }
  .button-group.hollow.hoy-brown .button, .button-group.hollow.hoy-brown .button.disabled, .button-group.hollow.hoy-brown .button[disabled], .button-group.hollow.hoy-brown .button.disabled:hover, .button-group.hollow.hoy-brown .button[disabled]:hover, .button-group.hollow.hoy-brown .button.disabled:focus, .button-group.hollow.hoy-brown .button[disabled]:focus, .button-group.hollow .button.hoy-brown, .button-group.hollow .button.hoy-brown.disabled, .button-group.hollow .button.hoy-brown[disabled], .button-group.hollow .button.hoy-brown.disabled:hover, .button-group.hollow .button.hoy-brown[disabled]:hover, .button-group.hollow .button.hoy-brown.disabled:focus, .button-group.hollow .button.hoy-brown[disabled]:focus {
    border: 2px solid #82764c;
    color: #82764c; }
  .button-group.hollow.hoy-brown .button:hover, .button-group.hollow.hoy-brown .button:focus, .button-group.hollow .button.hoy-brown:hover, .button-group.hollow .button.hoy-brown:focus {
    border-color: #413b26;
    color: #413b26; }
  .button-group.hollow.adult-purple .button, .button-group.hollow.adult-purple .button.disabled, .button-group.hollow.adult-purple .button[disabled], .button-group.hollow.adult-purple .button.disabled:hover, .button-group.hollow.adult-purple .button[disabled]:hover, .button-group.hollow.adult-purple .button.disabled:focus, .button-group.hollow.adult-purple .button[disabled]:focus, .button-group.hollow .button.adult-purple, .button-group.hollow .button.adult-purple.disabled, .button-group.hollow .button.adult-purple[disabled], .button-group.hollow .button.adult-purple.disabled:hover, .button-group.hollow .button.adult-purple[disabled]:hover, .button-group.hollow .button.adult-purple.disabled:focus, .button-group.hollow .button.adult-purple[disabled]:focus {
    border: 2px solid #7f1e49;
    color: #7f1e49; }
  .button-group.hollow.adult-purple .button:hover, .button-group.hollow.adult-purple .button:focus, .button-group.hollow .button.adult-purple:hover, .button-group.hollow .button.adult-purple:focus {
    border-color: #400f25;
    color: #400f25; }
  .button-group.hollow.adult-dark-purple .button, .button-group.hollow.adult-dark-purple .button.disabled, .button-group.hollow.adult-dark-purple .button[disabled], .button-group.hollow.adult-dark-purple .button.disabled:hover, .button-group.hollow.adult-dark-purple .button[disabled]:hover, .button-group.hollow.adult-dark-purple .button.disabled:focus, .button-group.hollow.adult-dark-purple .button[disabled]:focus, .button-group.hollow .button.adult-dark-purple, .button-group.hollow .button.adult-dark-purple.disabled, .button-group.hollow .button.adult-dark-purple[disabled], .button-group.hollow .button.adult-dark-purple.disabled:hover, .button-group.hollow .button.adult-dark-purple[disabled]:hover, .button-group.hollow .button.adult-dark-purple.disabled:focus, .button-group.hollow .button.adult-dark-purple[disabled]:focus {
    border: 2px solid #250a36;
    color: #250a36; }
  .button-group.hollow.adult-dark-purple .button:hover, .button-group.hollow.adult-dark-purple .button:focus, .button-group.hollow .button.adult-dark-purple:hover, .button-group.hollow .button.adult-dark-purple:focus {
    border-color: #13051b;
    color: #13051b; }
  .button-group.hollow.adult-blue .button, .button-group.hollow.adult-blue .button.disabled, .button-group.hollow.adult-blue .button[disabled], .button-group.hollow.adult-blue .button.disabled:hover, .button-group.hollow.adult-blue .button[disabled]:hover, .button-group.hollow.adult-blue .button.disabled:focus, .button-group.hollow.adult-blue .button[disabled]:focus, .button-group.hollow .button.adult-blue, .button-group.hollow .button.adult-blue.disabled, .button-group.hollow .button.adult-blue[disabled], .button-group.hollow .button.adult-blue.disabled:hover, .button-group.hollow .button.adult-blue[disabled]:hover, .button-group.hollow .button.adult-blue.disabled:focus, .button-group.hollow .button.adult-blue[disabled]:focus {
    border: 2px solid #3f8dac;
    color: #3f8dac; }
  .button-group.hollow.adult-blue .button:hover, .button-group.hollow.adult-blue .button:focus, .button-group.hollow .button.adult-blue:hover, .button-group.hollow .button.adult-blue:focus {
    border-color: #204756;
    color: #204756; }
  .button-group.hollow.apprenticeships-orange .button, .button-group.hollow.apprenticeships-orange .button.disabled, .button-group.hollow.apprenticeships-orange .button[disabled], .button-group.hollow.apprenticeships-orange .button.disabled:hover, .button-group.hollow.apprenticeships-orange .button[disabled]:hover, .button-group.hollow.apprenticeships-orange .button.disabled:focus, .button-group.hollow.apprenticeships-orange .button[disabled]:focus, .button-group.hollow .button.apprenticeships-orange, .button-group.hollow .button.apprenticeships-orange.disabled, .button-group.hollow .button.apprenticeships-orange[disabled], .button-group.hollow .button.apprenticeships-orange.disabled:hover, .button-group.hollow .button.apprenticeships-orange[disabled]:hover, .button-group.hollow .button.apprenticeships-orange.disabled:focus, .button-group.hollow .button.apprenticeships-orange[disabled]:focus {
    border: 2px solid #f7941d;
    color: #f7941d; }
  .button-group.hollow.apprenticeships-orange .button:hover, .button-group.hollow.apprenticeships-orange .button:focus, .button-group.hollow .button.apprenticeships-orange:hover, .button-group.hollow .button.apprenticeships-orange:focus {
    border-color: #854b05;
    color: #854b05; }
  .button-group.hollow.employers-dark-blue .button, .button-group.hollow.employers-dark-blue .button.disabled, .button-group.hollow.employers-dark-blue .button[disabled], .button-group.hollow.employers-dark-blue .button.disabled:hover, .button-group.hollow.employers-dark-blue .button[disabled]:hover, .button-group.hollow.employers-dark-blue .button.disabled:focus, .button-group.hollow.employers-dark-blue .button[disabled]:focus, .button-group.hollow .button.employers-dark-blue, .button-group.hollow .button.employers-dark-blue.disabled, .button-group.hollow .button.employers-dark-blue[disabled], .button-group.hollow .button.employers-dark-blue.disabled:hover, .button-group.hollow .button.employers-dark-blue[disabled]:hover, .button-group.hollow .button.employers-dark-blue.disabled:focus, .button-group.hollow .button.employers-dark-blue[disabled]:focus {
    border: 2px solid #00454b;
    color: #00454b; }
  .button-group.hollow.employers-dark-blue .button:hover, .button-group.hollow.employers-dark-blue .button:focus, .button-group.hollow .button.employers-dark-blue:hover, .button-group.hollow .button.employers-dark-blue:focus {
    border-color: #002326;
    color: #002326; }
  .button-group.hollow.employers-light-blue .button, .button-group.hollow.employers-light-blue .button.disabled, .button-group.hollow.employers-light-blue .button[disabled], .button-group.hollow.employers-light-blue .button.disabled:hover, .button-group.hollow.employers-light-blue .button[disabled]:hover, .button-group.hollow.employers-light-blue .button.disabled:focus, .button-group.hollow.employers-light-blue .button[disabled]:focus, .button-group.hollow .button.employers-light-blue, .button-group.hollow .button.employers-light-blue.disabled, .button-group.hollow .button.employers-light-blue[disabled], .button-group.hollow .button.employers-light-blue.disabled:hover, .button-group.hollow .button.employers-light-blue[disabled]:hover, .button-group.hollow .button.employers-light-blue.disabled:focus, .button-group.hollow .button.employers-light-blue[disabled]:focus {
    border: 2px solid #65989f;
    color: #65989f; }
  .button-group.hollow.employers-light-blue .button:hover, .button-group.hollow.employers-light-blue .button:focus, .button-group.hollow .button.employers-light-blue:hover, .button-group.hollow .button.employers-light-blue:focus {
    border-color: #324c50;
    color: #324c50; }
  .button-group.hollow.offWhite .button, .button-group.hollow.offWhite .button.disabled, .button-group.hollow.offWhite .button[disabled], .button-group.hollow.offWhite .button.disabled:hover, .button-group.hollow.offWhite .button[disabled]:hover, .button-group.hollow.offWhite .button.disabled:focus, .button-group.hollow.offWhite .button[disabled]:focus, .button-group.hollow .button.offWhite, .button-group.hollow .button.offWhite.disabled, .button-group.hollow .button.offWhite[disabled], .button-group.hollow .button.offWhite.disabled:hover, .button-group.hollow .button.offWhite[disabled]:hover, .button-group.hollow .button.offWhite.disabled:focus, .button-group.hollow .button.offWhite[disabled]:focus {
    border: 2px solid #F0F0F0;
    color: #F0F0F0; }
  .button-group.hollow.offWhite .button:hover, .button-group.hollow.offWhite .button:focus, .button-group.hollow .button.offWhite:hover, .button-group.hollow .button.offWhite:focus {
    border-color: #787878;
    color: #787878; }
  .button-group.hollow.dark-grey .button, .button-group.hollow.dark-grey .button.disabled, .button-group.hollow.dark-grey .button[disabled], .button-group.hollow.dark-grey .button.disabled:hover, .button-group.hollow.dark-grey .button[disabled]:hover, .button-group.hollow.dark-grey .button.disabled:focus, .button-group.hollow.dark-grey .button[disabled]:focus, .button-group.hollow .button.dark-grey, .button-group.hollow .button.dark-grey.disabled, .button-group.hollow .button.dark-grey[disabled], .button-group.hollow .button.dark-grey.disabled:hover, .button-group.hollow .button.dark-grey[disabled]:hover, .button-group.hollow .button.dark-grey.disabled:focus, .button-group.hollow .button.dark-grey[disabled]:focus {
    border: 2px solid #333;
    color: #333; }
  .button-group.hollow.dark-grey .button:hover, .button-group.hollow.dark-grey .button:focus, .button-group.hollow .button.dark-grey:hover, .button-group.hollow .button.dark-grey:focus {
    border-color: #1a1a1a;
    color: #1a1a1a; }
  .button-group.hollow.dark-blue .button, .button-group.hollow.dark-blue .button.disabled, .button-group.hollow.dark-blue .button[disabled], .button-group.hollow.dark-blue .button.disabled:hover, .button-group.hollow.dark-blue .button[disabled]:hover, .button-group.hollow.dark-blue .button.disabled:focus, .button-group.hollow.dark-blue .button[disabled]:focus, .button-group.hollow .button.dark-blue, .button-group.hollow .button.dark-blue.disabled, .button-group.hollow .button.dark-blue[disabled], .button-group.hollow .button.dark-blue.disabled:hover, .button-group.hollow .button.dark-blue[disabled]:hover, .button-group.hollow .button.dark-blue.disabled:focus, .button-group.hollow .button.dark-blue[disabled]:focus {
    border: 2px solid #0e2330;
    color: #0e2330; }
  .button-group.hollow.dark-blue .button:hover, .button-group.hollow.dark-blue .button:focus, .button-group.hollow .button.dark-blue:hover, .button-group.hollow .button.dark-blue:focus {
    border-color: #071218;
    color: #071218; }
  .button-group.hollow.elements-orange .button, .button-group.hollow.elements-orange .button.disabled, .button-group.hollow.elements-orange .button[disabled], .button-group.hollow.elements-orange .button.disabled:hover, .button-group.hollow.elements-orange .button[disabled]:hover, .button-group.hollow.elements-orange .button.disabled:focus, .button-group.hollow.elements-orange .button[disabled]:focus, .button-group.hollow .button.elements-orange, .button-group.hollow .button.elements-orange.disabled, .button-group.hollow .button.elements-orange[disabled], .button-group.hollow .button.elements-orange.disabled:hover, .button-group.hollow .button.elements-orange[disabled]:hover, .button-group.hollow .button.elements-orange.disabled:focus, .button-group.hollow .button.elements-orange[disabled]:focus {
    border: 2px solid #f15a3b;
    color: #f15a3b; }
  .button-group.hollow.elements-orange .button:hover, .button-group.hollow.elements-orange .button:focus, .button-group.hollow .button.elements-orange:hover, .button-group.hollow .button.elements-orange:focus {
    border-color: #8c200a;
    color: #8c200a; }
  .button-group.hollow.elements-green .button, .button-group.hollow.elements-green .button.disabled, .button-group.hollow.elements-green .button[disabled], .button-group.hollow.elements-green .button.disabled:hover, .button-group.hollow.elements-green .button[disabled]:hover, .button-group.hollow.elements-green .button.disabled:focus, .button-group.hollow.elements-green .button[disabled]:focus, .button-group.hollow .button.elements-green, .button-group.hollow .button.elements-green.disabled, .button-group.hollow .button.elements-green[disabled], .button-group.hollow .button.elements-green.disabled:hover, .button-group.hollow .button.elements-green[disabled]:hover, .button-group.hollow .button.elements-green.disabled:focus, .button-group.hollow .button.elements-green[disabled]:focus {
    border: 2px solid #4a8b74;
    color: #4a8b74; }
  .button-group.hollow.elements-green .button:hover, .button-group.hollow.elements-green .button:focus, .button-group.hollow .button.elements-green:hover, .button-group.hollow .button.elements-green:focus {
    border-color: #25463a;
    color: #25463a; }
  .button-group.hollow.aspire-blue .button, .button-group.hollow.aspire-blue .button.disabled, .button-group.hollow.aspire-blue .button[disabled], .button-group.hollow.aspire-blue .button.disabled:hover, .button-group.hollow.aspire-blue .button[disabled]:hover, .button-group.hollow.aspire-blue .button.disabled:focus, .button-group.hollow.aspire-blue .button[disabled]:focus, .button-group.hollow .button.aspire-blue, .button-group.hollow .button.aspire-blue.disabled, .button-group.hollow .button.aspire-blue[disabled], .button-group.hollow .button.aspire-blue.disabled:hover, .button-group.hollow .button.aspire-blue[disabled]:hover, .button-group.hollow .button.aspire-blue.disabled:focus, .button-group.hollow .button.aspire-blue[disabled]:focus {
    border: 2px solid #3b2f59;
    color: #3b2f59; }
  .button-group.hollow.aspire-blue .button:hover, .button-group.hollow.aspire-blue .button:focus, .button-group.hollow .button.aspire-blue:hover, .button-group.hollow .button.aspire-blue:focus {
    border-color: #1e182d;
    color: #1e182d; }
  .button-group.hollow.aspire-purple .button, .button-group.hollow.aspire-purple .button.disabled, .button-group.hollow.aspire-purple .button[disabled], .button-group.hollow.aspire-purple .button.disabled:hover, .button-group.hollow.aspire-purple .button[disabled]:hover, .button-group.hollow.aspire-purple .button.disabled:focus, .button-group.hollow.aspire-purple .button[disabled]:focus, .button-group.hollow .button.aspire-purple, .button-group.hollow .button.aspire-purple.disabled, .button-group.hollow .button.aspire-purple[disabled], .button-group.hollow .button.aspire-purple.disabled:hover, .button-group.hollow .button.aspire-purple[disabled]:hover, .button-group.hollow .button.aspire-purple.disabled:focus, .button-group.hollow .button.aspire-purple[disabled]:focus {
    border: 2px solid #5c1b46;
    color: #5c1b46; }
  .button-group.hollow.aspire-purple .button:hover, .button-group.hollow.aspire-purple .button:focus, .button-group.hollow .button.aspire-purple:hover, .button-group.hollow .button.aspire-purple:focus {
    border-color: #2e0e23;
    color: #2e0e23; }
  .button-group.hollow.elements-aspire-white .button, .button-group.hollow.elements-aspire-white .button.disabled, .button-group.hollow.elements-aspire-white .button[disabled], .button-group.hollow.elements-aspire-white .button.disabled:hover, .button-group.hollow.elements-aspire-white .button[disabled]:hover, .button-group.hollow.elements-aspire-white .button.disabled:focus, .button-group.hollow.elements-aspire-white .button[disabled]:focus, .button-group.hollow .button.elements-aspire-white, .button-group.hollow .button.elements-aspire-white.disabled, .button-group.hollow .button.elements-aspire-white[disabled], .button-group.hollow .button.elements-aspire-white.disabled:hover, .button-group.hollow .button.elements-aspire-white[disabled]:hover, .button-group.hollow .button.elements-aspire-white.disabled:focus, .button-group.hollow .button.elements-aspire-white[disabled]:focus {
    border: 2px solid #fff3d0;
    color: #fff3d0; }
  .button-group.hollow.elements-aspire-white .button:hover, .button-group.hollow.elements-aspire-white .button:focus, .button-group.hollow .button.elements-aspire-white:hover, .button-group.hollow .button.elements-aspire-white:focus {
    border-color: #e8ac00;
    color: #e8ac00; }
  .button-group.clear .button, .button-group.clear .button:hover, .button-group.clear .button:focus, .button-group.clear .button.disabled, .button-group.clear .button.disabled:hover, .button-group.clear .button.disabled:focus, .button-group.clear .button[disabled], .button-group.clear .button[disabled]:hover, .button-group.clear .button[disabled]:focus {
    border-color: transparent;
    background-color: transparent; }
  .button-group.clear .button, .button-group.clear .button.disabled, .button-group.clear .button[disabled], .button-group.clear .button.disabled:hover, .button-group.clear .button[disabled]:hover, .button-group.clear .button.disabled:focus, .button-group.clear .button[disabled]:focus {
    color: #a12471; }
  .button-group.clear .button:hover, .button-group.clear .button:focus {
    color: #511239; }
  .button-group.clear.primary .button, .button-group.clear.primary .button.disabled, .button-group.clear.primary .button[disabled], .button-group.clear.primary .button.disabled:hover, .button-group.clear.primary .button[disabled]:hover, .button-group.clear.primary .button.disabled:focus, .button-group.clear.primary .button[disabled]:focus, .button-group.clear .button.primary, .button-group.clear .button.primary.disabled, .button-group.clear .button.primary[disabled], .button-group.clear .button.primary.disabled:hover, .button-group.clear .button.primary[disabled]:hover, .button-group.clear .button.primary.disabled:focus, .button-group.clear .button.primary[disabled]:focus {
    color: #a12471; }
  .button-group.clear.primary .button:hover, .button-group.clear.primary .button:focus, .button-group.clear .button.primary:hover, .button-group.clear .button.primary:focus {
    color: #511239; }
  .button-group.clear.secondary .button, .button-group.clear.secondary .button.disabled, .button-group.clear.secondary .button[disabled], .button-group.clear.secondary .button.disabled:hover, .button-group.clear.secondary .button[disabled]:hover, .button-group.clear.secondary .button.disabled:focus, .button-group.clear.secondary .button[disabled]:focus, .button-group.clear .button.secondary, .button-group.clear .button.secondary.disabled, .button-group.clear .button.secondary[disabled], .button-group.clear .button.secondary.disabled:hover, .button-group.clear .button.secondary[disabled]:hover, .button-group.clear .button.secondary.disabled:focus, .button-group.clear .button.secondary[disabled]:focus {
    color: #767676; }
  .button-group.clear.secondary .button:hover, .button-group.clear.secondary .button:focus, .button-group.clear .button.secondary:hover, .button-group.clear .button.secondary:focus {
    color: #3b3b3b; }
  .button-group.clear.success .button, .button-group.clear.success .button.disabled, .button-group.clear.success .button[disabled], .button-group.clear.success .button.disabled:hover, .button-group.clear.success .button[disabled]:hover, .button-group.clear.success .button.disabled:focus, .button-group.clear.success .button[disabled]:focus, .button-group.clear .button.success, .button-group.clear .button.success.disabled, .button-group.clear .button.success[disabled], .button-group.clear .button.success.disabled:hover, .button-group.clear .button.success[disabled]:hover, .button-group.clear .button.success.disabled:focus, .button-group.clear .button.success[disabled]:focus {
    color: #3adb76; }
  .button-group.clear.success .button:hover, .button-group.clear.success .button:focus, .button-group.clear .button.success:hover, .button-group.clear .button.success:focus {
    color: #157539; }
  .button-group.clear.warning .button, .button-group.clear.warning .button.disabled, .button-group.clear.warning .button[disabled], .button-group.clear.warning .button.disabled:hover, .button-group.clear.warning .button[disabled]:hover, .button-group.clear.warning .button.disabled:focus, .button-group.clear.warning .button[disabled]:focus, .button-group.clear .button.warning, .button-group.clear .button.warning.disabled, .button-group.clear .button.warning[disabled], .button-group.clear .button.warning.disabled:hover, .button-group.clear .button.warning[disabled]:hover, .button-group.clear .button.warning.disabled:focus, .button-group.clear .button.warning[disabled]:focus {
    color: #ffae00; }
  .button-group.clear.warning .button:hover, .button-group.clear.warning .button:focus, .button-group.clear .button.warning:hover, .button-group.clear .button.warning:focus {
    color: #805700; }
  .button-group.clear.alert .button, .button-group.clear.alert .button.disabled, .button-group.clear.alert .button[disabled], .button-group.clear.alert .button.disabled:hover, .button-group.clear.alert .button[disabled]:hover, .button-group.clear.alert .button.disabled:focus, .button-group.clear.alert .button[disabled]:focus, .button-group.clear .button.alert, .button-group.clear .button.alert.disabled, .button-group.clear .button.alert[disabled], .button-group.clear .button.alert.disabled:hover, .button-group.clear .button.alert[disabled]:hover, .button-group.clear .button.alert.disabled:focus, .button-group.clear .button.alert[disabled]:focus {
    color: #cc4b37; }
  .button-group.clear.alert .button:hover, .button-group.clear.alert .button:focus, .button-group.clear .button.alert:hover, .button-group.clear .button.alert:focus {
    color: #67251a; }
  .button-group.clear.white .button, .button-group.clear.white .button.disabled, .button-group.clear.white .button[disabled], .button-group.clear.white .button.disabled:hover, .button-group.clear.white .button[disabled]:hover, .button-group.clear.white .button.disabled:focus, .button-group.clear.white .button[disabled]:focus, .button-group.clear .button.white, .button-group.clear .button.white.disabled, .button-group.clear .button.white[disabled], .button-group.clear .button.white.disabled:hover, .button-group.clear .button.white[disabled]:hover, .button-group.clear .button.white.disabled:focus, .button-group.clear .button.white[disabled]:focus {
    color: #f8f8f8; }
  .button-group.clear.white .button:hover, .button-group.clear.white .button:focus, .button-group.clear .button.white:hover, .button-group.clear .button.white:focus {
    color: #7c7c7c; }
  .button-group.clear.black .button, .button-group.clear.black .button.disabled, .button-group.clear.black .button[disabled], .button-group.clear.black .button.disabled:hover, .button-group.clear.black .button[disabled]:hover, .button-group.clear.black .button.disabled:focus, .button-group.clear.black .button[disabled]:focus, .button-group.clear .button.black, .button-group.clear .button.black.disabled, .button-group.clear .button.black[disabled], .button-group.clear .button.black.disabled:hover, .button-group.clear .button.black[disabled]:hover, .button-group.clear .button.black.disabled:focus, .button-group.clear .button.black[disabled]:focus {
    color: #161616; }
  .button-group.clear.black .button:hover, .button-group.clear.black .button:focus, .button-group.clear .button.black:hover, .button-group.clear .button.black:focus {
    color: #0b0b0b; }
  .button-group.clear.castleford-blue .button, .button-group.clear.castleford-blue .button.disabled, .button-group.clear.castleford-blue .button[disabled], .button-group.clear.castleford-blue .button.disabled:hover, .button-group.clear.castleford-blue .button[disabled]:hover, .button-group.clear.castleford-blue .button.disabled:focus, .button-group.clear.castleford-blue .button[disabled]:focus, .button-group.clear .button.castleford-blue, .button-group.clear .button.castleford-blue.disabled, .button-group.clear .button.castleford-blue[disabled], .button-group.clear .button.castleford-blue.disabled:hover, .button-group.clear .button.castleford-blue[disabled]:hover, .button-group.clear .button.castleford-blue.disabled:focus, .button-group.clear .button.castleford-blue[disabled]:focus {
    color: #0081D6; }
  .button-group.clear.castleford-blue .button:hover, .button-group.clear.castleford-blue .button:focus, .button-group.clear .button.castleford-blue:hover, .button-group.clear .button.castleford-blue:focus {
    color: #00416b; }
  .button-group.clear.castleford-dark-blue .button, .button-group.clear.castleford-dark-blue .button.disabled, .button-group.clear.castleford-dark-blue .button[disabled], .button-group.clear.castleford-dark-blue .button.disabled:hover, .button-group.clear.castleford-dark-blue .button[disabled]:hover, .button-group.clear.castleford-dark-blue .button.disabled:focus, .button-group.clear.castleford-dark-blue .button[disabled]:focus, .button-group.clear .button.castleford-dark-blue, .button-group.clear .button.castleford-dark-blue.disabled, .button-group.clear .button.castleford-dark-blue[disabled], .button-group.clear .button.castleford-dark-blue.disabled:hover, .button-group.clear .button.castleford-dark-blue[disabled]:hover, .button-group.clear .button.castleford-dark-blue.disabled:focus, .button-group.clear .button.castleford-dark-blue[disabled]:focus {
    color: #00122B; }
  .button-group.clear.castleford-dark-blue .button:hover, .button-group.clear.castleford-dark-blue .button:focus, .button-group.clear .button.castleford-dark-blue:hover, .button-group.clear .button.castleford-dark-blue:focus {
    color: #000916; }
  .button-group.clear.selby-red .button, .button-group.clear.selby-red .button.disabled, .button-group.clear.selby-red .button[disabled], .button-group.clear.selby-red .button.disabled:hover, .button-group.clear.selby-red .button[disabled]:hover, .button-group.clear.selby-red .button.disabled:focus, .button-group.clear.selby-red .button[disabled]:focus, .button-group.clear .button.selby-red, .button-group.clear .button.selby-red.disabled, .button-group.clear .button.selby-red[disabled], .button-group.clear .button.selby-red.disabled:hover, .button-group.clear .button.selby-red[disabled]:hover, .button-group.clear .button.selby-red.disabled:focus, .button-group.clear .button.selby-red[disabled]:focus {
    color: #CD1619; }
  .button-group.clear.selby-red .button:hover, .button-group.clear.selby-red .button:focus, .button-group.clear .button.selby-red:hover, .button-group.clear .button.selby-red:focus {
    color: #670b0d; }
  .button-group.clear.selby-dark-red .button, .button-group.clear.selby-dark-red .button.disabled, .button-group.clear.selby-dark-red .button[disabled], .button-group.clear.selby-dark-red .button.disabled:hover, .button-group.clear.selby-dark-red .button[disabled]:hover, .button-group.clear.selby-dark-red .button.disabled:focus, .button-group.clear.selby-dark-red .button[disabled]:focus, .button-group.clear .button.selby-dark-red, .button-group.clear .button.selby-dark-red.disabled, .button-group.clear .button.selby-dark-red[disabled], .button-group.clear .button.selby-dark-red.disabled:hover, .button-group.clear .button.selby-dark-red[disabled]:hover, .button-group.clear .button.selby-dark-red.disabled:focus, .button-group.clear .button.selby-dark-red[disabled]:focus {
    color: #340200; }
  .button-group.clear.selby-dark-red .button:hover, .button-group.clear.selby-dark-red .button:focus, .button-group.clear .button.selby-dark-red:hover, .button-group.clear .button.selby-dark-red:focus {
    color: #1a0100; }
  .button-group.clear.wakefield-green .button, .button-group.clear.wakefield-green .button.disabled, .button-group.clear.wakefield-green .button[disabled], .button-group.clear.wakefield-green .button.disabled:hover, .button-group.clear.wakefield-green .button[disabled]:hover, .button-group.clear.wakefield-green .button.disabled:focus, .button-group.clear.wakefield-green .button[disabled]:focus, .button-group.clear .button.wakefield-green, .button-group.clear .button.wakefield-green.disabled, .button-group.clear .button.wakefield-green[disabled], .button-group.clear .button.wakefield-green.disabled:hover, .button-group.clear .button.wakefield-green[disabled]:hover, .button-group.clear .button.wakefield-green.disabled:focus, .button-group.clear .button.wakefield-green[disabled]:focus {
    color: #36AE72; }
  .button-group.clear.wakefield-green .button:hover, .button-group.clear.wakefield-green .button:focus, .button-group.clear .button.wakefield-green:hover, .button-group.clear .button.wakefield-green:focus {
    color: #1b5739; }
  .button-group.clear.wakefield-dark-green .button, .button-group.clear.wakefield-dark-green .button.disabled, .button-group.clear.wakefield-dark-green .button[disabled], .button-group.clear.wakefield-dark-green .button.disabled:hover, .button-group.clear.wakefield-dark-green .button[disabled]:hover, .button-group.clear.wakefield-dark-green .button.disabled:focus, .button-group.clear.wakefield-dark-green .button[disabled]:focus, .button-group.clear .button.wakefield-dark-green, .button-group.clear .button.wakefield-dark-green.disabled, .button-group.clear .button.wakefield-dark-green[disabled], .button-group.clear .button.wakefield-dark-green.disabled:hover, .button-group.clear .button.wakefield-dark-green[disabled]:hover, .button-group.clear .button.wakefield-dark-green.disabled:focus, .button-group.clear .button.wakefield-dark-green[disabled]:focus {
    color: #002A16; }
  .button-group.clear.wakefield-dark-green .button:hover, .button-group.clear.wakefield-dark-green .button:focus, .button-group.clear .button.wakefield-dark-green:hover, .button-group.clear .button.wakefield-dark-green:focus {
    color: #00150b; }
  .button-group.clear.hoy-blue .button, .button-group.clear.hoy-blue .button.disabled, .button-group.clear.hoy-blue .button[disabled], .button-group.clear.hoy-blue .button.disabled:hover, .button-group.clear.hoy-blue .button[disabled]:hover, .button-group.clear.hoy-blue .button.disabled:focus, .button-group.clear.hoy-blue .button[disabled]:focus, .button-group.clear .button.hoy-blue, .button-group.clear .button.hoy-blue.disabled, .button-group.clear .button.hoy-blue[disabled], .button-group.clear .button.hoy-blue.disabled:hover, .button-group.clear .button.hoy-blue[disabled]:hover, .button-group.clear .button.hoy-blue.disabled:focus, .button-group.clear .button.hoy-blue[disabled]:focus {
    color: #1c4760; }
  .button-group.clear.hoy-blue .button:hover, .button-group.clear.hoy-blue .button:focus, .button-group.clear .button.hoy-blue:hover, .button-group.clear .button.hoy-blue:focus {
    color: #0e2430; }
  .button-group.clear.hoy-pink .button, .button-group.clear.hoy-pink .button.disabled, .button-group.clear.hoy-pink .button[disabled], .button-group.clear.hoy-pink .button.disabled:hover, .button-group.clear.hoy-pink .button[disabled]:hover, .button-group.clear.hoy-pink .button.disabled:focus, .button-group.clear.hoy-pink .button[disabled]:focus, .button-group.clear .button.hoy-pink, .button-group.clear .button.hoy-pink.disabled, .button-group.clear .button.hoy-pink[disabled], .button-group.clear .button.hoy-pink.disabled:hover, .button-group.clear .button.hoy-pink[disabled]:hover, .button-group.clear .button.hoy-pink.disabled:focus, .button-group.clear .button.hoy-pink[disabled]:focus {
    color: #a12471; }
  .button-group.clear.hoy-pink .button:hover, .button-group.clear.hoy-pink .button:focus, .button-group.clear .button.hoy-pink:hover, .button-group.clear .button.hoy-pink:focus {
    color: #511239; }
  .button-group.clear.hoy-purple .button, .button-group.clear.hoy-purple .button.disabled, .button-group.clear.hoy-purple .button[disabled], .button-group.clear.hoy-purple .button.disabled:hover, .button-group.clear.hoy-purple .button[disabled]:hover, .button-group.clear.hoy-purple .button.disabled:focus, .button-group.clear.hoy-purple .button[disabled]:focus, .button-group.clear .button.hoy-purple, .button-group.clear .button.hoy-purple.disabled, .button-group.clear .button.hoy-purple[disabled], .button-group.clear .button.hoy-purple.disabled:hover, .button-group.clear .button.hoy-purple[disabled]:hover, .button-group.clear .button.hoy-purple.disabled:focus, .button-group.clear .button.hoy-purple[disabled]:focus {
    color: #571d42; }
  .button-group.clear.hoy-purple .button:hover, .button-group.clear.hoy-purple .button:focus, .button-group.clear .button.hoy-purple:hover, .button-group.clear .button.hoy-purple:focus {
    color: #2c0f21; }
  .button-group.clear.hoy-yellow .button, .button-group.clear.hoy-yellow .button.disabled, .button-group.clear.hoy-yellow .button[disabled], .button-group.clear.hoy-yellow .button.disabled:hover, .button-group.clear.hoy-yellow .button[disabled]:hover, .button-group.clear.hoy-yellow .button.disabled:focus, .button-group.clear.hoy-yellow .button[disabled]:focus, .button-group.clear .button.hoy-yellow, .button-group.clear .button.hoy-yellow.disabled, .button-group.clear .button.hoy-yellow[disabled], .button-group.clear .button.hoy-yellow.disabled:hover, .button-group.clear .button.hoy-yellow[disabled]:hover, .button-group.clear .button.hoy-yellow.disabled:focus, .button-group.clear .button.hoy-yellow[disabled]:focus {
    color: #fdb521; }
  .button-group.clear.hoy-yellow .button:hover, .button-group.clear.hoy-yellow .button:focus, .button-group.clear .button.hoy-yellow:hover, .button-group.clear .button.hoy-yellow:focus {
    color: #8e6001; }
  .button-group.clear.hoy-grey .button, .button-group.clear.hoy-grey .button.disabled, .button-group.clear.hoy-grey .button[disabled], .button-group.clear.hoy-grey .button.disabled:hover, .button-group.clear.hoy-grey .button[disabled]:hover, .button-group.clear.hoy-grey .button.disabled:focus, .button-group.clear.hoy-grey .button[disabled]:focus, .button-group.clear .button.hoy-grey, .button-group.clear .button.hoy-grey.disabled, .button-group.clear .button.hoy-grey[disabled], .button-group.clear .button.hoy-grey.disabled:hover, .button-group.clear .button.hoy-grey[disabled]:hover, .button-group.clear .button.hoy-grey.disabled:focus, .button-group.clear .button.hoy-grey[disabled]:focus {
    color: #6a7883; }
  .button-group.clear.hoy-grey .button:hover, .button-group.clear.hoy-grey .button:focus, .button-group.clear .button.hoy-grey:hover, .button-group.clear .button.hoy-grey:focus {
    color: #353c42; }
  .button-group.clear.hoy-brown .button, .button-group.clear.hoy-brown .button.disabled, .button-group.clear.hoy-brown .button[disabled], .button-group.clear.hoy-brown .button.disabled:hover, .button-group.clear.hoy-brown .button[disabled]:hover, .button-group.clear.hoy-brown .button.disabled:focus, .button-group.clear.hoy-brown .button[disabled]:focus, .button-group.clear .button.hoy-brown, .button-group.clear .button.hoy-brown.disabled, .button-group.clear .button.hoy-brown[disabled], .button-group.clear .button.hoy-brown.disabled:hover, .button-group.clear .button.hoy-brown[disabled]:hover, .button-group.clear .button.hoy-brown.disabled:focus, .button-group.clear .button.hoy-brown[disabled]:focus {
    color: #82764c; }
  .button-group.clear.hoy-brown .button:hover, .button-group.clear.hoy-brown .button:focus, .button-group.clear .button.hoy-brown:hover, .button-group.clear .button.hoy-brown:focus {
    color: #413b26; }
  .button-group.clear.adult-purple .button, .button-group.clear.adult-purple .button.disabled, .button-group.clear.adult-purple .button[disabled], .button-group.clear.adult-purple .button.disabled:hover, .button-group.clear.adult-purple .button[disabled]:hover, .button-group.clear.adult-purple .button.disabled:focus, .button-group.clear.adult-purple .button[disabled]:focus, .button-group.clear .button.adult-purple, .button-group.clear .button.adult-purple.disabled, .button-group.clear .button.adult-purple[disabled], .button-group.clear .button.adult-purple.disabled:hover, .button-group.clear .button.adult-purple[disabled]:hover, .button-group.clear .button.adult-purple.disabled:focus, .button-group.clear .button.adult-purple[disabled]:focus {
    color: #7f1e49; }
  .button-group.clear.adult-purple .button:hover, .button-group.clear.adult-purple .button:focus, .button-group.clear .button.adult-purple:hover, .button-group.clear .button.adult-purple:focus {
    color: #400f25; }
  .button-group.clear.adult-dark-purple .button, .button-group.clear.adult-dark-purple .button.disabled, .button-group.clear.adult-dark-purple .button[disabled], .button-group.clear.adult-dark-purple .button.disabled:hover, .button-group.clear.adult-dark-purple .button[disabled]:hover, .button-group.clear.adult-dark-purple .button.disabled:focus, .button-group.clear.adult-dark-purple .button[disabled]:focus, .button-group.clear .button.adult-dark-purple, .button-group.clear .button.adult-dark-purple.disabled, .button-group.clear .button.adult-dark-purple[disabled], .button-group.clear .button.adult-dark-purple.disabled:hover, .button-group.clear .button.adult-dark-purple[disabled]:hover, .button-group.clear .button.adult-dark-purple.disabled:focus, .button-group.clear .button.adult-dark-purple[disabled]:focus {
    color: #250a36; }
  .button-group.clear.adult-dark-purple .button:hover, .button-group.clear.adult-dark-purple .button:focus, .button-group.clear .button.adult-dark-purple:hover, .button-group.clear .button.adult-dark-purple:focus {
    color: #13051b; }
  .button-group.clear.adult-blue .button, .button-group.clear.adult-blue .button.disabled, .button-group.clear.adult-blue .button[disabled], .button-group.clear.adult-blue .button.disabled:hover, .button-group.clear.adult-blue .button[disabled]:hover, .button-group.clear.adult-blue .button.disabled:focus, .button-group.clear.adult-blue .button[disabled]:focus, .button-group.clear .button.adult-blue, .button-group.clear .button.adult-blue.disabled, .button-group.clear .button.adult-blue[disabled], .button-group.clear .button.adult-blue.disabled:hover, .button-group.clear .button.adult-blue[disabled]:hover, .button-group.clear .button.adult-blue.disabled:focus, .button-group.clear .button.adult-blue[disabled]:focus {
    color: #3f8dac; }
  .button-group.clear.adult-blue .button:hover, .button-group.clear.adult-blue .button:focus, .button-group.clear .button.adult-blue:hover, .button-group.clear .button.adult-blue:focus {
    color: #204756; }
  .button-group.clear.apprenticeships-orange .button, .button-group.clear.apprenticeships-orange .button.disabled, .button-group.clear.apprenticeships-orange .button[disabled], .button-group.clear.apprenticeships-orange .button.disabled:hover, .button-group.clear.apprenticeships-orange .button[disabled]:hover, .button-group.clear.apprenticeships-orange .button.disabled:focus, .button-group.clear.apprenticeships-orange .button[disabled]:focus, .button-group.clear .button.apprenticeships-orange, .button-group.clear .button.apprenticeships-orange.disabled, .button-group.clear .button.apprenticeships-orange[disabled], .button-group.clear .button.apprenticeships-orange.disabled:hover, .button-group.clear .button.apprenticeships-orange[disabled]:hover, .button-group.clear .button.apprenticeships-orange.disabled:focus, .button-group.clear .button.apprenticeships-orange[disabled]:focus {
    color: #f7941d; }
  .button-group.clear.apprenticeships-orange .button:hover, .button-group.clear.apprenticeships-orange .button:focus, .button-group.clear .button.apprenticeships-orange:hover, .button-group.clear .button.apprenticeships-orange:focus {
    color: #854b05; }
  .button-group.clear.employers-dark-blue .button, .button-group.clear.employers-dark-blue .button.disabled, .button-group.clear.employers-dark-blue .button[disabled], .button-group.clear.employers-dark-blue .button.disabled:hover, .button-group.clear.employers-dark-blue .button[disabled]:hover, .button-group.clear.employers-dark-blue .button.disabled:focus, .button-group.clear.employers-dark-blue .button[disabled]:focus, .button-group.clear .button.employers-dark-blue, .button-group.clear .button.employers-dark-blue.disabled, .button-group.clear .button.employers-dark-blue[disabled], .button-group.clear .button.employers-dark-blue.disabled:hover, .button-group.clear .button.employers-dark-blue[disabled]:hover, .button-group.clear .button.employers-dark-blue.disabled:focus, .button-group.clear .button.employers-dark-blue[disabled]:focus {
    color: #00454b; }
  .button-group.clear.employers-dark-blue .button:hover, .button-group.clear.employers-dark-blue .button:focus, .button-group.clear .button.employers-dark-blue:hover, .button-group.clear .button.employers-dark-blue:focus {
    color: #002326; }
  .button-group.clear.employers-light-blue .button, .button-group.clear.employers-light-blue .button.disabled, .button-group.clear.employers-light-blue .button[disabled], .button-group.clear.employers-light-blue .button.disabled:hover, .button-group.clear.employers-light-blue .button[disabled]:hover, .button-group.clear.employers-light-blue .button.disabled:focus, .button-group.clear.employers-light-blue .button[disabled]:focus, .button-group.clear .button.employers-light-blue, .button-group.clear .button.employers-light-blue.disabled, .button-group.clear .button.employers-light-blue[disabled], .button-group.clear .button.employers-light-blue.disabled:hover, .button-group.clear .button.employers-light-blue[disabled]:hover, .button-group.clear .button.employers-light-blue.disabled:focus, .button-group.clear .button.employers-light-blue[disabled]:focus {
    color: #65989f; }
  .button-group.clear.employers-light-blue .button:hover, .button-group.clear.employers-light-blue .button:focus, .button-group.clear .button.employers-light-blue:hover, .button-group.clear .button.employers-light-blue:focus {
    color: #324c50; }
  .button-group.clear.offWhite .button, .button-group.clear.offWhite .button.disabled, .button-group.clear.offWhite .button[disabled], .button-group.clear.offWhite .button.disabled:hover, .button-group.clear.offWhite .button[disabled]:hover, .button-group.clear.offWhite .button.disabled:focus, .button-group.clear.offWhite .button[disabled]:focus, .button-group.clear .button.offWhite, .button-group.clear .button.offWhite.disabled, .button-group.clear .button.offWhite[disabled], .button-group.clear .button.offWhite.disabled:hover, .button-group.clear .button.offWhite[disabled]:hover, .button-group.clear .button.offWhite.disabled:focus, .button-group.clear .button.offWhite[disabled]:focus {
    color: #F0F0F0; }
  .button-group.clear.offWhite .button:hover, .button-group.clear.offWhite .button:focus, .button-group.clear .button.offWhite:hover, .button-group.clear .button.offWhite:focus {
    color: #787878; }
  .button-group.clear.dark-grey .button, .button-group.clear.dark-grey .button.disabled, .button-group.clear.dark-grey .button[disabled], .button-group.clear.dark-grey .button.disabled:hover, .button-group.clear.dark-grey .button[disabled]:hover, .button-group.clear.dark-grey .button.disabled:focus, .button-group.clear.dark-grey .button[disabled]:focus, .button-group.clear .button.dark-grey, .button-group.clear .button.dark-grey.disabled, .button-group.clear .button.dark-grey[disabled], .button-group.clear .button.dark-grey.disabled:hover, .button-group.clear .button.dark-grey[disabled]:hover, .button-group.clear .button.dark-grey.disabled:focus, .button-group.clear .button.dark-grey[disabled]:focus {
    color: #333; }
  .button-group.clear.dark-grey .button:hover, .button-group.clear.dark-grey .button:focus, .button-group.clear .button.dark-grey:hover, .button-group.clear .button.dark-grey:focus {
    color: #1a1a1a; }
  .button-group.clear.dark-blue .button, .button-group.clear.dark-blue .button.disabled, .button-group.clear.dark-blue .button[disabled], .button-group.clear.dark-blue .button.disabled:hover, .button-group.clear.dark-blue .button[disabled]:hover, .button-group.clear.dark-blue .button.disabled:focus, .button-group.clear.dark-blue .button[disabled]:focus, .button-group.clear .button.dark-blue, .button-group.clear .button.dark-blue.disabled, .button-group.clear .button.dark-blue[disabled], .button-group.clear .button.dark-blue.disabled:hover, .button-group.clear .button.dark-blue[disabled]:hover, .button-group.clear .button.dark-blue.disabled:focus, .button-group.clear .button.dark-blue[disabled]:focus {
    color: #0e2330; }
  .button-group.clear.dark-blue .button:hover, .button-group.clear.dark-blue .button:focus, .button-group.clear .button.dark-blue:hover, .button-group.clear .button.dark-blue:focus {
    color: #071218; }
  .button-group.clear.elements-orange .button, .button-group.clear.elements-orange .button.disabled, .button-group.clear.elements-orange .button[disabled], .button-group.clear.elements-orange .button.disabled:hover, .button-group.clear.elements-orange .button[disabled]:hover, .button-group.clear.elements-orange .button.disabled:focus, .button-group.clear.elements-orange .button[disabled]:focus, .button-group.clear .button.elements-orange, .button-group.clear .button.elements-orange.disabled, .button-group.clear .button.elements-orange[disabled], .button-group.clear .button.elements-orange.disabled:hover, .button-group.clear .button.elements-orange[disabled]:hover, .button-group.clear .button.elements-orange.disabled:focus, .button-group.clear .button.elements-orange[disabled]:focus {
    color: #f15a3b; }
  .button-group.clear.elements-orange .button:hover, .button-group.clear.elements-orange .button:focus, .button-group.clear .button.elements-orange:hover, .button-group.clear .button.elements-orange:focus {
    color: #8c200a; }
  .button-group.clear.elements-green .button, .button-group.clear.elements-green .button.disabled, .button-group.clear.elements-green .button[disabled], .button-group.clear.elements-green .button.disabled:hover, .button-group.clear.elements-green .button[disabled]:hover, .button-group.clear.elements-green .button.disabled:focus, .button-group.clear.elements-green .button[disabled]:focus, .button-group.clear .button.elements-green, .button-group.clear .button.elements-green.disabled, .button-group.clear .button.elements-green[disabled], .button-group.clear .button.elements-green.disabled:hover, .button-group.clear .button.elements-green[disabled]:hover, .button-group.clear .button.elements-green.disabled:focus, .button-group.clear .button.elements-green[disabled]:focus {
    color: #4a8b74; }
  .button-group.clear.elements-green .button:hover, .button-group.clear.elements-green .button:focus, .button-group.clear .button.elements-green:hover, .button-group.clear .button.elements-green:focus {
    color: #25463a; }
  .button-group.clear.aspire-blue .button, .button-group.clear.aspire-blue .button.disabled, .button-group.clear.aspire-blue .button[disabled], .button-group.clear.aspire-blue .button.disabled:hover, .button-group.clear.aspire-blue .button[disabled]:hover, .button-group.clear.aspire-blue .button.disabled:focus, .button-group.clear.aspire-blue .button[disabled]:focus, .button-group.clear .button.aspire-blue, .button-group.clear .button.aspire-blue.disabled, .button-group.clear .button.aspire-blue[disabled], .button-group.clear .button.aspire-blue.disabled:hover, .button-group.clear .button.aspire-blue[disabled]:hover, .button-group.clear .button.aspire-blue.disabled:focus, .button-group.clear .button.aspire-blue[disabled]:focus {
    color: #3b2f59; }
  .button-group.clear.aspire-blue .button:hover, .button-group.clear.aspire-blue .button:focus, .button-group.clear .button.aspire-blue:hover, .button-group.clear .button.aspire-blue:focus {
    color: #1e182d; }
  .button-group.clear.aspire-purple .button, .button-group.clear.aspire-purple .button.disabled, .button-group.clear.aspire-purple .button[disabled], .button-group.clear.aspire-purple .button.disabled:hover, .button-group.clear.aspire-purple .button[disabled]:hover, .button-group.clear.aspire-purple .button.disabled:focus, .button-group.clear.aspire-purple .button[disabled]:focus, .button-group.clear .button.aspire-purple, .button-group.clear .button.aspire-purple.disabled, .button-group.clear .button.aspire-purple[disabled], .button-group.clear .button.aspire-purple.disabled:hover, .button-group.clear .button.aspire-purple[disabled]:hover, .button-group.clear .button.aspire-purple.disabled:focus, .button-group.clear .button.aspire-purple[disabled]:focus {
    color: #5c1b46; }
  .button-group.clear.aspire-purple .button:hover, .button-group.clear.aspire-purple .button:focus, .button-group.clear .button.aspire-purple:hover, .button-group.clear .button.aspire-purple:focus {
    color: #2e0e23; }
  .button-group.clear.elements-aspire-white .button, .button-group.clear.elements-aspire-white .button.disabled, .button-group.clear.elements-aspire-white .button[disabled], .button-group.clear.elements-aspire-white .button.disabled:hover, .button-group.clear.elements-aspire-white .button[disabled]:hover, .button-group.clear.elements-aspire-white .button.disabled:focus, .button-group.clear.elements-aspire-white .button[disabled]:focus, .button-group.clear .button.elements-aspire-white, .button-group.clear .button.elements-aspire-white.disabled, .button-group.clear .button.elements-aspire-white[disabled], .button-group.clear .button.elements-aspire-white.disabled:hover, .button-group.clear .button.elements-aspire-white[disabled]:hover, .button-group.clear .button.elements-aspire-white.disabled:focus, .button-group.clear .button.elements-aspire-white[disabled]:focus {
    color: #fff3d0; }
  .button-group.clear.elements-aspire-white .button:hover, .button-group.clear.elements-aspire-white .button:focus, .button-group.clear .button.elements-aspire-white:hover, .button-group.clear .button.elements-aspire-white:focus {
    color: #e8ac00; }
  .button-group.no-gaps .button {
    margin-right: -0.125rem; }
    .button-group.no-gaps .button + .button {
      border-left-color: transparent; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
        margin-bottom: 0; }
    .button-group.stacked.expanded .button, .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-medium.expanded .button {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
  @media print, screen and (min-width: 40em) {
    .button-group.stacked-for-small .button {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      margin-bottom: 0; } }
  @media print, screen and (max-width: 39.99875em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }
  @media print, screen and (max-width: 63.99875em) {
    .button-group.stacked-for-medium.expanded {
      display: block; }
      .button-group.stacked-for-medium.expanded .button {
        display: block;
        margin-right: 0; } }

.close-button {
  position: absolute;
  z-index: 10;
  color: #8a8a8a;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #161616; }
  .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.1875rem 0.375rem;
  border-radius: 0;
  font-size: 0.9rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #262626;
  color: #f8f8f8; }
  .label.primary {
    background: #a12471;
    color: #f8f8f8; }
  .label.secondary {
    background: #767676;
    color: #f8f8f8; }
  .label.success {
    background: #3adb76;
    color: #161616; }
  .label.warning {
    background: #ffae00;
    color: #161616; }
  .label.alert {
    background: #cc4b37;
    color: #f8f8f8; }
  .label.white {
    background: #f8f8f8;
    color: #161616; }
  .label.black {
    background: #161616;
    color: #f8f8f8; }
  .label.castleford-blue {
    background: #0081D6;
    color: #f8f8f8; }
  .label.castleford-dark-blue {
    background: #00122B;
    color: #f8f8f8; }
  .label.selby-red {
    background: #CD1619;
    color: #f8f8f8; }
  .label.selby-dark-red {
    background: #340200;
    color: #f8f8f8; }
  .label.wakefield-green {
    background: #36AE72;
    color: #161616; }
  .label.wakefield-dark-green {
    background: #002A16;
    color: #f8f8f8; }
  .label.hoy-blue {
    background: #1c4760;
    color: #f8f8f8; }
  .label.hoy-pink {
    background: #a12471;
    color: #f8f8f8; }
  .label.hoy-purple {
    background: #571d42;
    color: #f8f8f8; }
  .label.hoy-yellow {
    background: #fdb521;
    color: #161616; }
  .label.hoy-grey {
    background: #6a7883;
    color: #f8f8f8; }
  .label.hoy-brown {
    background: #82764c;
    color: #f8f8f8; }
  .label.adult-purple {
    background: #7f1e49;
    color: #f8f8f8; }
  .label.adult-dark-purple {
    background: #250a36;
    color: #f8f8f8; }
  .label.adult-blue {
    background: #3f8dac;
    color: #161616; }
  .label.apprenticeships-orange {
    background: #f7941d;
    color: #161616; }
  .label.employers-dark-blue {
    background: #00454b;
    color: #f8f8f8; }
  .label.employers-light-blue {
    background: #65989f;
    color: #161616; }
  .label.offWhite {
    background: #F0F0F0;
    color: #161616; }
  .label.dark-grey {
    background: #333;
    color: #f8f8f8; }
  .label.dark-blue {
    background: #0e2330;
    color: #f8f8f8; }
  .label.elements-orange {
    background: #f15a3b;
    color: #161616; }
  .label.elements-green {
    background: #4a8b74;
    color: #f8f8f8; }
  .label.aspire-blue {
    background: #3b2f59;
    color: #f8f8f8; }
  .label.aspire-purple {
    background: #5c1b46;
    color: #f8f8f8; }
  .label.elements-aspire-white {
    background: #fff3d0;
    color: #161616; }

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 4px;
  background-color: #cacaca; }
  .progress.primary .progress-meter {
    background-color: #a12471; }
  .progress.secondary .progress-meter {
    background-color: #767676; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #cc4b37; }
  .progress.white .progress-meter {
    background-color: #f8f8f8; }
  .progress.black .progress-meter {
    background-color: #161616; }
  .progress.castleford-blue .progress-meter {
    background-color: #0081D6; }
  .progress.castleford-dark-blue .progress-meter {
    background-color: #00122B; }
  .progress.selby-red .progress-meter {
    background-color: #CD1619; }
  .progress.selby-dark-red .progress-meter {
    background-color: #340200; }
  .progress.wakefield-green .progress-meter {
    background-color: #36AE72; }
  .progress.wakefield-dark-green .progress-meter {
    background-color: #002A16; }
  .progress.hoy-blue .progress-meter {
    background-color: #1c4760; }
  .progress.hoy-pink .progress-meter {
    background-color: #a12471; }
  .progress.hoy-purple .progress-meter {
    background-color: #571d42; }
  .progress.hoy-yellow .progress-meter {
    background-color: #fdb521; }
  .progress.hoy-grey .progress-meter {
    background-color: #6a7883; }
  .progress.hoy-brown .progress-meter {
    background-color: #82764c; }
  .progress.adult-purple .progress-meter {
    background-color: #7f1e49; }
  .progress.adult-dark-purple .progress-meter {
    background-color: #250a36; }
  .progress.adult-blue .progress-meter {
    background-color: #3f8dac; }
  .progress.apprenticeships-orange .progress-meter {
    background-color: #f7941d; }
  .progress.employers-dark-blue .progress-meter {
    background-color: #00454b; }
  .progress.employers-light-blue .progress-meter {
    background-color: #65989f; }
  .progress.offWhite .progress-meter {
    background-color: #F0F0F0; }
  .progress.dark-grey .progress-meter {
    background-color: #333; }
  .progress.dark-blue .progress-meter {
    background-color: #0e2330; }
  .progress.elements-orange .progress-meter {
    background-color: #f15a3b; }
  .progress.elements-green .progress-meter {
    background-color: #4a8b74; }
  .progress.aspire-blue .progress-meter {
    background-color: #3b2f59; }
  .progress.aspire-purple .progress-meter {
    background-color: #5c1b46; }
  .progress.elements-aspire-white .progress-meter {
    background-color: #fff3d0; }

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

.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: #f8f8f8;
  white-space: nowrap;
  border-radius: 4px; }

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

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

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

table.hover thead tr:hover {
  background-color: #ededed; }

table.hover tfoot tr:hover {
  background-color: #e7e7e7; }

table.hover tbody tr:hover {
  background-color: #f3f3f3; }

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #e6e6e6; }

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

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #a12471;
  color: #f8f8f8; }
  .badge.primary {
    background: #a12471;
    color: #f8f8f8; }
  .badge.secondary {
    background: #767676;
    color: #f8f8f8; }
  .badge.success {
    background: #3adb76;
    color: #161616; }
  .badge.warning {
    background: #ffae00;
    color: #161616; }
  .badge.alert {
    background: #cc4b37;
    color: #f8f8f8; }
  .badge.white {
    background: #f8f8f8;
    color: #161616; }
  .badge.black {
    background: #161616;
    color: #f8f8f8; }
  .badge.castleford-blue {
    background: #0081D6;
    color: #f8f8f8; }
  .badge.castleford-dark-blue {
    background: #00122B;
    color: #f8f8f8; }
  .badge.selby-red {
    background: #CD1619;
    color: #f8f8f8; }
  .badge.selby-dark-red {
    background: #340200;
    color: #f8f8f8; }
  .badge.wakefield-green {
    background: #36AE72;
    color: #161616; }
  .badge.wakefield-dark-green {
    background: #002A16;
    color: #f8f8f8; }
  .badge.hoy-blue {
    background: #1c4760;
    color: #f8f8f8; }
  .badge.hoy-pink {
    background: #a12471;
    color: #f8f8f8; }
  .badge.hoy-purple {
    background: #571d42;
    color: #f8f8f8; }
  .badge.hoy-yellow {
    background: #fdb521;
    color: #161616; }
  .badge.hoy-grey {
    background: #6a7883;
    color: #f8f8f8; }
  .badge.hoy-brown {
    background: #82764c;
    color: #f8f8f8; }
  .badge.adult-purple {
    background: #7f1e49;
    color: #f8f8f8; }
  .badge.adult-dark-purple {
    background: #250a36;
    color: #f8f8f8; }
  .badge.adult-blue {
    background: #3f8dac;
    color: #161616; }
  .badge.apprenticeships-orange {
    background: #f7941d;
    color: #161616; }
  .badge.employers-dark-blue {
    background: #00454b;
    color: #f8f8f8; }
  .badge.employers-light-blue {
    background: #65989f;
    color: #161616; }
  .badge.offWhite {
    background: #F0F0F0;
    color: #161616; }
  .badge.dark-grey {
    background: #333;
    color: #f8f8f8; }
  .badge.dark-blue {
    background: #0e2330;
    color: #f8f8f8; }
  .badge.elements-orange {
    background: #f15a3b;
    color: #161616; }
  .badge.elements-green {
    background: #4a8b74;
    color: #f8f8f8; }
  .badge.aspire-blue {
    background: #3b2f59;
    color: #f8f8f8; }
  .badge.aspire-purple {
    background: #5c1b46;
    color: #f8f8f8; }
  .badge.elements-aspire-white {
    background: #fff3d0;
    color: #161616; }

.callout {
  position: relative;
  margin: 0 0 2.1875rem 0;
  padding: 1rem;
  border: none;
  border-radius: 0;
  background-color: #fefefe;
  color: #161616; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #f6d9eb;
    color: #161616; }
  .callout.secondary {
    background-color: #eaeaea;
    color: #161616; }
  .callout.success {
    background-color: #e1faea;
    color: #161616; }
  .callout.warning {
    background-color: #fff3d9;
    color: #161616; }
  .callout.alert {
    background-color: #f7e4e1;
    color: #161616; }
  .callout.white {
    background-color: #fefefe;
    color: #161616; }
  .callout.black {
    background-color: gainsboro;
    color: #161616; }
  .callout.castleford-blue {
    background-color: #d3edff;
    color: #161616; }
  .callout.castleford-dark-blue {
    background-color: #b9d6ff;
    color: #161616; }
  .callout.selby-red {
    background-color: #fbd9d9;
    color: #161616; }
  .callout.selby-dark-red {
    background-color: #ffbdba;
    color: #161616; }
  .callout.wakefield-green {
    background-color: #dff5ea;
    color: #161616; }
  .callout.wakefield-dark-green {
    background-color: #b9ffde;
    color: #161616; }
  .callout.hoy-blue {
    background-color: #d2e6f2;
    color: #161616; }
  .callout.hoy-pink {
    background-color: #f6d9eb;
    color: #161616; }
  .callout.hoy-purple {
    background-color: #f0d3e6;
    color: #161616; }
  .callout.hoy-yellow {
    background-color: #fff4de;
    color: #161616; }
  .callout.hoy-grey {
    background-color: #e8ebed;
    color: #161616; }
  .callout.hoy-brown {
    background-color: #eeece2;
    color: #161616; }
  .callout.adult-purple {
    background-color: #f5d4e3;
    color: #161616; }
  .callout.adult-dark-purple {
    background-color: #e3c7f5;
    color: #161616; }
  .callout.adult-blue {
    background-color: #e1eff4;
    color: #161616; }
  .callout.apprenticeships-orange {
    background-color: #feefdd;
    color: #161616; }
  .callout.employers-dark-blue {
    background-color: #befaff;
    color: #161616; }
  .callout.employers-light-blue {
    background-color: #e8f0f1;
    color: #161616; }
  .callout.offWhite {
    background-color: #fdfdfd;
    color: #161616; }
  .callout.dark-grey {
    background-color: #e0e0e0;
    color: #161616; }
  .callout.dark-blue {
    background-color: #cbe2f0;
    color: #161616; }
  .callout.elements-orange {
    background-color: #fde6e2;
    color: #161616; }
  .callout.elements-green {
    background-color: #e2f0eb;
    color: #161616; }
  .callout.aspire-blue {
    background-color: #dfdaec;
    color: #161616; }
  .callout.aspire-purple {
    background-color: #f2d2e7;
    color: #161616; }
  .callout.elements-aspire-white {
    background-color: #fffdf8;
    color: #161616; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 1rem;
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  background: #f8f8f8;
  -webkit-box-shadow: none;
          box-shadow: none;
  overflow: hidden;
  color: #161616; }
  .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: #e6e6e6; }
  .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; }

.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.625rem;
    border-radius: 0;
    font-size: 1rem;
    display: inline-block; }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.3125rem 1.1875rem;
    border-radius: 0;
    color: #161616; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.3125rem 1.1875rem;
    background: #e6e6e6;
    color: #e6e6e6;
    cursor: default; }
  .pagination .disabled {
    padding: 0.3125rem 1.1875rem;
    color: #cacaca;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.3125rem 1.1875rem;
    content: '\2026';
    color: #161616; }

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

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

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

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 3px solid #8a8a8a;
  border-bottom: 0;
  font-size: 1.25rem;
  line-height: 1;
  color: #161616; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 3px solid #8a8a8a;
    border-radius: 0 0 4px 4px; }
  .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: 3px solid #8a8a8a;
  border-bottom: 0;
  background-color: #f8f8f8;
  color: #161616; }
  :last-child > .accordion-content:last-child {
    border-bottom: 3px solid #8a8a8a; }

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

.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: #a12471; }
  .tabs.primary > li > a {
    color: #f8f8f8; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #ae277a; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 0.625rem 1.5625rem;
    font-size: 1.75rem;
    line-height: 1;
    color: #f8f8f8; }
    [data-whatinput='mouse'] .tabs-title > a {
      outline: 0; }
    .tabs-title > a:hover {
      background: #f8f8f8;
      color: #d5d5d5; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #f8f8f8;
      color: #a12471; }

.tabs-content {
  border: 1px solid transparent;
  border-top: 0;
  background: #f8f8f8;
  color: #161616;
  -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: 1.875rem; }
  .tabs-panel.is-active {
    display: block; }

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

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  .menu a,
  .menu .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 0.7rem 1rem; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu, .menu.horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .menu.vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .menu.vertical.icon-top li a img,
    .menu.vertical.icon-top li a i,
    .menu.vertical.icon-top li a svg, .menu.vertical.icon-bottom li a img,
    .menu.vertical.icon-bottom li a i,
    .menu.vertical.icon-bottom li a svg {
      text-align: left; }
  .menu.expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.expanded.icon-top li a img,
  .menu.expanded.icon-top li a i,
  .menu.expanded.icon-top li a svg, .menu.expanded.icon-bottom li a img,
  .menu.expanded.icon-bottom li a i,
  .menu.expanded.icon-bottom li a svg {
    text-align: left; }
  .menu.simple {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu.simple li + li {
      margin-left: 1rem; }
    .menu.simple a {
      padding: 0; }
  @media print, screen and (min-width: 40em) {
    .menu.medium-horizontal {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.medium-vertical {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.medium-expanded li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.medium-simple li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media print, screen and (min-width: 64em) {
    .menu.large-horizontal {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.large-vertical {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.large-expanded li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.large-simple li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-left li a, .menu.nested.icon-left li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-left li a img,
    .menu.icon-left li a i,
    .menu.icon-left li a svg, .menu.nested.icon-left li a img,
    .menu.nested.icon-left li a i,
    .menu.nested.icon-left li a svg {
      margin-right: 0.25rem; }
  .menu.icon-right li a, .menu.nested.icon-right li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-right li a img,
    .menu.icon-right li a i,
    .menu.icon-right li a svg, .menu.nested.icon-right li a img,
    .menu.nested.icon-right li a i,
    .menu.nested.icon-right li a svg {
      margin-left: 0.25rem; }
  .menu.icon-top li a, .menu.nested.icon-top li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-top li a img,
    .menu.icon-top li a i,
    .menu.icon-top li a svg, .menu.nested.icon-top li a img,
    .menu.nested.icon-top li a i,
    .menu.nested.icon-top li a svg {
      -ms-flex-item-align: stretch;
          align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-bottom li a, .menu.nested.icon-bottom li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-bottom li a img,
    .menu.icon-bottom li a i,
    .menu.icon-bottom li a svg, .menu.nested.icon-bottom li a img,
    .menu.nested.icon-bottom li a i,
    .menu.nested.icon-bottom li a svg {
      -ms-flex-item-align: stretch;
          align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu .is-active > a {
    background: #a12471;
    color: #f8f8f8; }
  .menu .active > a {
    background: #a12471;
    color: #f8f8f8; }
  .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: #f8f8f8;
    -webkit-box-shadow: 0 7px 0 #f8f8f8, 0 14px 0 #f8f8f8;
            box-shadow: 0 7px 0 #f8f8f8, 0 14px 0 #f8f8f8;
    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: #161616;
    -webkit-box-shadow: 0 7px 0 #161616, 0 14px 0 #161616;
            box-shadow: 0 7px 0 #161616, 0 14px 0 #161616;
    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; }

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

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #f8f8f8;
  -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 #a12471;
    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 #a12471;
  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 #a12471 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 #a12471 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; }

[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: #a12471; }

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

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

@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-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.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: none;
  background: #f8f8f8; }
  .dropdown .is-dropdown-submenu a {
    padding: 0.7rem 1rem; }
  .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(22, 22, 22, 0.6);
  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;
              box-shadow: 0; }
  .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;
              box-shadow: 0; }
  .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(22, 22, 22, 0.25);
            box-shadow: inset -13px 0 20px -13px rgba(22, 22, 22, 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(22, 22, 22, 0.25);
            box-shadow: inset 13px 0 20px -13px rgba(22, 22, 22, 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(22, 22, 22, 0.25);
            box-shadow: inset 0 -13px 20px -13px rgba(22, 22, 22, 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(22, 22, 22, 0.25);
            box-shadow: inset 0 13px 20px -13px rgba(22, 22, 22, 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 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; } }

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(22, 22, 22, 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: 4px;
  background-color: #f8f8f8;
  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: 75rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 75rem; } }
  .reveal.full {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    min-height: 100%;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media print, screen and (max-width: 39.99875em) {
    .reveal {
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      min-height: 100%;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.sticky-container {
  position: relative; }

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

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

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

.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: #e6e6e6; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    -webkit-box-flex: 0;
        -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%; } }

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

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

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

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

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

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

.clearfix::after {
  clear: both; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.shake {
  -webkit-animation-name: shake-7;
          animation-name: shake-7; }

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

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

.spin-cw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

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

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

.spin-ccw {
  -webkit-animation-name: spin-ccw-1turn;
          animation-name: spin-ccw-1turn; }

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

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

.wiggle {
  -webkit-animation-name: wiggle-7deg;
          animation-name: wiggle-7deg; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#system-message-container .visually-hidden {
  display: none; }

#system-message-container joomla-alert {
  font-size: 1.2rem;
  padding: 1rem 1.25rem;
  margin-top: -1.1rem; }

.button {
  text-decoration: none; }
  .button.small {
    padding: 0.5rem 1rem; }
  .button.large {
    padding: 1.1rem 1rem; }
  .button.huge {
    text-transform: uppercase;
    font-weight: 600;
    padding: 1.25rem 3.4375rem; }

p {
  font-size: 1.25rem; }

p a,
.component li a:not(.accordion-title):not(.button) {
  text-decoration: underline;
  font-weight: 700; }

blockquote {
  font-weight: 600;
  font-style: italic;
  font-size: 1.25rem; }

.lead {
  font-size: 1.1rem; }

.callout--padding {
  padding: 1.5625rem; }

.accordion-title:before,
.accordion-title:after {
  font-family: "Font Awesome 6 Pro";
  font-size: 1.9rem;
  font-weight: 300;
  margin-top: -0.9rem; }

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

.accordion .accordion-title {
  border-left: 0;
  border-right: 0; }

.accordion .accordion-item.is-active .accordion-title {
  border-bottom: 0; }

.accordion .accordion-content {
  border-top: 0;
  border-left: 0;
  border-right: 0; }

.doclink {
  position: relative;
  font-weight: 700;
  text-decoration: none;
  display: inline-block;
  padding-left: 3.3rem;
  line-height: 1.1; }
  .doclink .k-icon-document-pdf {
    color: #1c4760;
    font-size: 2.2rem;
    margin-right: 0.6rem;
    position: absolute;
    left: 0;
    top: 2px; }
  .doclink span:last-child {
    display: block;
    font-weight: 400;
    font-size: 1rem;
    color: #161616;
    margin-top: 0.3rem; }

.no-slide .global-message {
  margin-top: -16px;
  margin-bottom: 20px; }

:last-child:not(.is-active) > .accordion-title {
  border-radius: 0; }

.striped,
.striped-medium {
  background-image: url("/templates/hoy/images/stripes.svg"); }

.striped {
  background-size: 125px; }

.striped-medium {
  background-size: 44px; }

.striped-reverse {
  background-image: url("/templates/hoy/images/stripes-reversed.svg");
  background-size: 44px; }

.striped-thin {
  background-image: url("/templates/hoy/images/stripes-thin.svg");
  background-size: 18px; }

.section-shadow {
  -webkit-box-shadow: 0px 4px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0px 4px 0 rgba(0, 0, 0, 0.25); }

.section-shadow-soft {
  -webkit-box-shadow: 0px 2px 1px rgba(0, 0, 0, 0.15);
          box-shadow: 0px 2px 1px rgba(0, 0, 0, 0.15); }

.alt-header {
  background: #f8f8f8; }
  .alt-header.no-slide header.sticky-container .is-anchored .header__fade {
    background: none; }
  .alt-header .mod-breadcrumbs a,
  .alt-header .mod-breadcrumbs i,
  .alt-header .mod-breadcrumbs span,
  .alt-header .mod-breadcrumbs .mod-breadcrumbs__item:not(:last-child)::after {
    color: #f8f8f8; }
  .alt-header .component .page-header h1 {
    color: #f8f8f8;
    font-size: 2.25rem; }
  .alt-header .page-header:before {
    content: "";
    left: 0;
    right: 0;
    top: 0;
    position: absolute;
    height: 450px;
    z-index: -1;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 7vw), 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% calc(100% - 7vw), 0 100%);
    background-image: url("/templates/hoy/images/stripes.svg");
    background-size: 125px; }

.label.castleford-blue {
  color: #161616; }

.bg-primary {
  background-color: #a12471; }

.text-primary h1, .text-primary h2, .text-primary h3, .text-primary h4, .text-primary h5, .text-primary h6, .text-primary p {
  color: #a12471; }

h1.primary, h2.primary, h3.primary, h4.primary, h5.primary, h6.primary, p.primary {
  color: #a12471; }

.alt-header-primary .page-header:before {
  background-color: #a12471; }

.primary {
  color: #a12471; }

.bg-secondary {
  background-color: #767676; }

.text-secondary h1, .text-secondary h2, .text-secondary h3, .text-secondary h4, .text-secondary h5, .text-secondary h6, .text-secondary p {
  color: #767676; }

h1.secondary, h2.secondary, h3.secondary, h4.secondary, h5.secondary, h6.secondary, p.secondary {
  color: #767676; }

.alt-header-secondary .page-header:before {
  background-color: #767676; }

.secondary {
  color: #767676; }

.bg-success {
  background-color: #3adb76; }

.text-success h1, .text-success h2, .text-success h3, .text-success h4, .text-success h5, .text-success h6, .text-success p {
  color: #3adb76; }

h1.success, h2.success, h3.success, h4.success, h5.success, h6.success, p.success {
  color: #3adb76; }

.alt-header-success .page-header:before {
  background-color: #3adb76; }

.success {
  color: #3adb76; }

.bg-warning {
  background-color: #ffae00; }

.text-warning h1, .text-warning h2, .text-warning h3, .text-warning h4, .text-warning h5, .text-warning h6, .text-warning p {
  color: #ffae00; }

h1.warning, h2.warning, h3.warning, h4.warning, h5.warning, h6.warning, p.warning {
  color: #ffae00; }

.alt-header-warning .page-header:before {
  background-color: #ffae00; }

.warning {
  color: #ffae00; }

.bg-alert {
  background-color: #cc4b37; }

.text-alert h1, .text-alert h2, .text-alert h3, .text-alert h4, .text-alert h5, .text-alert h6, .text-alert p {
  color: #cc4b37; }

h1.alert, h2.alert, h3.alert, h4.alert, h5.alert, h6.alert, p.alert {
  color: #cc4b37; }

.alt-header-alert .page-header:before {
  background-color: #cc4b37; }

.alert {
  color: #cc4b37; }

.bg-white {
  background-color: #f8f8f8; }

.text-white h1, .text-white h2, .text-white h3, .text-white h4, .text-white h5, .text-white h6, .text-white p {
  color: #f8f8f8; }

h1.white, h2.white, h3.white, h4.white, h5.white, h6.white, p.white {
  color: #f8f8f8; }

.alt-header-white .page-header:before {
  background-color: #f8f8f8; }

.white {
  color: #f8f8f8; }

.bg-black {
  background-color: #161616; }

.text-black h1, .text-black h2, .text-black h3, .text-black h4, .text-black h5, .text-black h6, .text-black p {
  color: #161616; }

h1.black, h2.black, h3.black, h4.black, h5.black, h6.black, p.black {
  color: #161616; }

.alt-header-black .page-header:before {
  background-color: #161616; }

.black {
  color: #161616; }

.bg-castleford-blue {
  background-color: #0081D6; }

.text-castleford-blue h1, .text-castleford-blue h2, .text-castleford-blue h3, .text-castleford-blue h4, .text-castleford-blue h5, .text-castleford-blue h6, .text-castleford-blue p {
  color: #0081D6; }

h1.castleford-blue, h2.castleford-blue, h3.castleford-blue, h4.castleford-blue, h5.castleford-blue, h6.castleford-blue, p.castleford-blue {
  color: #0081D6; }

.alt-header-castleford-blue .page-header:before {
  background-color: #0081D6; }

.castleford-blue {
  color: #0081D6; }

.bg-castleford-dark-blue {
  background-color: #00122B; }

.text-castleford-dark-blue h1, .text-castleford-dark-blue h2, .text-castleford-dark-blue h3, .text-castleford-dark-blue h4, .text-castleford-dark-blue h5, .text-castleford-dark-blue h6, .text-castleford-dark-blue p {
  color: #00122B; }

h1.castleford-dark-blue, h2.castleford-dark-blue, h3.castleford-dark-blue, h4.castleford-dark-blue, h5.castleford-dark-blue, h6.castleford-dark-blue, p.castleford-dark-blue {
  color: #00122B; }

.alt-header-castleford-dark-blue .page-header:before {
  background-color: #00122B; }

.castleford-dark-blue {
  color: #00122B; }

.bg-selby-red {
  background-color: #CD1619; }

.text-selby-red h1, .text-selby-red h2, .text-selby-red h3, .text-selby-red h4, .text-selby-red h5, .text-selby-red h6, .text-selby-red p {
  color: #CD1619; }

h1.selby-red, h2.selby-red, h3.selby-red, h4.selby-red, h5.selby-red, h6.selby-red, p.selby-red {
  color: #CD1619; }

.alt-header-selby-red .page-header:before {
  background-color: #CD1619; }

.selby-red {
  color: #CD1619; }

.bg-selby-dark-red {
  background-color: #340200; }

.text-selby-dark-red h1, .text-selby-dark-red h2, .text-selby-dark-red h3, .text-selby-dark-red h4, .text-selby-dark-red h5, .text-selby-dark-red h6, .text-selby-dark-red p {
  color: #340200; }

h1.selby-dark-red, h2.selby-dark-red, h3.selby-dark-red, h4.selby-dark-red, h5.selby-dark-red, h6.selby-dark-red, p.selby-dark-red {
  color: #340200; }

.alt-header-selby-dark-red .page-header:before {
  background-color: #340200; }

.selby-dark-red {
  color: #340200; }

.bg-wakefield-green {
  background-color: #36AE72; }

.text-wakefield-green h1, .text-wakefield-green h2, .text-wakefield-green h3, .text-wakefield-green h4, .text-wakefield-green h5, .text-wakefield-green h6, .text-wakefield-green p {
  color: #36AE72; }

h1.wakefield-green, h2.wakefield-green, h3.wakefield-green, h4.wakefield-green, h5.wakefield-green, h6.wakefield-green, p.wakefield-green {
  color: #36AE72; }

.alt-header-wakefield-green .page-header:before {
  background-color: #36AE72; }

.wakefield-green {
  color: #36AE72; }

.bg-wakefield-dark-green {
  background-color: #002A16; }

.text-wakefield-dark-green h1, .text-wakefield-dark-green h2, .text-wakefield-dark-green h3, .text-wakefield-dark-green h4, .text-wakefield-dark-green h5, .text-wakefield-dark-green h6, .text-wakefield-dark-green p {
  color: #002A16; }

h1.wakefield-dark-green, h2.wakefield-dark-green, h3.wakefield-dark-green, h4.wakefield-dark-green, h5.wakefield-dark-green, h6.wakefield-dark-green, p.wakefield-dark-green {
  color: #002A16; }

.alt-header-wakefield-dark-green .page-header:before {
  background-color: #002A16; }

.wakefield-dark-green {
  color: #002A16; }

.bg-hoy-blue {
  background-color: #1c4760; }

.text-hoy-blue h1, .text-hoy-blue h2, .text-hoy-blue h3, .text-hoy-blue h4, .text-hoy-blue h5, .text-hoy-blue h6, .text-hoy-blue p {
  color: #1c4760; }

h1.hoy-blue, h2.hoy-blue, h3.hoy-blue, h4.hoy-blue, h5.hoy-blue, h6.hoy-blue, p.hoy-blue {
  color: #1c4760; }

.alt-header-hoy-blue .page-header:before {
  background-color: #1c4760; }

.hoy-blue {
  color: #1c4760; }

.bg-hoy-pink {
  background-color: #a12471; }

.text-hoy-pink h1, .text-hoy-pink h2, .text-hoy-pink h3, .text-hoy-pink h4, .text-hoy-pink h5, .text-hoy-pink h6, .text-hoy-pink p {
  color: #a12471; }

h1.hoy-pink, h2.hoy-pink, h3.hoy-pink, h4.hoy-pink, h5.hoy-pink, h6.hoy-pink, p.hoy-pink {
  color: #a12471; }

.alt-header-hoy-pink .page-header:before {
  background-color: #a12471; }

.hoy-pink {
  color: #a12471; }

.bg-hoy-purple {
  background-color: #571d42; }

.text-hoy-purple h1, .text-hoy-purple h2, .text-hoy-purple h3, .text-hoy-purple h4, .text-hoy-purple h5, .text-hoy-purple h6, .text-hoy-purple p {
  color: #571d42; }

h1.hoy-purple, h2.hoy-purple, h3.hoy-purple, h4.hoy-purple, h5.hoy-purple, h6.hoy-purple, p.hoy-purple {
  color: #571d42; }

.alt-header-hoy-purple .page-header:before {
  background-color: #571d42; }

.hoy-purple {
  color: #571d42; }

.bg-hoy-yellow {
  background-color: #fdb521; }

.text-hoy-yellow h1, .text-hoy-yellow h2, .text-hoy-yellow h3, .text-hoy-yellow h4, .text-hoy-yellow h5, .text-hoy-yellow h6, .text-hoy-yellow p {
  color: #fdb521; }

h1.hoy-yellow, h2.hoy-yellow, h3.hoy-yellow, h4.hoy-yellow, h5.hoy-yellow, h6.hoy-yellow, p.hoy-yellow {
  color: #fdb521; }

.alt-header-hoy-yellow .page-header:before {
  background-color: #fdb521; }

.hoy-yellow {
  color: #fdb521; }

.bg-hoy-grey {
  background-color: #6a7883; }

.text-hoy-grey h1, .text-hoy-grey h2, .text-hoy-grey h3, .text-hoy-grey h4, .text-hoy-grey h5, .text-hoy-grey h6, .text-hoy-grey p {
  color: #6a7883; }

h1.hoy-grey, h2.hoy-grey, h3.hoy-grey, h4.hoy-grey, h5.hoy-grey, h6.hoy-grey, p.hoy-grey {
  color: #6a7883; }

.alt-header-hoy-grey .page-header:before {
  background-color: #6a7883; }

.hoy-grey {
  color: #6a7883; }

.bg-hoy-brown {
  background-color: #82764c; }

.text-hoy-brown h1, .text-hoy-brown h2, .text-hoy-brown h3, .text-hoy-brown h4, .text-hoy-brown h5, .text-hoy-brown h6, .text-hoy-brown p {
  color: #82764c; }

h1.hoy-brown, h2.hoy-brown, h3.hoy-brown, h4.hoy-brown, h5.hoy-brown, h6.hoy-brown, p.hoy-brown {
  color: #82764c; }

.alt-header-hoy-brown .page-header:before {
  background-color: #82764c; }

.hoy-brown {
  color: #82764c; }

.bg-adult-purple {
  background-color: #7f1e49; }

.text-adult-purple h1, .text-adult-purple h2, .text-adult-purple h3, .text-adult-purple h4, .text-adult-purple h5, .text-adult-purple h6, .text-adult-purple p {
  color: #7f1e49; }

h1.adult-purple, h2.adult-purple, h3.adult-purple, h4.adult-purple, h5.adult-purple, h6.adult-purple, p.adult-purple {
  color: #7f1e49; }

.alt-header-adult-purple .page-header:before {
  background-color: #7f1e49; }

.adult-purple {
  color: #7f1e49; }

.bg-adult-dark-purple {
  background-color: #250a36; }

.text-adult-dark-purple h1, .text-adult-dark-purple h2, .text-adult-dark-purple h3, .text-adult-dark-purple h4, .text-adult-dark-purple h5, .text-adult-dark-purple h6, .text-adult-dark-purple p {
  color: #250a36; }

h1.adult-dark-purple, h2.adult-dark-purple, h3.adult-dark-purple, h4.adult-dark-purple, h5.adult-dark-purple, h6.adult-dark-purple, p.adult-dark-purple {
  color: #250a36; }

.alt-header-adult-dark-purple .page-header:before {
  background-color: #250a36; }

.adult-dark-purple {
  color: #250a36; }

.bg-adult-blue {
  background-color: #3f8dac; }

.text-adult-blue h1, .text-adult-blue h2, .text-adult-blue h3, .text-adult-blue h4, .text-adult-blue h5, .text-adult-blue h6, .text-adult-blue p {
  color: #3f8dac; }

h1.adult-blue, h2.adult-blue, h3.adult-blue, h4.adult-blue, h5.adult-blue, h6.adult-blue, p.adult-blue {
  color: #3f8dac; }

.alt-header-adult-blue .page-header:before {
  background-color: #3f8dac; }

.adult-blue {
  color: #3f8dac; }

.bg-apprenticeships-orange {
  background-color: #f7941d; }

.text-apprenticeships-orange h1, .text-apprenticeships-orange h2, .text-apprenticeships-orange h3, .text-apprenticeships-orange h4, .text-apprenticeships-orange h5, .text-apprenticeships-orange h6, .text-apprenticeships-orange p {
  color: #f7941d; }

h1.apprenticeships-orange, h2.apprenticeships-orange, h3.apprenticeships-orange, h4.apprenticeships-orange, h5.apprenticeships-orange, h6.apprenticeships-orange, p.apprenticeships-orange {
  color: #f7941d; }

.alt-header-apprenticeships-orange .page-header:before {
  background-color: #f7941d; }

.apprenticeships-orange {
  color: #f7941d; }

.bg-employers-dark-blue {
  background-color: #00454b; }

.text-employers-dark-blue h1, .text-employers-dark-blue h2, .text-employers-dark-blue h3, .text-employers-dark-blue h4, .text-employers-dark-blue h5, .text-employers-dark-blue h6, .text-employers-dark-blue p {
  color: #00454b; }

h1.employers-dark-blue, h2.employers-dark-blue, h3.employers-dark-blue, h4.employers-dark-blue, h5.employers-dark-blue, h6.employers-dark-blue, p.employers-dark-blue {
  color: #00454b; }

.alt-header-employers-dark-blue .page-header:before {
  background-color: #00454b; }

.employers-dark-blue {
  color: #00454b; }

.bg-employers-light-blue {
  background-color: #65989f; }

.text-employers-light-blue h1, .text-employers-light-blue h2, .text-employers-light-blue h3, .text-employers-light-blue h4, .text-employers-light-blue h5, .text-employers-light-blue h6, .text-employers-light-blue p {
  color: #65989f; }

h1.employers-light-blue, h2.employers-light-blue, h3.employers-light-blue, h4.employers-light-blue, h5.employers-light-blue, h6.employers-light-blue, p.employers-light-blue {
  color: #65989f; }

.alt-header-employers-light-blue .page-header:before {
  background-color: #65989f; }

.employers-light-blue {
  color: #65989f; }

.bg-offWhite {
  background-color: #F0F0F0; }

.text-offWhite h1, .text-offWhite h2, .text-offWhite h3, .text-offWhite h4, .text-offWhite h5, .text-offWhite h6, .text-offWhite p {
  color: #F0F0F0; }

h1.offWhite, h2.offWhite, h3.offWhite, h4.offWhite, h5.offWhite, h6.offWhite, p.offWhite {
  color: #F0F0F0; }

.alt-header-offWhite .page-header:before {
  background-color: #F0F0F0; }

.offWhite {
  color: #F0F0F0; }

.bg-dark-grey {
  background-color: #333; }

.text-dark-grey h1, .text-dark-grey h2, .text-dark-grey h3, .text-dark-grey h4, .text-dark-grey h5, .text-dark-grey h6, .text-dark-grey p {
  color: #333; }

h1.dark-grey, h2.dark-grey, h3.dark-grey, h4.dark-grey, h5.dark-grey, h6.dark-grey, p.dark-grey {
  color: #333; }

.alt-header-dark-grey .page-header:before {
  background-color: #333; }

.dark-grey {
  color: #333; }

.bg-dark-blue {
  background-color: #0e2330; }

.text-dark-blue h1, .text-dark-blue h2, .text-dark-blue h3, .text-dark-blue h4, .text-dark-blue h5, .text-dark-blue h6, .text-dark-blue p {
  color: #0e2330; }

h1.dark-blue, h2.dark-blue, h3.dark-blue, h4.dark-blue, h5.dark-blue, h6.dark-blue, p.dark-blue {
  color: #0e2330; }

.alt-header-dark-blue .page-header:before {
  background-color: #0e2330; }

.dark-blue {
  color: #0e2330; }

.bg-elements-orange {
  background-color: #f15a3b; }

.text-elements-orange h1, .text-elements-orange h2, .text-elements-orange h3, .text-elements-orange h4, .text-elements-orange h5, .text-elements-orange h6, .text-elements-orange p {
  color: #f15a3b; }

h1.elements-orange, h2.elements-orange, h3.elements-orange, h4.elements-orange, h5.elements-orange, h6.elements-orange, p.elements-orange {
  color: #f15a3b; }

.alt-header-elements-orange .page-header:before {
  background-color: #f15a3b; }

.elements-orange {
  color: #f15a3b; }

.bg-elements-green {
  background-color: #4a8b74; }

.text-elements-green h1, .text-elements-green h2, .text-elements-green h3, .text-elements-green h4, .text-elements-green h5, .text-elements-green h6, .text-elements-green p {
  color: #4a8b74; }

h1.elements-green, h2.elements-green, h3.elements-green, h4.elements-green, h5.elements-green, h6.elements-green, p.elements-green {
  color: #4a8b74; }

.alt-header-elements-green .page-header:before {
  background-color: #4a8b74; }

.elements-green {
  color: #4a8b74; }

.bg-aspire-blue {
  background-color: #3b2f59; }

.text-aspire-blue h1, .text-aspire-blue h2, .text-aspire-blue h3, .text-aspire-blue h4, .text-aspire-blue h5, .text-aspire-blue h6, .text-aspire-blue p {
  color: #3b2f59; }

h1.aspire-blue, h2.aspire-blue, h3.aspire-blue, h4.aspire-blue, h5.aspire-blue, h6.aspire-blue, p.aspire-blue {
  color: #3b2f59; }

.alt-header-aspire-blue .page-header:before {
  background-color: #3b2f59; }

.aspire-blue {
  color: #3b2f59; }

.bg-aspire-purple {
  background-color: #5c1b46; }

.text-aspire-purple h1, .text-aspire-purple h2, .text-aspire-purple h3, .text-aspire-purple h4, .text-aspire-purple h5, .text-aspire-purple h6, .text-aspire-purple p {
  color: #5c1b46; }

h1.aspire-purple, h2.aspire-purple, h3.aspire-purple, h4.aspire-purple, h5.aspire-purple, h6.aspire-purple, p.aspire-purple {
  color: #5c1b46; }

.alt-header-aspire-purple .page-header:before {
  background-color: #5c1b46; }

.aspire-purple {
  color: #5c1b46; }

.bg-elements-aspire-white {
  background-color: #fff3d0; }

.text-elements-aspire-white h1, .text-elements-aspire-white h2, .text-elements-aspire-white h3, .text-elements-aspire-white h4, .text-elements-aspire-white h5, .text-elements-aspire-white h6, .text-elements-aspire-white p {
  color: #fff3d0; }

h1.elements-aspire-white, h2.elements-aspire-white, h3.elements-aspire-white, h4.elements-aspire-white, h5.elements-aspire-white, h6.elements-aspire-white, p.elements-aspire-white {
  color: #fff3d0; }

.alt-header-elements-aspire-white .page-header:before {
  background-color: #fff3d0; }

.elements-aspire-white {
  color: #fff3d0; }

:root {
  --primary: #a12471;
  --secondary: #767676;
  --success: #3adb76;
  --warning: #ffae00;
  --alert: #cc4b37;
  --white: #f8f8f8;
  --black: #161616;
  --castleford-blue: #0081D6;
  --castleford-dark-blue: #00122B;
  --selby-red: #CD1619;
  --selby-dark-red: #340200;
  --wakefield-green: #36AE72;
  --wakefield-dark-green: #002A16;
  --hoy-blue: #1c4760;
  --hoy-pink: #a12471;
  --hoy-purple: #571d42;
  --hoy-yellow: #fdb521;
  --hoy-grey: #6a7883;
  --hoy-brown: #82764c;
  --adult-purple: #7f1e49;
  --adult-dark-purple: #250a36;
  --adult-blue: #3f8dac;
  --apprenticeships-orange: #f7941d;
  --employers-dark-blue: #00454b;
  --employers-light-blue: #65989f;
  --offWhite: #F0F0F0;
  --dark-grey: #333;
  --dark-blue: #0e2330;
  --elements-orange: #f15a3b;
  --elements-green: #4a8b74;
  --aspire-blue: #3b2f59;
  --aspire-purple: #5c1b46;
  --elements-aspire-white: #fff3d0; }

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

@media print, screen and (min-width: 64em) {
  .global-message {
    margin-top: 104px; }
  .alt-header.no-slide header.sticky-container .is-anchored a {
    color: #f8f8f8; }
  .alt-header.no-slide header.sticky-container .is-anchored .site_logo {
    fill: #f8f8f8; } }

.slanted {
  -webkit-clip-path: polygon(0 4%, 100% 0%, 100% 96%, 0% 100%);
          clip-path: polygon(0 4%, 100% 0%, 100% 96%, 0% 100%);
  padding-top: 5rem !important;
  margin-top: -5rem !important; }

.bottom-slanted {
  -webkit-clip-path: polygon(0 0, 100% 0%, 100% 96%, 0% 100%);
          clip-path: polygon(0 0, 100% 0%, 100% 96%, 0% 100%); }
  .bottom-slanted + * {
    padding-top: 5rem !important;
    margin-top: -5rem !important; }

.top-slanted {
  -webkit-clip-path: polygon(0 4%, 100% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(0 4%, 100% 0%, 100% 100%, 0% 100%);
  margin-top: -3rem !important;
  padding-top: 5rem !important; }
  .top-slanted .mod_rotator {
    margin-top: -5rem; }
    .top-slanted .mod_rotator .rotator__image {
      height: 43.75rem; }
    .top-slanted .mod_rotator h2 {
      top: 7.5rem; }

@media print, screen and (min-width: 40em) {
  .slanted {
    -webkit-clip-path: polygon(0 10%, 100% 0%, 100% 90%, 0% 100%);
            clip-path: polygon(0 10%, 100% 0%, 100% 90%, 0% 100%); }
  .bottom-slanted {
    -webkit-clip-path: polygon(0 0, 100% 0%, 100% 90%, 0% 100%);
            clip-path: polygon(0 0, 100% 0%, 100% 90%, 0% 100%); }
  .top-slanted {
    -webkit-clip-path: polygon(0 6%, 100% 0%, 100% 100%, 0% 100%);
            clip-path: polygon(0 6%, 100% 0%, 100% 100%, 0% 100%); } }

@media print, screen and (min-width: 64em) {
  .top-slanted {
    -webkit-clip-path: polygon(0 10%, 100% 0%, 100% 100%, 0% 100%);
            clip-path: polygon(0 10%, 100% 0%, 100% 100%, 0% 100%); } }

.mod-breadcrumbs i {
  color: #1c4760; }

.mod-breadcrumbs a, .mod-breadcrumbs span {
  color: #6B6B6B;
  font-weight: 900;
  font-size: 0.875rem;
  display: block; }
  .mod-breadcrumbs a:hover, .mod-breadcrumbs span:hover {
    text-decoration: underline; }

.mod-breadcrumbs span:hover {
  text-decoration: none; }

.mod-breadcrumbs .mod-breadcrumbs__item {
  position: relative; }
  .mod-breadcrumbs .mod-breadcrumbs__item.breadcrumb-item {
    margin-left: 2rem; }

.mod-breadcrumbs .mod-breadcrumbs__divider + li.breadcrumb-item {
  margin-left: 1rem; }

.mod-breadcrumbs .mod-breadcrumbs__item:not(:last-child):after {
  content: "\f105";
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  position: absolute;
  top: 1px;
  right: -18px;
  line-height: 1;
  font-size: 0.625rem;
  color: #6B6B6B; }

@font-face {
  font-family: 'Causten Round';
  src: url("../fonts/CaustenRoundExtraLight.woff"), url("../fonts/CaustenRoundExtraLight.woff2");
  font-weight: 200;
  font-style: normal; }

@font-face {
  font-family: 'Causten Round';
  src: url("../fonts/CaustenRoundRegular.woff"), url("../fonts/CaustenRoundRegular.woff2");
  font-weight: 400;
  font-style: normal; }

@font-face {
  font-family: 'Causten Round';
  src: url("../fonts/CaustenRoundMedium.woff"), url("../fonts/CaustenRoundMedium.woff2");
  font-weight: 500;
  font-style: normal; }

@font-face {
  font-family: 'Causten Round';
  src: url("../fonts/CaustenRoundBold.woff"), url("../fonts/CaustenRoundBold.woff2");
  font-weight: 700;
  font-style: normal; }

@font-face {
  font-family: 'Causten Round';
  src: url("../fonts/CaustenRoundExtraBold.woff"), url("../fonts/CaustenRoundExtraBold.woff2");
  font-weight: 800;
  font-style: normal; }

@font-face {
  font-family: 'Cuasten Round';
  src: url("../fonts/CaustenRoundBlack.woff"), url("../fonts/CaustenRoundBlack.woff2");
  font-weight: 900;
  font-style: normal; }

header.sticky-container {
  width: 100%;
  background: #f8f8f8; }
  header.sticky-container #sc-logo {
    padding-right: 6rem; }
  header.sticky-container #cc-logo {
    padding-right: 3.7rem; }
  header.sticky-container #wc-logo {
    padding-right: 4.1rem; }
  header.sticky-container .grid-container {
    padding-bottom: 1rem;
    padding-top: 1rem; }
  header.sticky-container .site_logo {
    fill: #161616;
    -webkit-transition: fill 0.2s ease-in-out;
    transition: fill 0.2s ease-in-out; }
  header.sticky-container .is-stuck {
    background: #f8f8f8; }
    header.sticky-container .is-stuck .site_logo {
      fill: #161616; }
    header.sticky-container .is-stuck a,
    header.sticky-container .is-stuck .header__logo-brand span {
      color: #161616;
      text-shadow: none; }
    header.sticky-container .is-stuck .header__toplinks a,
    header.sticky-container .is-stuck .header__toplinks .dropdown li.is-active > a {
      color: #707070; }
  header.sticky-container .sticky {
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    -webkit-transition: background-color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out; }
    header.sticky-container .sticky:before {
      content: "";
      height: 5px;
      display: block;
      width: 100%;
      background: -webkit-gradient(linear, left top, right top, from(#e43318), color-stop(16%, #ee760f), color-stop(33%, #fbd93a), color-stop(50%, #82bd46), color-stop(70%, #3ca5d1), color-stop(85%, #753187), to(#dd475c));
      background: linear-gradient(90deg, #e43318 0%, #ee760f 16%, #fbd93a 33%, #82bd46 50%, #3ca5d1 70%, #753187 85%, #dd475c 100%); }
  header.sticky-container ul {
    list-style-type: none;
    margin: 0; }
  header.sticky-container ul ul {
    display: none; }
  header.sticky-container li {
    display: inline-block; }
  header.sticky-container a {
    color: #161616;
    text-shadow: none;
    -webkit-transition: color 0.2s ease-in-out;
    transition: color 0.2s ease-in-out; }
  header.sticky-container .header__logo svg {
    max-width: 14.75rem;
    width: 100%; }
  header.sticky-container .header__logo a {
    width: 100%; }
  header.sticky-container .header__logo-brand span {
    color: #f8f8f8;
    font-weight: 700;
    font-size: 0.8rem; }
  header.sticky-container .header__logo-brand svg {
    max-width: 10.3125rem; }
  header.sticky-container .header__fade > .grid-container > .grid-x {
    position: relative; }

.header__toplinks {
  display: none;
  padding: 0 0 0.625rem;
  text-align: right; }
  .header__toplinks a {
    font-weight: 900;
    text-shadow: 0px 2px 1px rgba(0, 0, 0, 0.25);
    font-size: 0.8rem;
    text-transform: uppercase;
    margin-left: 0.9375rem; }
  .header__toplinks ul {
    -webkit-box-pack: right;
        -ms-flex-pack: right;
            justify-content: right; }
  .header__toplinks .dropdown.menu a {
    padding: 0.375rem 0; }
  .header__toplinks .dropdown li.is-active a {
    color: #f8f8f8; }
  .header__toplinks .dropdown li.is-dropdown-submenu-parent > a {
    padding-right: 0; }
    .header__toplinks .dropdown li.is-dropdown-submenu-parent > a:after {
      display: none; }
  .header__toplinks .dropdown.menu li > .is-dropdown-submenu {
    left: 1rem;
    min-width: 0; }
    .header__toplinks .dropdown.menu li > .is-dropdown-submenu a {
      padding: 0.375rem;
      text-align: left;
      margin: 0;
      color: #161616;
      text-shadow: none; }
  .header__toplinks .active > a {
    background: none; }

.header__mainmenu {
  margin-top: 1rem; }
  .header__mainmenu ul {
    text-align: right; }
  .header__mainmenu li {
    margin-left: 1rem; }
  .header__mainmenu a {
    font-size: 1.2rem;
    font-weight: 900;
    text-shadow: 0px 2px 1px rgba(0, 0, 0, 0.25);
    letter-spacing: -0.025em; }
    .header__mainmenu a span:before {
      padding-right: 0.625rem; }
  .header__mainmenu .header__mainmenu-desktop {
    display: none; }
  .header__mainmenu .header__mainmenu-mobile a {
    font-size: 0; }
    .header__mainmenu .header__mainmenu-mobile a span {
      font-size: 1.2rem; }

ul.dropdown-menu > li {
  position: static; }
  ul.dropdown-menu > li > a {
    position: relative; }

ul.dropdown-menu > li:hover > a:after {
  content: "";
  left: 0;
  right: 0;
  top: auto;
  bottom: -23px;
  height: 5px;
  margin: 0;
  background: #f8f8f8; }

ul.dropdown-menu > .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
  top: 83px;
  left: 0;
  right: 0;
  margin: 0;
  -webkit-box-shadow: 0px 2px 1px rgba(0, 0, 0, 0.15);
          box-shadow: 0px 2px 1px rgba(0, 0, 0, 0.15);
  padding: 2rem 2rem 0; }
  ul.dropdown-menu > .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 5px;
    background: -webkit-gradient(linear, left top, right top, from(#e43318), color-stop(16%, #ee760f), color-stop(33%, #fbd93a), color-stop(50%, #82bd46), color-stop(70%, #3ca5d1), color-stop(85%, #753187), to(#dd475c));
    background: linear-gradient(90deg, #e43318 0%, #ee760f 16%, #fbd93a 33%, #82bd46 50%, #3ca5d1 70%, #753187 85%, #dd475c 100%); }
  ul.dropdown-menu > .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu.js-dropdown-active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  ul.dropdown-menu > .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu > li {
    display: block;
    width: auto;
    margin-bottom: 2rem;
    margin-left: 1%;
    text-align: left;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 30%;
            flex: 0 0 30%; }
  ul.dropdown-menu > .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu a {
    padding: 0;
    color: #161616;
    text-shadow: none; }
    ul.dropdown-menu > .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu a:hover {
      color: #a12471; }
  ul.dropdown-menu > .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu .active a {
    background: none; }
  ul.dropdown-menu > .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu > li > a {
    font-weight: 900;
    color: #161616;
    background: none;
    position: relative;
    display: inline-block; }
  ul.dropdown-menu > .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu .current > a {
    color: #a12471; }

ul.dropdown-menu .is-dropdown-submenu-parent .is-dropdown-submenu .is-dropdown-submenu {
  display: block;
  position: static;
  margin: 0;
  text-align: left; }
  ul.dropdown-menu .is-dropdown-submenu-parent .is-dropdown-submenu .is-dropdown-submenu li {
    margin: 0; }
  ul.dropdown-menu .is-dropdown-submenu-parent .is-dropdown-submenu .is-dropdown-submenu a {
    font-weight: 500;
    letter-spacing: 0; }

.no-slide header.sticky-container {
  position: relative;
  margin-bottom: 1rem; }
  .no-slide header.sticky-container .is-anchored .header__fade {
    background: #f8f8f8; }
  .no-slide header.sticky-container .site_logo {
    fill: #161616; }
  .no-slide header.sticky-container a {
    color: #161616;
    text-shadow: none; }
  .no-slide header.sticky-container .header__toplinks a {
    color: #707070; }

@media print, screen and (min-width: 64em) {
  header.sticky-container {
    position: absolute;
    top: 0;
    z-index: 99;
    background: transparent; }
    header.sticky-container #sc-logo {
      padding-right: 2.3125rem; }
    header.sticky-container #cc-logo, header.sticky-container #wc-logo {
      padding-right: 0; }
    header.sticky-container .is-anchored .header__fade {
      background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.6)), to(rgba(0, 0, 0, 0)));
      background: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%); }
    header.sticky-container .site_logo {
      fill: #f8f8f8; }
    header.sticky-container .header__logo a {
      padding-right: 2.4rem; }
    header.sticky-container a {
      color: #f8f8f8;
      text-shadow: 0px 2px 1px rgba(0, 0, 0, 0.25); }
  .header__mainmenu {
    margin-top: 0; }
    .header__mainmenu .header__mainmenu-desktop {
      display: block; }
    .header__mainmenu .header__mainmenu-mobile {
      display: none; }
  .header__logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  header .header__toplinks {
    display: block; } }

#offCanvas {
  padding-top: 42px;
  -webkit-box-shadow: none;
          box-shadow: none; }
  #offCanvas:before {
    content: "";
    height: 5px;
    display: block;
    width: 100%;
    background: -webkit-gradient(linear, left top, right top, from(#e43318), color-stop(16%, #ee760f), color-stop(33%, #fbd93a), color-stop(50%, #82bd46), color-stop(70%, #3ca5d1), color-stop(85%, #753187), to(#dd475c));
    background: linear-gradient(90deg, #e43318 0%, #ee760f 16%, #fbd93a 33%, #82bd46 50%, #3ca5d1 70%, #753187 85%, #dd475c 100%);
    position: absolute;
    top: 0; }
  #offCanvas .mod-list li {
    margin: 0; }
  #offCanvas .drilldown a {
    font-weight: 900;
    color: #161616;
    font-size: 1.5rem; }
  #offCanvas .drilldown .active > a {
    color: #f8f8f8; }

#slide {
  position: relative;
  z-index: 1; }
  #slide .slide__controls {
    bottom: 0.9375rem;
    max-width: 75rem;
    width: 100%;
    position: absolute;
    z-index: 1;
    left: 0.625rem;
    text-align: left; }
  #slide .swiper-pagination {
    position: static;
    text-align: left;
    display: inline; }
  #slide .swiper-button-pause {
    color: #f8f8f8;
    font-size: 1.6rem;
    margin-right: 0.625rem;
    cursor: pointer;
    opacity: 0.4; }
    #slide .swiper-button-pause.active {
      opacity: 1; }
  #slide .swiper-pagination-bullet {
    width: 20px;
    height: 20px;
    background: #f8f8f8;
    margin: 0 0.625rem 0 0;
    opacity: 0.4; }
  #slide .swiper-pagination-bullet-active {
    opacity: 1; }
  #slide .swiper-slide {
    height: auto; }
  #slide img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    height: 100%;
    max-width: none;
    position: absolute; }
  #slide.swiper-initialized {
    background: #161616; }

.slide__image {
  width: 100%; }

.slide__content {
  color: #f8f8f8;
  padding: 1rem 0 3rem;
  font-size: 1.125rem;
  font-weight: 800;
  position: relative; }
  .slide__content .lead {
    font-weight: 400; }
  .slide__content p, .slide__content li {
    line-height: 115%;
    text-shadow: 0px 2px 1px rgba(0, 0, 0, 0.25); }
  .slide__content .slide__title {
    display: block;
    font-size: 3rem;
    line-height: 3rem;
    font-weight: 800;
    margin-bottom: 1.6rem; }
  .slide__content .button {
    margin-top: 0.25rem;
    font-size: 1.125rem; }

@media print, screen and (min-width: 64em) {
  #slide img {
    position: static; }
  #slide .slide__controls {
    bottom: 5.625rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%); }
  #slide .slide__title {
    font-size: 4.7rem;
    line-height: 80%;
    letter-spacing: -4px;
    text-shadow: 0px 2px 1px rgba(0, 0, 0, 0.25); }
  #slide .swiper-slide {
    height: 45.3125rem; }
    #slide .swiper-slide.no-image {
      height: 32rem; }
    #slide .swiper-slide.title-slide {
      height: 23.75rem; }
  #slide .title-slide .slide__content {
    top: 65%; }
  #slide .slide__content {
    position: absolute;
    background: none;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    padding: 0; }
  #slide .slide__content > *:not(.slide__title) {
    max-width: 39.375rem; }
  .slide__content .lead {
    font-size: 1.8rem; } }

.mod_section {
  padding-top: 3rem; }
  .mod_section .section__block {
    margin-bottom: 2.1875rem;
    position: relative; }
    .mod_section .section__block .section__icon {
      font-size: 3.75rem;
      margin-bottom: 1.4rem; }
    .mod_section .section__block .section__block-title {
      font-size: 1.75rem;
      line-height: 100%;
      margin-bottom: 1.3rem; }
    .mod_section .section__block p {
      font-size: 1.125rem;
      font-weight: 500;
      line-height: 130%;
      margin-bottom: 0; }
    .mod_section .section__block i {
      font-size: 2rem; }
    .mod_section .section__block.section__block-has-image .section__block-title,
    .mod_section .section__block.section__block-has-image p {
      width: 50%; }
  .mod_section .section__block-image {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 50%;
    -webkit-clip-path: polygon(30% 0, 100% 0, 100% 100%, 13% 100%);
            clip-path: polygon(30% 0, 100% 0, 100% 100%, 13% 100%);
    padding: 2px; }
    .mod_section .section__block-image img {
      -o-object-fit: cover;
         object-fit: cover;
      height: 100%;
      width: 100%; }
  .mod_section .section__block-stat {
    display: block;
    font-size: 3.25rem;
    font-weight: 900;
    margin-top: -4.3rem; }
    .mod_section .section__block-stat span {
      padding: 0.4rem 0.6rem; }
  .mod_section .section__block-link {
    display: block;
    height: 100%; }
  .mod_section.mod_section--subject .section__block-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: 13.75rem; }
  .mod_section.mod_section--subject i {
    margin-top: auto; }
  @media print, screen and (min-width: 64em) {
    .mod_section {
      padding-bottom: 3rem; }
      .mod_section.mod_section--lines .mod_section__header,
      .mod_section.mod_section--lines .section__block {
        padding-left: 0.9375rem; }
      .mod_section.mod_section--lines .section__block-title:before,
      .mod_section.mod_section--lines .section__block:before {
        content: "";
        background: #4D606A;
        position: absolute; }
      .mod_section.mod_section--lines .section__block:before {
        left: 0;
        width: 2px;
        top: -270px;
        bottom: -270px; }
      .mod_section.mod_section--lines .section__block-title {
        position: relative; }
      .mod_section.mod_section--lines .section__block-title:before {
        width: 3px;
        left: -13px;
        top: 0;
        bottom: 0; } }

.mod_section__header {
  font-size: 2.375rem;
  font-weight: 200;
  line-height: 100%;
  margin-bottom: 2.1875rem; }
  @media print, screen and (min-width: 64em) {
    .mod_section__header {
      font-size: 3.625rem; } }

.component .page-header h1 {
  font-weight: 900;
  line-height: 100%;
  letter-spacing: -1px;
  margin: 1.4rem 0 4.0625rem;
  color: #a12471; }

.component:not(.homepage) {
  margin-bottom: 4rem; }

.bg-primary .component,
.bg-primary .component h1 {
  color: #f8f8f8; }

.homepage .component {
  padding-top: 3.4375rem;
  margin-bottom: 0; }
  .homepage .component .com-content-category-blog {
    background: none;
    -webkit-box-shadow: none;
            box-shadow: none;
    margin: 0;
    padding: 0; }

.sidebar .moduletable {
  background: #f8f8f8;
  padding: 1rem;
  -webkit-box-shadow: 0px 2px 1px rgba(0, 0, 0, 0.15);
          box-shadow: 0px 2px 1px rgba(0, 0, 0, 0.15); }
  .sidebar .moduletable h3 {
    font-size: 1rem;
    text-transform: uppercase;
    margin-bottom: 1.5rem; }
  .sidebar .moduletable a.mod-articles-category-title {
    text-decoration: none !important; }

.mod-list {
  margin: 0;
  list-style-type: none; }
  .mod-list ul {
    list-style-type: none;
    margin-left: 0; }
  .mod-list li {
    margin-bottom: 0.8rem; }

.mod-articles-category-group {
  color: #a12471;
  font-weight: 900;
  font-size: 1.25rem;
  margin-bottom: 0.5rem; }

.mod-articles-category-title {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  display: block;
  padding-left: 1rem;
  position: relative; }
  .mod-articles-category-title:before {
    content: "+";
    color: #1c4760;
    position: absolute;
    left: 0;
    font-weight: 900; }

.callout__info {
  font-weight: 600;
  margin-bottom: 1.875rem; }
  .callout__info span {
    display: block;
    font-size: 0.875rem;
    color: #a12471;
    text-transform: uppercase; }
  .callout__info .callout__info-block {
    margin-bottom: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .callout__info {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .callout__info .callout__info-block {
        margin: 0 3.75rem 0 0; } }

.tabs {
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.tabs-title {
  float: none; }

.tabs-title > a {
  font-weight: 900;
  border-top: 5px solid transparent; }

.tabs-title > a[aria-selected="true"] {
  border-top: 5px solid #a12471; }

.tabs-title > a:hover {
  color: #a12471; }

.mod_courses .mod_courses__container {
  max-width: 53.125rem;
  margin: 0 auto; }

.mod_courses .tabs-panel {
  padding: 0; }

.module__links {
  padding: 2.5rem 0 0; }
  .module__links .module__links-header {
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    color: #a12471; }
  .module__links ul {
    font-size: 1.125rem;
    font-weight: 700;
    margin-left: 0.75rem; }
  .module__links li {
    padding-left: 0.5rem; }
  .module__links li::marker {
    content: "> ";
    color: #a12471; }
  .module__links a {
    color: #161616; }

.mod_courses-content ul,
.mod_courses-multi .accordion-content ul {
  margin: 0;
  list-style-type: none; }

.mod_courses-content li,
.mod_courses-multi .accordion-content li {
  text-transform: uppercase;
  font-size: 0.875rem;
  font-weight: 500; }

.mod_courses-content h3,
.mod_courses-multi .accordion-content h3 {
  font-size: 1.5rem;
  font-weight: 500;
  margin-bottom: 0.625rem;
  text-transform: none; }
  .mod_courses-content h3 a,
  .mod_courses-multi .accordion-content h3 a {
    color: #161616; }
  .mod_courses-content h3 a:hover,
  .mod_courses-multi .accordion-content h3 a:hover {
    color: #a12471; }

.mod_courses-content .mod_courses-readmore,
.mod_courses-multi .accordion-content .mod_courses-readmore {
  margin-left: 1.25rem;
  text-decoration: underline; }

.mod_courses-content ul {
  padding: 1.875rem; }

.mod_courses-content li {
  padding-bottom: 1.25rem;
  margin-bottom: 1.25rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.25); }
  .mod_courses-content li:last-child {
    border: none;
    margin: 0;
    padding: 0; }

.mod_courses-multi .tabs {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.mod_courses-multi .mod_courses_tab-title,
.mod_courses-multi .tabs-title a {
  padding: 1.25rem 0;
  background: none;
  color: #f8f8f8;
  border-bottom: 2px solid #f8f8f8;
  border-top: none; }

.mod_courses-multi .tabs-title > a[aria-selected="true"] {
  border-top: none;
  color: #fdb521; }

.mod_courses-multi .mod_courses_tab-title {
  font-size: 1.125rem;
  font-weight: 900; }

.mod_courses-multi .tabs-content.vertical {
  border: none; }

.mod_courses-multi .mod_courses-content ul {
  padding: 0; }

.mod_courses-multi .vertical.accordion > .is-active > .accordion-title {
  background: none; }

.mod_courses-multi .accordion-item {
  padding: 0;
  margin: 0;
  border-bottom: 2px solid #161616; }

.mod_courses-multi .accordion .accordion-title {
  font-size: 1.75rem;
  font-weight: 900;
  border: none;
  text-transform: none;
  padding: 1.25rem 3.2rem 1.25rem 1.25rem;
  -webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; }

.mod_courses-multi .accordion-title:before {
  color: #fdb521; }

.mod_courses-multi .accordion .is-active .accordion-title {
  background: #fdb521;
  color: #161616; }
  .mod_courses-multi .accordion .is-active .accordion-title:before {
    color: #161616; }

.mod_courses-multi .accordion-content {
  padding: 0;
  border-top: 2px solid #161616; }
  .mod_courses-multi .accordion-content .accordion-content {
    padding: 1.25rem; }

.mod_courses-multi .accordion-content li {
  border: none;
  padding: 0;
  text-transform: none; }
  .mod_courses-multi .accordion-content li:not(:last-child):not(.accordion-item) {
    margin-bottom: 1.5625rem; }

.mod_courses-multi .mod_courses-readmore {
  text-transform: uppercase;
  color: #161616; }

.mod_courses-multi .accordion-content h3 {
  font-size: 1.125rem;
  font-weight: 400;
  margin-bottom: 0.1875rem; }

.mod_courses-multi .mod_courses--one-tab .accordion-content {
  border-width: 0; }

.mod_courses-multi .mod_courses--one-tab .accordion-title {
  display: none; }

.mod_rotator .rotator__image {
  height: 40.625rem; }
  .mod_rotator .rotator__image img {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%; }

.mod_rotator .swiper-slide .grid-container,
.mod_rotator .swiper-controls,
.mod_rotator h2 {
  position: absolute;
  z-index: 99; }

.mod_rotator h2 {
  top: 4.375rem;
  max-width: 25rem; }
  .mod_rotator h2 span {
    padding: 0.1rem 0.725rem 0.4rem;
    line-height: 1.15;
    -webkit-box-decoration-break: clone;
            box-decoration-break: clone; }

.mod_rotator .swiper-slide .grid-container {
  bottom: 5.625rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  max-width: 75rem;
  width: 100%; }

.mod_rotator .rotator__content {
  padding: 0 15px;
  max-width: 60%; }
  .mod_rotator .rotator__content h4 {
    padding: 0.4375rem 0.625rem;
    display: inline-block;
    margin-bottom: 10px; }

.mod_rotator .rotator__content-text p {
  line-height: 1.4; }

.mod_rotator .rotator__content-text span {
  background: #0D0D0D;
  color: #f8f8f8;
  padding: 0.3rem 0.625rem;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone; }

.mod_rotator .rotator__content-text *:last-child {
  margin: 0; }

.mod_rotator .swiper-controls__container {
  position: relative; }

.mod_rotator .swiper-controls,
.mod_rotator .swiper-controls a {
  color: #f8f8f8; }

.mod_rotator .swiper-controls {
  bottom: 5rem;
  right: 0;
  text-align: right;
  font-size: 2rem;
  padding-right: 15px; }
  .mod_rotator .swiper-controls .swiper-control {
    display: inline-block;
    margin-left: 0.875rem; }
  .mod_rotator .swiper-controls i {
    cursor: pointer; }

@media print, screen and (min-width: 40em) {
  .mod_courses-multi .accordion-content {
    padding: 1.25rem; }
  .mod_courses-multi .mod_courses--one-tab .accordion-content {
    border-width: 2px; }
  .mod_courses-multi .mod_courses--one-tab .accordion-title {
    display: block; } }

main ul li {
  font-size: 1.25rem; }

.com-content-category-blog__item {
  margin-bottom: 2rem; }
  .com-content-category-blog__item h2 {
    font-size: 1.75rem;
    margin-bottom: 1.3rem; }
  .com-content-category-blog__item p {
    font-size: 1.125rem;
    line-height: 1.3; }
  .com-content-category-blog__item .item-content {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .com-content-category-blog__item .item-image {
    margin-bottom: 1.3rem; }
    .com-content-category-blog__item .item-image img {
      width: 100%; }

.com-content-article,
.com-content-category-blog {
  font-size: 1.125rem;
  background: #f8f8f8;
  padding: 1rem;
  margin-bottom: 2rem; }
  .com-content-article .page-header h1,
  .com-content-category-blog .page-header h1 {
    margin: 0 0 1.4rem; }
  .com-content-article .item-image,
  .com-content-category-blog .item-image {
    margin-bottom: 1rem; }

.com_content.view-article .component,
.com_content.view-category .component,
.com_apprenticeships .component {
  margin-top: 1rem; }

.hoyhome .component {
  margin-top: 0 !important;
  padding: 5rem 0; }

.hoyhome .com-content-category-blog h1 {
  font-size: 2.25rem;
  margin-bottom: 2.2rem; }

.hoyhome .com-content-category-blog p {
  font-size: 1.125rem;
  line-height: 1.3; }

.hoyhome__logos ul {
  margin: 0;
  list-style-type: none; }

.hoyhome__logos li {
  padding: 1.8rem;
  border-right: 1px solid grey;
  border-bottom: 1px solid grey; }

.hoyhome__logos li:first-child, .hoyhome__logos li:nth-child(2) {
  padding-top: 0; }

.hoyhome__logos li:nth-child(odd) {
  padding-left: 0; }

.hoyhome__logos li:nth-child(even) {
  border-right: 0;
  padding-right: 0; }

.hoyhome__logos li:nth-child(3), .hoyhome__logos li:last-child {
  border-bottom: 0;
  padding-bottom: 0; }

.article-info {
  margin-bottom: 0.3rem; }
  .article-info i {
    margin-right: 0.3125rem; }
  .article-info dd {
    font-size: 0.9rem;
    color: #262626; }

.tags {
  margin: 0 0 0.5rem;
  list-style-type: none; }
  .tags li {
    display: inline-block; }
  .tags a {
    cursor: pointer;
    color: #f8f8f8; }

.readmore {
  margin-top: auto; }
  .readmore a {
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 800;
    font-size: 1rem; }

.theme-landing .com-content-article,
.theme-landing .com-content-category-blog {
  background: none;
  padding: 0;
  -webkit-box-shadow: none;
          box-shadow: none; }

@media screen and (min-width: 75em) {
  .theme-landing .category-desc > p {
    padding: 0 6rem; } }

.news .news__title {
  font-size: 2.25rem;
  margin-bottom: 1.875rem; }

.news .news__item {
  -webkit-box-shadow: 0px 4px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0px 4px 0 rgba(0, 0, 0, 0.25);
  padding: 0.625rem 0.625rem 2.375rem; }
  .news .news__item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
    text-decoration: none !important; }
  .news .news__item a:after {
    content: "\f0a9";
    font-family: "Font Awesome 6 Pro";
    font-size: 1.75rem;
    color: #a12471;
    position: absolute;
    bottom: 10px;
    right: 10px;
    line-height: 100%; }
  .news .news__item h3 {
    color: #a12471;
    font-size: 1.25rem;
    font-weight: 800;
    margin-bottom: 1.7rem;
    line-height: 100%; }
  .news .news__item .news__item-date {
    display: inline-block;
    color: #1c4760;
    font-size: 0.875rem;
    font-weight: 800;
    text-transform: uppercase;
    margin: auto 0 0 0;
    line-height: 100%; }
  .news .news__item .news__item-intro {
    color: #161616;
    font-size: 1.125rem;
    line-height: 1.3; }

.news img {
  width: 100%;
  margin-bottom: 0.7rem; }

.news > p {
  text-align: center;
  margin: 3.125rem 0 3.4375rem; }

.news .button {
  font-size: 1.125rem; }

.news .news__readmore {
  text-align: center;
  margin: 0;
  padding: 1rem 0 1.5rem; }

#rs_events_container {
  margin: 0 !important; }
  #rs_events_container .event-month__header {
    padding: 0 !important;
    -webkit-box-flex: 100%;
        -ms-flex: 100%;
            flex: 100%; }
  #rs_events_container li:not(.event-month__header) {
    padding: 0.625rem !important; }

.view-rseventspro.layout-show .callout .button-group {
  margin-bottom: -0.9375rem; }

.news .news__item--event h3 {
  margin-bottom: 0.3125rem; }

.news .news__item--event span {
  display: block;
  line-height: 1.4;
  color: #161616;
  margin-bottom: 2.375rem;
  font-size: 1rem; }

#rseInviteForm label {
  margin-bottom: 0.375rem;
  line-height: 1.5; }

#rseInviteBtn {
  margin: 0 0.3125rem 0 0; }

@media print, screen and (min-width: 40em) {
  .event-month__header h2 {
    margin: 3.125rem 0 1.875rem; }
  #rs_events_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: wrap;
        flex-flow: wrap;
    -webkit-column-gap: 15px;
       -moz-column-gap: 15px;
            column-gap: 15px; }
    #rs_events_container li:not(.event-month__header) {
      -webkit-box-flex: 48%;
          -ms-flex: 48%;
              flex: 48%;
      max-width: 50%; } }

@media print, screen and (min-width: 64em) {
  #rs_events_container li:not(.event-month__header) {
    -webkit-box-flex: 20%;
        -ms-flex: 20%;
            flex: 20%;
    max-width: 25%; } }

form h2 {
  font-size: 2.25rem;
  line-height: 100%;
  margin-bottom: 1.25rem; }

form label.middle {
  padding: 0;
  margin-bottom: 0.375rem; }

select {
  background-position: right -0.137rem center; }

input[type="checkbox"] {
  margin: 0;
  opacity: 0;
  position: absolute;
  left: -999999px; }
  input[type="checkbox"] + label {
    font-weight: 500;
    position: relative;
    margin: 0 0 0.9375rem 2.125rem; }
    input[type="checkbox"] + label:before {
      content: "";
      width: 25px;
      height: 25px;
      border: 2px solid #e0e0e0;
      background: #fff;
      display: block;
      position: absolute;
      left: -35px;
      top: -5px; }
  input[type="checkbox"]:checked + label:after {
    content: "";
    width: 15px;
    height: 15px;
    background: #a12471;
    display: block;
    position: absolute;
    left: -30px;
    top: 0; }
  input[type="checkbox"]:focus + label:before {
    border-color: #a12471; }
  input[type="checkbox"]:disabled + label {
    opacity: 0.5;
    cursor: not-allowed; }

input[type="radio"] {
  position: absolute;
  left: -999999px; }
  input[type="radio"] + label {
    padding-left: 36px;
    position: relative;
    margin: 0 0.9375rem 1.5625rem 0; }
  input[type="radio"] + label:before,
  input[type="radio"]:checked + label:after {
    content: "";
    border-radius: 50%;
    position: absolute; }
  input[type="radio"] + label:before {
    width: 26px;
    height: 26px;
    background: #f8f8f8;
    left: 0;
    top: -5px;
    border: 2px solid #E0E0E0; }
  input[type="radio"]:checked + label:after {
    width: 12px;
    height: 12px;
    background: #a12471;
    left: 7px;
    top: 2px; }

.select2 .select2-selection__rendered {
  margin: 0; }

.select2.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  border: none;
  color: #f8f8f8;
  padding: 7px 6px; }
  .select2.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    background-color: #7f1e49;
    color: #f8f8f8; }

.select2.select2-container--default .select2-selection--multiple {
  border: 2px solid #e0e0e0;
  border-radius: 0;
  padding: 0.4rem; }

.select2.select2-container--default.select2-container--focus .select2-selection--multiple {
  border: 2px solid #a12471; }

.select2.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background: #a12471;
  border: none;
  border-radius: 0;
  color: #f8f8f8;
  font-size: 1.125rem;
  margin: 0 5px 5px 0;
  padding-right: 10px; }

.select2 .select2-search__field {
  min-height: 26px;
  margin: 0;
  font-family: "Causten Round", Helvetica, Roboto, Arial, sans-serif !important; }

.rsform-block-password input {
  margin: 0; }

.rsform-block-password .rsform-password-hint {
  margin-bottom: 1.0625rem; }

.formContainer .rsform-type-recaptchav2 .formControls.cell {
  margin-bottom: 1.5rem; }
  .formContainer .rsform-type-recaptchav2 .formControls.cell .formValidation {
    margin-top: 0; }

.rsform-block .medium-12.cell {
  margin: 0 -10px; }

.rsform-type-prosolution.has-error-foundation .cell .grid-x .cell * {
  margin: 0 0 1.5625rem; }

.newsletter {
  padding: 4.6875rem 10px; }
  .newsletter p {
    font-size: 1.375rem;
    line-height: 130%;
    margin-bottom: 2.1875rem; }
  .newsletter label {
    color: #f8f8f8; }
  .newsletter .rsform-block-privacy p {
    font-size: 1.125rem; }
  .newsletter a {
    color: #f8f8f8; }
  .newsletter .rsform-block-submit button {
    padding: 0.7rem; }

@media print, screen and (min-width: 40em) {
  .newsletter .rsform-block-submit {
    padding-top: 2rem; }
  .rsform-block .medium-12.cell {
    margin: 0 -15px; } }

.pagination {
  text-align: center; }
  .pagination a {
    margin-bottom: 0.6rem;
    font-weight: 900;
    text-transform: uppercase; }
  .pagination li:not(.active) a {
    background: #161616;
    color: #f8f8f8; }
  .pagination li a[disabled="disabled"] {
    background: #f8f8f8;
    color: #161616; }

.course-item, .course-item h2, .course-item p {
  margin-bottom: 1.5625rem; }

.page-header__subtitle {
  color: #f8f8f8;
  display: block;
  font-size: 1.125rem;
  font-weight: 500;
  margin: -3rem 0 3rem; }

.course-item {
  padding-bottom: 1.5625rem;
  border-bottom: 1px solid #6a7883; }
  .course-item h2 a {
    color: #161616; }
    .course-item h2 a:hover {
      color: #a12471; }
  .course-item p {
    font-size: 1.125rem;
    line-height: 1.3; }
  .course-item ul {
    margin: 0;
    list-style-type: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .course-item li {
    font-weight: 600;
    font-size: 1.125rem;
    padding-right: 3.125rem;
    line-height: 1.2;
    max-width: 25%; }
    .course-item li:last-child {
      margin-left: auto;
      padding: 0; }
    .course-item li a {
      margin: 0; }
  .course-item li span {
    display: block;
    text-transform: uppercase;
    color: #a12471;
    font-size: 0.875rem; }

.course-filters__container {
  background: #fff;
  -webkit-box-shadow: 0px 2px 1px rgba(0, 0, 0, 0.15);
          box-shadow: 0px 2px 1px rgba(0, 0, 0, 0.15);
  margin: 4rem 0;
  padding: 1.5rem; }
  .course-filters__container input {
    margin: 0; }
  .course-filters__container h2 {
    color: #a12471; }

.course__pathways {
  margin-top: 3rem; }

.mod_courseinfo {
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .mod_courseinfo .callout__info-block {
    width: 50%;
    margin: 0; }
  .mod_courseinfo .callout__info-block,
  .mod_courseinfo .mod_courseinfo-buttons {
    padding: 0.6rem; }
  .mod_courseinfo .mod_courseinfo-buttons {
    width: 100%; }
  .mod_courseinfo .mod_courseinfo-buttons a:last-child {
    margin: 0; }

.com_importer .sidebar .moduletable {
  padding: 1.875rem 1.875rem 0.3125rem;
  background: #fff; }

.com_importer .sidebar .moduletable h3 {
  text-transform: none;
  font-size: 1.125rem;
  margin-bottom: 0.8125rem; }

.com_importer .slide__title {
  max-width: 31.25rem; }

.com_importer .component .page-header h1 {
  margin: 3.4rem 0 0; }

.factsheet h2,
.factsheet .accordion-title {
  font-size: 1.5rem; }

.factsheet .accordion-title {
  padding-left: 0;
  font-weight: 900; }

.factsheet .accordion-content {
  padding-left: 0;
  padding-right: 0; }

#dashfilter-course_type {
  margin-bottom: 0;
  background-color: #fff;
  padding: 0.6rem 1rem;
  height: auto; }

@media print, screen and (min-width: 64em) {
  .com_importer.view-search .sidebar {
    margin-top: 12rem; }
  .course-filters__container {
    margin: 4.9rem 0 2rem; }
  .factsheet .no-image {
    margin-top: 13rem; } }

.com-finder.finder .page-header:before {
  height: 500px; }

#search-form label {
  margin-bottom: 0.8125rem; }

#search-form .js-finder-search-query {
  height: auto;
  padding: 0.5rem 0.9375rem; }

#search-form .filters {
  margin: 0.625rem 0 0;
  display: inline-block;
  list-style-type: none; }

#search-form .search__filter {
  display: inline-block; }
  #search-form .search__filter label {
    margin-right: 1.25rem;
    font-weight: 500; }

#search-form .awesomplete {
  width: 100%; }

#search-results {
  margin-top: 4rem; }
  #search-results ol {
    margin: 0 0 3.125rem; }
  #search-results .result__title {
    margin-bottom: 1.25rem; }
  #search-results .result__item {
    margin-bottom: 1.875rem; }
    #search-results .result__item a {
      background: #eee;
      padding: 1.875rem;
      color: #161616;
      display: block;
      text-decoration: none; }
  #search-results .result__item + .result__item {
    margin-top: 0;
    border: none;
    padding: 0; }
  #search-results .result__description {
    margin-bottom: 2.5rem; }
  #search-results ul {
    margin: 0; }
  #search-results .label {
    font-size: 1rem;
    text-transform: uppercase;
    font-weight: 900;
    padding: 0.4375rem 1.1875rem; }
  #search-results .result__arrow {
    float: right;
    font-size: 2rem; }

.view-reset.layout-complete .input-group,
.view-reset.layout-complete .form-control {
  margin: 0; }

.view-reset.layout-complete .password-group {
  margin-bottom: 1.5rem; }

.input-password-toggle {
  display: none; }

footer {
  background: #161616;
  padding: 3.75rem 0; }
  footer p, footer a {
    color: #f8f8f8; }
  footer h3, footer p, footer ul a {
    font-size: 1.275rem;
    line-height: 1.3; }
  footer .custom a {
    font-weight: 900; }
  footer h3 {
    color: #82919C; }
  footer ul {
    list-style-type: none;
    margin: 0 0 1.875rem; }
  footer a:hover {
    color: #f8f8f8;
    text-decoration: underline; }
  footer .moduletable {
    margin-bottom: 1.6rem; }
  footer .mod-list li {
    margin-bottom: 0.3rem; }
  footer hr {
    max-width: none;
    height: 1px;
    background: #101010;
    border-bottom: 1px solid #1E1E1E;
    margin-bottom: 2.5rem; }
  footer .footer-bottom {
    color: #f8f8f8;
    text-align: center; }
    footer .footer-bottom .grid-x {
      -webkit-box-align: end;
          -ms-flex-align: end;
              align-items: flex-end; }
    footer .footer-bottom a {
      font-size: 1rem; }
    footer .footer-bottom li {
      margin: 0; }
  footer .footer-bottom__logo {
    padding: 2rem 0; }

@media print, screen and (min-width: 64em) {
  footer .footer-bottom__date {
    text-align: right; }
  footer .footer-bottom {
    text-align: left; }
  footer .footer-bottom__logo {
    text-align: center;
    padding: 0; } }

.cc-window input[type="checkbox"] {
  position: static; }

.cc-window div.cc-checkboxes-container a:not(.cc-btn) {
  padding: 1px 6px 0 3px; }

.cc-window a:focus,
.cc-window span:focus,
.cc-window input.cc-cookie-checkbox:focus + span::before {
  outline: 2px solid yellow; }

.margin-0 {
  margin: 0; }

.margin-1 {
  margin: 1rem; }

.margin-2 {
  margin: 2rem; }

.margin-3 {
  margin: 3rem; }

.margin-4 {
  margin: 4rem; }

.margin-5 {
  margin: 5rem; }

.margin-6 {
  margin: 6rem; }

.margin-top-0 {
  margin-top: 0; }

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

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

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

.margin-top-4 {
  margin-top: 4rem; }

.margin-top-5 {
  margin-top: 5rem; }

.margin-top-6 {
  margin-top: 6rem; }

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

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

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

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

.margin-bottom-4 {
  margin-bottom: 4rem; }

.margin-bottom-5 {
  margin-bottom: 5rem; }

.margin-bottom-6 {
  margin-bottom: 6rem; }

.margin-left-0 {
  margin-left: 0; }

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

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

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

.margin-left-4 {
  margin-left: 4rem; }

.margin-left-5 {
  margin-left: 5rem; }

.margin-left-6 {
  margin-left: 6rem; }

.margin-right-0 {
  margin-right: 0; }

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

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

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

.margin-right-4 {
  margin-right: 4rem; }

.margin-right-5 {
  margin-right: 5rem; }

.margin-right-6 {
  margin-right: 6rem; }

.padding-0 {
  padding: 0; }

.padding-1 {
  padding: 1rem; }

.padding-2 {
  padding: 2rem; }

.padding-3 {
  padding: 3rem; }

.padding-4 {
  padding: 4rem; }

.padding-5 {
  padding: 5rem; }

.padding-6 {
  padding: 6rem; }

.padding-top-0 {
  padding-top: 0; }

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

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

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

.padding-top-4 {
  padding-top: 4rem; }

.padding-top-5 {
  padding-top: 5rem; }

.padding-top-6 {
  padding-top: 6rem; }

.padding-bottom-0 {
  padding-bottom: 0; }

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

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

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

.padding-bottom-4 {
  padding-bottom: 4rem; }

.padding-bottom-5 {
  padding-bottom: 5rem; }

.padding-bottom-6 {
  padding-bottom: 6rem; }

.padding-left-0 {
  padding-left: 0; }

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

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

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

.padding-left-4 {
  padding-left: 4rem; }

.padding-left-5 {
  padding-left: 5rem; }

.padding-left-6 {
  padding-left: 6rem; }

.padding-right-0 {
  padding-right: 0; }

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

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

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

.padding-right-4 {
  padding-right: 4rem; }

.padding-right-5 {
  padding-right: 5rem; }

.padding-right-6 {
  padding-right: 6rem; }

@media print {
  * {
    print-color-adjust: exact; }
  header.sticky-container .sticky::before {
    height: 0; }
  .no-slide header.sticky-container {
    margin-bottom: 0; }
  header.sticky-container .grid-container {
    padding-bottom: 10px;
    height: 90px !important;
    overflow: hidden; }
  header.sticky-container .sticky {
    border: 0; }
  .com_content.view-article .component,
  .com_content.view-category .component,
  .com_apprenticeships .component {
    margin-top: 0; }
  .alt-header-wakefield-dark-green.factsheet h2,
  .alt-header-wakefield-dark-green .callout__info span,
  .alt-header-wakefield-dark-green .course__container .accordion .accordion-title {
    color: #36AE72 !important; }
  .alt-header-wakefield-dark-green .sidebar {
    border-color: #36AE72; }
  .alt-header-castleford-dark-blue.factsheet h2,
  .alt-header-castleford-dark-blue .callout__info span,
  .alt-header-castleford-dark-blue .course__container .accordion .accordion-title {
    color: #0081D6 !important; }
  .alt-header-castleford-dark-blue .sidebar {
    border-color: #0081D6; }
  .alt-header-selby-dark-red.factsheet h2,
  .alt-header-selby-dark-red .callout__info span,
  .alt-header-selby-dark-red .course__container .accordion .accordion-title {
    color: #CD1619 !important; }
  .alt-header-selby-dark-red .sidebar {
    border-color: #CD1619; }
  .component .page-header h1 {
    margin: 0 0 1rem;
    max-width: 65%; }
  .factsheet h2,
  .course__container .accordion .accordion-title {
    font-size: 1.1rem;
    padding: 0;
    margin-bottom: 0.5rem; }
  .course__container .accordion .accordion-content {
    padding: 0; }
  .alt-header .page-header::before {
    height: 250px;
    background-image: none; }
  .sidebar {
    margin-left: 0 !important;
    margin-top: 4rem;
    border-left: 1px solid #000; }
  .factsheet .no-image {
    margin-top: 5rem; }
  header.sticky-container .header__logo svg {
    max-width: none;
    width: 100%;
    padding-right: 0 !important; }
  .sidebar .moduletable {
    padding: 0; }
  .mod_courseinfo .callout__info-block,
  .mod_courseinfo .mod_courseinfo-buttons {
    padding-top: 0;
    padding-right: 0;
    font-size: 14px;
    color: #404040 !important; }
  .callout__info {
    font-weight: normal; }
  .callout__info span {
    font-size: 0.7rem;
    font-weight: 600; }
  .header__toplinks,
  .header__mainmenu,
  .course__pathways,
  .accordion-title::before,
  aside.sidebar .button,
  form,
  footer,
  #C4A_lnk1,
  .header__logo-brand span {
    display: none !important; }
  .off-canvas-content > * {
    display: none; }
  .off-canvas-content main,
  .off-canvas-content header {
    display: block; }
  .header__logo a,
  .header__logo .header__logo-brand {
    position: absolute;
    max-width: 200px;
    top: 0; }
  .header__logo .header__logo-brand {
    right: 15px; }
  .alt-header h1,
  header.sticky-container .header__logo-brand span {
    color: #f8f8f8 !important; }
  p, li, main ul li {
    font-size: 14px;
    line-height: 1.3;
    color: #404040 !important; }
  :last-child > .accordion-content:last-child,
  .accordion-title {
    border: 0 !important; }
  .accordion-title {
    text-decoration: none !important;
    padding-bottom: 0 !important; }
  .accordion-content {
    display: block !important;
    padding-bottom: 0 !important; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlbXBsYXRlLmNzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NsaWRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX2dsb2JhbC5zY3NzIiwiY29tcG9uZW50cy9fc2xhbnRzLnNjc3MiLCJjb21wb25lbnRzL19icmVhZGNydW1iLnNjc3MiLCJjb21wb25lbnRzL19mb250cy5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19vZmZjYW52YXMuc2NzcyIsImNvbXBvbmVudHMvX3NsaWRlLnNjc3MiLCJjb21wb25lbnRzL19zZWN0aW9uLnNjc3MiLCJjb21wb25lbnRzL19jb21wb25lbnQuc2NzcyIsImNvbXBvbmVudHMvX21vZHVsZXMuc2NzcyIsImNvbXBvbmVudHMvX2NvbnRlbnQuc2NzcyIsImNvbXBvbmVudHMvX25ld3Muc2NzcyIsImNvbXBvbmVudHMvX2V2ZW50cy5zY3NzIiwiY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX2NvdXJzZXMuc2NzcyIsImNvbXBvbmVudHMvX3NlYXJjaC5zY3NzIiwiY29tcG9uZW50cy9fdXNlci5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19jb29raWUuc2NzcyIsImNvbXBvbmVudHMvX2hlbHBlcnMuc2NzcyIsImNvbXBvbmVudHMvX3ByaW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQWhCOzs7OztFRE1FO0FFZ0xNO0VDeklOO0lBQ0UsV0FBVztJQUNYLFVBQVU7SUFDVixjQUFjLEVBQUEsRUFDZjs7QUNoREQsMkVBQUE7QUFRQTtFQUNFLGlCQUFpQjtFQUNqQiw4QkFBOEIsRUFBQTs7QUFRaEM7RUFDRSxTQUFTLEVBQUE7O0FBTVg7RUFDRSxjQUFjO0VBQ2QsZ0JBQWdCLEVBQUE7O0FBU2xCO0VBQ0UsK0JBQXVCO1VBQXZCLHVCQUF1QjtFQUN2QixTQUFTO0VBQ1QsaUJBQWlCLEVBQUE7O0FBTW5CO0VBQ0UsaUNBQWlDO0VBQ2pDLGNBQWMsRUFBQTs7QUFRaEI7RUFDRSw2QkFBNkIsRUFB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bUJGbUIyQjtFRWxCM0IsZ0JGMUJxQjtFRTJCckIsY0ZoQ2E7RUVtQ1gsMkVGd1k4RDtFRXhZOUQsbUVGd1k4RDtFRXhZOUQsMkRGd1k4RDtFRXhZOUQsb0ZGd1k4RDtFRW5YOUQsd0JBQWdCO0tBQWhCLHFCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQTtFUjRIbEI7O0lRNUlFLGFBQWE7SUFDYix5QkZsQ2M7SUVtQ2QseUJGekNXO0lFMENYLG1DRjlDaUI7WUU4Q2pCLDJCRjlDaUI7SUVpRGYsMkVGNlg0RDtJRTdYNUQsbUVGNlg0RDtJRTdYNUQsMkRGNlg0RDtJRTdYNUQsb0ZGNlg0RCxFQUFBOztBRmpTaEU7RUk3RUUsZUFBZSxFQUFBO0VBRGpCO0lBSUksWUFBWSxFQUFBOztBQUloQjs7O0VBS0kseUJGN0VjO0VFOEVkLG1CRmdXNkIsRUFBQTs7QU5uT25DOztFUXRISSx3QkFBZ0I7S0FBaEIscUJBQWdCO1VBQWhCLGdCQUFnQjtFQUNoQixrQkYvQmUsRUFBQTs7QUVtQ2pCO0VBQ0UsOEJBQXNCO1VBQXRCLHNCQUFzQixFQUFBOztBQWlCeEI7RUFDRSxjRjVHaUIsRUFBQTs7QUUyR25CO0VBQ0UsY0Y1R2lCLEVBQUE7O0FFMkduQjtFQUNFLGNGNUdpQixFQUFBOztBRTJHbkI7RUFDRSxjRjVHaUIsRUFBQTs7QUUyR25CO0VBQ0UsY0Y1R2lCLEVBQUE7O0FOcU5yQjs7O0VVN1FJLHFCRGtGNEQsRUFBQTs7QVRnTWhFOztFVTVRSSxxQkFBcUI7RUFDckIsd0JBQXdCO0VBRXhCLHVCQUFrRDtFQUNsRCx1QkR3RTREO0VDdkU1RCxnQkFBZ0IsRUFBQTtFVjhRbEI7O0lVM1FJLGVBQWUsRUFBQTs7QUFLbkI7O0VBRUUsd0JBQW1ELEVBQUE7O0FWNFF2RDtFVXZRSSxXQUFXLEVBQUE7O0FDS2I7RUFsQkEsY0FBYztFQUNkLFNBQVM7RUFFVCxtQkZrRThEO0VFakU5RCxnQkxpYzBCO0VLaGMxQixjTGljd0I7RUtoY3hCLGNMd0NhLEVBQUE7RUs1QmI7SUFOQSxxQkZ5RDhEO0lFeEQ5RCxnQkxzQ3FCO0lLckNyQixxQkFBZ0UsRUFBQTs7QUNsQmhFO0VBR0UsdUJBRnVDO0VBR3ZDLG9CSHFFNEQ7RUdwRTVELGtCTjZid0I7RU01YnhCLGNONENXLEVBQUE7O0FPN0NiO0VBQ0Usb0JBQWlDO0VBQWpDLG9CQUFpQztFQUFqQyxhQUFpQztFQUNqQyxXQUFXO0VBQ1gsd0JKaUU0RDtFSTlEMUQsMEJBQW9CO01BQXBCLHVCQUFvQjtVQUFwQixvQkFBb0IsRUFBQTtFQU54QjtJQVdNLHNCUCtjUSxFQUFBO0VPMWRkO0lBaUJNLHNCQUFpSCxFQUFBOztBQUt2SDs7OztFQUNFLFNBQVM7RUFDVCxtQkFBbUIsRUFBQTs7QUFRckI7RUFFRSxlUCtadUI7RU85WnZCLHlCUE9pQjtFT05qQixtQlBLZ0I7RU9IaEIsY1BPVztFT05YLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFHakIsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYixtQkFBYztNQUFkLGtCQUFjO1VBQWQsY0FBYztFQUNkLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CLEVBQUE7RUFidkI7SUFzQk0sZUFBaUMsRUFBQTtFQXRCdkM7SUEwQk0sY0FBZ0MsRUFBQTs7QUFLdEM7RUFFRSxnQkFBZ0I7RUFHZCxtQkFBYTtNQUFiLGlCQUFhO1VBQWIsYUFBYTtFQUNiLFlBQVksRUFBQTs7QUFJaEI7RUFFRSxjQUFjO0VBQ2QsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUdoQixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLG1CQUFjO01BQWQsa0JBQWM7VUFBZCxjQUFjLEVBQUE7RUFSbEI7Ozs7SUFzQk0sNEJBQW1CO1FBQW5CLG1CQUFtQjtJQUNuQixZQUFZO0lBS2QsY0FBYztJQUNkLGlCQUFpQjtJQUNqQixtQkpuQzBELEVBQUE7O0FMeUY5RDtFVWhKRSxTQUFTO0VBQ1QsVUFBVTtFQUNWLFNBQVMsRUFBQTs7QVZ1Slg7RVVuSkUsZUFBZTtFQUNmLHlCQUFrQyxFQUFBOztBQUdwQztFQXhCQSxrQkwwRVc7RUt6RVgsZ0JMb0U4RDtFS25FOUQseUJSeUNtQixFQUFBO0VRdkNuQjtJQUVFLFNBQVM7SUFDVCx1Qkw4RDREO0lLN0Q1RCxvQkw2RDRELEVBQUE7O0FKOEc5RDtFVXJMQSxnQkFGc0o7RUFHdEoscUJOc0U4RDtFTXJFOUQsZU5xRThEO0VNbkU5RCx3QkFBZ0I7S0FBaEIscUJBQWdCO1VBQWhCLGdCQUFnQjtFQUNoQix5QlRnZDhCO0VTL2M5QixnQlRxY2U7RVNwY2YseUJUMENhO0VTeENiLG9CVHFjeUI7RVNwY3pCLG1CTjZEOEQ7RU01RDlELG1CVHNGMkI7RVNyRjNCLGdCVHlDcUI7RVN4Q3JCLGNUbUNhO0VDaUZiLHdPQUF5TjtFUWhIdk4sOEJBQThCO0VBQzlCLDRDQUEwRDtFQUMxRCw0QkFBNEI7RUFDNUIsd0JBQXdCO0VBRXhCLHlCQUF1RDtFQUl2RCwyRVRpYzhEO0VTamM5RCxtRVRpYzhEO0VTamM5RCwyRFRpYzhEO0VTamM5RCxvRlRpYzhELEVBQUE7RUN4VmhFO0lGa0RBO01FL0NJLHVXQUF1VyxFQUFBLEVRckUxVztFQW5DRDtJQUNFLGFBQWE7SUFDYix5QlR1QmM7SVN0QmQseUJUZ0JXO0lTZlgsbUNUV2lCO1lTWGpCLDJCVFdpQjtJU1JmLDJFVHNiNEQ7SVN0YjVELG1FVHNiNEQ7SVN0YjVELDJEVHNiNEQ7SVN0YjVELG9GVHNiNEQsRUFBQTtFU2piaEU7SUFDRSx5QlRDZ0I7SVNBaEIsbUJUOGErQixFQUFBO0VTMWFqQztJQUNFLGFBQWEsRUFBQTtFQUdmO0lBQ0UsWUFBWTtJQUNaLHNCQUFzQixFQUFBO0VBRXhCO0lBQ0UsY0FBYztJQUNkLGlCQUFpQixFQUFBOztBQ3JDbkI7RUFDRSxxQlZxQ1k7RVVwQ1oseUJBQStELEVBQUE7RUFFL0Q7SUFDRSxjVmlDVSxFQUFBO0VVbENaO0lBQ0UsY1ZpQ1UsRUFBQTtFVWxDWjtJQUNFLGNWaUNVLEVBQUE7RVVsQ1o7SUFDRSxjVmlDVSxFQUFBO0VVbENaO0lBQ0UsY1ZpQ1UsRUFBQTs7QVVQWjtFQUNFLGNWTVUsRUFBQTs7QVVEZDtFQXpCQSxhQUFhO0VBQ2IsdUJBQWdDO0VBQ2hDLHdCUG9DOEQ7RU9sQzlELGtCUGtDOEQ7RU9qQzlELGlCVjREdUI7RVUzRHZCLGNWb0JjLEVBQUE7RVVEZDtJQUlJLGNBQWMsRUFBQTs7QUM4SWxCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFNBQVM7RUFDVCxVQUFVLEVBQUE7O0FBSVo7RUFDRSxtQlhwRDBCO0VXc0QxQixrQkFBa0I7RUFDbEIsZ0JYeERzQjtFV3lEdEIsa0NYdkR5QyxFQUFBOztBVzJEM0M7O0VBRUUsa0JBQWtCO0VBQ2xCLG9CQUFvQixFQUFBOztBQUl0Qjs7RUFFRSxpQlhwSnFCO0VXcUpyQixvQkFBb0IsRUFBQTs7QWJ0THRCO0VhMkxFLGVSckw0RDtFUXNMNUQsb0JBQW9CLEVBQUE7O0FBSXRCOzs7Ozs7RUFNRSxrRVg1S29FO0VXNktwRSxrQlhsSHNCO0VXbUh0QixnQlhwSG9CO0VXcUhwQixjWGxIa0I7RVdtSGxCLGtDWDlGc0MsRUFBQTtFV29GeEM7Ozs7OztJQWFJLGNBQWM7SUFDZCxjWGxPZSxFQUFBOztBVzJPYjtFQUlJLGtCUnJOb0Q7RVFpT3BELGdCQ3pKQTtFRGlLQSxhQUFhO0VBT2IscUJYN0ppQixFQUFBOztBVzhIckI7RUFJSSxrQlJyTm9EO0VRaU9wRCxnQkN6SkE7RURpS0EsYUFBYTtFQU9iLHFCWDdKaUIsRUFBQTs7QVc4SHJCO0VBSUksb0JSck5vRDtFUWlPcEQsZ0JDekpBO0VEaUtBLGFBQWE7RUFPYixxQlg3SmlCLEVBQUE7O0FXOEhyQjtFQUlJLG1CUnJOb0Q7RVFpT3BELGdCQ3pKQTtFRGlLQSxhQUFhO0VBT2IscUJYN0ppQixFQUFBOztBVzhIckI7RUFJSSxvQlJyTm9EO0VRaU9wRCxnQkN6SkE7RURpS0EsYUFBYTtFQU9iLHFCWDdKaUIsRUFBQTs7QVc4SHJCO0VBSUksZVJyTm9EO0VRaU9wRCxnQkN6SkE7RURpS0EsYUFBYTtFQU9iLHFCWDdKaUIsRUFBQTs7QUpLckI7RWV5SEE7SUFJSSxtQlJyTm9ELEVBQUE7RVFpTnhEO0lBSUksb0JSck5vRCxFQUFBO0VRaU54RDtJQUlJLG1CUnJOb0QsRUFBQTtFUWlOeEQ7SUFJSSxvQlJyTm9ELEVBQUE7RVFpTnhEO0lBSUksbUJSck5vRCxFQUFBO0VRaU54RDtJQUlJLG1CUnJOb0QsRUFBQSxFUWtQdkQ7O0FieFJQO0VhK1JFLG9CQUFvQjtFQUNwQixjWDFRYztFVzJRZCxxQlg1SXlCO0VXOEl6QixlQUFlLEVBQUE7RUFMakI7SUFTSSxjWG5KMkQsRUFBQTtFVzBJL0Q7SUFnQkksU0FBUyxFQUFBOztBYmpVYjtFYXVVRSxXQUFXO0VBRVgsZ0JSaFI0RDtFUWlSNUQsU0FBUztFQUNULG9CWC9KeUI7RVdpS3pCLGFBQWE7RUFDYixlQUFlO0VBQ2YsZ0NYaFRpQjtFV2lUakIsY0FBYyxFQUFBOztBQUloQjs7O0VBR0UsbUJYcEwwQjtFV3FMMUIsNEJYeEt5QjtFV3lLekIsZ0JYdkxzQixFQUFBOztBVzJMeEI7RUFDRSxrQkFBa0IsRUFBQTs7QUFJcEI7RUFDRSxvQlhsTHNCO0VXbUx0QixxQlhyTGtCLEVBQUE7O0FXeUxwQjtFQUNFLG9CWHhMc0IsRUFBQTs7QVc0THhCO0VBRUksb0JYN0wyQjtFVzhMM0IsZ0JBQWdCLEVBQUE7O0FBS3BCO0VBQ0UsbUJYbk15QixFQUFBO0VXa00zQjtJQUlJLHFCWHBNOEI7SVdxTTlCLGlCWHRTbUIsRUFBQTs7QVcyU3ZCO0VBQ0UsZ0JYN04wQjtFVzhOMUIsVVgxTWtCO0VXMk1sQixpQlgxTW9CLEVBQUE7RVd1TXRCO0lBTUksZ0JYbk9vQjtJV29PcEIsY1g3VlksRUFBQTs7QVcyV2hCO0VBQ0UsaUNYblhXO0VXb1hYLFlBQVk7RUFDWixxQkFBcUIsRUFBQTs7QUFJdkI7RUFDRSxTQUFTLEVBQUE7O0FBV1g7RUFDRSxTQUFTO0VBQ1QsMkJSM1dTO0VRNldULHlCWDdZZ0I7RVcrWWhCLDREWHBTbUU7RVdxU25FLGNYNVlXO0VXK1lULGtCWDVWYSxFQUFBOztBYVdqQjtFQUNFLGtCYndHeUI7RWF2R3pCLHFCYndHNEI7RWF0RzVCLG1CYmpCeUI7RWFrQnpCLGdCYmlHc0I7RWFoR3RCLGNidEVlLEVBQUE7O0FhMEVq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dEQ5RDtJR3lFRixnQlBuQmdFLEVBQUE7RUl0RDlEO0lHeUVGLFVQbkJnRSxFQUFBO0VJdEQ5RDtJR3lFRixnQlBuQmdFLEVBQUE7RUl0RDlEO0lHeUVGLGdCUG5CZ0UsRUFBQTtFSXREOUQ7SUd5RUYsVVBuQmdFLEVBQUE7RUl0RDlEO0lHeUVGLGdCUG5CZ0UsRUFBQTtFSXREOUQ7SUd5RUYsZ0JQbkJnRSxFQUFBO0VJdEQ5RDtJR3lFRixVUG5CZ0UsRUFBQTtFSXREOUQ7SUd5RUYsZ0JQbkJnRSxFQUFBO0VJdEQ5RDtJR3lFRixnQlBuQmdFLEVBQUE7RUl0RDlEO0lHeUVGLFdQbkJnRSxFQUFBLEVJbkQ3RDs7QXBCd0ZDO0VvQi9HRjtJR2tESixtQkFBTTtRQUFOLGlCQUFNO1lBQU4sYUFBTTtJQTJDSixXQWxGWSxFQUFBO0VITlo7SUc2Q0YsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFSHZDRjtJR2tGRixXQWxGWSxFQUFBO0VIU1Y7SUd5RUYsZVBuQmdFLEVBQUE7RUl0RDlEO0lHeUVGLGdCUG5CZ0UsRUFBQTtFSXREOUQ7SUd5RUYsVVBuQmdFLEVBQUE7RUl0RDlEO0lHeUVGLGdCUG5CZ0UsRUFBQTtFSXREOUQ7SUd5RUYsZ0JQbkJnRSxFQUFBO0VJdEQ5RDtJR3lFRixVUG5CZ0UsRUFBQTtFSXREOUQ7SUd5RUYsZ0JQbkJnRSxFQUFBO0VJdEQ5RDtJR3lFRixnQlBuQmdFLEVBQUE7RUl0RDlEO0lHeUVGLFVQbkJnRSxFQUFBO0VJdEQ5RDtJR3lFRixnQlBuQmdFLEVBQUE7RUl0RDlEO0lHeUVGLGdCUG5CZ0UsRUFBQTtFSXREOUQ7SUd5RUYsV1BuQmdFLEVBQUEsRUluRDdEOztBQUtMO0VBQ0UsV0FBVyxFQUFBOztBQUliO0VBQ0UsWUFBWSxFQUFBOztBQThCZDtFQ3ZHTSxzQkFBNkQ7RUFBN0QsdUJBQTZELEVBQUE7RXJCc0o3RDtJb0IvQ047TUN2R00sdUJBQTZEO01BQTdELHdCQUE2RCxFQUFBLEVEc0lsRTtFQS9CRDtJRzZCRSwyQkF0RDhGO0lGckU1RixxQkFBNkQ7SUFB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SUUsVVBuQmdFLEVBQUE7O0FRakhsRTtFRG9JRSxnQlBuQmdFLEVBQUE7O0FRakhsRTtFRG9JRSxVUG5CZ0UsRUFBQTs7QVFqSGxFO0VEb0lFLFVQbkJnRSxFQUFBOztBUWpIbEU7RURvSUUsZ0JQbkJnRSxFQUFBOztBUWpIbEU7RURvSUUsZ0JQbkJnRSxFQUFBOztBUWpIbEU7RURvSUUsWVBuQmdFLEVBQUE7O0FoQnFDNUQ7RXdCdEpOO0lEb0lFLFdQbkJnRSxFQUFBO0VRakhsRTtJRG9JRSxVUG5CZ0UsRUFBQTtFUWpIbEU7SURvSUUsZ0JQbkJnRSxFQUFBO0VRakhsRTtJRG9JRSxVUG5CZ0UsRUFBQTtFUWpIbEU7SURvSUUsVVBuQmdFLEVBQUE7RVFqSGxFO0lEb0lFLGdCUG5CZ0UsRUFBQTtFUWpIbEU7SURvSUUsZ0JQbkJnRSxFQUFBO0VRakhsRTtJRG9JRSxZUG5CZ0UsRUFBQSxFUS9HakU7O0F4Qm9KSztFd0J0Sk47SURvSUUsV1BuQmdFLEVBQUE7RVFqSGxFO0lEb0lFLFVQbkJnRSxFQUFBO0VRakhsRTtJRG9JRSxnQlBuQmdFLEVBQUE7RVFqSGxFO0lEb0lFLFVQbkJnRSxFQUFBO0VRakhsRTtJRG9JRSxVUG5CZ0UsRUFBQTtFUWpIbEU7SURvSUUsZ0JQbkJnRSxFQUFBO0VRakhsRTtJRG9JRSxnQlBuQmdFLEVBQUE7RVFqSGxFO0lEb0lFLFlQbkJnRSxFQUFBLEVRL0dqRTs7QUFGRDtFRG9JRSwyQkF0RDhGLEVBQUE7O0FDOUVoRztFRG9JRSwwQkF0RDhGLEVBQUE7O0FDOUVoRztFRG9JRSxnQ0F0RDhGLEVBQUE7O0FDOUVoRztFRG9JRSwwQkF0RDhGLEVBQUE7O0FDOUVoRztFRG9JRSwwQkF0RDhGLEVBQUE7O0FDOUVoRztFRG9JRSxnQ0F0RDhGLEVBQUE7O0FDOUVoRztFRG9JRSxnQ0F0RDhGLEVBQUE7O0FDOUVoRztFRG9JRSw0QkF0RDhGLEVBQUE7O0F2QndFMUY7RXdCdEpOO0lEb0lFLDRCQXREOEYsRUFBQTtFQzlFaEc7SURvSUUsMkJBdEQ4RixFQUFBO0VDOUVoRztJRG9JRSxpQ0F0RDhGLEVBQUE7RUM5RWhHO0lEb0lFLDJCQXREOEYsRUFBQTtFQzlFaEc7SURvSUUsMkJBdEQ4RixFQUFBO0VDOUVoRztJRG9JRSxpQ0F0RDhGLEVBQUE7RUM5RWhHO0lEb0lFLGlDQXREOEYsRUFBQTtFQzlFaEc7SURvSUUsNkJBdEQ4RixFQUFBO0VDOUVoRztJRG9JRSw0QkF0RDhGLEVBQUE7RUM5RWhHO0lEb0lFLDJCQXREOEYsRUFBQTtFQzlFaEc7SURvSUUsaUNBdEQ4RixFQUFBO0VDOUVoRztJRG9JRSwyQkF0RDhGLEVBQUE7RUM5RWhHO0lEb0lFLDJCQXREOEYsRUFBQTtFQzlFaEc7SURvSUUsaUNBdEQ4RixFQUFBO0VDOUVoRztJRG9JRSxpQ0F0RDhGLEVBQUE7RUM5RWhHO0lEb0lFLDZCQXREOEYsRUFBQSxFQzVFL0Y7O0F4Qm9KSztFd0J0Sk47SURvSUUsNEJBdEQ4RixFQUFBO0VDOUVoRztJRG9JRSwyQkF0RDhGLEVBQUE7RUM5RWhHO0lEb0lFLGlDQXREOEYsRUFBQTtFQzlFaEc7SURvSUUsMkJBdEQ4RixFQUFBO0VDOUVoRztJRG9JRSwyQkF0RDhGLEVBQUE7RUM5RWhHO0lEb0lFLGlDQXREOEYsRUFBQTtFQzlFaEc7SURvSUUsaUNBdEQ4RixFQUFBO0VDOUVoRztJRG9JRSw2QkF0RDhGLEVBQUEsRUM1RS9GOztBSnFNRztFSzlNRSxlQUEwQjtFQUExQixjQUEwQixFQUFBO0VBRzVCO0lBRUksZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtFQXNCeEI7SUZnSFIsZVBuQmdFLEVBQUE7RVM3RnhEO0lGZ0hSLGdCUG5CZ0UsRUFBQTtFUzdGeEQ7SUZnSFIsVVBuQmdFLEVBQUE7RVM3RnhEO0lGZ0hSLGdCUG5CZ0UsRUFBQTtFUzdGeEQ7SUZnSFIsZ0JQbkJnRSxFQUFBO0VTN0Z4RDtJRmdIUixVUG5CZ0UsRUFBQTtFUzdGeEQ7SUZnSFIsZ0JQbkJnRSxFQUFBO0VTN0Z4RDtJRmdIUixnQlBuQmdFLEVBQUE7RVM3RnhEO0lGZ0hSLFVQbkJnRSxFQUFBO0VTN0Z4RDtJRmdIUixnQlBuQmdFLEVBQUE7RVM3RnhEO0lGZ0hSLGdCUG5CZ0UsRUFBQTtFUzdGeEQ7SUZnSFIsV1BuQmdFLEVBQUE7RWhCcUM1RDtJeUJsSUk7TUZnSFIsZVBuQmdFLEVBQUE7SVM3RnhEO01GZ0hSLGdCUG5CZ0UsRUFBQTtJUzdGeEQ7TUZnSFIsVVBuQmdFLEVBQUE7SVM3RnhEO01GZ0hSLGdCUG5CZ0UsRUFBQTtJUzdGeEQ7TUZnSFIsZ0JQbkJnRSxFQUFBO0lTN0Z4RDtNRmdIUixVUG5CZ0UsRUFBQTtJUzdGeEQ7TUZnSFIsZ0JQbkJnRSxFQUFBO0lTN0Z4RDtNRmdIUixnQlBuQmdFLEVBQUE7SVM3RnhEO01GZ0hSLFVQbkJnRSxFQUFBO0lTN0Z4RDtNRmdIUixnQlBuQmdFLEVBQUE7SVM3RnhEO01GZ0hSLGdCUG5CZ0UsRUFBQTtJUzdGeEQ7TUZnSFIsV1BuQmdFLEVBQUEsRVMzRnZEO0V6QmdJTDtJeUJsSUk7TUZnSFIsZVBuQmdFLEVBQUE7SVM3RnhEO01GZ0hSLGdCUG5CZ0UsRUFBQTtJUzdGeEQ7TUZnSFIsVVBuQmdFLEVBQUE7SVM3RnhEO01GZ0hSLGdCUG5CZ0UsRUFBQTtJUzdGeEQ7TUZnSFIsZ0JQbkJnRSxFQUFBO0lTN0Z4RDtNRmdIUixVUG5CZ0UsRUFBQTtJUzdGeEQ7TUZnSFIsZ0JQbkJnRSxFQUFBO0lTN0Z4RDtNRmdIUixnQlBuQmdFLEVBQUE7SVM3RnhEO01GZ0hSLFVQbkJnRSxFQUFBO0lTN0Z4RDtNRmdIUixnQlBuQmdFLEVBQUE7SVM3RnhEO01GZ0hSLGdCUG5CZ0UsRUFBQTtJUzdGeEQ7TUZnSFIsV1BuQmdFLEVBQUEsRVMzRnZEOztBTHVMUDtFSzdLRSxlQUEwQjtFQUExQixjQUEwQixFQUFBO0VBRzVCO0lBRUksZ0JBQTRCO0lBQTVCLGVBQTRCLEVBQUE7O0F6QmlIOUI7RW9CaURGO0lLOU1FLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxlQUEwQjtNQUExQixjQUEwQixFQUFBLEVBRTdCOztBekJzSkM7RXlCM0lJO0lGeUhSLGVQbkJnRSxFQUFBO0VTdEd4RDtJRnlIUixnQlBuQmdFLEVBQUE7RVN0R3hEO0lGeUhSLFVQbkJnRSxFQUFBO0VTdEd4RDtJRnlIUixnQlBuQmdFLEVBQUE7RVN0R3hEO0lGeUhSLGdCUG5CZ0UsRUFBQTtFU3RHeEQ7SUZ5SFIsVVBuQmdFLEVBQUE7RVN0R3hEO0lGeUhSLGdCUG5CZ0UsRUFBQTtFU3RHeEQ7SUZ5SFIsZ0JQbkJnRSxFQUFBO0VTdEd4RDtJRnlIUixVUG5CZ0UsRUFBQTtFU3RHeEQ7SUZ5SFIsZ0JQbkJnRSxFQUFBO0VTdEd4RDtJRnlIUixnQlBuQmdFLEVBQUE7RVN0R3hEO0lGeUhSLFdQbkJnRSxFQUFBLEVTcEd2RDs7QXpCeUlMO0V5QmxJSTtJRmdIUixlUG5CZ0UsRUFBQTtFUzdGeEQ7SUZnSFIsZ0JQbkJnRSxFQUFBO0VTN0Z4RDtJRmdIUixVUG5CZ0UsRUFBQTtFUzdGeEQ7SUZnSFIsZ0JQbkJnRSxFQUFBO0VTN0Z4RDtJRmdIUixnQlBuQmdFLEVBQUE7RVM3RnhEO0lGZ0hSLFVQbkJnRSxFQUFBO0VTN0Z4RDtJRmdIUixnQlBuQmdFLEVBQUE7RVM3RnhEO0lGZ0hSLGdCUG5CZ0UsRUFBQTtFUzdGeEQ7SUZnSFIsVVBuQmdFLEVBQUE7RVM3RnhEO0lGZ0hSLGdCUG5CZ0UsRUFBQTtFUzdGeEQ7SUZnSFIsZ0JQbkJnRSxFQUFBO0VTN0Z4RDtJRmdIUixXUG5CZ0UsRUFBQSxFUzNGdkQ7O0F6QmdJTDtFeUJsSUk7SUZnSFIsZVBuQmdFLEVBQUE7RVM3RnhEO0lGZ0hSLGdCUG5CZ0UsRUFBQTtFUzdGeEQ7SUZnSFIsVVBuQmdFLEVBQUE7RVM3RnhEO0lGZ0hSLGdCUG5CZ0UsRUFBQTtFUzdGeEQ7SUZnSFIsZ0JQbkJnRSxFQUFBO0VTN0Z4RDtJRmdIUixVUG5CZ0UsRUFBQTtFUzdGeEQ7SUZnSFIsZ0JQbkJnRSxFQUFBO0VTN0Z4RDtJRmdIUixnQlBuQmdFLEVBQUE7RVM3RnhEO0lGZ0hSLFVQbkJnRSxFQUFBO0VTN0Z4RDtJRmdIUixnQlBuQmdFLEVBQUE7RVM3RnhEO0lGZ0hSLGdCUG5CZ0UsRUFBQTtFUzdGeEQ7SUZnSFIsV1BuQmdFLEVBQUEsRVMzRnZEOztBekJnSUw7RW9CdURGO0lLN0tFLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxnQkFBNEI7TUFBNUIsZUFBNEIsRUFBQSxFQUUvQjs7QXpCK0dDO0VvQmlERjtJSzlNRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZUFBMEI7TUFBMUIsY0FBMEIsRUFBQSxFQUU3Qjs7QXpCc0pDO0V5QjNJSTtJRnlIUixlUG5CZ0UsRUFBQTtFU3RHeEQ7SUZ5SFIsZ0JQbkJnRSxFQUFBO0VTdEd4RDtJRnlIUixVUG5CZ0UsRUFBQTtFU3RHeEQ7SUZ5SFIsZ0JQbkJnRSxFQUFBO0VTdEd4RDtJRnlIUixnQlBuQmdFLEVBQUE7RVN0R3hEO0lGeUhSLFVQbkJnRSxFQUFBO0VTdEd4RDtJRnlIUixnQlBuQmdFLEVBQUE7RVN0R3hEO0lGeUhSLGdCUG5CZ0UsRUFBQTtFU3RHeEQ7SUZ5SFIsVVBuQmdFLEVBQUE7RVN0R3hEO0lGeUhSLGdCUG5CZ0UsRUFBQTtFU3RHeEQ7SUZ5SFIsZ0JQbkJnRSxFQUFBO0VTdEd4RDtJRnlIUixXUG5CZ0UsRUFBQSxFU3BHdkQ7O0F6QnlJTDtFeUIzSUk7SUZ5SFIsZVBuQmdFLEVBQUE7RVN0R3hEO0lGeUhSLGdCUG5CZ0UsRUFBQTtFU3RHeEQ7SUZ5SFIsVVBuQmdFLEVBQUE7RVN0R3hEO0lGeUhSLGdCUG5CZ0UsRUFBQTtFU3RHeEQ7SUZ5SFIsZ0JQbkJnRSxFQUFBO0VTdEd4RDtJRnlIUixVUG5CZ0UsRUFBQTtFU3RHeEQ7SUZ5SFIsZ0JQbkJnRSxFQUFBO0VTdEd4RDtJRnlIUixnQlBuQmdFLEVBQUE7RVN0R3hEO0lGeUhSLFVQbkJnRSxFQUFBO0VTdEd4RDtJRnlIUixnQlBuQmdFLEVBQUE7RVN0R3hEO0lGeUhSLGdCUG5CZ0UsRUFBQTtFU3RHeEQ7SUZ5SFIsV1BuQmdFLEVBQUEsRVNwR3ZEOztBekJ5SUw7RXlCbElJO0lGZ0hSLGVQbkJnRSxFQUFBO0VTN0Z4RDtJRmdIUixnQlBuQmdFLEVBQUE7RVM3RnhEO0lGZ0hSLFVQbkJnRSxFQUFBO0VTN0Z4RDtJRmdIUixnQlBuQmdFLEVBQUE7RVM3RnhEO0lGZ0hSLGdCUG5CZ0UsRUFBQTtFUzdGeEQ7SUZnSFIsVVBuQmdFLEVBQUE7RVM3RnhEO0lGZ0hSLGdCUG5CZ0UsRUFBQTtFUzdGeEQ7SUZnSFIsZ0JQbkJnRSxFQUFBO0VTN0Z4RDtJRmdIUixVUG5CZ0UsRUFBQTtFUzdGeEQ7SUZnSFIsZ0JQbkJnRSxFQUFBO0VTN0Z4RDtJRmdIUixnQlBuQmdFLEVBQUE7RVM3RnhEO0lGZ0hSLFdQbkJnRSxFQUFBLEVTM0Z2RDs7QXpCZ0lMO0VvQnVERjtJSzdLRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZ0JBQTRCO01BQTVCLGVBQTRCLEVBQUEsRUFFL0I7O0FMb0xEO0VNdk1GLGVBQTZCLEVBQUE7O0FOMk0zQjtFTTNNRixtQ0FBNkIsRUFBQTs7QU51TTNCO0VNdk1GLHFCQUE2QixFQUFBOztBTjJNM0I7RU0zTUYseUNBQTZCLEVBQUE7O0FOdU0zQjtFTXZNRixzQkFBNkIsRUFBQTs7QU4yTTNCO0VNM01GLDBDQUE2QixFQUFBOztBTnVNM0I7RU12TUYsZ0JBQTZCLEVBQUE7O0FOMk0zQjtFTTNNRixvQ0FBNkIsRUFBQTs7QU51TTNCO0VNdk1GLHNCQUE2QixFQUFBOztBTjJNM0I7RU0zTUYsMENBQTZCLEVBQUE7O0FOdU0zQjtFTXZNRixzQkFBNkIsRUFBQTs7QU4yTTNCO0VNM01GLDBDQUE2QixFQUFBOztBTnVNM0I7RU12TUYsZ0JBQTZCLEVBQUE7O0FOMk0zQjtFTTNNRixvQ0FBNkIsRUFBQTs7QU51TTNCO0VNdk1GLHNCQUE2QixFQUFBOztBTjJNM0I7RU0zTUYsMENBQTZCLEVBQUE7O0FOdU0zQjtFTXZNRixzQkFBNkIsRUFBQTs7QU4yTTNCO0VNM01GLDBDQUE2QixFQUFBOztBTnVNM0I7RU12TUYsZ0JBQTZCLEVBQUE7O0FOMk0zQjtFTTNNRixvQ0FBNkIsRUFBQTs7QU51TTNCO0VNdk1GLHNCQUE2QixFQUFBOztBTjJNM0I7RU0zTUYsMENBQTZCLEVBQUE7O0FOdU0zQjtFTXZNRixzQkFBNkIsRUFBQTs7QU4yTTNCO0VNM01GLDBDQUE2QixFQUFBOztBMUJrSXpCO0VvQnFFRjtJTXZNRixlQUE2QixFQUFBO0VOMk0zQjtJTTNNRixvQ0FBNkIsRUFBQTtFTnVNM0I7SU12TUYscUJBQTZCLEVBQUE7RU4yTTNCO0lNM01GLDBDQUE2QixFQUFBO0VOdU0zQjtJTXZNRixzQkFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsMkNBQTZCLEVBQUE7RU51TTNCO0lNdk1GLGdCQUE2QixFQUFBO0VOMk0zQjtJTTNNRixxQ0FBNkIsRUFBQTtFTnVNM0I7SU12TUYsc0JBQTZCLEVBQUE7RU4yTTNCO0lNM01GLDJDQUE2QixFQUFBO0VOdU0zQjtJTXZNRixzQkFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsMkNBQTZCLEVBQUE7RU51TTNCO0lNdk1GLGdCQUE2QixFQUFBO0VOMk0zQjtJTTNNRixxQ0FBNkIsRUFBQTtFTnVNM0I7SU12TUYsc0JBQTZCLEVBQUE7RU4yTTNCO0lNM01GLDJDQUE2QixFQUFBO0VOdU0zQjtJTXZNRixzQkFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsMkNBQTZCLEVBQUE7RU51TTNCO0lNdk1GLGdCQUE2QixFQUFBO0VOMk0zQjtJTTNNRixxQ0FBNkIsRUFBQTtFTnVNM0I7SU12TUYsc0JBQTZCLEVBQUE7RU4yTTNCO0lNM01GLDJDQUE2QixFQUFBO0VOdU0zQjtJTXZNRixzQkFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsMkNBQTZCLEVBQUEsRU42TTFCOztBcEIzRUM7RW9CcUVGO0lNdk1GLGVBQTZCLEVBQUE7RU4yTTNCO0lNM01GLG9DQUE2QixFQUFBO0VOdU0zQjtJTXZNRixxQkFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsMENBQTZCLEVBQUE7RU51TTNCO0lNdk1GLHNCQUE2QixFQUFBO0VOMk0zQjtJTTNNRiwyQ0FBNkIsRUFBQTtFTnVNM0I7SU12TUYsZ0JBQTZCLEVBQUE7RU4yTTNCO0lNM01GLHFDQUE2QixFQUFBO0VOdU0zQjtJTXZNRixzQkFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsMkNBQTZCLEVBQUE7RU51TTNCO0lNdk1GLHNCQUE2QixFQUFBO0VOMk0zQjtJTTNNRiwyQ0FBNkIsRUFBQTtFTnVNM0I7SU12TUYsZ0JBQTZCLEVBQUE7RU4yTTNCO0lNM01GLHFDQUE2QixFQUFBO0VOdU0zQjtJTXZNRixzQkFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsMkNBQTZCLEVBQUE7RU51TTNCO0lNdk1GLHNCQUE2QixFQUFBO0VOMk0zQjtJTTNNRiwyQ0FBNkIsRUFBQTtFTnVNM0I7SU12TUYsZ0JBQTZCLEVBQUE7RU4yTTNCO0lNM01GLHFDQUE2QixFQUFBO0VOdU0zQjtJTXZNRixzQkFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsMkNBQTZCLEVBQUE7RU51TTNCO0lNdk1GLHNCQUE2QixFQUFBO0VOMk0zQjtJTTNNRiwyQ0FBNkIsRUFBQSxFTjZNMUI7O0FBekpTO0VFdEVkLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBSDZCO0VBRzdCLDZCQUg2QjtNQUc3Qiw0QkFINkI7VUFHN0Isd0JBSDZCLEVBQUE7RUZpUDdCO0lHMUlBLFlBQW1CO0lBQ25CLGdCQUEyQixFQUFBO0VIeUkzQjtJRzdHRSxZQWxGWSxFQUFBO0VIK0xkO0lHN0dFLFlBbEZZLEVBQUE7RUgrTGQ7SUEyQk0sNkJBQWdCO1FBQWhCLGdCQUFnQixFQUFBO0VwQnRIaEI7SW9CMkZOO01BMkJNLDZCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQSxFQUNqQjtFcEJ2SEM7SW9CMkZOO01BMkJNLDZCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQSxFQUNqQjtFQTVCTDtJR3hKQSxtQkFBTTtRQUFOLGtCQUFNO1lBQU4sY0FBTSxFQUFBO0VId0pOO0lHN0dFLGdCUG5CZ0UsRUFBQTtFSWdJbEU7SUc3R0UsaUJQbkJnRSxFQUFBO0VJZ0lsRTtJRzdHRSxXUG5CZ0UsRUFBQTtFSWdJbEU7SUc3R0UsaUJQbkJnRSxFQUFBO0VJZ0lsRTtJRzdHRSxpQlBuQmdFLEVBQUE7RUlnSWxFO0lHN0dFLFdQbkJnRSxFQUFBO0VJZ0lsRTtJRzdHRSxpQlBuQmdFLEVBQUE7RUlnSWxFO0lHN0dFLGlCUG5CZ0UsRUFBQTtFSWdJbEU7SUc3R0UsV1BuQmdFLEVBQUE7RUlnSWxFO0lHN0dFLGlCUG5CZ0UsRUFBQTtFSWdJbEU7SUc3R0UsaUJQbkJnRSxFQUFBO0VJZ0lsRTtJRzdHRSxZUG5CZ0UsRUFBQTtFaEJxQzVEO0lvQjJGTjtNR3hKQSxtQkFBTTtVQUFOLGlCQUFNO2NBQU4sYUFBTTtNQTJDSixZQWxGWSxFQUFBO0lIK0xkO01HeEpBLG1CQUFNO1VBQU4sa0JBQU07Y0FBTixjQUFNLEVBQUE7SUh3Sk47TUc3R0UsWUFsRlksRUFBQTtJSCtMZDtNRzdHRSxnQlBuQmdFLEVBQUE7SUlnSWxFO01HN0dFLGlCUG5CZ0UsRUFBQTtJSWdJbEU7TUc3R0UsV1BuQmdFLEVBQUE7SUlnSWxFO01HN0dFLGlCUG5CZ0UsRUFBQTtJSWdJbEU7TUc3R0UsaUJQbkJnRSxFQUFBO0lJZ0lsRTtNRzdHRSxXUG5CZ0UsRUFBQTtJSWdJbEU7TUc3R0UsaUJQbkJnRSxFQUFBO0lJZ0lsRTtNRzdHRSxpQlBuQmdFLEVBQUE7SUlnSWxFO01HN0dFLFdQbkJnRSxFQUFBO0lJZ0lsRTtNRzdHRSxpQlBuQmdFLEVBQUE7SUlnSWxFO01HN0dFLGlCUG5CZ0UsRUFBQTtJSWdJbEU7TUc3R0UsWVBuQmdFLEVBQUEsRUl5TDNEO0VwQnBKRDtJb0IyRk47TUd4SkEsbUJBQU07VUFBTixpQkFBTTtjQUFOLGFBQU07TUEyQ0osWUFsRlksRUFBQTtJSCtMZDtNR3hKQSxtQkFBTTtVQUFOLGtCQUFNO2NBQU4sY0FBTSxFQUFBO0lId0pOO01HN0dFLFlBbEZZLEVBQUE7SUgrTGQ7TUc3R0UsZ0JQbkJnRSxFQUFBO0lJZ0lsRTtNRzdHRSxpQlBuQmdFLEVBQUE7SUlnSWxFO01HN0dFLFdQbkJnRSxFQUFBO0lJZ0lsRTtNRzdHRSxpQlBuQmdFLEVBQUE7SUlnSWxFO01HN0dFLGlCUG5CZ0UsRUFBQTtJSWdJbEU7TUc3R0UsV1BuQmdFLEVBQUE7SUlnSWxFO01HN0dFLGlCUG5CZ0UsRUFBQTtJSWdJbEU7TUc3R0UsaUJQbkJnRSxFQUFBO0lJZ0lsRTtNRzdHRSxXUG5CZ0UsRUFBQTtJSWdJbEU7TUc3R0UsaUJQbkJnRSxFQUFBO0lJZ0lsRTtNRzdHRSxpQlBuQmdFLEVBQUE7SUlnSWxFO01HN0dFLFlQbkJnRSxFQUFBLEVJeUwzRDs7QUFPTDtFQ2pUSSxxQkFBNkQ7RUFBN0Qsd0JBQTZELEVBQUE7RXJCc0o3RDtJb0IySko7TUNqVEksc0JBQTZEO01BQTdELHlCQUE2RCxFQUFBLEVEcVQ5RDs7QUFKSDtFQ2pUSSxxQkFBNkQ7RUFBN0Qsd0JBQTZELEVBQUE7RXJCc0o3RDtJb0IySko7TUNqVEksc0JBQTZEO01BQTdELHlCQUE2RCxFQUFBLEVEMFQ5RDs7QUFuTkw7RUN2R00scUJBQTZEO0VBQTdELHdCQUE2RCxFQUFBO0VyQnNKN0Q7SW9CL0NOO01DdkdNLHNCQUE2RDtNQUE3RCx5QkFBNkQsRUFBQSxFRHNJbEU7RUEvQkQ7SUc2QkUsNEJBdEQ4RjtJRnJFNUYsb0JBQTZEO0lBQTdELHVCQUE2RCxFQUFBO0VyQjZJM0Q7SW9CL0NOO01HNkJFLDZCQXREOEY7TUZyRTVGLHFCQUE2RDtNQUE3RCx3QkFBNkQsRUFBQSxFRDJHMUQ7RUFyQ1A7SUdxREUsWUFsRlksRUFBQTtFSGlDZDtJR2lERSxZQWxGWSxFQUFBO0VIeUNaO0lHeUNBLGdDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsNEJBdEQ4RixFQUFBO0V2QndFMUY7SW9CdkVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSENoRztNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUEsRUhlN0Y7RXBCeURHO0lvQnZFTjtNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVB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RUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIQ2hHO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQSxFSGU3RjtFcEJ5REc7SW9CdkVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQSxFSGU3Rjs7QUFrVEQ7RU81WUksNkJBQW1DLEVBQUE7RTNCbUpuQztJb0J5UEo7TU81WUksOEJBQW1DLEVBQUEsRVA4WXRDO0VwQjNQRztJb0J5UEo7TU81WUksOEJBQW1DLEVBQUEsRVA4WXRDOztBcEIzUEc7RW9CNlBGO0lPaFpFLDhCQUFtQyxFQUFBLEVQa1pwQzs7QXBCL1BDO0VvQjZQRjtJT2haRSw4QkFBbUMsRUFBQSxFUGtacEM7O0FRekdMO0VBMU9BLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIsa0J4Qm9Pa0M7RXdCMU5oQyw0QnJCaEI0RDtFcUJtQjlELFl4QjhOa0I7RXdCN05sQixnQnhCNE5lO0V3QjNOZix5RXhCd091RTtFd0J4T3ZFLGlFeEJ3T3VFO0V3QnZPdkUsb0J4QmlOMEI7RXdCaE4xQixtQnJCdkI4RDtFcUJ3QjlELGdCeEJnTnNCO0V3Qi9NdEIsd0JBQXdCO0VBQ3hCLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsZUFBZSxFQUFBO0U5QjJqRWY7SU96K0RFLFVBQVUsRUFBQTtFdUJnSVo7SUFNTSxpQnhCQU0sRUFBQTtFd0JOWjtJQU1NLGVyQnBQd0QsRUFBQTtFcUI4TzlEO0lBTU0sbUJyQnBQd0QsRUFBQTtFcUI4TzlEO0lBM01FLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZUFBZTtJQUNmLGNBQWMsRUFBQTtFQWlFaEI7SUFJRSx5QnhCN0dlO0l3QjhHZixjeEJsSVcsRUFBQTtFd0JxSWI7SUFDRSx5QnhCNkh1RTtJd0I1SHZFLGN4QnZJVyxFQUFBO0V3QjZIYjtJQUlFLHlCeEIzSGM7SXdCNEhkLGN4QmxJVyxFQUFBO0V3QnFJYjtJQUNFLHlCQWJvRjtJQWNwRixjeEJ2SVcsRUFBQTtFd0I2SGI7SUFJRSx5QnhCMUhnQjtJd0IySGhCLGN4QmxJVyxFQUFBO0V3QnFJYjtJQUNFLHlCQWJvRjtJQWNwRixjeEJ2SVcsRUFBQTtFd0I2SGI7SUFJRSx5QnhCekhjO0l3QjBIZCxjeEJuSVcsRUFBQTtFd0JzSWI7SUFDRSx5QkFib0Y7SUFjcEYsY3hCeElXLEVBQUE7RXdCOEhiO0lBSUUseUJ4QnhIYztJd0J5SGQsY3hCbklXLEVBQUE7RXdCc0liO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnhJVyxFQUFBO0V3QjhIYjtJQUlFLHlCeEJ2SFk7SXdCd0haLGN4QmxJVyxFQUFBO0V3QnFJYjtJQUNFLHlCQWJvRjtJQWNwRixjeEJ2SVcsRUFBQTtFd0I2SGI7SUFJRSx5QnhCaklXO0l3QmtJWCxjeEJuSVcsRUFBQTtFd0JzSWI7SUFDRSx5QkFib0Y7SUFjcEYsY3hCeElXLEVBQUE7RXdCOEhiO0lBSUUseUJ4QmxJVztJd0JtSVgsY3hCbElXLEVBQUE7RXdCcUliO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnZJVyxFQUFBO0V3QjZIYjtJQUlFLHlCeEJwSHNCO0l3QnFIdEIsY3hCbElXLEVBQUE7RXdCcUliO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnZJVyxFQUFBO0V3QjZIYjtJQUlFLHlCeEJuSDJCO0l3Qm9IM0IsY3hCbElXLEVBQUE7RXdCcUliO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnZJVyxFQUFBO0V3QjZIYjtJQUlFLHlCeEJsSGdCO0l3Qm1IaEIsY3hCbElXLEVBQUE7RXdCcUliO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnZJVyxFQUFBO0V3QjZIYjtJQUlFLHlCeEJqSHFCO0l3QmtIckIsY3hCbElXLEVBQUE7RXdCcUliO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnZJVyxFQUFBO0V3QjZIYjtJQUlFLHlCeEJoSHNCO0l3QmlIdEIsY3hCbklXLEVBQUE7RXdCc0liO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnhJVyxFQUFBO0V3QjhIYjtJQUlFLHlCeEIvRzJCO0l3QmdIM0IsY3hCbElXLEVBQUE7RXdCcUliO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnZJVyxFQUFBO0V3QjZIYjtJQUlFLHlCeEI5R2U7SXdCK0dmLGN4QmxJVyxFQUFBO0V3QnFJYjtJQUNFLHlCQWJvRjtJQWNwRixjeEJ2SVcsRUFBQTtFd0I2SGI7SUFJRSx5QnhCN0dlO0l3QjhHZixjeEJsSVcsRUFBQTtFd0JxSWI7SUFDRSx5QkFib0Y7SUFjcEYsY3hCdklXLEVBQUE7RXdCNkhiO0lBSUUseUJ4QjVHaUI7SXdCNkdqQixjeEJsSVcsRUFBQTtFd0JxSWI7SUFDRSx5QkFib0Y7SUFjcEYsY3hCdklXLEVBQUE7RXdCNkhiO0lBSUUseUJ4QjNHaUI7SXdCNEdqQixjeEJuSVcsRUFBQTtFd0JzSWI7SUFDRSx5QkFib0Y7SUFjcEYsY3hCeElXLEVBQUE7RXdCOEhiO0lBSUUseUJ4QjFHZTtJd0IyR2YsY3hCbElXLEVBQUE7RXdCcUliO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnZJVyxFQUFBO0V3QjZIYjtJQUlFLHlCeEJ6R2dCO0l3QjBHaEIsY3hCbElXLEVBQUE7RXdCcUliO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnZJVyxFQUFBO0V3QjZIYjtJQUlFLHlCeEJ4R21CO0l3QnlHbkIsY3hCbElXLEVBQUE7RXdCcUliO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnZJVyxFQUFBO0V3QjZIYjtJQUlFLHlCeEJ2R3dCO0l3QndHeEIsY3hCbElXLEVBQUE7RXdCcUliO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnZJVyxFQUFBO0V3QjZIYjtJQUlFLHlCeEJ0R2lCO0l3QnVHakIsY3hCbklXLEVBQUE7RXdCc0liO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnhJVyxFQUFBO0V3QjhIYjtJQUlFLHlCeEJyRzZCO0l3QnNHN0IsY3hCbklXLEVBQUE7RXdCc0liO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnhJVyxFQUFBO0V3QjhIYjtJQUlFLHlCeEJwRzBCO0l3QnFHMUIsY3hCbElXLEVBQUE7RXdCcUliO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnZJVyxFQUFBO0V3QjZIYjtJQUlFLHlCeEJuRzJCO0l3Qm9HM0IsY3hCbklXLEVBQUE7RXdCc0liO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnhJVyxFQUFBO0V3QjhIYjtJQUlFLHlCeEJsR2U7SXdCbUdmLGN4Qm5JVyxFQUFBO0V3QnNJYjtJQUNFLHdCQWJvRjtJQWNwRixjeEJ4SVcsRUFBQTtFd0I4SGI7SUFJRSxzQnhCakdhO0l3QmtHYixjeEJsSVcsRUFBQTtFd0JxSWI7SUFDRSx5QkFib0Y7SUFjcEYsY3hCdklXLEVBQUE7RXdCNkhiO0lBSUUseUJ4QmhHZ0I7SXdCaUdoQixjeEJsSVcsRUFBQTtFd0JxSWI7SUFDRSx5QkFib0Y7SUFjcEYsY3hCdklXLEVBQUE7RXdCNkhiO0lBSUUseUJ4Qi9Gc0I7SXdCZ0d0QixjeEJuSVcsRUFBQTtFd0JzSWI7SUFDRSx5QkFib0Y7SUFjcEYsY3hCeElXLEVBQUE7RXdCOEhiO0lBSUUseUJ4QjlGcUI7SXdCK0ZyQixjeEJsSVcsRUFBQTtFd0JxSWI7SUFDRSx5QkFib0Y7SUFjcEYsY3hCdklXLEVBQUE7RXdCNkhiO0lBSUUseUJ4QjdGa0I7SXdCOEZsQixjeEJsSVcsRUFBQTtFd0JxSWI7SUFDRSx5QkFib0Y7SUFjcEYsY3hCdklXLEVBQUE7RXdCNkhiO0lBSUUseUJ4QjVGb0I7SXdCNkZwQixjeEJsSVcsRUFBQTtFd0JxSWI7SUFDRSx5QkFib0Y7SUFjcEYsY3hCdklXLEVBQUE7RXdCNkhiO0lBSUUseUJ4QjNGNEI7SXdCNEY1QixjeEJuSVcsRUFBQTtFd0JzSWI7SUFDRSx5QkFib0Y7SUFjcEYsY3hCeElXLEVBQUE7RXdCZ0pYO0lBQ0UsNkJBQTZCLEVBQUE7RUFpQmpDO0lBSUUseUJ4QmpKZTtJd0JrSmYsY3hCbEplLEVBQUE7RXdCcUpqQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4Qi9KYztJd0JnS2QsY3hCaEtjLEVBQUE7RXdCbUtoQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QjlKZ0I7SXdCK0poQixjeEIvSmdCLEVBQUE7RXdCa0tsQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QjdKYztJd0I4SmQsY3hCOUpjLEVBQUE7RXdCaUtoQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QjVKYztJd0I2SmQsY3hCN0pjLEVBQUE7RXdCZ0toQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QjNKWTtJd0I0SlosY3hCNUpZLEVBQUE7RXdCK0pkO0lBQ0UscUJBWjZEO0lBYTdELGNBYjZELEVBQUE7RUFHL0Q7SUFJRSx5QnhCcktXO0l3QnNLWCxjeEJ0S1csRUFBQTtFd0J5S2I7SUFDRSxxQkFaNkQ7SUFhN0QsY0FiNkQsRUFBQTtFQUcvRDtJQUlFLHlCeEJ0S1c7SXdCdUtYLGN4QnZLVyxFQUFBO0V3QjBLYjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QnhKc0I7SXdCeUp0QixjeEJ6SnNCLEVBQUE7RXdCNEp4QjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QnZKMkI7SXdCd0ozQixjeEJ4SjJCLEVBQUE7RXdCMko3QjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QnRKZ0I7SXdCdUpoQixjeEJ2SmdCLEVBQUE7RXdCMEpsQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QnJKcUI7SXdCc0pyQixjeEJ0SnFCLEVBQUE7RXdCeUp2QjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QnBKc0I7SXdCcUp0QixjeEJySnNCLEVBQUE7RXdCd0p4QjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4Qm5KMkI7SXdCb0ozQixjeEJwSjJCLEVBQUE7RXdCdUo3QjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QmxKZTtJd0JtSmYsY3hCbkplLEVBQUE7RXdCc0pqQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QmpKZTtJd0JrSmYsY3hCbEplLEVBQUE7RXdCcUpqQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QmhKaUI7SXdCaUpqQixjeEJqSmlCLEVBQUE7RXdCb0puQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4Qi9JaUI7SXdCZ0pqQixjeEJoSmlCLEVBQUE7RXdCbUpuQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QjlJZTtJd0IrSWYsY3hCL0llLEVBQUE7RXdCa0pqQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QjdJZ0I7SXdCOEloQixjeEI5SWdCLEVBQUE7RXdCaUpsQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QjVJbUI7SXdCNkluQixjeEI3SW1CLEVBQUE7RXdCZ0pyQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QjNJd0I7SXdCNEl4QixjeEI1SXdCLEVBQUE7RXdCK0kxQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QjFJaUI7SXdCMklqQixjeEIzSWlCLEVBQUE7RXdCOEluQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QnpJNkI7SXdCMEk3QixjeEIxSTZCLEVBQUE7RXdCNkkvQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QnhJMEI7SXdCeUkxQixjeEJ6STBCLEVBQUE7RXdCNEk1QjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QnZJMkI7SXdCd0kzQixjeEJ4STJCLEVBQUE7RXdCMkk3QjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QnRJZTtJd0J1SWYsY3hCdkllLEVBQUE7RXdCMElqQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUsc0J4QnJJYTtJd0JzSWIsV3hCdElhLEVBQUE7RXdCeUlmO0lBQ0UscUJBWjZEO0lBYTdELGNBYjZELEVBQUE7RUFHL0Q7SUFJRSx5QnhCcElnQjtJd0JxSWhCLGN4QnJJZ0IsRUFBQTtFd0J3SWxCO0lBQ0UscUJBWjZEO0lBYTdELGNBYjZELEVBQUE7RUFHL0Q7SUFJRSx5QnhCbklzQjtJd0JvSXRCLGN4QnBJc0IsRUFBQTtFd0J1SXhCO0lBQ0UscUJBWjZEO0lBYTdELGNBYjZELEVBQUE7RUFHL0Q7SUFJRSx5QnhCbElxQjtJd0JtSXJCLGN4Qm5JcUIsRUFBQTtFd0JzSXZCO0lBQ0UscUJBWjZEO0lBYTdELGNBYjZELEVBQUE7RUFHL0Q7SUFJRSx5QnhCaklrQjtJd0JrSWxCLGN4QmxJa0IsRUFBQTtFd0JxSXBCO0lBQ0UscUJBWjZEO0lBYTdELGNBYjZELEVBQUE7RUFHL0Q7SUFJRSx5QnhCaElvQjtJd0JpSXBCLGN4QmpJb0IsRUFBQTtFd0JvSXRCO0lBQ0UscUJBWjZEO0lBYTdELGNBYjZELEVBQUE7RUFHL0Q7SUFJRSx5QnhCL0g0QjtJd0JnSTVCLGN4QmhJNEIsRUFBQTtFd0JtSTlCO0lBQ0UscUJBWjZEO0lBYTdELGNBYjZELEVBQUE7RUFxQjdEO0lBQ0UseUJBQXlCO0lBQ3pCLDZCQUE2QixFQUFBO0VBZWpDO0lBSUUsY3hCcExlLEVBQUE7RXdCdUxqQjtJQUNFLGNBWDZELEVBQUE7RUFHL0Q7SUFJRSxjeEJsTWMsRUFBQTtFd0JxTWhCO0lBQ0UsY0FYNkQsRUFBQTtFQUcvRDtJQUlFLGN4QmpNZ0IsRUFBQTtFd0JvTWxCO0lBQ0UsY0FYNkQsRUFBQTtFQUcvRDtJQUlFLGN4QmhNYyxFQUFBO0V3Qm1NaEI7SUFDRSxjQVg2RCxFQUFBO0VBRy9EO0lBSUUsY3hCL0xjLEVBQUE7RXdCa01oQjtJQUNFLGNBWDZELEVBQUE7RUFHL0Q7SUFJRSxjeEI5TFksRUFBQTtFd0JpTWQ7SUFDRSxjQVg2RCxFQUFBO0VBRy9EO0lBSUUsY3hCeE1XLEVBQUE7RXdCMk1iO0lBQ0UsY0FYNkQsRUFBQTtFQUcvRDtJQUlFLGN4QnpNVyxFQUFBO0V3QjRNYjtJQUNFLGNBWDZELEVBQUE7RUFHL0Q7SUFJRSxjeEIzTHNCLEVBQUE7RXdCOEx4QjtJQUNFLGNBWDZELEVBQUE7RUFHL0Q7SUFJRSxjeEIxTDJCLEVBQUE7RXdCNkw3QjtJQUNFLGNBWDZELEVBQUE7RUFHL0Q7SUFJRSxjeEJ6TGdCLEVBQUE7RXdCNExsQjtJQUNFLGNBWDZELEVBQUE7RUFHL0Q7SUFJRSxjeEJ4THFCLEVBQUE7RXdCMkx2QjtJQUNFLGNBWDZELEVBQUE7RUFHL0Q7SUFJRSxjeEJ2THNCLEVBQUE7RXdCMEx4QjtJQUNFLGNBWDZELEVBQUE7RUFHL0Q7SUFJRSxjeEJ0TDJCLEVBQUE7RXdCeUw3QjtJQUNFLGNBWDZELEVBQUE7RUFHL0Q7SUFJRSxjeEJyTGUsRUFBQTtFd0J3TGpCO0lBQ0UsY0FYNkQsRUFBQTtFQUcvRDtJQUlFLGN4QnBMZSxFQUFBO0V3QnVMakI7SUFDRSxjQVg2RCxFQUFBO0VBRy9EO0lBSUUsY3hCbkxpQixFQUFBO0V3QnNMbkI7SUFDRSxjQVg2RCxFQUFBO0VBRy9EO0lBSUUsY3hCbExpQixFQUFBO0V3QnFMbkI7SUFDRSxjQVg2RCxFQUFBO0VBRy9EO0lBSUUsY3hCakxlLEVBQUE7RXdCb0xqQjtJQUNFLGNBWDZELEVBQUE7RUFHL0Q7SUFJRSxjeEJoTGdCLEVBQUE7RXdCbUxsQjtJQUNFLGNBWDZELEVBQUE7RUFHL0Q7SUFJRSxjeEIvS21CLEVBQUE7RXdCa0xyQjtJQUNFLGNBWDZELEVBQUE7RUFHL0Q7SUFJRSxjeEI5S3dCLEVBQUE7RXdCaUwxQjtJQUNFLGNBWDZELEVBQUE7RUFHL0Q7SUFJRSxjeEI3S2lCLEVBQUE7RXdCZ0xuQjtJQUNFLGNBWDZELEVBQUE7RUFHL0Q7SUFJRSxjeEI1SzZCLEVBQUE7RXdCK0svQjtJQUNFLGNBWDZELEVBQUE7RUFHL0Q7SUFJRSxjeEIzSzBCLEVBQUE7RXdCOEs1QjtJQUNFLGNBWDZELEVBQUE7RUFHL0Q7SUFJRSxjeEIxSzJCLEVBQUE7RXdCNks3QjtJQUNFLGNBWDZELEVBQUE7RUFHL0Q7SUFJRSxjeEJ6S2UsRUFBQTtFd0I0S2pCO0lBQ0UsY0FYNkQsRUFBQTtFQUcvRDtJQUlFLFd4QnhLYSxFQUFB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O0lBQ0UseUJBYm9GO0lBY3BGLGN4QnZJVyxFQUFBO0V3QjZIYjtJQUlFLHlCeEJsSGdCO0l3Qm1IaEIsY3hCbElXLEVBQUE7RXdCcUliO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnZJVyxFQUFBO0V3QjZIYjtJQUlFLHlCeEJqSHFCO0l3QmtIckIsY3hCbElXLEVBQUE7RXdCcUliO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnZJVyxFQUFBO0V3QjZIYjtJQUlFLHlCeEJoSHNCO0l3QmlIdEIsY3hCbklXLEVBQUE7RXdCc0liO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnhJVyxFQUFBO0V3QjhIYjtJQUlFLHlCeEIvRzJCO0l3QmdIM0IsY3hCbElXLEVBQUE7RXdCcUliO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnZJVyxFQUFBO0V3QjZIYjtJQUlFLHlCeEI5R2U7SXdCK0dmLGN4QmxJVyxFQUFBO0V3QnFJYjtJQUNFLHlCQWJvRjtJQWNwRixjeEJ2SVcsRUFBQTtFd0I2SGI7SUFJRSx5QnhCN0dlO0l3QjhHZixjeEJsSVcsRUFBQTtFd0JxSWI7SUFDRSx5QkFib0Y7SUFjcEYsY3hCdklXLEVBQUE7RXdCNkhiO0lBSUUseUJ4QjVHaUI7SXdCNkdqQixjeEJsSVcsRUFBQTtFd0JxSWI7SUFDRSx5QkFib0Y7SUFjcEYsY3hCdklXLEVBQUE7RXdCNkhiO0lBSUUseUJ4QjNHaUI7SXdCNEdqQixjeEJuSVcsRUFBQTtFd0JzSWI7SUFDRSx5QkFib0Y7SUFjcEYsY3hCeElXLEVBQUE7RXdCOEhiO0lBSUUseUJ4QjFHZTtJd0IyR2YsY3hCbElXLEVBQUE7RXdCcUliO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnZJVyxFQUFBO0V3QjZIYjtJQUlFLHlCeEJ6R2dCO0l3QjBHaEIsY3hCbElXLEVBQUE7RXdCcUliO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnZJVyxFQUFBO0V3QjZIYjtJQUlFLHlCeEJ4R21CO0l3QnlHbkIsY3hCbElXLEVBQUE7RXdCcUliO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnZJVyxFQUFBO0V3QjZIYjtJQUlFLHlCeEJ2R3dCO0l3QndHeEIsY3hCbElXLEVBQUE7RXdCcUliO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnZJVyxFQUFBO0V3QjZIYjtJQUlFLHlCeEJ0R2lCO0l3QnVHakIsY3hCbklXLEVBQUE7RXdCc0liO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnhJVyxFQUFBO0V3QjhIYjtJQUlFLHlCeEJyRzZCO0l3QnNHN0IsY3hCbklXLEVBQUE7RXdCc0liO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnhJVyxFQUFBO0V3QjhIYjtJQUlFLHlCeEJwRzBCO0l3QnFHMUIsY3hCbElXLEVBQUE7RXdCcUliO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnZJVyxFQUFBO0V3QjZIYjtJQUlFLHlCeEJuRzJCO0l3Qm9HM0IsY3hCbklXLEVBQUE7RXdCc0liO0lBQ0UseUJBYm9GO0lBY3BGLGN4QnhJVyxFQUFBO0V3QjhIYjtJQUlFLHlCeEJsR2U7SXdCbUdmLGN4Qm5JVyxFQUFBO0V3QnNJYjtJQUNFLHdCQWJvRjtJQWNwRixjeEJ4SVcsRUFBQTtFd0I4SGI7SUFJRSxzQnhCakdhO0l3QmtHYixjeEJsSVcsRUFBQTtFd0JxSWI7SUFDRSx5QkFib0Y7SUFjcEYsY3hCdklXLEVBQUE7RXdCNkhiO0lBSUUseUJ4QmhHZ0I7SXdCaUdoQixjeEJsSVcsRUFBQTtFd0JxSWI7SUFDRSx5QkFib0Y7SUFjcEYsY3hCdklXLEVBQUE7RXdCNkhiO0lBSUUseUJ4Qi9Gc0I7SXdCZ0d0QixjeEJuSVcsRUFBQTtFd0JzSWI7SUFDRSx5QkFib0Y7SUFjcEYsY3hCeElXLEVBQUE7RXdCOEhiO0lBSUUseUJ4QjlGcUI7SXdCK0ZyQixjeEJsSVcsRUFBQTtFd0JxSWI7SUFDRSx5QkFib0Y7SUFjcEYsY3hCdklXLEVBQUE7RXdCNkhiO0lBSUUseUJ4QjdGa0I7SXdCOEZsQixjeEJsSVcsRUFBQTtFd0JxSWI7SUFDRSx5QkFib0Y7SUFjcEYsY3hCdklXLEVBQUE7RXdCNkhiO0lBSUUseUJ4QjVGb0I7SXdCNkZwQixjeEJsSVcsRUFBQTtFd0JxSWI7SUFDRSx5QkFib0Y7SUFjcEYsY3hCdklXLEVBQUE7RXdCNkhiO0lBSUUseUJ4QjNGNEI7SXdCNEY1QixjeEJuSVcsRUFBQTtFd0JzSWI7SUFDRSx5QkFib0Y7SUFjcEYsY3hCeElXLEVBQUE7RXdCZ0pYO0lBQ0UsNkJBQTZCLEVBQUE7RUFpQmpDO0lBSUUseUJ4QmpKZTtJd0JrSmYsY3hCbEplLEVBQUE7RXdCcUpqQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4Qi9KYztJd0JnS2QsY3hCaEtjLEVBQUE7RXdCbUtoQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QjlKZ0I7SXdCK0poQixjeEIvSmdCLEVBQUE7RXdCa0tsQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QjdKYztJd0I4SmQsY3hCOUpjLEVBQUE7RXdCaUtoQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QjVKYztJd0I2SmQsY3hCN0pjLEVBQUE7RXdCZ0toQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QjNKWTtJd0I0SlosY3hCNUpZLEVBQUE7RXdCK0pkO0lBQ0UscUJBWjZEO0lBYTdELGNBYjZELEVBQUE7RUFHL0Q7SUFJRSx5QnhCcktXO0l3QnNLWCxjeEJ0S1csRUFBQTtFd0J5S2I7SUFDRSxxQkFaNkQ7SUFhN0QsY0FiNkQsRUFBQTtFQUcvRDtJQUlFLHlCeEJ0S1c7SXdCdUtYLGN4QnZLVyxFQUFBO0V3QjBLYjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QnhKc0I7SXdCeUp0QixjeEJ6SnNCLEVBQUE7RXdCNEp4QjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QnZKMkI7SXdCd0ozQixjeEJ4SjJCLEVBQUE7RXdCMko3QjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QnRKZ0I7SXdCdUpoQixjeEJ2SmdCLEVBQUE7RXdCMEpsQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QnJKcUI7SXdCc0pyQixjeEJ0SnFCLEVBQUE7RXdCeUp2QjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QnBKc0I7SXdCcUp0QixjeEJySnNCLEVBQUE7RXdCd0p4QjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4Qm5KMkI7SXdCb0ozQixjeEJwSjJCLEVBQUE7RXdCdUo3QjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QmxKZTtJd0JtSmYsY3hCbkplLEVBQUE7RXdCc0pqQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QmpKZTtJd0JrSmYsY3hCbEplLEVBQUE7RXdCcUpqQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QmhKaUI7SXdCaUpqQixjeEJqSmlCLEVBQUE7RXdCb0puQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4Qi9JaUI7SXdCZ0pqQixjeEJoSmlCLEVBQUE7RXdCbUpuQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QjlJZTtJd0IrSWYsY3hCL0llLEVBQUE7RXdCa0pqQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QjdJZ0I7SXdCOEloQixjeEI5SWdCLEVBQUE7RXdCaUpsQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QjVJbUI7SXdCNkluQixjeEI3SW1CLEVBQUE7RXdCZ0pyQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QjNJd0I7SXdCNEl4QixjeEI1SXdCLEVBQUE7RXdCK0kxQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QjFJaUI7SXdCMklqQixjeEIzSWlCLEVBQUE7RXdCOEluQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QnpJNkI7SXdCMEk3QixjeEIxSTZCLEVBQUE7RXdCNkkvQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QnhJMEI7SXdCeUkxQixjeEJ6STBCLEVBQUE7RXdCNEk1QjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QnZJMkI7SXdCd0kzQixjeEJ4STJCLEVBQUE7RXdCMkk3QjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUseUJ4QnRJZTtJd0J1SWYsY3hCdkllLEVBQUE7RXdCMElqQjtJQUNFLHFCQVo2RDtJQWE3RCxjQWI2RCxFQUFBO0VBRy9EO0lBSUUsc0J4QnJJYTtJd0JzSWIsV3hCdElhLEVBQUE7RXdCeUlmO0lBQ0UscUJBWjZEO0lBYTdELGNBYjZELEVBQUE7RUFHL0Q7SUFJRSx5QnhCcElnQjtJd0JxSWhCLGN4QnJJZ0IsRUFBQTtFd0J3SWxCO0lBQ0UscUJBWjZEO0lBYTdELGNBYjZELEVBQUE7RUFHL0Q7SUFJRSx5QnhCbklzQjtJd0JvSXRCLGN4QnBJc0IsRUFBQTtFd0J1SXhCO0lBQ0UscUJBWjZEO0lBYTdELGNBYjZELEVBQUE7RUFHL0Q7SUFJRSx5QnhCbElxQjtJd0JtSXJCLGN4Qm5JcUIsRUFBQTtFd0JzSXZCO0lBQ0UscUJBWjZEO0lBYTdELGNBYjZELEVBQUE7RUFHL0Q7SUFJRSx5QnhCaklrQjtJd0JrSWxCLGN4QmxJa0IsRUFBQTtFd0JxSXBCO0lBQ0UscUJBWjZEO0lBYTdELGNBYjZELEVBQUE7RUFHL0Q7SUFJRSx5QnhCaElvQjtJd0JpSXBCLGN4QmpJb0IsRUFBQTtFd0JvSXRCO0lBQ0UscUJBWjZEO0lBYTdELGNBYjZELEVBQUE7RUFHL0Q7SUFJRSx5QnhCL0g0QjtJd0JnSTVCLGN4QmhJNEIsRUFBQTtFd0JtSTlC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RTJCckJiO0lBUU0sbUIzQndCUTtJMkJ2QlIsYzNCYU8sRUFBQTtFMkJ0QmI7SUFRTSxtQjNCY087STJCYlAsYzNCWU8sRUFBQTtFMkJyQmI7SUFRTSxtQjNCYU87STJCWlAsYzNCYU8sRUFBQTtFMkJ0QmI7SUFRTSxtQjNCMkJrQjtJMkIxQmxCLGMzQmFPLEVBQUE7RTJCdEJiO0lBUU0sbUIzQjRCdUI7STJCM0J2QixjM0JhTyxFQUFBO0UyQnRCYjtJQVFNLG1CM0I2Qlk7STJCNUJaLGMzQmFPLEVBQUE7RTJCdEJiO0lBUU0sbUIzQjhCaUI7STJCN0JqQixjM0JhTyxFQUFBO0UyQnRCYjtJQVFNLG1CM0IrQmtCO0kyQjlCbEIsYzNCWU8sRUFBQTtFMkJyQmI7SUFRTSxtQjNCZ0N1QjtJMkIvQnZCLGMzQmFPLEVBQUE7RTJCdEJiO0lBUU0sbUIzQmlDVztJMkJoQ1gsYzNCYU8sRUFBQTtFMkJ0QmI7SUFRTSxtQjNCa0NXO0kyQmpDWCxjM0JhTyxFQUFBO0UyQnRCYjtJQVFNLG1CM0JtQ2E7STJCbENiLGMzQmFPLEVBQUE7RTJCdEJiO0lBUU0sbUIzQm9DYTtJMkJuQ2IsYzNCWU8sRUFBQTtFMkJyQmI7SUFRTSxtQjNCcUNXO0kyQnBDWCxjM0JhTyxFQUFBO0UyQnRCYjtJQVFNLG1CM0JzQ1k7STJCckNaLGMzQmFPLEVBQUE7RTJCdEJiO0lBUU0sbUIzQnVDZTtJMkJ0Q2YsYzNCYU8sRUFBQTtFMkJ0QmI7SUFRTSxtQjNCd0NvQjtJMkJ2Q3BCLGMzQmFPLEVBQUE7RTJCdEJiO0lBUU0sbUIzQnlDYTtJMkJ4Q2IsYzNCWU8sRUFBQTtFMkJyQmI7SUFRTSxtQjNCMEN5QjtJMkJ6Q3pCLGMzQllPLEVBQUE7RTJCckJiO0lBUU0sbUIzQjJDc0I7STJCMUN0QixjM0JhTyxFQUFBO0UyQnRCYjtJQVFNLG1CM0I0Q3VCO0kyQjNDdkIsYzNCWU8sRUFBQTtFMkJyQmI7SUFRTSxtQjNCNkNXO0kyQjVDWCxjM0JZTyxFQUFBO0UyQnJCYjtJQVFNLGdCM0I4Q1M7STJCN0NULGMzQmFPLEVBQUE7RTJCdEJiO0lBUU0sbUIzQitDWTtJMkI5Q1osYzNCYU8sRUFBQTtFMkJ0QmI7SUFRTSxtQjNCZ0RrQjtJMkIvQ2xCLGMzQllPLEVBQUE7RTJCckJiO0lBUU0sbUIzQmlEaUI7STJCaERqQixjM0JhTyxFQUFBO0UyQnRCYjtJQVFNLG1CM0JrRGM7STJCakRkLGMzQmFPLEVBQUE7RTJCdEJiO0lBUU0sbUIzQm1EZ0I7STJCbERoQixjM0JhTyxFQUFBO0UyQnRCYjtJQVFNLG1CM0JvRHdCO0kyQm5EeEIsYzNCWU8sRUFBQTs7QTRCOUJiO0VBbkNBLFk1QnlsQm9CO0U0QnhsQnBCLG1CNUI4R2tCO0U0QjdHbEIsa0I1QmtIaUI7RTRCakhqQix5QjVCMkRtQixFQUFBO0U0QjNCbkI7SUFNUSx5QjVCK0JRLEVBQUE7RTRCckNoQjtJQU1RLHlCNUJnQ1UsRUFBQTtFNEJ0Q2xCO0lBTVEseUI1QmlDUSxFQUFBO0U0QnZDaEI7SUFNUSx5QjVCa0NRLEVBQUE7RTRCeENoQjtJQU1RLHlCNUJtQ00sRUFBQTtFNEJ6Q2Q7SUFNUSx5QjVCeUJLLEVBQUE7RTRCL0JiO0lBTVEseUI1QndCSyxFQUFBO0U0QjlCYjtJQU1RLHlCNUJzQ2dCLEVBQUE7RTRCNUN4QjtJQU1RLHlCNUJ1Q3FCLEVBQUE7RTRCN0M3QjtJQU1RLHlCNUJ3Q1UsRUFBQTtFNEI5Q2xCO0lBTVEseUI1QnlDZSxFQUFBO0U0Qi9DdkI7SUFNUSx5QjVCMENnQixFQUFBO0U0QmhEeEI7SUFNUSx5QjVCMkNxQixFQUFBO0U0QmpEN0I7SUFNUSx5QjVCNENTLEVBQUE7RTRCbERqQjtJQU1RLHlCNUI2Q1MsRUFBQTtFNEJuRGpCO0lBTVEseUI1QjhDVyxFQUFBO0U0QnBEbkI7SUFNUSx5QjVCK0NXLEVBQUE7RTRCckRuQjtJQU1RLHlCNUJnRFMsRUFBQTtFNEJ0RGpCO0lBTVEseUI1QmlEVSxFQUFBO0U0QnZEbEI7SUFNUSx5QjVCa0RhLEVBQUE7RTRCeERyQjtJQU1RLHlCNUJtRGtCLEVBQUE7RTRCekQxQjtJQU1RLHlCNUJvRFcsRUFBQTtFNEIxRG5CO0lBTVEseUI1QnFEdUIs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QmI7SUFRTSxtQi9CZ0NrQjtJK0IvQmxCLGMvQmFPLEVBQUE7RStCdEJiO0lBUU0sbUIvQmlDdUI7SStCaEN2QixjL0JjTyxFQUFBO0UrQnZCYjtJQVFNLG1CL0JrQ1c7SStCakNYLGMvQmNPLEVBQUE7RStCdkJiO0lBUU0sbUIvQm1DVztJK0JsQ1gsYy9CY08sRUFBQTtFK0J2QmI7SUFRTSxtQi9Cb0NhO0krQm5DYixjL0JjTyxFQUFBO0UrQnZCYjtJQVFNLG1CL0JxQ2E7SStCcENiLGMvQmFPLEVBQUE7RStCdEJiO0lBUU0sbUIvQnNDVztJK0JyQ1gsYy9CY08sRUFBQTtFK0J2QmI7SUFRTSxtQi9CdUNZO0krQnRDWixjL0JjTyxFQUFBO0UrQnZCYjtJQVFNLG1CL0J3Q2U7SStCdkNmLGMvQmNPLEVBQUE7RStCdkJiO0lBUU0sbUIvQnlDb0I7SStCeENwQixjL0JjTyxFQUFBO0UrQnZCYjtJQVFNLG1CL0IwQ2E7SStCekNiLGMvQmFPLEVBQUE7RStCdEJiO0lBUU0sbUIvQjJDeUI7SStCMUN6QixjL0JhTyxFQUFBO0UrQnRCYjtJQVFNLG1CL0I0Q3NCO0krQjNDdEIsYy9CY08sRUFBQTtFK0J2QmI7SUFRTSxtQi9CNkN1QjtJK0I1Q3ZCLGMvQmFPLEVBQUE7RStCdEJiO0lBUU0sbUIvQjhDVztJK0I3Q1gsYy9CYU8sRUFBQTtFK0J0QmI7SUFRTSxnQi9CK0NTO0krQjlDVCxjL0JjTyxFQUFBO0UrQnZCYjtJQVFNLG1CL0JnRFk7SStCL0NaLGMvQmNPLEVBQUE7RStCdkJiO0lBUU0sbUIvQmlEa0I7SStCaERsQixjL0JhTyxFQUFBO0UrQnRCYjtJQVFNLG1CL0JrRGlCO0krQmpEakIsYy9CY08sRUFBQTtFK0J2QmI7SUFRTSxtQi9CbURjO0krQmxEZCxjL0JjTyxFQUFBO0UrQnZCYjtJQVFNLG1CL0JvRGdCO0krQm5EaEIsYy9CY08sRUFBQTtFK0J2QmI7SUFRTSxtQi9CcUR3QjtJK0JwRHhCLGMvQmFPLEVBQUE7O0FnQ3FCYjtFQTFDQSxrQkFBa0I7RUFDbEIsdUI3QmdEVztFNkIvQ1gsYWhDNFRh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dkNrQjtNQXVDbEIsdUJBdkNrQjtVQXVDbEIsb0JBdkNrQixFQUFBOztBRCtFaEI7RUN4QkYsNEJBdkRrQjtNQXVEbEIsbUJBdkRrQixFQUFBOztBRHFGbEI7RUMvQ0Esd0JBbkRrQjtNQW1EbEIscUJBbkRrQjtVQW1EbEIsdUJBbkRrQjtFQW9EbEIseUJBeENnQjtNQXdDaEIsc0JBeENnQjtVQXdDaEIsbUJBeENnQjtFRHdGZCwwQkFBcUI7TUFBckIscUJBQXFCLEVBQUE7O0FBTW5CO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBcER5RVY7RW9EeEVGO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQSxFQUdYOztBcERzRUM7RW9EeEVGO0lDaENKLDRCRCtCZ0I7UUMv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RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLGdDQUZ5QjtVQUV6Qix3QkFGeUI7RUN0QnZCLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUd6QyxtQ0FBMkI7VUFBM0IsMkJBQTJCLEVBQUE7O0FKQzNCO0VHb0JBLG1DQUZ5QjtVQUV6QiwyQkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixnQ0FGeUI7VUFFekIsd0JBRnlCO0VDdEJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFHekMsbUNBQTJCO1VBQTNCLDJCQUEyQixFQUFBOztBSkMzQjtFR29CQSxvQ0FGeUI7VUFFekIsNEJBRnlCLEVBQUE7O0FIOUJ6QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsZ0NBRnlCO1VBRXpCLHdCQUZ5QjtFQ3RCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpDM0I7RUdvQkEsb0NBRnlCO1VBRXpCLDRCQUZ5QixFQUFBOztBSDlCekI7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLFVGaENrQztFSUVsQyxvQ0FBNEI7RUFBNUIsNEJBQTRCLEVBQUE7O0FMVTVCO0VHb0JBLFVGaENxQyxFQUFBOztBREFyQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsVUYvQmtDO0VJQ2xDLG9DQUE0QjtFQUE1Qiw0QkFBNEIsRUFBQTs7QUxVNUI7RUdvQkEsVUYvQnFDLEVBQUE7O0FERHJDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixzREdyQ21DO1VIcUNuQyw4Q0dyQ21DO0VIcUNuQyw2QkY1Qm1EO1VFNEJuRCxxQkY1Qm1EO0VNSWpELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEc3QjtFR29CQSxtREdUNEM7VUhTNUMsMkNHVDRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbkI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsc0RHcENxQztVSG9DckMsOENHcENxQztFSG9DckMsK0JGM0JxRDtVRTJCckQsdUJGM0JxRDtFTUduRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBHN0I7RUdvQkEsbURHVDRDO1VIUzVDLDJDR1Q0QztFQ0oxQyxVQUEyQixFQUFBOztBUG5CN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHFER25DaUM7VUhtQ2pDLDZDR25DaUM7RUhtQ2pDLGdDRjFCc0Q7VUUwQnRELHdCRjFCc0Q7RU1FcEQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQTJCLEVBQUE7O0FQRzdCO0VHb0JBLG1ER1Q0QztVSFM1QywyQ0dUNEM7RUNKMUMsVUFBMkIsRUFBQTs7QVBuQjdCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixxREdsQytCO1VIa0MvQiw2Q0dsQytCO0VIa0MvQiw4QkZ6Qm9EO1VFeUJwRCxzQkZ6Qm9EO0VNQ2xELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEc3QjtFR29CQSxtREdUNEM7VUhTNUMsMkNHVDRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbkI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsc0RHckNtQztVSHFDbkMsOENHckNtQztFSHFDbkMsZ0NHRWU7VUhGZix3QkdFZTtFQzFCYix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBHN0I7RUdvQkEsbURHVDRDO1VIUzVDLDJDR1Q0QztFQ0oxQyxVQUEyQixFQUFBOztBUG5CN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHNER3BDcUM7VUhvQ3JDLDhDR3BDcUM7RUhvQ3JDLGdDR0VlO1VIRmYsd0JHRWU7RUMxQmIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQTJCLEVBQUE7O0FQRzdCO0VHb0JBLG1ER1Q0QztVSFM1QywyQ0dUNEM7RUNKMUMsVUFBMkIsRUFBQTs7QVBuQjdCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtREdQOEM7VUhPOUMsMkNHUDhDO0VITzlDLDZCRnRCbUQ7VUVzQm5ELHFCRnRCbUQ7RU1GakQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FQR2hDO0VHb0JBLHFERy9COEI7VUgrQjlCLDZDRy9COEI7RUNrQjVCLFVBQThCLEVBQUE7O0FQbkJoQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUDhDO1VITzlDLDJDR1A4QztFSE85QywrQkZyQnFEO1VFcUJyRCx1QkZyQnFEO0VNSG5ELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEdoQztFR29CQSxxREc5QmdDO1VIOEJoQyw2Q0c5QmdDO0VDaUI5QixVQUE4QixFQUFBOztBUG5CaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1A4QztVSE85QywyQ0dQOEM7RUhPOUMsZ0NGcEJzRDtVRW9CdEQsd0JGcEJzRDtFTUpwRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVBHaEM7RUdvQkEsc0RHN0JzQztVSDZCdEMsOENHN0JzQztFQ2dCcEMsVUFBOEIsRUFBQTs7QVBuQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtREdQOEM7VUhPOUMsMkNHUDhDO0VITzlDLDhCRm5Cb0Q7VUVtQnBELHNCRm5Cb0Q7RU1MbEQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FQR2hDO0VHb0JBLHNERzVCb0M7VUg0QnBDLDhDRzVCb0M7RUNlbEMsVUFBOEIsRUFBQTs7QVBuQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtREdQOEM7VUhPOUMsMkNHUDhDO0VITzlDLGdDR0VlO1VIRmYsd0JHRWU7RUMxQmIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FQR2hDO0VHb0JBLHFERy9COEI7VUgrQjlCLDZDRy9COEI7RUNrQjVCLFVBQThCLEVBQUE7O0FQbkJoQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUDhDO1VITzlDLDJDR1A4QztFSE85QyxnQ0dFZTtVSEZmLHdCR0VlO0VDMUJiLHVEQUF1QztFQUF2Qywr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QThEK0hkO0VBRVEsYzlEaklNLEVBQUE7O0E4RHFJZDtFQUNJLHlCOUR0SVUsRUFBQTs7QThEeUlkO0VBQ0MsYzlEMUlhLEVBQUE7O0E4RHFIZDtFQUNJLHlCOURySFEsRUFBQTs7QThEd0haO0VBRVEsYzlEMUhJLEVBQUE7O0E4RDhIWjtFQUVRLGM5RGhJSSxFQUFBOztBOERvSVo7RUFDSSx5QjlEcklRLEVBQUE7O0E4RHdJWjtFQUNDLGM5RHpJVyxFQUFBOztBOERvSFo7RUFDSSx5QjlEL0hPLEVBQUE7O0E4RGtJWDtFQUVRLGM5RHBJRyxFQUFBOztBOER3SVg7RUFFUSxjOUQxSUcsRUFBQTs7QThEOElYO0VBQ0kseUI5RC9JTyxFQUFBOztBOERrSlg7RUFDQyxjOURuSlUsRUFBQTs7QThEOEhYO0VBQ0kseUI5RGhJTyxFQUFBOztBOERtSVg7RUFFUSxjOURySUcsRUFBQTs7QThEeUlYO0VBRVEsYzlEM0lHLEVBQUE7O0E4RCtJWDtFQUNJLHlCOURoSk8sRUFBQTs7QThEbUpYO0VBQ0MsYzlEcEpVLEVBQUE7O0E4RCtIWDtFQUNJLHlCOURsSGtCLEVBQUE7O0E4RHFIdEI7RUFFUSxjOUR2SGMsRUFBQTs7QThEMkh0QjtFQUVRLGM5RDdIYyxFQUFBOztBOERpSXRCO0VBQ0kseUI5RGxJa0IsRUFBQTs7QThEcUl0QjtFQUNDLGM5RHRJcUIsRUFBQTs7QThEaUh0QjtFQUNJLHlCOURqSHVCLEVBQUE7O0E4RG9IM0I7RUFFUSxjOUR0SG1CLEVBQUE7O0E4RDBIM0I7RUFFUSxjOUQ1SG1CLEVBQUE7O0E4RGdJM0I7RUFDSSx5QjlEakl1QixFQUFBOztBOERvSTNCO0VBQ0MsYzlEckkwQixFQUFBOztBOERnSDNCO0VBQ0kseUI5RGhIWSxFQUFBOztBOERtSGhCO0VBRVEsYzlEckhRLEVBQUE7O0E4RHlIaEI7RUFFUSxjOUQzSFEsRUFBQTs7QThEK0hoQjtFQUNJLHlCOURoSVksRUFBQTs7QThEbUloQjtFQUNDLGM5RHBJZSxFQUFBOztBOEQrR2hCO0VBQ0kseUI5RC9HaUIsRUFBQTs7QThEa0hyQjtFQUVRLGM5RHBIYSxFQUFBOztBOER3SHJCO0VBRVEsYzlEMUhhLEVBQUE7O0E4RDhIckI7RUFDSSx5QjlEL0hpQixFQUFBOztBOERrSXJCO0VBQ0MsYzlEbklvQixFQUFBOztBOEQ4R3JCO0VBQ0kseUI5RDlHa0IsRUFBQTs7QThEaUh0QjtFQUVRLGM5RG5IYyxFQUFBOztBOER1SHRCO0VBRVEsYzlEekhjLEVBQUE7O0E4RDZIdEI7RUFDSSx5QjlEOUhrQixFQUFBOztBOERpSXRCO0VBQ0MsYzlEbElxQixFQUFBOztBOEQ2R3RCO0VBQ0kseUI5RDdHdUIsRUFBQTs7QThEZ0gzQjtFQUVRLGM5RGxIbUIsRUFBQTs7QThEc0gzQjtFQUVRLGM5RHhIbUIsRUFBQTs7QThENEgzQjtFQUNJLHlCOUQ3SHVCLEVBQUE7O0E4RGdJM0I7RUFDQyxjOURqSTBCLEVBQUE7O0E4RDRHM0I7RUFDSSx5QjlENUdXLEVBQUE7O0E4RCtHZjtFQUVRLGM5RGpITyxFQUFBOztBOERxSGY7RUFFUSxjOUR2SE8sRUFBQTs7QThEMkhmO0VBQ0kseUI5RDVIVyxFQUFBOztBOEQrSGY7RUFDQyxjOURoSWMsRUFBQTs7QThEMkdmO0VBQ0kseUI5RDNHVyxFQUFBOztBOEQ4R2Y7RUFFUSxjOURoSE8sRUFBQTs7QThEb0hmO0VBRVEsYzlEdEhPLEVBQUE7O0E4RDBIZjtFQUNJLHlCOUQzSFcsRUFBQTs7QThEOEhmO0VBQ0MsYzlEL0hjLEVBQUE7O0E4RDBHZjtFQUNJLHlCOUQxR2EsRUFBQTs7QThENkdqQjtFQUVRLGM5RC9HUyxFQUFBOztBOERtSGpCO0VBRVEsYzlEckhTLEVBQUE7O0E4RHlIakI7RUFDSSx5QjlEMUhhLEVBQUE7O0E4RDZIakI7RUFDQyxjOUQ5SGdCLEVBQUE7O0E4RHlHakI7RUFDSSx5QjlEekdhLEVBQUE7O0E4RDRHakI7RUFFUSxjOUQ5R1MsRUFBQTs7QThEa0hqQjtFQUVRLGM5RHBIUyxFQUFBOztBOER3SGpCO0VBQ0kseUI5RHpIYSxFQUFBOztBOEQ0SGpCO0VBQ0MsYzlEN0hnQixFQUFBOztBOER3R2pCO0VBQ0kseUI5RHhHVyxFQUFBOztBOEQyR2Y7RUFFUSxjOUQ3R08sRUFBQTs7QThEaUhmO0VBRVEsYzlEbkhPLEVBQUE7O0E4RHVIZjtFQUNJLHlCOUR4SFcsRUFBQTs7QThEMkhmO0VBQ0MsYzlENUhjLEVBQUE7O0E4RHVHZjtFQUNJLHlCOUR2R1ksRUFBQTs7QThEMEdoQjtFQUVRLGM5RDVHUSxFQUFBOztBOERnSGhCO0VBRVEsYzlEbEhRLEVBQUE7O0E4RHNIaEI7RUFDSSx5QjlEdkhZLEVBQUE7O0E4RDBIaEI7RUFDQyxjOUQzSGUsRUFBQTs7QThEc0doQjtFQUNJLHlCOUR0R2UsRUFBQTs7QThEeUduQjtFQUVRLGM5RDNHVyxFQUFBOztBOEQrR25CO0VBRVEsYzlEakhXLEVBQUE7O0E4RHFIbkI7RUFDSSx5QjlEdEhlLEVBQUE7O0E4RHlIbkI7RUFDQyxjOUQxSGtCLEVBQUE7O0E4RHFHbkI7RUFDSSx5QjlEckdvQixFQUFBOztBOER3R3hCO0VBRVEsYzlEMUdnQixFQUFBOztBOEQ4R3hCO0VBRVEsYzlEaEhnQixFQUFBOztBOERvSHhCO0VBQ0kseUI5RHJIb0IsRUFBQTs7QThEd0h4QjtFQUNDLGM5RHpIdUIsRUFBQTs7QThEb0d4QjtFQUNJLHlCOURwR2EsRUFBQTs7QThEdUdqQjtFQUVRLGM5RHpHUyxFQUFBOztBOEQ2R2pCO0VBRVEsYzlEL0dTLEVBQUE7O0E4RG1IakI7RUFDSSx5QjlEcEhhLEVBQUE7O0E4RHVIakI7RUFDQyxjOUR4SGdCLEVBQUE7O0E4RG1HakI7RUFDSSx5QjlEbkd5QixFQUFBOztBOERzRzdCO0VBRVEsYzlEeEdxQixFQUFBOztBOEQ0RzdCO0VBRVEsYzlEOUdxQixFQUFBOztBOERrSDdCO0VBQ0kseUI5RG5IeUIsRUFBQTs7QThEc0g3QjtFQUNDLGM5RHZINEIsRUFBQTs7QThEa0c3QjtFQUNJLHlCOURsR3NCLEVBQUE7O0E4RHFHMUI7RUFFUSxjOUR2R2tCLEVBQUE7O0E4RDJHMUI7RUFFUSxjOUQ3R2tCLEVBQUE7O0E4RGlIMUI7RUFDSSx5QjlEbEhzQixFQUFBOztBOERxSDFCO0VBQ0MsYzlEdEh5QixFQUFBOztBOERpRzFCO0VBQ0kseUI5RGpHdUIsRUFBQTs7QThEb0czQjtFQUVRLGM5RHRHbUIsRUFBQTs7QThEMEczQjtFQUVRLGM5RDVHbUIsRUFBQTs7QThEZ0gzQjtFQUNJLHlCOURqSHVCLEVBQUE7O0E4RG9IM0I7RUFDQyxjOURySDBCLEVBQUE7O0E4RGdHM0I7RUFDSSx5QjlEaEdXLEVBQUE7O0E4RG1HZjtFQUVRLGM5RHJHTyxFQUFBOztBOER5R2Y7RUFFUSxjOUQzR08sRUFBQTs7QThEK0dmO0VBQ0kseUI5RGhIVyxFQUFBOztBOERtSGY7RUFDQyxjOURwSGMsRUFBQTs7QThEK0ZmO0VBQ0ksc0I5RC9GUyxFQUFBOztBOERrR2I7RUFFUSxXOURwR0ssRUFBQTs7QThEd0diO0VBRVEsVzlEMUdLLEVBQUE7O0E4RDhHYjtFQUNJLHNCOUQvR1MsRUFBQTs7QThEa0hiO0VBQ0MsVzlEbkhZLEVBQUE7O0E4RDhGYjtFQUNJLHlCOUQ5RlksRUFBQTs7QThEaUdoQjtFQUVRLGM5RG5HUSxFQUFBOztBOER1R2hCO0VBRVEsYzlEekdRLEVBQUE7O0E4RDZHaEI7RUFDSSx5QjlEOUdZLEVBQUE7O0E4RGlIaEI7RUFDQyxjOURsSGUsRUFBQTs7QThENkZoQjtFQUNJLHlCOUQ3RmtCLEVBQUE7O0E4RGdHdEI7RUFFUSxjOURsR2MsRUFBQTs7QThEc0d0QjtFQUVRLGM5RHhHYyxFQUFBOztBOEQ0R3RCO0VBQ0kseUI5RDdHa0IsRUFBQTs7QThEZ0h0QjtFQUNDLGM5RGpIcUIsRUFBQTs7QThENEZ0QjtFQUNJLHlCOUQ1RmlCLEVBQUE7O0E4RCtGckI7RUFFUSxjOURqR2EsRUFBQTs7QThEcUdyQjtFQUVRLGM5RHZHYSxFQUFBOztBOEQyR3JCO0VBQ0kseUI5RDVHaUIsRUFBQTs7QThEK0dyQjtFQUNDLGM5RGhIb0IsRUFBQTs7QThEMkZyQjtFQUNJLHlCOUQzRmMsRUFBQTs7QThEOEZsQjtFQUVRLGM5RGhHVSxFQUFBOztBOERvR2xCO0VBRVEsYzlEdEdVLEVBQUE7O0E4RDBH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ckI7SVlpRUUsaUJBQWlCO0lBQ2pCLGdCQUFnQixFQUFBO0VBR2pCOzs7Ozs7Ozs7SUFTQyx3QkFBd0IsRUFBQTtFQUd6QjtJQUdFLGFBQWEsRUFBQTtFQUhmOztJQVFFLGNBQWMsRUFBQTtFQUloQjs7SUFHRSxrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLE1BQU0sRUFBQTtFQUxSO0lBU0UsV0FBVyxFQUFBO0VBSWI7O0lBRUMseUJBQXdCLEVBQUE7RUFHekI7SUFDQyxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLHlCQUF5QixFQUFBO0VBSTFCOztJQUVDLG9CQUFvQixFQUFBO0VoRG5CcEI7SWdEdUJBLGdDQUFnQztJQUNoQyw0QkFBNEIsRUFBQTtFaERwQjVCO0lnRHdCQSx5QkFBeUI7SUFDekIsNEJBQTRCLEVBQUEsRUFDNUIiLCJmaWxlIjoidGVtcGxhdGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjcuM1xuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZlYWwsIC5yZXZlYWwudGlueSwgLnJldmVhbC5zbWFsbCwgLnJldmVhbC5sYXJnZSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDsgfVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7IH1cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7IH1cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZsYXJnZT02NGVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTBlbVwiOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjRjBGMEYwO1xuICBmb250LWZhbWlseTogXCJDYXVzdGVuIFJvdW5kXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMxNjE2MTY7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjYyNXJlbTtcbiAgbWFyZ2luOiAwIDAgMS41NjI1cmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMnB4IHNvbGlkICNlMGUwZTA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzE2MTYxNjtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjYTEyNDcxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NhY2FjYTsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDEuNTYyNXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC43ODEyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjU2MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC43ODEyNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMxNjE2MTY7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxLjU2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBwYWRkaW5nOiAwLjkwNjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjc4MTI1cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzE2MTYxNjsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgY29sb3I6ICMxNjE2MTY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIG1pbi13aWR0aDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4gIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNzgxMjVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNjI1cmVtO1xuICBtYXJnaW46IDAgMCAxLjU2MjVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAycHggc29saWQgI2UwZTBlMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMTYxNjE2O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODEzOCwgMTM4LCAxMzglMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTEuNTYyNXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMi4zNDM3NXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNhMTI0NzE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG4gIHNlbGVjdDpub3QoW211bHRpcGxlXSkge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M0YjM3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRlN2U1OyB9XG4gIC5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjc4MTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLCAuaDEsXG5oMiwgLmgyLFxuaDMsIC5oMyxcbmg0LCAuaDQsXG5oNSwgLmg1LFxuaDYsIC5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIkNhdXN0ZW4gUm91bmRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG4gIGgxIHNtYWxsLCAuaDEgc21hbGwsXG4gIGgyIHNtYWxsLCAuaDIgc21hbGwsXG4gIGgzIHNtYWxsLCAuaDMgc21hbGwsXG4gIGg0IHNtYWxsLCAuaDQgc21hbGwsXG4gIGg1IHNtYWxsLCAuaDUgc21hbGwsXG4gIGg2IHNtYWxsLCAuaDYgc21hbGwge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGNvbG9yOiAjY2FjYWNhOyB9XG5cbmgxLCAuaDEge1xuICBmb250LXNpemU6IDIuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDMsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDEsIC5oMSB7XG4gICAgZm9udC1zaXplOiAzLjEyNXJlbTsgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDIuMTg3NXJlbTsgfVxuICBoMywgLmgzIHtcbiAgICBmb250LXNpemU6IDEuODc1cmVtOyB9XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9XG4gIGg1LCAuaDUge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH1cbiAgaDYsIC5oNiB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG5cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICNhMTI0NzE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjOGExZjYxOyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItbGVmdDogbm9uZTsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICNhMTI0NzE7IH1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMxNjE2MTY7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5rYmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjMTYxNjE2O1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzhhOGE4YTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4uY2l0ZS1ibG9jaywgY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgLmNpdGUtYmxvY2s6YmVmb3JlLCBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJQgXCI7IH1cblxuLmNvZGUtaW5saW5lLCBjb2RlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMTYxNjE2O1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtOyB9XG5cbi5jb2RlLWJsb2NrIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMTYxNjE2O1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICBjb2xvci1hZGp1c3Q6IGVjb25vbXk7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICBhW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bzsgfSB9XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLWNvbnRhaW5lci5mdWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5jZWxsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jZWxsLmF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmNlbGwuc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4LWJhc2lzOiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXggPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEsIC5ncmlkLXggPiAuc21hbGwtMiwgLmdyaWQteCA+IC5zbWFsbC0zLCAuZ3JpZC14ID4gLnNtYWxsLTQsIC5ncmlkLXggPiAuc21hbGwtNSwgLmdyaWQteCA+IC5zbWFsbC02LCAuZ3JpZC14ID4gLnNtYWxsLTcsIC5ncmlkLXggPiAuc21hbGwtOCwgLmdyaWQteCA+IC5zbWFsbC05LCAuZ3JpZC14ID4gLnNtYWxsLTEwLCAuZ3JpZC14ID4gLnNtYWxsLTExLCAuZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgZmxleDogMCAwIGF1dG87IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xIHtcbiAgd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXggPiAubWVkaXVtLTEsIC5ncmlkLXggPiAubWVkaXVtLTIsIC5ncmlkLXggPiAubWVkaXVtLTMsIC5ncmlkLXggPiAubWVkaXVtLTQsIC5ncmlkLXggPiAubWVkaXVtLTUsIC5ncmlkLXggPiAubWVkaXVtLTYsIC5ncmlkLXggPiAubWVkaXVtLTcsIC5ncmlkLXggPiAubWVkaXVtLTgsIC5ncmlkLXggPiAubWVkaXVtLTksIC5ncmlkLXggPiAubWVkaXVtLTEwLCAuZ3JpZC14ID4gLm1lZGl1bS0xMSwgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXggPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXgge1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogMjAlOyB9XG5cbi5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogMTIuNSU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjI1cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS4yNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuMjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuMjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuMjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxLjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS44NzVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMS44NzVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjg3NXJlbSAvIDIpOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS44NzVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMS44NzVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMS44NzVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMS44NzVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDEuODc1cmVtIC8gMik7IH0gfVxuXG4uZ3JpZC15IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gIC5ncmlkLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7IH1cbiAgLmdyaWQteSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLXNocmluaywgLmdyaWQteSA+IC5zbWFsbC1mdWxsLCAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMSwgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTMsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTYsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTksIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiAyNSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiA1MCU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiA3NSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluaywgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwdnc7IH1cblxuLmNlbGwgLmdyaWQtZnJhbWUge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2VsbC1ibG9jayB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay15IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBoZWlnaHQ6IDEwMHZoOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG4uY2VsbCAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMC45Mzc1cmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbi50aW55IHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmJ1dHRvbiwgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ExMjQ3MTtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODkxZjYwO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24ucHJpbWFyeSwgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ExMjQ3MTtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzgxMWQ1YTtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTVlNWU7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzLCAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5idXR0b24ud2FybmluZywgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi53aGl0ZSwgLmJ1dHRvbi53aGl0ZS5kaXNhYmxlZCwgLmJ1dHRvbi53aGl0ZVtkaXNhYmxlZF0sIC5idXR0b24ud2hpdGUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24ud2hpdGVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLndoaXRlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLndoaXRlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuYnV0dG9uLndoaXRlOmhvdmVyLCAuYnV0dG9uLndoaXRlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzZjNmM2O1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5idXR0b24uYmxhY2ssIC5idXR0b24uYmxhY2suZGlzYWJsZWQsIC5idXR0b24uYmxhY2tbZGlzYWJsZWRdLCAuYnV0dG9uLmJsYWNrLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmJsYWNrW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ibGFjay5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ibGFja1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjE2MTY7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi5ibGFjazpob3ZlciwgLmJ1dHRvbi5ibGFjazpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzEyMTIxMjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLmNhc3RsZWZvcmQtYmx1ZSwgLmJ1dHRvbi5jYXN0bGVmb3JkLWJsdWUuZGlzYWJsZWQsIC5idXR0b24uY2FzdGxlZm9yZC1ibHVlW2Rpc2FibGVkXSwgLmJ1dHRvbi5jYXN0bGVmb3JkLWJsdWUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2FzdGxlZm9yZC1ibHVlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jYXN0bGVmb3JkLWJsdWUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2FzdGxlZm9yZC1ibHVlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwODFENjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLmNhc3RsZWZvcmQtYmx1ZTpob3ZlciwgLmJ1dHRvbi5jYXN0bGVmb3JkLWJsdWU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDY3YWI7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi5jYXN0bGVmb3JkLWRhcmstYmx1ZSwgLmJ1dHRvbi5jYXN0bGVmb3JkLWRhcmstYmx1ZS5kaXNhYmxlZCwgLmJ1dHRvbi5jYXN0bGVmb3JkLWRhcmstYmx1ZVtkaXNhYmxlZF0sIC5idXR0b24uY2FzdGxlZm9yZC1kYXJrLWJsdWUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2FzdGxlZm9yZC1kYXJrLWJsdWVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNhc3RsZWZvcmQtZGFyay1ibHVlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNhc3RsZWZvcmQtZGFyay1ibHVlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMTIyQjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLmNhc3RsZWZvcmQtZGFyay1ibHVlOmhvdmVyLCAuYnV0dG9uLmNhc3RsZWZvcmQtZGFyay1ibHVlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwZTIyO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24uc2VsYnktcmVkLCAuYnV0dG9uLnNlbGJ5LXJlZC5kaXNhYmxlZCwgLmJ1dHRvbi5zZWxieS1yZWRbZGlzYWJsZWRdLCAuYnV0dG9uLnNlbGJ5LXJlZC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5zZWxieS1yZWRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLnNlbGJ5LXJlZC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5zZWxieS1yZWRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0QxNjE5O1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24uc2VsYnktcmVkOmhvdmVyLCAuYnV0dG9uLnNlbGJ5LXJlZDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2E0MTIxNDtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLnNlbGJ5LWRhcmstcmVkLCAuYnV0dG9uLnNlbGJ5LWRhcmstcmVkLmRpc2FibGVkLCAuYnV0dG9uLnNlbGJ5LWRhcmstcmVkW2Rpc2FibGVkXSwgLmJ1dHRvbi5zZWxieS1kYXJrLXJlZC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5zZWxieS1kYXJrLXJlZFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uc2VsYnktZGFyay1yZWQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uc2VsYnktZGFyay1yZWRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQwMjAwO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24uc2VsYnktZGFyay1yZWQ6aG92ZXIsIC5idXR0b24uc2VsYnktZGFyay1yZWQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyYTAyMDA7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi53YWtlZmllbGQtZ3JlZW4sIC5idXR0b24ud2FrZWZpZWxkLWdyZWVuLmRpc2FibGVkLCAuYnV0dG9uLndha2VmaWVsZC1ncmVlbltkaXNhYmxlZF0sIC5idXR0b24ud2FrZWZpZWxkLWdyZWVuLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLndha2VmaWVsZC1ncmVlbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24ud2FrZWZpZWxkLWdyZWVuLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLndha2VmaWVsZC1ncmVlbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNkFFNzI7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmJ1dHRvbi53YWtlZmllbGQtZ3JlZW46aG92ZXIsIC5idXR0b24ud2FrZWZpZWxkLWdyZWVuOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmI4YjViO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5idXR0b24ud2FrZWZpZWxkLWRhcmstZ3JlZW4sIC5idXR0b24ud2FrZWZpZWxkLWRhcmstZ3JlZW4uZGlzYWJsZWQsIC5idXR0b24ud2FrZWZpZWxkLWRhcmstZ3JlZW5bZGlzYWJsZWRdLCAuYnV0dG9uLndha2VmaWVsZC1kYXJrLWdyZWVuLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLndha2VmaWVsZC1kYXJrLWdyZWVuW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi53YWtlZmllbGQtZGFyay1ncmVlbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi53YWtlZmllbGQtZGFyay1ncmVlbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDJBMTY7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi53YWtlZmllbGQtZGFyay1ncmVlbjpob3ZlciwgLmJ1dHRvbi53YWtlZmllbGQtZGFyay1ncmVlbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMjIxMjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLmhveS1ibHVlLCAuYnV0dG9uLmhveS1ibHVlLmRpc2FibGVkLCAuYnV0dG9uLmhveS1ibHVlW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob3ktYmx1ZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob3ktYmx1ZVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG95LWJsdWUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG95LWJsdWVbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWM0NzYwO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24uaG95LWJsdWU6aG92ZXIsIC5idXR0b24uaG95LWJsdWU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjM5NGQ7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi5ob3ktcGluaywgLmJ1dHRvbi5ob3ktcGluay5kaXNhYmxlZCwgLmJ1dHRvbi5ob3ktcGlua1tkaXNhYmxlZF0sIC5idXR0b24uaG95LXBpbmsuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG95LXBpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhveS1waW5rLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhveS1waW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ExMjQ3MTtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLmhveS1waW5rOmhvdmVyLCAuYnV0dG9uLmhveS1waW5rOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODExZDVhO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24uaG95LXB1cnBsZSwgLmJ1dHRvbi5ob3ktcHVycGxlLmRpc2FibGVkLCAuYnV0dG9uLmhveS1wdXJwbGVbZGlzYWJsZWRdLCAuYnV0dG9uLmhveS1wdXJwbGUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG95LXB1cnBsZVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG95LXB1cnBsZS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob3ktcHVycGxlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU3MWQ0MjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLmhveS1wdXJwbGU6aG92ZXIsIC5idXR0b24uaG95LXB1cnBsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ2MTczNTtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLmhveS15ZWxsb3csIC5idXR0b24uaG95LXllbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob3kteWVsbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob3kteWVsbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhveS15ZWxsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhveS15ZWxsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG95LXllbGxvd1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGI1MjE7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmJ1dHRvbi5ob3kteWVsbG93OmhvdmVyLCAuYnV0dG9uLmhveS15ZWxsb3c6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMzk5MDI7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmJ1dHRvbi5ob3ktZ3JleSwgLmJ1dHRvbi5ob3ktZ3JleS5kaXNhYmxlZCwgLmJ1dHRvbi5ob3ktZ3JleVtkaXNhYmxlZF0sIC5idXR0b24uaG95LWdyZXkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG95LWdyZXlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhveS1ncmV5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhveS1ncmV5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZhNzg4MztcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLmhveS1ncmV5OmhvdmVyLCAuYnV0dG9uLmhveS1ncmV5OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2MDY5O1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24uaG95LWJyb3duLCAuYnV0dG9uLmhveS1icm93bi5kaXNhYmxlZCwgLmJ1dHRvbi5ob3ktYnJvd25bZGlzYWJsZWRdLCAuYnV0dG9uLmhveS1icm93bi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob3ktYnJvd25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhveS1icm93bi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob3ktYnJvd25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODI3NjRjO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24uaG95LWJyb3duOmhvdmVyLCAuYnV0dG9uLmhveS1icm93bjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY4NWUzZDtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLmFkdWx0LXB1cnBsZSwgLmJ1dHRvbi5hZHVsdC1wdXJwbGUuZGlzYWJsZWQsIC5idXR0b24uYWR1bHQtcHVycGxlW2Rpc2FibGVkXSwgLmJ1dHRvbi5hZHVsdC1wdXJwbGUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uYWR1bHQtcHVycGxlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5hZHVsdC1wdXJwbGUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uYWR1bHQtcHVycGxlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdmMWU0OTtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLmFkdWx0LXB1cnBsZTpob3ZlciwgLmJ1dHRvbi5hZHVsdC1wdXJwbGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjE4M2E7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi5hZHVsdC1kYXJrLXB1cnBsZSwgLmJ1dHRvbi5hZHVsdC1kYXJrLXB1cnBsZS5kaXNhYmxlZCwgLmJ1dHRvbi5hZHVsdC1kYXJrLXB1cnBsZVtkaXNhYmxlZF0sIC5idXR0b24uYWR1bHQtZGFyay1wdXJwbGUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uYWR1bHQtZGFyay1wdXJwbGVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmFkdWx0LWRhcmstcHVycGxlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmFkdWx0LWRhcmstcHVycGxlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI1MGEzNjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLmFkdWx0LWRhcmstcHVycGxlOmhvdmVyLCAuYnV0dG9uLmFkdWx0LWRhcmstcHVycGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUwODJiO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24uYWR1bHQtYmx1ZSwgLmJ1dHRvbi5hZHVsdC1ibHVlLmRpc2FibGVkLCAuYnV0dG9uLmFkdWx0LWJsdWVbZGlzYWJsZWRdLCAuYnV0dG9uLmFkdWx0LWJsdWUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uYWR1bHQtYmx1ZVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uYWR1bHQtYmx1ZS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5hZHVsdC1ibHVlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNmOGRhYztcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuYnV0dG9uLmFkdWx0LWJsdWU6aG92ZXIsIC5idXR0b24uYWR1bHQtYmx1ZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMyNzE4YTtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuYnV0dG9uLmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2UsIC5idXR0b24uYXBwcmVudGljZXNoaXBzLW9yYW5nZS5kaXNhYmxlZCwgLmJ1dHRvbi5hcHByZW50aWNlc2hpcHMtb3JhbmdlW2Rpc2FibGVkXSwgLmJ1dHRvbi5hcHByZW50aWNlc2hpcHMtb3JhbmdlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2VbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2UuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uYXBwcmVudGljZXNoaXBzLW9yYW5nZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNzk0MWQ7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmJ1dHRvbi5hcHByZW50aWNlc2hpcHMtb3JhbmdlOmhvdmVyLCAuYnV0dG9uLmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2U6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNTc4MDg7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmJ1dHRvbi5lbXBsb3llcnMtZGFyay1ibHVlLCAuYnV0dG9uLmVtcGxveWVycy1kYXJrLWJsdWUuZGlzYWJsZWQsIC5idXR0b24uZW1wbG95ZXJzLWRhcmstYmx1ZVtkaXNhYmxlZF0sIC5idXR0b24uZW1wbG95ZXJzLWRhcmstYmx1ZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5lbXBsb3llcnMtZGFyay1ibHVlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5lbXBsb3llcnMtZGFyay1ibHVlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmVtcGxveWVycy1kYXJrLWJsdWVbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0NTRiO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24uZW1wbG95ZXJzLWRhcmstYmx1ZTpob3ZlciwgLmJ1dHRvbi5lbXBsb3llcnMtZGFyay1ibHVlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzNzNjO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24uZW1wbG95ZXJzLWxpZ2h0LWJsdWUsIC5idXR0b24uZW1wbG95ZXJzLWxpZ2h0LWJsdWUuZGlzYWJsZWQsIC5idXR0b24uZW1wbG95ZXJzLWxpZ2h0LWJsdWVbZGlzYWJsZWRdLCAuYnV0dG9uLmVtcGxveWVycy1saWdodC1ibHVlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmVtcGxveWVycy1saWdodC1ibHVlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5lbXBsb3llcnMtbGlnaHQtYmx1ZS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5lbXBsb3llcnMtbGlnaHQtYmx1ZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NTk4OWY7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmJ1dHRvbi5lbXBsb3llcnMtbGlnaHQtYmx1ZTpob3ZlciwgLmJ1dHRvbi5lbXBsb3llcnMtbGlnaHQtYmx1ZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzUwN2E4MDtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuYnV0dG9uLm9mZldoaXRlLCAuYnV0dG9uLm9mZldoaXRlLmRpc2FibGVkLCAuYnV0dG9uLm9mZldoaXRlW2Rpc2FibGVkXSwgLmJ1dHRvbi5vZmZXaGl0ZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5vZmZXaGl0ZVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24ub2ZmV2hpdGUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24ub2ZmV2hpdGVbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjBGMEYwO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5idXR0b24ub2ZmV2hpdGU6aG92ZXIsIC5idXR0b24ub2ZmV2hpdGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNpbHZlcjtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuYnV0dG9uLmRhcmstZ3JleSwgLmJ1dHRvbi5kYXJrLWdyZXkuZGlzYWJsZWQsIC5idXR0b24uZGFyay1ncmV5W2Rpc2FibGVkXSwgLmJ1dHRvbi5kYXJrLWdyZXkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uZGFyay1ncmV5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5kYXJrLWdyZXkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uZGFyay1ncmV5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLmRhcmstZ3JleTpob3ZlciwgLmJ1dHRvbi5kYXJrLWdyZXk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyOTI5Mjk7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi5kYXJrLWJsdWUsIC5idXR0b24uZGFyay1ibHVlLmRpc2FibGVkLCAuYnV0dG9uLmRhcmstYmx1ZVtkaXNhYmxlZF0sIC5idXR0b24uZGFyay1ibHVlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRhcmstYmx1ZVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uZGFyay1ibHVlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmRhcmstYmx1ZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZTIzMzA7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi5kYXJrLWJsdWU6aG92ZXIsIC5idXR0b24uZGFyay1ibHVlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGIxYzI2O1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24uZWxlbWVudHMtb3JhbmdlLCAuYnV0dG9uLmVsZW1lbnRzLW9yYW5nZS5kaXNhYmxlZCwgLmJ1dHRvbi5lbGVtZW50cy1vcmFuZ2VbZGlzYWJsZWRdLCAuYnV0dG9uLmVsZW1lbnRzLW9yYW5nZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5lbGVtZW50cy1vcmFuZ2VbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmVsZW1lbnRzLW9yYW5nZS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5lbGVtZW50cy1vcmFuZ2VbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjE1YTNiO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5idXR0b24uZWxlbWVudHMtb3JhbmdlOmhvdmVyLCAuYnV0dG9uLmVsZW1lbnRzLW9yYW5nZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UwMzMxMDtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuYnV0dG9uLmVsZW1lbnRzLWdyZWVuLCAuYnV0dG9uLmVsZW1lbnRzLWdyZWVuLmRpc2FibGVkLCAuYnV0dG9uLmVsZW1lbnRzLWdyZWVuW2Rpc2FibGVkXSwgLmJ1dHRvbi5lbGVtZW50cy1ncmVlbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5lbGVtZW50cy1ncmVlbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uZWxlbWVudHMtZ3JlZW4uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uZWxlbWVudHMtZ3JlZW5bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE4Yjc0O1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24uZWxlbWVudHMtZ3JlZW46aG92ZXIsIC5idXR0b24uZWxlbWVudHMtZ3JlZW46Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYjZmNWQ7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi5hc3BpcmUtYmx1ZSwgLmJ1dHRvbi5hc3BpcmUtYmx1ZS5kaXNhYmxlZCwgLmJ1dHRvbi5hc3BpcmUtYmx1ZVtkaXNhYmxlZF0sIC5idXR0b24uYXNwaXJlLWJsdWUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uYXNwaXJlLWJsdWVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmFzcGlyZS1ibHVlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmFzcGlyZS1ibHVlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNiMmY1OTtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLmFzcGlyZS1ibHVlOmhvdmVyLCAuYnV0dG9uLmFzcGlyZS1ibHVlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmYyNjQ3O1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24uYXNwaXJlLXB1cnBsZSwgLmJ1dHRvbi5hc3BpcmUtcHVycGxlLmRpc2FibGVkLCAuYnV0dG9uLmFzcGlyZS1wdXJwbGVbZGlzYWJsZWRdLCAuYnV0dG9uLmFzcGlyZS1wdXJwbGUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uYXNwaXJlLXB1cnBsZVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uYXNwaXJlLXB1cnBsZS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5hc3BpcmUtcHVycGxlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVjMWI0NjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLmFzcGlyZS1wdXJwbGU6aG92ZXIsIC5idXR0b24uYXNwaXJlLXB1cnBsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRhMTYzODtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLmVsZW1lbnRzLWFzcGlyZS13aGl0ZSwgLmJ1dHRvbi5lbGVtZW50cy1hc3BpcmUtd2hpdGUuZGlzYWJsZWQsIC5idXR0b24uZWxlbWVudHMtYXNwaXJlLXdoaXRlW2Rpc2FibGVkXSwgLmJ1dHRvbi5lbGVtZW50cy1hc3BpcmUtd2hpdGUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uZWxlbWVudHMtYXNwaXJlLXdoaXRlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5lbGVtZW50cy1hc3BpcmUtd2hpdGUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uZWxlbWVudHMtYXNwaXJlLXdoaXRlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNkMDtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuYnV0dG9uLmVsZW1lbnRzLWFzcGlyZS13aGl0ZTpob3ZlciwgLmJ1dHRvbi5lbGVtZW50cy1hc3BpcmUtd2hpdGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmRiNzM7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNhMTI0NzE7XG4gICAgY29sb3I6ICNhMTI0NzE7IH1cbiAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM1MTEyMzk7XG4gICAgY29sb3I6ICM1MTEyMzk7IH1cbiAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ExMjQ3MTtcbiAgICBjb2xvcjogI2ExMjQ3MTsgfVxuICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM1MTEyMzk7XG4gICAgY29sb3I6ICM1MTEyMzk7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNzY3Njc2O1xuICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMzYjNiM2I7XG4gICAgY29sb3I6ICMzYjNiM2I7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcywgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzNhZGI3NjtcbiAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgLmJ1dHRvbi5ob2xsb3cud2FybmluZywgLmJ1dHRvbi5ob2xsb3cud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmYWUwMDtcbiAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQsIC5idXR0b24uaG9sbG93LmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5hbGVydFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNjYzRiMzc7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgLmJ1dHRvbi5ob2xsb3cud2hpdGUsIC5idXR0b24uaG9sbG93LndoaXRlLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53aGl0ZVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LndoaXRlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53aGl0ZVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LndoaXRlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy53aGl0ZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmOGY4Zjg7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi5ob2xsb3cud2hpdGU6aG92ZXIsIC5idXR0b24uaG9sbG93LndoaXRlOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM3YzdjN2M7XG4gICAgY29sb3I6ICM3YzdjN2M7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuYmxhY2ssIC5idXR0b24uaG9sbG93LmJsYWNrLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5ibGFja1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmJsYWNrLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5ibGFja1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LmJsYWNrLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5ibGFja1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMxNjE2MTY7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuYmxhY2s6aG92ZXIsIC5idXR0b24uaG9sbG93LmJsYWNrOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwYjBiMGI7XG4gICAgY29sb3I6ICMwYjBiMGI7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuY2FzdGxlZm9yZC1ibHVlLCAuYnV0dG9uLmhvbGxvdy5jYXN0bGVmb3JkLWJsdWUuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmNhc3RsZWZvcmQtYmx1ZVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmNhc3RsZWZvcmQtYmx1ZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuY2FzdGxlZm9yZC1ibHVlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuY2FzdGxlZm9yZC1ibHVlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5jYXN0bGVmb3JkLWJsdWVbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDA4MUQ2O1xuICAgIGNvbG9yOiAjMDA4MUQ2OyB9XG4gIC5idXR0b24uaG9sbG93LmNhc3RsZWZvcmQtYmx1ZTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuY2FzdGxlZm9yZC1ibHVlOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDQxNmI7XG4gICAgY29sb3I6ICMwMDQxNmI7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuY2FzdGxlZm9yZC1kYXJrLWJsdWUsIC5idXR0b24uaG9sbG93LmNhc3RsZWZvcmQtZGFyay1ibHVlLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5jYXN0bGVmb3JkLWRhcmstYmx1ZVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmNhc3RsZWZvcmQtZGFyay1ibHVlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5jYXN0bGVmb3JkLWRhcmstYmx1ZVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LmNhc3RsZWZvcmQtZGFyay1ibHVlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5jYXN0bGVmb3JkLWRhcmstYmx1ZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDEyMkI7XG4gICAgY29sb3I6ICMwMDEyMkI7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuY2FzdGxlZm9yZC1kYXJrLWJsdWU6aG92ZXIsIC5idXR0b24uaG9sbG93LmNhc3RsZWZvcmQtZGFyay1ibHVlOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDA5MTY7XG4gICAgY29sb3I6ICMwMDA5MTY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc2VsYnktcmVkLCAuYnV0dG9uLmhvbGxvdy5zZWxieS1yZWQuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlbGJ5LXJlZFtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnNlbGJ5LXJlZC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2VsYnktcmVkW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2VsYnktcmVkLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5zZWxieS1yZWRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjQ0QxNjE5O1xuICAgIGNvbG9yOiAjQ0QxNjE5OyB9XG4gIC5idXR0b24uaG9sbG93LnNlbGJ5LXJlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2VsYnktcmVkOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM2NzBiMGQ7XG4gICAgY29sb3I6ICM2NzBiMGQ7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc2VsYnktZGFyay1yZWQsIC5idXR0b24uaG9sbG93LnNlbGJ5LWRhcmstcmVkLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWxieS1kYXJrLXJlZFtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnNlbGJ5LWRhcmstcmVkLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWxieS1kYXJrLXJlZFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnNlbGJ5LWRhcmstcmVkLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5zZWxieS1kYXJrLXJlZFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMzNDAyMDA7XG4gICAgY29sb3I6ICMzNDAyMDA7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc2VsYnktZGFyay1yZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlbGJ5LWRhcmstcmVkOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMxYTAxMDA7XG4gICAgY29sb3I6ICMxYTAxMDA7IH1cbiAgLmJ1dHRvbi5ob2xsb3cud2FrZWZpZWxkLWdyZWVuLCAuYnV0dG9uLmhvbGxvdy53YWtlZmllbGQtZ3JlZW4uZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndha2VmaWVsZC1ncmVlbltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lndha2VmaWVsZC1ncmVlbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FrZWZpZWxkLWdyZWVuW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FrZWZpZWxkLWdyZWVuLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy53YWtlZmllbGQtZ3JlZW5bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMzZBRTcyO1xuICAgIGNvbG9yOiAjMzZBRTcyOyB9XG4gIC5idXR0b24uaG9sbG93Lndha2VmaWVsZC1ncmVlbjpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FrZWZpZWxkLWdyZWVuOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMxYjU3Mzk7XG4gICAgY29sb3I6ICMxYjU3Mzk7IH1cbiAgLmJ1dHRvbi5ob2xsb3cud2FrZWZpZWxkLWRhcmstZ3JlZW4sIC5idXR0b24uaG9sbG93Lndha2VmaWVsZC1kYXJrLWdyZWVuLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YWtlZmllbGQtZGFyay1ncmVlbltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lndha2VmaWVsZC1kYXJrLWdyZWVuLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YWtlZmllbGQtZGFyay1ncmVlbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93Lndha2VmaWVsZC1kYXJrLWdyZWVuLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy53YWtlZmllbGQtZGFyay1ncmVlbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDJBMTY7XG4gICAgY29sb3I6ICMwMDJBMTY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cud2FrZWZpZWxkLWRhcmstZ3JlZW46aG92ZXIsIC5idXR0b24uaG9sbG93Lndha2VmaWVsZC1kYXJrLWdyZWVuOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDE1MGI7XG4gICAgY29sb3I6ICMwMDE1MGI7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuaG95LWJsdWUsIC5idXR0b24uaG9sbG93LmhveS1ibHVlLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5ob3ktYmx1ZVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmhveS1ibHVlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5ob3ktYmx1ZVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LmhveS1ibHVlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5ob3ktYmx1ZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMxYzQ3NjA7XG4gICAgY29sb3I6ICMxYzQ3NjA7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuaG95LWJsdWU6aG92ZXIsIC5idXR0b24uaG9sbG93LmhveS1ibHVlOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwZTI0MzA7XG4gICAgY29sb3I6ICMwZTI0MzA7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuaG95LXBpbmssIC5idXR0b24uaG9sbG93LmhveS1waW5rLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5ob3ktcGlua1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmhveS1waW5rLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5ob3ktcGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LmhveS1waW5rLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5ob3ktcGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNhMTI0NzE7XG4gICAgY29sb3I6ICNhMTI0NzE7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuaG95LXBpbms6aG92ZXIsIC5idXR0b24uaG9sbG93LmhveS1waW5rOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM1MTEyMzk7XG4gICAgY29sb3I6ICM1MTEyMzk7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuaG95LXB1cnBsZSwgLmJ1dHRvbi5ob2xsb3cuaG95LXB1cnBsZS5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuaG95LXB1cnBsZVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmhveS1wdXJwbGUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmhveS1wdXJwbGVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5ob3ktcHVycGxlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5ob3ktcHVycGxlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzU3MWQ0MjtcbiAgICBjb2xvcjogIzU3MWQ0MjsgfVxuICAuYnV0dG9uLmhvbGxvdy5ob3ktcHVycGxlOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5ob3ktcHVycGxlOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMyYzBmMjE7XG4gICAgY29sb3I6ICMyYzBmMjE7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuaG95LXllbGxvdywgLmJ1dHRvbi5ob2xsb3cuaG95LXllbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuaG95LXllbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmhveS15ZWxsb3cuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmhveS15ZWxsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5ob3kteWVsbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5ob3kteWVsbG93W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZkYjUyMTtcbiAgICBjb2xvcjogI2ZkYjUyMTsgfVxuICAuYnV0dG9uLmhvbGxvdy5ob3kteWVsbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5ob3kteWVsbG93OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM4ZTYwMDE7XG4gICAgY29sb3I6ICM4ZTYwMDE7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuaG95LWdyZXksIC5idXR0b24uaG9sbG93LmhveS1ncmV5LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5ob3ktZ3JleVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmhveS1ncmV5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5ob3ktZ3JleVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LmhveS1ncmV5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5ob3ktZ3JleVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM2YTc4ODM7XG4gICAgY29sb3I6ICM2YTc4ODM7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuaG95LWdyZXk6aG92ZXIsIC5idXR0b24uaG9sbG93LmhveS1ncmV5OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMzNTNjNDI7XG4gICAgY29sb3I6ICMzNTNjNDI7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuaG95LWJyb3duLCAuYnV0dG9uLmhvbGxvdy5ob3ktYnJvd24uZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmhveS1icm93bltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmhveS1icm93bi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuaG95LWJyb3duW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuaG95LWJyb3duLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5ob3ktYnJvd25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjODI3NjRjO1xuICAgIGNvbG9yOiAjODI3NjRjOyB9XG4gIC5idXR0b24uaG9sbG93LmhveS1icm93bjpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuaG95LWJyb3duOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM0MTNiMjY7XG4gICAgY29sb3I6ICM0MTNiMjY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuYWR1bHQtcHVycGxlLCAuYnV0dG9uLmhvbGxvdy5hZHVsdC1wdXJwbGUuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFkdWx0LXB1cnBsZVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmFkdWx0LXB1cnBsZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWR1bHQtcHVycGxlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWR1bHQtcHVycGxlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5hZHVsdC1wdXJwbGVbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjN2YxZTQ5O1xuICAgIGNvbG9yOiAjN2YxZTQ5OyB9XG4gIC5idXR0b24uaG9sbG93LmFkdWx0LXB1cnBsZTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWR1bHQtcHVycGxlOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM0MDBmMjU7XG4gICAgY29sb3I6ICM0MDBmMjU7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuYWR1bHQtZGFyay1wdXJwbGUsIC5idXR0b24uaG9sbG93LmFkdWx0LWRhcmstcHVycGxlLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hZHVsdC1kYXJrLXB1cnBsZVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmFkdWx0LWRhcmstcHVycGxlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hZHVsdC1kYXJrLXB1cnBsZVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LmFkdWx0LWRhcmstcHVycGxlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5hZHVsdC1kYXJrLXB1cnBsZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMyNTBhMzY7XG4gICAgY29sb3I6ICMyNTBhMzY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuYWR1bHQtZGFyay1wdXJwbGU6aG92ZXIsIC5idXR0b24uaG9sbG93LmFkdWx0LWRhcmstcHVycGxlOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMxMzA1MWI7XG4gICAgY29sb3I6ICMxMzA1MWI7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuYWR1bHQtYmx1ZSwgLmJ1dHRvbi5ob2xsb3cuYWR1bHQtYmx1ZS5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWR1bHQtYmx1ZVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmFkdWx0LWJsdWUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFkdWx0LWJsdWVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hZHVsdC1ibHVlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5hZHVsdC1ibHVlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzNmOGRhYztcbiAgICBjb2xvcjogIzNmOGRhYzsgfVxuICAuYnV0dG9uLmhvbGxvdy5hZHVsdC1ibHVlOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hZHVsdC1ibHVlOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMyMDQ3NTY7XG4gICAgY29sb3I6ICMyMDQ3NTY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuYXBwcmVudGljZXNoaXBzLW9yYW5nZSwgLmJ1dHRvbi5ob2xsb3cuYXBwcmVudGljZXNoaXBzLW9yYW5nZS5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYXBwcmVudGljZXNoaXBzLW9yYW5nZVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2UuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2VbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hcHByZW50aWNlc2hpcHMtb3JhbmdlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5hcHByZW50aWNlc2hpcHMtb3JhbmdlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2Y3OTQxZDtcbiAgICBjb2xvcjogI2Y3OTQxZDsgfVxuICAuYnV0dG9uLmhvbGxvdy5hcHByZW50aWNlc2hpcHMtb3JhbmdlOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hcHByZW50aWNlc2hpcHMtb3JhbmdlOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM4NTRiMDU7XG4gICAgY29sb3I6ICM4NTRiMDU7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuZW1wbG95ZXJzLWRhcmstYmx1ZSwgLmJ1dHRvbi5ob2xsb3cuZW1wbG95ZXJzLWRhcmstYmx1ZS5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZW1wbG95ZXJzLWRhcmstYmx1ZVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmVtcGxveWVycy1kYXJrLWJsdWUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmVtcGxveWVycy1kYXJrLWJsdWVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5lbXBsb3llcnMtZGFyay1ibHVlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5lbXBsb3llcnMtZGFyay1ibHVlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwNDU0YjtcbiAgICBjb2xvcjogIzAwNDU0YjsgfVxuICAuYnV0dG9uLmhvbGxvdy5lbXBsb3llcnMtZGFyay1ibHVlOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5lbXBsb3llcnMtZGFyay1ibHVlOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDIzMjY7XG4gICAgY29sb3I6ICMwMDIzMjY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuZW1wbG95ZXJzLWxpZ2h0LWJsdWUsIC5idXR0b24uaG9sbG93LmVtcGxveWVycy1saWdodC1ibHVlLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5lbXBsb3llcnMtbGlnaHQtYmx1ZVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmVtcGxveWVycy1saWdodC1ibHVlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5lbXBsb3llcnMtbGlnaHQtYmx1ZVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LmVtcGxveWVycy1saWdodC1ibHVlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5lbXBsb3llcnMtbGlnaHQtYmx1ZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM2NTk4OWY7XG4gICAgY29sb3I6ICM2NTk4OWY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuZW1wbG95ZXJzLWxpZ2h0LWJsdWU6aG92ZXIsIC5idXR0b24uaG9sbG93LmVtcGxveWVycy1saWdodC1ibHVlOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMzMjRjNTA7XG4gICAgY29sb3I6ICMzMjRjNTA7IH1cbiAgLmJ1dHRvbi5ob2xsb3cub2ZmV2hpdGUsIC5idXR0b24uaG9sbG93Lm9mZldoaXRlLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5vZmZXaGl0ZVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lm9mZldoaXRlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5vZmZXaGl0ZVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93Lm9mZldoaXRlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5vZmZXaGl0ZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNGMEYwRjA7XG4gICAgY29sb3I6ICNGMEYwRjA7IH1cbiAgLmJ1dHRvbi5ob2xsb3cub2ZmV2hpdGU6aG92ZXIsIC5idXR0b24uaG9sbG93Lm9mZldoaXRlOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM3ODc4Nzg7XG4gICAgY29sb3I6ICM3ODc4Nzg7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuZGFyay1ncmV5LCAuYnV0dG9uLmhvbGxvdy5kYXJrLWdyZXkuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmRhcmstZ3JleVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmRhcmstZ3JleS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGFyay1ncmV5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGFyay1ncmV5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5kYXJrLWdyZXlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMzMzO1xuICAgIGNvbG9yOiAjMzMzOyB9XG4gIC5idXR0b24uaG9sbG93LmRhcmstZ3JleTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGFyay1ncmV5OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMxYTFhMWE7XG4gICAgY29sb3I6ICMxYTFhMWE7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuZGFyay1ibHVlLCAuYnV0dG9uLmhvbGxvdy5kYXJrLWJsdWUuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmRhcmstYmx1ZVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmRhcmstYmx1ZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGFyay1ibHVlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGFyay1ibHVlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5kYXJrLWJsdWVbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMGUyMzMwO1xuICAgIGNvbG9yOiAjMGUyMzMwOyB9XG4gIC5idXR0b24uaG9sbG93LmRhcmstYmx1ZTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGFyay1ibHVlOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwNzEyMTg7XG4gICAgY29sb3I6ICMwNzEyMTg7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuZWxlbWVudHMtb3JhbmdlLCAuYnV0dG9uLmhvbGxvdy5lbGVtZW50cy1vcmFuZ2UuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmVsZW1lbnRzLW9yYW5nZVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmVsZW1lbnRzLW9yYW5nZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZWxlbWVudHMtb3JhbmdlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZWxlbWVudHMtb3JhbmdlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5lbGVtZW50cy1vcmFuZ2VbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZjE1YTNiO1xuICAgIGNvbG9yOiAjZjE1YTNiOyB9XG4gIC5idXR0b24uaG9sbG93LmVsZW1lbnRzLW9yYW5nZTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZWxlbWVudHMtb3JhbmdlOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM4YzIwMGE7XG4gICAgY29sb3I6ICM4YzIwMGE7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuZWxlbWVudHMtZ3JlZW4sIC5idXR0b24uaG9sbG93LmVsZW1lbnRzLWdyZWVuLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5lbGVtZW50cy1ncmVlbltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmVsZW1lbnRzLWdyZWVuLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5lbGVtZW50cy1ncmVlbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LmVsZW1lbnRzLWdyZWVuLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5lbGVtZW50cy1ncmVlbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM0YThiNzQ7XG4gICAgY29sb3I6ICM0YThiNzQ7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuZWxlbWVudHMtZ3JlZW46aG92ZXIsIC5idXR0b24uaG9sbG93LmVsZW1lbnRzLWdyZWVuOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMyNTQ2M2E7XG4gICAgY29sb3I6ICMyNTQ2M2E7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuYXNwaXJlLWJsdWUsIC5idXR0b24uaG9sbG93LmFzcGlyZS1ibHVlLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hc3BpcmUtYmx1ZVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmFzcGlyZS1ibHVlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hc3BpcmUtYmx1ZVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LmFzcGlyZS1ibHVlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5hc3BpcmUtYmx1ZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMzYjJmNTk7XG4gICAgY29sb3I6ICMzYjJmNTk7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuYXNwaXJlLWJsdWU6aG92ZXIsIC5idXR0b24uaG9sbG93LmFzcGlyZS1ibHVlOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMxZTE4MmQ7XG4gICAgY29sb3I6ICMxZTE4MmQ7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuYXNwaXJlLXB1cnBsZSwgLmJ1dHRvbi5ob2xsb3cuYXNwaXJlLXB1cnBsZS5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYXNwaXJlLXB1cnBsZVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmFzcGlyZS1wdXJwbGUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFzcGlyZS1wdXJwbGVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hc3BpcmUtcHVycGxlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5hc3BpcmUtcHVycGxlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzVjMWI0NjtcbiAgICBjb2xvcjogIzVjMWI0NjsgfVxuICAuYnV0dG9uLmhvbGxvdy5hc3BpcmUtcHVycGxlOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hc3BpcmUtcHVycGxlOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMyZTBlMjM7XG4gICAgY29sb3I6ICMyZTBlMjM7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuZWxlbWVudHMtYXNwaXJlLXdoaXRlLCAuYnV0dG9uLmhvbGxvdy5lbGVtZW50cy1hc3BpcmUtd2hpdGUuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmVsZW1lbnRzLWFzcGlyZS13aGl0ZVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmVsZW1lbnRzLWFzcGlyZS13aGl0ZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZWxlbWVudHMtYXNwaXJlLXdoaXRlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZWxlbWVudHMtYXNwaXJlLXdoaXRlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5lbGVtZW50cy1hc3BpcmUtd2hpdGVbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmM2QwO1xuICAgIGNvbG9yOiAjZmZmM2QwOyB9XG4gIC5idXR0b24uaG9sbG93LmVsZW1lbnRzLWFzcGlyZS13aGl0ZTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZWxlbWVudHMtYXNwaXJlLXdoaXRlOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICNlOGFjMDA7XG4gICAgY29sb3I6ICNlOGFjMDA7IH1cbiAgLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI2ExMjQ3MTsgfVxuICAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzIHtcbiAgICBjb2xvcjogIzUxMTIzOTsgfVxuICAuYnV0dG9uLmNsZWFyLnByaW1hcnksIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjYTEyNDcxOyB9XG4gIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzIHtcbiAgICBjb2xvcjogIzUxMTIzOTsgfVxuICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBjb2xvcjogIzNiM2IzYjsgfVxuICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzIHtcbiAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAuYnV0dG9uLmNsZWFyLndhcm5pbmcsIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzIHtcbiAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAuYnV0dG9uLmNsZWFyLmFsZXJ0LCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzIHtcbiAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAuYnV0dG9uLmNsZWFyLndoaXRlLCAuYnV0dG9uLmNsZWFyLndoaXRlLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndoaXRlW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53aGl0ZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci53aGl0ZVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIud2hpdGUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIud2hpdGVbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLmNsZWFyLndoaXRlOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndoaXRlOmZvY3VzIHtcbiAgICBjb2xvcjogIzdjN2M3YzsgfVxuICAuYnV0dG9uLmNsZWFyLmJsYWNrLCAuYnV0dG9uLmNsZWFyLmJsYWNrLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmJsYWNrW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5ibGFjay5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5ibGFja1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuYmxhY2suZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYmxhY2tbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuYnV0dG9uLmNsZWFyLmJsYWNrOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmJsYWNrOmZvY3VzIHtcbiAgICBjb2xvcjogIzBiMGIwYjsgfVxuICAuYnV0dG9uLmNsZWFyLmNhc3RsZWZvcmQtYmx1ZSwgLmJ1dHRvbi5jbGVhci5jYXN0bGVmb3JkLWJsdWUuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuY2FzdGxlZm9yZC1ibHVlW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5jYXN0bGVmb3JkLWJsdWUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuY2FzdGxlZm9yZC1ibHVlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5jYXN0bGVmb3JkLWJsdWUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuY2FzdGxlZm9yZC1ibHVlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDgxRDY7IH1cbiAgLmJ1dHRvbi5jbGVhci5jYXN0bGVmb3JkLWJsdWU6aG92ZXIsIC5idXR0b24uY2xlYXIuY2FzdGxlZm9yZC1ibHVlOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwNDE2YjsgfVxuICAuYnV0dG9uLmNsZWFyLmNhc3RsZWZvcmQtZGFyay1ibHVlLCAuYnV0dG9uLmNsZWFyLmNhc3RsZWZvcmQtZGFyay1ibHVlLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmNhc3RsZWZvcmQtZGFyay1ibHVlW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5jYXN0bGVmb3JkLWRhcmstYmx1ZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5jYXN0bGVmb3JkLWRhcmstYmx1ZVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuY2FzdGxlZm9yZC1kYXJrLWJsdWUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuY2FzdGxlZm9yZC1kYXJrLWJsdWVbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwMTIyQjsgfVxuICAuYnV0dG9uLmNsZWFyLmNhc3RsZWZvcmQtZGFyay1ibHVlOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmNhc3RsZWZvcmQtZGFyay1ibHVlOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwMDkxNjsgfVxuICAuYnV0dG9uLmNsZWFyLnNlbGJ5LXJlZCwgLmJ1dHRvbi5jbGVhci5zZWxieS1yZWQuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2VsYnktcmVkW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWxieS1yZWQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuc2VsYnktcmVkW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWxieS1yZWQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuc2VsYnktcmVkW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNDRDE2MTk7IH1cbiAgLmJ1dHRvbi5jbGVhci5zZWxieS1yZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuc2VsYnktcmVkOmZvY3VzIHtcbiAgICBjb2xvcjogIzY3MGIwZDsgfVxuICAuYnV0dG9uLmNsZWFyLnNlbGJ5LWRhcmstcmVkLCAuYnV0dG9uLmNsZWFyLnNlbGJ5LWRhcmstcmVkLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlbGJ5LWRhcmstcmVkW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWxieS1kYXJrLXJlZC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWxieS1kYXJrLXJlZFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuc2VsYnktZGFyay1yZWQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuc2VsYnktZGFyay1yZWRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzM0MDIwMDsgfVxuICAuYnV0dG9uLmNsZWFyLnNlbGJ5LWRhcmstcmVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlbGJ5LWRhcmstcmVkOmZvY3VzIHtcbiAgICBjb2xvcjogIzFhMDEwMDsgfVxuICAuYnV0dG9uLmNsZWFyLndha2VmaWVsZC1ncmVlbiwgLmJ1dHRvbi5jbGVhci53YWtlZmllbGQtZ3JlZW4uZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FrZWZpZWxkLWdyZWVuW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YWtlZmllbGQtZ3JlZW4uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIud2FrZWZpZWxkLWdyZWVuW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci53YWtlZmllbGQtZ3JlZW4uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIud2FrZWZpZWxkLWdyZWVuW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMzNkFFNzI7IH1cbiAgLmJ1dHRvbi5jbGVhci53YWtlZmllbGQtZ3JlZW46aG92ZXIsIC5idXR0b24uY2xlYXIud2FrZWZpZWxkLWdyZWVuOmZvY3VzIHtcbiAgICBjb2xvcjogIzFiNTczOTsgfVxuICAuYnV0dG9uLmNsZWFyLndha2VmaWVsZC1kYXJrLWdyZWVuLCAuYnV0dG9uLmNsZWFyLndha2VmaWVsZC1kYXJrLWdyZWVuLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndha2VmaWVsZC1kYXJrLWdyZWVuW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YWtlZmllbGQtZGFyay1ncmVlbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci53YWtlZmllbGQtZGFyay1ncmVlbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIud2FrZWZpZWxkLWRhcmstZ3JlZW4uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIud2FrZWZpZWxkLWRhcmstZ3JlZW5bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwMkExNjsgfVxuICAuYnV0dG9uLmNsZWFyLndha2VmaWVsZC1kYXJrLWdyZWVuOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndha2VmaWVsZC1kYXJrLWdyZWVuOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwMTUwYjsgfVxuICAuYnV0dG9uLmNsZWFyLmhveS1ibHVlLCAuYnV0dG9uLmNsZWFyLmhveS1ibHVlLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmhveS1ibHVlW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5ob3ktYmx1ZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5ob3ktYmx1ZVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuaG95LWJsdWUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuaG95LWJsdWVbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzFjNDc2MDsgfVxuICAuYnV0dG9uLmNsZWFyLmhveS1ibHVlOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmhveS1ibHVlOmZvY3VzIHtcbiAgICBjb2xvcjogIzBlMjQzMDsgfVxuICAuYnV0dG9uLmNsZWFyLmhveS1waW5rLCAuYnV0dG9uLmNsZWFyLmhveS1waW5rLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmhveS1waW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5ob3ktcGluay5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5ob3ktcGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuaG95LXBpbmsuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuaG95LXBpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI2ExMjQ3MTsgfVxuICAuYnV0dG9uLmNsZWFyLmhveS1waW5rOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmhveS1waW5rOmZvY3VzIHtcbiAgICBjb2xvcjogIzUxMTIzOTsgfVxuICAuYnV0dG9uLmNsZWFyLmhveS1wdXJwbGUsIC5idXR0b24uY2xlYXIuaG95LXB1cnBsZS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5ob3ktcHVycGxlW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5ob3ktcHVycGxlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmhveS1wdXJwbGVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmhveS1wdXJwbGUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuaG95LXB1cnBsZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjNTcxZDQyOyB9XG4gIC5idXR0b24uY2xlYXIuaG95LXB1cnBsZTpob3ZlciwgLmJ1dHRvbi5jbGVhci5ob3ktcHVycGxlOmZvY3VzIHtcbiAgICBjb2xvcjogIzJjMGYyMTsgfVxuICAuYnV0dG9uLmNsZWFyLmhveS15ZWxsb3csIC5idXR0b24uY2xlYXIuaG95LXllbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5ob3kteWVsbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5ob3kteWVsbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmhveS15ZWxsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmhveS15ZWxsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuaG95LXllbGxvd1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjZmRiNTIxOyB9XG4gIC5idXR0b24uY2xlYXIuaG95LXllbGxvdzpob3ZlciwgLmJ1dHRvbi5jbGVhci5ob3kteWVsbG93OmZvY3VzIHtcbiAgICBjb2xvcjogIzhlNjAwMTsgfVxuICAuYnV0dG9uLmNsZWFyLmhveS1ncmV5LCAuYnV0dG9uLmNsZWFyLmhveS1ncmV5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmhveS1ncmV5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5ob3ktZ3JleS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5ob3ktZ3JleVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuaG95LWdyZXkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuaG95LWdyZXlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzZhNzg4MzsgfVxuICAuYnV0dG9uLmNsZWFyLmhveS1ncmV5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmhveS1ncmV5OmZvY3VzIHtcbiAgICBjb2xvcjogIzM1M2M0MjsgfVxuICAuYnV0dG9uLmNsZWFyLmhveS1icm93biwgLmJ1dHRvbi5jbGVhci5ob3ktYnJvd24uZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuaG95LWJyb3duW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5ob3ktYnJvd24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuaG95LWJyb3duW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5ob3ktYnJvd24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuaG95LWJyb3duW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICM4Mjc2NGM7IH1cbiAgLmJ1dHRvbi5jbGVhci5ob3ktYnJvd246aG92ZXIsIC5idXR0b24uY2xlYXIuaG95LWJyb3duOmZvY3VzIHtcbiAgICBjb2xvcjogIzQxM2IyNjsgfVxuICAuYnV0dG9uLmNsZWFyLmFkdWx0LXB1cnBsZSwgLmJ1dHRvbi5jbGVhci5hZHVsdC1wdXJwbGUuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWR1bHQtcHVycGxlW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hZHVsdC1wdXJwbGUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWR1bHQtcHVycGxlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5hZHVsdC1wdXJwbGUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYWR1bHQtcHVycGxlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICM3ZjFlNDk7IH1cbiAgLmJ1dHRvbi5jbGVhci5hZHVsdC1wdXJwbGU6aG92ZXIsIC5idXR0b24uY2xlYXIuYWR1bHQtcHVycGxlOmZvY3VzIHtcbiAgICBjb2xvcjogIzQwMGYyNTsgfVxuICAuYnV0dG9uLmNsZWFyLmFkdWx0LWRhcmstcHVycGxlLCAuYnV0dG9uLmNsZWFyLmFkdWx0LWRhcmstcHVycGxlLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFkdWx0LWRhcmstcHVycGxlW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hZHVsdC1kYXJrLXB1cnBsZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hZHVsdC1kYXJrLXB1cnBsZVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuYWR1bHQtZGFyay1wdXJwbGUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYWR1bHQtZGFyay1wdXJwbGVbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzI1MGEzNjsgfVxuICAuYnV0dG9uLmNsZWFyLmFkdWx0LWRhcmstcHVycGxlOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFkdWx0LWRhcmstcHVycGxlOmZvY3VzIHtcbiAgICBjb2xvcjogIzEzMDUxYjsgfVxuICAuYnV0dG9uLmNsZWFyLmFkdWx0LWJsdWUsIC5idXR0b24uY2xlYXIuYWR1bHQtYmx1ZS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hZHVsdC1ibHVlW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hZHVsdC1ibHVlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFkdWx0LWJsdWVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFkdWx0LWJsdWUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYWR1bHQtYmx1ZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjM2Y4ZGFjOyB9XG4gIC5idXR0b24uY2xlYXIuYWR1bHQtYmx1ZTpob3ZlciwgLmJ1dHRvbi5jbGVhci5hZHVsdC1ibHVlOmZvY3VzIHtcbiAgICBjb2xvcjogIzIwNDc1NjsgfVxuICAuYnV0dG9uLmNsZWFyLmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2UsIC5idXR0b24uY2xlYXIuYXBwcmVudGljZXNoaXBzLW9yYW5nZS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hcHByZW50aWNlc2hpcHMtb3JhbmdlW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hcHByZW50aWNlc2hpcHMtb3JhbmdlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2VbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2UuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYXBwcmVudGljZXNoaXBzLW9yYW5nZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjZjc5NDFkOyB9XG4gIC5idXR0b24uY2xlYXIuYXBwcmVudGljZXNoaXBzLW9yYW5nZTpob3ZlciwgLmJ1dHRvbi5jbGVhci5hcHByZW50aWNlc2hpcHMtb3JhbmdlOmZvY3VzIHtcbiAgICBjb2xvcjogIzg1NGIwNTsgfVxuICAuYnV0dG9uLmNsZWFyLmVtcGxveWVycy1kYXJrLWJsdWUsIC5idXR0b24uY2xlYXIuZW1wbG95ZXJzLWRhcmstYmx1ZS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5lbXBsb3llcnMtZGFyay1ibHVlW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5lbXBsb3llcnMtZGFyay1ibHVlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmVtcGxveWVycy1kYXJrLWJsdWVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmVtcGxveWVycy1kYXJrLWJsdWUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuZW1wbG95ZXJzLWRhcmstYmx1ZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMDA0NTRiOyB9XG4gIC5idXR0b24uY2xlYXIuZW1wbG95ZXJzLWRhcmstYmx1ZTpob3ZlciwgLmJ1dHRvbi5jbGVhci5lbXBsb3llcnMtZGFyay1ibHVlOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwMjMyNjsgfVxuICAuYnV0dG9uLmNsZWFyLmVtcGxveWVycy1saWdodC1ibHVlLCAuYnV0dG9uLmNsZWFyLmVtcGxveWVycy1saWdodC1ibHVlLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmVtcGxveWVycy1saWdodC1ibHVlW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5lbXBsb3llcnMtbGlnaHQtYmx1ZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5lbXBsb3llcnMtbGlnaHQtYmx1ZVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuZW1wbG95ZXJzLWxpZ2h0LWJsdWUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuZW1wbG95ZXJzLWxpZ2h0LWJsdWVbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzY1OTg5ZjsgfVxuICAuYnV0dG9uLmNsZWFyLmVtcGxveWVycy1saWdodC1ibHVlOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmVtcGxveWVycy1saWdodC1ibHVlOmZvY3VzIHtcbiAgICBjb2xvcjogIzMyNGM1MDsgfVxuICAuYnV0dG9uLmNsZWFyLm9mZldoaXRlLCAuYnV0dG9uLmNsZWFyLm9mZldoaXRlLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLm9mZldoaXRlW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5vZmZXaGl0ZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5vZmZXaGl0ZVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIub2ZmV2hpdGUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIub2ZmV2hpdGVbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI0YwRjBGMDsgfVxuICAuYnV0dG9uLmNsZWFyLm9mZldoaXRlOmhvdmVyLCAuYnV0dG9uLmNsZWFyLm9mZldoaXRlOmZvY3VzIHtcbiAgICBjb2xvcjogIzc4Nzg3ODsgfVxuICAuYnV0dG9uLmNsZWFyLmRhcmstZ3JleSwgLmJ1dHRvbi5jbGVhci5kYXJrLWdyZXkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZGFyay1ncmV5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5kYXJrLWdyZXkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuZGFyay1ncmV5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5kYXJrLWdyZXkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuZGFyay1ncmV5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMzMzM7IH1cbiAgLmJ1dHRvbi5jbGVhci5kYXJrLWdyZXk6aG92ZXIsIC5idXR0b24uY2xlYXIuZGFyay1ncmV5OmZvY3VzIHtcbiAgICBjb2xvcjogIzFhMWExYTsgfVxuICAuYnV0dG9uLmNsZWFyLmRhcmstYmx1ZSwgLmJ1dHRvbi5jbGVhci5kYXJrLWJsdWUuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZGFyay1ibHVlW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5kYXJrLWJsdWUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuZGFyay1ibHVlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5kYXJrLWJsdWUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuZGFyay1ibHVlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMwZTIzMzA7IH1cbiAgLmJ1dHRvbi5jbGVhci5kYXJrLWJsdWU6aG92ZXIsIC5idXR0b24uY2xlYXIuZGFyay1ibHVlOmZvY3VzIHtcbiAgICBjb2xvcjogIzA3MTIxODsgfVxuICAuYnV0dG9uLmNsZWFyLmVsZW1lbnRzLW9yYW5nZSwgLmJ1dHRvbi5jbGVhci5lbGVtZW50cy1vcmFuZ2UuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZWxlbWVudHMtb3JhbmdlW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5lbGVtZW50cy1vcmFuZ2UuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuZWxlbWVudHMtb3JhbmdlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5lbGVtZW50cy1vcmFuZ2UuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuZWxlbWVudHMtb3JhbmdlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNmMTVhM2I7IH1cbiAgLmJ1dHRvbi5jbGVhci5lbGVtZW50cy1vcmFuZ2U6aG92ZXIsIC5idXR0b24uY2xlYXIuZWxlbWVudHMtb3JhbmdlOmZvY3VzIHtcbiAgICBjb2xvcjogIzhjMjAwYTsgfVxuICAuYnV0dG9uLmNsZWFyLmVsZW1lbnRzLWdyZWVuLCAuYnV0dG9uLmNsZWFyLmVsZW1lbnRzLWdyZWVuLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmVsZW1lbnRzLWdyZWVuW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5lbGVtZW50cy1ncmVlbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5lbGVtZW50cy1ncmVlbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuZWxlbWVudHMtZ3JlZW4uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuZWxlbWVudHMtZ3JlZW5bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzRhOGI3NDsgfVxuICAuYnV0dG9uLmNsZWFyLmVsZW1lbnRzLWdyZWVuOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmVsZW1lbnRzLWdyZWVuOmZvY3VzIHtcbiAgICBjb2xvcjogIzI1NDYzYTsgfVxuICAuYnV0dG9uLmNsZWFyLmFzcGlyZS1ibHVlLCAuYnV0dG9uLmNsZWFyLmFzcGlyZS1ibHVlLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFzcGlyZS1ibHVlW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hc3BpcmUtYmx1ZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hc3BpcmUtYmx1ZVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuYXNwaXJlLWJsdWUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYXNwaXJlLWJsdWVbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzNiMmY1OTsgfVxuICAuYnV0dG9uLmNsZWFyLmFzcGlyZS1ibHVlOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFzcGlyZS1ibHVlOmZvY3VzIHtcbiAgICBjb2xvcjogIzFlMTgyZDsgfVxuICAuYnV0dG9uLmNsZWFyLmFzcGlyZS1wdXJwbGUsIC5idXR0b24uY2xlYXIuYXNwaXJlLXB1cnBsZS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hc3BpcmUtcHVycGxlW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hc3BpcmUtcHVycGxlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFzcGlyZS1wdXJwbGVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFzcGlyZS1wdXJwbGUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYXNwaXJlLXB1cnBsZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjNWMxYjQ2OyB9XG4gIC5idXR0b24uY2xlYXIuYXNwaXJlLXB1cnBsZTpob3ZlciwgLmJ1dHRvbi5jbGVhci5hc3BpcmUtcHVycGxlOmZvY3VzIHtcbiAgICBjb2xvcjogIzJlMGUyMzsgfVxuICAuYnV0dG9uLmNsZWFyLmVsZW1lbnRzLWFzcGlyZS13aGl0ZSwgLmJ1dHRvbi5jbGVhci5lbGVtZW50cy1hc3BpcmUtd2hpdGUuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZWxlbWVudHMtYXNwaXJlLXdoaXRlW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5lbGVtZW50cy1hc3BpcmUtd2hpdGUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuZWxlbWVudHMtYXNwaXJlLXdoaXRlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5lbGVtZW50cy1hc3BpcmUtd2hpdGUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuZWxlbWVudHMtYXNwaXJlLXdoaXRlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmYzZDA7IH1cbiAgLmJ1dHRvbi5jbGVhci5lbGVtZW50cy1hc3BpcmUtd2hpdGU6aG92ZXIsIC5idXR0b24uY2xlYXIuZWxlbWVudHMtYXNwaXJlLXdoaXRlOmZvY3VzIHtcbiAgICBjb2xvcjogI2U4YWMwMDsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAuNGVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjhmOGY4IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXI6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjYTEyNDcxOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnByaW1hcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjYTEyNDcxOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuc2Vjb25kYXJ5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzc2NzY3NjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5zdWNjZXNzOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzNhZGI3NjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci53YXJuaW5nOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuYWxlcnQ6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LndoaXRlOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci53aGl0ZTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYmxhY2s6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLmJsYWNrOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzE2MTYxNjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5jYXN0bGVmb3JkLWJsdWU6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLmNhc3RsZWZvcmQtYmx1ZTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDgxRDY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuY2FzdGxlZm9yZC1kYXJrLWJsdWU6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLmNhc3RsZWZvcmQtZGFyay1ibHVlOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMTIyQjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zZWxieS1yZWQ6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnNlbGJ5LXJlZDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNDRDE2MTk7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2VsYnktZGFyay1yZWQ6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnNlbGJ5LWRhcmstcmVkOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzM0MDIwMDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YWtlZmllbGQtZ3JlZW46OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLndha2VmaWVsZC1ncmVlbjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMzNkFFNzI7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FrZWZpZWxkLWRhcmstZ3JlZW46OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLndha2VmaWVsZC1kYXJrLWdyZWVuOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMkExNjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5ob3ktYmx1ZTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuaG95LWJsdWU6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMWM0NzYwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmhveS1waW5rOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5ob3ktcGluazo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNhMTI0NzE7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuaG95LXB1cnBsZTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuaG95LXB1cnBsZTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM1NzFkNDI7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuaG95LXllbGxvdzo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuaG95LXllbGxvdzo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZGI1MjE7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuaG95LWdyZXk6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLmhveS1ncmV5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzZhNzg4MzsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5ob3ktYnJvd246OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLmhveS1icm93bjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM4Mjc2NGM7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWR1bHQtcHVycGxlOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5hZHVsdC1wdXJwbGU6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjN2YxZTQ5OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmFkdWx0LWRhcmstcHVycGxlOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5hZHVsdC1kYXJrLXB1cnBsZTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMyNTBhMzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWR1bHQtYmx1ZTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuYWR1bHQtYmx1ZTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMzZjhkYWM7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYXBwcmVudGljZXNoaXBzLW9yYW5nZTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuYXBwcmVudGljZXNoaXBzLW9yYW5nZTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmNzk0MWQ7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuZW1wbG95ZXJzLWRhcmstYmx1ZTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuZW1wbG95ZXJzLWRhcmstYmx1ZTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDQ1NGI7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuZW1wbG95ZXJzLWxpZ2h0LWJsdWU6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLmVtcGxveWVycy1saWdodC1ibHVlOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzY1OTg5ZjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5vZmZXaGl0ZTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIub2ZmV2hpdGU6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjRjBGMEYwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmRhcmstZ3JleTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuZGFyay1ncmV5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzMzMzsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5kYXJrLWJsdWU6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLmRhcmstYmx1ZTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwZTIzMzA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuZWxlbWVudHMtb3JhbmdlOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5lbGVtZW50cy1vcmFuZ2U6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZjE1YTNiOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmVsZW1lbnRzLWdyZWVuOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5lbGVtZW50cy1ncmVlbjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM0YThiNzQ7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYXNwaXJlLWJsdWU6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLmFzcGlyZS1ibHVlOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzNiMmY1OTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hc3BpcmUtcHVycGxlOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5hc3BpcmUtcHVycGxlOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzVjMWI0NjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5lbGVtZW50cy1hc3BpcmUtd2hpdGU6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLmVsZW1lbnRzLWFzcGlyZS13aGl0ZTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmYzZDA7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYS5idXR0b246aG92ZXIsIGEuYnV0dG9uOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGZsZXgtZ3JvdzogMTsgfVxuICAuYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYnV0dG9uLWdyb3VwLnRpbnkgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5zbWFsbCAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5sYXJnZSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ExMjQ3MTtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4MTFkNWE7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24tZ3JvdXAud2hpdGUgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC53aGl0ZSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLndoaXRlIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLndoaXRlIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAud2hpdGUgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAud2hpdGUgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC53aGl0ZSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuYnV0dG9uLWdyb3VwLndoaXRlIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2hpdGUgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M2YzZjNjtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuYnV0dG9uLWdyb3VwLmJsYWNrIC5idXR0b24sIC5idXR0b24tZ3JvdXAuYmxhY2sgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ibGFjayAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ibGFjayAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmJsYWNrIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmJsYWNrIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuYmxhY2sgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjE2MTY7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi1ncm91cC5ibGFjayAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmJsYWNrIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjEyMTI7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi1ncm91cC5jYXN0bGVmb3JkLWJsdWUgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jYXN0bGVmb3JkLWJsdWUgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jYXN0bGVmb3JkLWJsdWUgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2FzdGxlZm9yZC1ibHVlIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2FzdGxlZm9yZC1ibHVlIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNhc3RsZWZvcmQtYmx1ZSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNhc3RsZWZvcmQtYmx1ZSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwODFENjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLWdyb3VwLmNhc3RsZWZvcmQtYmx1ZSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNhc3RsZWZvcmQtYmx1ZSAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2N2FiO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24tZ3JvdXAuY2FzdGxlZm9yZC1kYXJrLWJsdWUgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jYXN0bGVmb3JkLWRhcmstYmx1ZSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNhc3RsZWZvcmQtZGFyay1ibHVlIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNhc3RsZWZvcmQtZGFyay1ibHVlIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2FzdGxlZm9yZC1kYXJrLWJsdWUgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2FzdGxlZm9yZC1kYXJrLWJsdWUgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jYXN0bGVmb3JkLWRhcmstYmx1ZSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMTIyQjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLWdyb3VwLmNhc3RsZWZvcmQtZGFyay1ibHVlIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2FzdGxlZm9yZC1kYXJrLWJsdWUgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMGUyMjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLWdyb3VwLnNlbGJ5LXJlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnNlbGJ5LXJlZCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLnNlbGJ5LXJlZCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5zZWxieS1yZWQgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWxieS1yZWQgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuc2VsYnktcmVkIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuc2VsYnktcmVkIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0QxNjE5O1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24tZ3JvdXAuc2VsYnktcmVkIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2VsYnktcmVkIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhNDEyMTQ7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWxieS1kYXJrLXJlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnNlbGJ5LWRhcmstcmVkIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuc2VsYnktZGFyay1yZWQgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuc2VsYnktZGFyay1yZWQgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWxieS1kYXJrLXJlZCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWxieS1kYXJrLXJlZCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnNlbGJ5LWRhcmstcmVkIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQwMjAwO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24tZ3JvdXAuc2VsYnktZGFyay1yZWQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWxieS1kYXJrLXJlZCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmEwMjAwO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24tZ3JvdXAud2FrZWZpZWxkLWdyZWVuIC5idXR0b24sIC5idXR0b24tZ3JvdXAud2FrZWZpZWxkLWdyZWVuIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAud2FrZWZpZWxkLWdyZWVuIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLndha2VmaWVsZC1ncmVlbiAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndha2VmaWVsZC1ncmVlbiAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC53YWtlZmllbGQtZ3JlZW4gLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC53YWtlZmllbGQtZ3JlZW4gLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNkFFNzI7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmJ1dHRvbi1ncm91cC53YWtlZmllbGQtZ3JlZW4gLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53YWtlZmllbGQtZ3JlZW4gLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJiOGI1YjtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuYnV0dG9uLWdyb3VwLndha2VmaWVsZC1kYXJrLWdyZWVuIC5idXR0b24sIC5idXR0b24tZ3JvdXAud2FrZWZpZWxkLWRhcmstZ3JlZW4gLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC53YWtlZmllbGQtZGFyay1ncmVlbiAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC53YWtlZmllbGQtZGFyay1ncmVlbiAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndha2VmaWVsZC1kYXJrLWdyZWVuIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndha2VmaWVsZC1kYXJrLWdyZWVuIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAud2FrZWZpZWxkLWRhcmstZ3JlZW4gLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDJBMTY7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi1ncm91cC53YWtlZmllbGQtZGFyay1ncmVlbiAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndha2VmaWVsZC1kYXJrLWdyZWVuIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDIyMTI7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob3ktYmx1ZSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhveS1ibHVlIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG95LWJsdWUgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG95LWJsdWUgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob3ktYmx1ZSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob3ktYmx1ZSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhveS1ibHVlIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWM0NzYwO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24tZ3JvdXAuaG95LWJsdWUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob3ktYmx1ZSAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYzOTRkO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24tZ3JvdXAuaG95LXBpbmsgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob3ktcGluayAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhveS1waW5rIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhveS1waW5rIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG95LXBpbmsgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG95LXBpbmsgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob3ktcGluayAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ExMjQ3MTtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLWdyb3VwLmhveS1waW5rIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG95LXBpbmsgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzgxMWQ1YTtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLWdyb3VwLmhveS1wdXJwbGUgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob3ktcHVycGxlIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG95LXB1cnBsZSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob3ktcHVycGxlIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG95LXB1cnBsZSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob3ktcHVycGxlIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG95LXB1cnBsZSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU3MWQ0MjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLWdyb3VwLmhveS1wdXJwbGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob3ktcHVycGxlIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NjE3MzU7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob3kteWVsbG93IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG95LXllbGxvdyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhveS15ZWxsb3cgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG95LXllbGxvdyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhveS15ZWxsb3cgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG95LXllbGxvdyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhveS15ZWxsb3cgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGI1MjE7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob3kteWVsbG93IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG95LXllbGxvdyAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTM5OTAyO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5idXR0b24tZ3JvdXAuaG95LWdyZXkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob3ktZ3JleSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhveS1ncmV5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhveS1ncmV5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG95LWdyZXkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG95LWdyZXkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob3ktZ3JleSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZhNzg4MztcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLWdyb3VwLmhveS1ncmV5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG95LWdyZXkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NjA2OTtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLWdyb3VwLmhveS1icm93biAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhveS1icm93biAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhveS1icm93biAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob3ktYnJvd24gLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob3ktYnJvd24gLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG95LWJyb3duIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG95LWJyb3duIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODI3NjRjO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24tZ3JvdXAuaG95LWJyb3duIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG95LWJyb3duIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2ODVlM2Q7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi1ncm91cC5hZHVsdC1wdXJwbGUgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5hZHVsdC1wdXJwbGUgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5hZHVsdC1wdXJwbGUgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuYWR1bHQtcHVycGxlIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuYWR1bHQtcHVycGxlIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFkdWx0LXB1cnBsZSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmFkdWx0LXB1cnBsZSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdmMWU0OTtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLWdyb3VwLmFkdWx0LXB1cnBsZSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFkdWx0LXB1cnBsZSAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjYxODNhO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24tZ3JvdXAuYWR1bHQtZGFyay1wdXJwbGUgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5hZHVsdC1kYXJrLXB1cnBsZSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmFkdWx0LWRhcmstcHVycGxlIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmFkdWx0LWRhcmstcHVycGxlIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuYWR1bHQtZGFyay1wdXJwbGUgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuYWR1bHQtZGFyay1wdXJwbGUgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5hZHVsdC1kYXJrLXB1cnBsZSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI1MGEzNjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLWdyb3VwLmFkdWx0LWRhcmstcHVycGxlIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWR1bHQtZGFyay1wdXJwbGUgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMDgyYjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLWdyb3VwLmFkdWx0LWJsdWUgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5hZHVsdC1ibHVlIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuYWR1bHQtYmx1ZSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5hZHVsdC1ibHVlIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuYWR1bHQtYmx1ZSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5hZHVsdC1ibHVlIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuYWR1bHQtYmx1ZSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNmOGRhYztcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuYnV0dG9uLWdyb3VwLmFkdWx0LWJsdWUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5hZHVsdC1ibHVlIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMjcxOGE7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmJ1dHRvbi1ncm91cC5hcHByZW50aWNlc2hpcHMtb3JhbmdlIC5idXR0b24sIC5idXR0b24tZ3JvdXAuYXBwcmVudGljZXNoaXBzLW9yYW5nZSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2UgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuYXBwcmVudGljZXNoaXBzLW9yYW5nZSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2UgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuYXBwcmVudGljZXNoaXBzLW9yYW5nZSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2UgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNzk0MWQ7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmJ1dHRvbi1ncm91cC5hcHByZW50aWNlc2hpcHMtb3JhbmdlIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYXBwcmVudGljZXNoaXBzLW9yYW5nZSAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDU3ODA4O1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5idXR0b24tZ3JvdXAuZW1wbG95ZXJzLWRhcmstYmx1ZSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmVtcGxveWVycy1kYXJrLWJsdWUgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5lbXBsb3llcnMtZGFyay1ibHVlIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmVtcGxveWVycy1kYXJrLWJsdWUgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5lbXBsb3llcnMtZGFyay1ibHVlIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmVtcGxveWVycy1kYXJrLWJsdWUgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5lbXBsb3llcnMtZGFyay1ibHVlIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0NTRiO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24tZ3JvdXAuZW1wbG95ZXJzLWRhcmstYmx1ZSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmVtcGxveWVycy1kYXJrLWJsdWUgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzczYztcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLWdyb3VwLmVtcGxveWVycy1saWdodC1ibHVlIC5idXR0b24sIC5idXR0b24tZ3JvdXAuZW1wbG95ZXJzLWxpZ2h0LWJsdWUgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5lbXBsb3llcnMtbGlnaHQtYmx1ZSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5lbXBsb3llcnMtbGlnaHQtYmx1ZSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmVtcGxveWVycy1saWdodC1ibHVlIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmVtcGxveWVycy1saWdodC1ibHVlIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuZW1wbG95ZXJzLWxpZ2h0LWJsdWUgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NTk4OWY7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmJ1dHRvbi1ncm91cC5lbXBsb3llcnMtbGlnaHQtYmx1ZSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmVtcGxveWVycy1saWdodC1ibHVlIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MDdhODA7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmJ1dHRvbi1ncm91cC5vZmZXaGl0ZSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLm9mZldoaXRlIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAub2ZmV2hpdGUgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAub2ZmV2hpdGUgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5vZmZXaGl0ZSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5vZmZXaGl0ZSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLm9mZldoaXRlIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjBGMEYwO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5idXR0b24tZ3JvdXAub2ZmV2hpdGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5vZmZXaGl0ZSAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaWx2ZXI7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmJ1dHRvbi1ncm91cC5kYXJrLWdyZXkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5kYXJrLWdyZXkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5kYXJrLWdyZXkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuZGFyay1ncmV5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuZGFyay1ncmV5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmRhcmstZ3JleSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmRhcmstZ3JleSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLWdyb3VwLmRhcmstZ3JleSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmRhcmstZ3JleSAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyOTI5O1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24tZ3JvdXAuZGFyay1ibHVlIC5idXR0b24sIC5idXR0b24tZ3JvdXAuZGFyay1ibHVlIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuZGFyay1ibHVlIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmRhcmstYmx1ZSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmRhcmstYmx1ZSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5kYXJrLWJsdWUgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5kYXJrLWJsdWUgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZTIzMzA7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi1ncm91cC5kYXJrLWJsdWUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5kYXJrLWJsdWUgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBiMWMyNjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLWdyb3VwLmVsZW1lbnRzLW9yYW5nZSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmVsZW1lbnRzLW9yYW5nZSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmVsZW1lbnRzLW9yYW5nZSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5lbGVtZW50cy1vcmFuZ2UgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5lbGVtZW50cy1vcmFuZ2UgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuZWxlbWVudHMtb3JhbmdlIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuZWxlbWVudHMtb3JhbmdlIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjE1YTNiO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5idXR0b24tZ3JvdXAuZWxlbWVudHMtb3JhbmdlIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuZWxlbWVudHMtb3JhbmdlIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMDMzMTA7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmJ1dHRvbi1ncm91cC5lbGVtZW50cy1ncmVlbiAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmVsZW1lbnRzLWdyZWVuIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuZWxlbWVudHMtZ3JlZW4gLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuZWxlbWVudHMtZ3JlZW4gLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5lbGVtZW50cy1ncmVlbiAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5lbGVtZW50cy1ncmVlbiAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmVsZW1lbnRzLWdyZWVuIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE4Yjc0O1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24tZ3JvdXAuZWxlbWVudHMtZ3JlZW4gLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5lbGVtZW50cy1ncmVlbiAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I2ZjVkO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24tZ3JvdXAuYXNwaXJlLWJsdWUgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5hc3BpcmUtYmx1ZSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmFzcGlyZS1ibHVlIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmFzcGlyZS1ibHVlIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuYXNwaXJlLWJsdWUgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuYXNwaXJlLWJsdWUgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5hc3BpcmUtYmx1ZSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNiMmY1OTtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLWdyb3VwLmFzcGlyZS1ibHVlIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYXNwaXJlLWJsdWUgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJmMjY0NztcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLWdyb3VwLmFzcGlyZS1wdXJwbGUgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5hc3BpcmUtcHVycGxlIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuYXNwaXJlLXB1cnBsZSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5hc3BpcmUtcHVycGxlIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuYXNwaXJlLXB1cnBsZSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5hc3BpcmUtcHVycGxlIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuYXNwaXJlLXB1cnBsZSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVjMWI0NjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYnV0dG9uLWdyb3VwLmFzcGlyZS1wdXJwbGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5hc3BpcmUtcHVycGxlIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YTE2Mzg7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi1ncm91cC5lbGVtZW50cy1hc3BpcmUtd2hpdGUgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5lbGVtZW50cy1hc3BpcmUtd2hpdGUgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5lbGVtZW50cy1hc3BpcmUtd2hpdGUgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuZWxlbWVudHMtYXNwaXJlLXdoaXRlIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuZWxlbWVudHMtYXNwaXJlLXdoaXRlIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmVsZW1lbnRzLWFzcGlyZS13aGl0ZSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmVsZW1lbnRzLWFzcGlyZS13aGl0ZSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNkMDtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuYnV0dG9uLWdyb3VwLmVsZW1lbnRzLWFzcGlyZS13aGl0ZSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmVsZW1lbnRzLWFzcGlyZS13aGl0ZSAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZkYjczO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNhMTI0NzE7XG4gICAgY29sb3I6ICNhMTI0NzE7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNTExMjM5O1xuICAgIGNvbG9yOiAjNTExMjM5OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5LCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjYTEyNDcxO1xuICAgIGNvbG9yOiAjYTEyNDcxOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNTExMjM5O1xuICAgIGNvbG9yOiAjNTExMjM5OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzc2NzY3NjtcbiAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjM2IzYjNiO1xuICAgIGNvbG9yOiAjM2IzYjNiOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjM2FkYjc2O1xuICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNjYzRiMzc7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LndoaXRlIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LndoaXRlIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LndoaXRlIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53aGl0ZSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53aGl0ZSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2hpdGUgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2hpdGUgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2hpdGUsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2hpdGUuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2hpdGVbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndoaXRlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndoaXRlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53aGl0ZS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53aGl0ZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmOGY4Zjg7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2hpdGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2hpdGUgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53aGl0ZTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53aGl0ZTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjN2M3YzdjO1xuICAgIGNvbG9yOiAjN2M3YzdjOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmJsYWNrIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LmJsYWNrIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LmJsYWNrIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5ibGFjayAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5ibGFjayAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYmxhY2sgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYmxhY2sgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYmxhY2ssIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYmxhY2suZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYmxhY2tbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmJsYWNrLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmJsYWNrW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ibGFjay5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ibGFja1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMxNjE2MTY7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYmxhY2sgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYmxhY2sgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ibGFjazpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ibGFjazpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMGIwYjBiO1xuICAgIGNvbG9yOiAjMGIwYjBiOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmNhc3RsZWZvcmQtYmx1ZSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5jYXN0bGVmb3JkLWJsdWUgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuY2FzdGxlZm9yZC1ibHVlIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5jYXN0bGVmb3JkLWJsdWUgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuY2FzdGxlZm9yZC1ibHVlIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5jYXN0bGVmb3JkLWJsdWUgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuY2FzdGxlZm9yZC1ibHVlIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmNhc3RsZWZvcmQtYmx1ZSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5jYXN0bGVmb3JkLWJsdWUuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uY2FzdGxlZm9yZC1ibHVlW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5jYXN0bGVmb3JkLWJsdWUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uY2FzdGxlZm9yZC1ibHVlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5jYXN0bGVmb3JkLWJsdWUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uY2FzdGxlZm9yZC1ibHVlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwODFENjtcbiAgICBjb2xvcjogIzAwODFENjsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5jYXN0bGVmb3JkLWJsdWUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuY2FzdGxlZm9yZC1ibHVlIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uY2FzdGxlZm9yZC1ibHVlOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmNhc3RsZWZvcmQtYmx1ZTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA0MTZiO1xuICAgIGNvbG9yOiAjMDA0MTZiOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmNhc3RsZWZvcmQtZGFyay1ibHVlIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LmNhc3RsZWZvcmQtZGFyay1ibHVlIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LmNhc3RsZWZvcmQtZGFyay1ibHVlIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5jYXN0bGVmb3JkLWRhcmstYmx1ZSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5jYXN0bGVmb3JkLWRhcmstYmx1ZSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuY2FzdGxlZm9yZC1kYXJrLWJsdWUgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuY2FzdGxlZm9yZC1kYXJrLWJsdWUgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uY2FzdGxlZm9yZC1kYXJrLWJsdWUsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uY2FzdGxlZm9yZC1kYXJrLWJsdWUuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uY2FzdGxlZm9yZC1kYXJrLWJsdWVbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmNhc3RsZWZvcmQtZGFyay1ibHVlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmNhc3RsZWZvcmQtZGFyay1ibHVlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5jYXN0bGVmb3JkLWRhcmstYmx1ZS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5jYXN0bGVmb3JkLWRhcmstYmx1ZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDEyMkI7XG4gICAgY29sb3I6ICMwMDEyMkI7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuY2FzdGxlZm9yZC1kYXJrLWJsdWUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuY2FzdGxlZm9yZC1kYXJrLWJsdWUgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5jYXN0bGVmb3JkLWRhcmstYmx1ZTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5jYXN0bGVmb3JkLWRhcmstYmx1ZTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwOTE2O1xuICAgIGNvbG9yOiAjMDAwOTE2OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlbGJ5LXJlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWxieS1yZWQgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2VsYnktcmVkIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWxieS1yZWQgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2VsYnktcmVkIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWxieS1yZWQgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2VsYnktcmVkIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlbGJ5LXJlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWxieS1yZWQuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2VsYnktcmVkW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWxieS1yZWQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2VsYnktcmVkW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWxieS1yZWQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2VsYnktcmVkW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI0NEMTYxOTtcbiAgICBjb2xvcjogI0NEMTYxOTsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWxieS1yZWQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2VsYnktcmVkIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2VsYnktcmVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlbGJ5LXJlZDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNjcwYjBkO1xuICAgIGNvbG9yOiAjNjcwYjBkOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlbGJ5LWRhcmstcmVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlbGJ5LWRhcmstcmVkIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlbGJ5LWRhcmstcmVkIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWxieS1kYXJrLXJlZCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWxieS1kYXJrLXJlZCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2VsYnktZGFyay1yZWQgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2VsYnktZGFyay1yZWQgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2VsYnktZGFyay1yZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2VsYnktZGFyay1yZWQuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2VsYnktZGFyay1yZWRbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlbGJ5LWRhcmstcmVkLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlbGJ5LWRhcmstcmVkW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWxieS1kYXJrLXJlZC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWxieS1kYXJrLXJlZFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMzNDAyMDA7XG4gICAgY29sb3I6ICMzNDAyMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2VsYnktZGFyay1yZWQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2VsYnktZGFyay1yZWQgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWxieS1kYXJrLXJlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWxieS1kYXJrLXJlZDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMWEwMTAwO1xuICAgIGNvbG9yOiAjMWEwMTAwOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93Lndha2VmaWVsZC1ncmVlbiAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YWtlZmllbGQtZ3JlZW4gLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FrZWZpZWxkLWdyZWVuIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YWtlZmllbGQtZ3JlZW4gLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FrZWZpZWxkLWdyZWVuIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YWtlZmllbGQtZ3JlZW4gLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FrZWZpZWxkLWdyZWVuIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndha2VmaWVsZC1ncmVlbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YWtlZmllbGQtZ3JlZW4uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FrZWZpZWxkLWdyZWVuW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YWtlZmllbGQtZ3JlZW4uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FrZWZpZWxkLWdyZWVuW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YWtlZmllbGQtZ3JlZW4uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FrZWZpZWxkLWdyZWVuW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzM2QUU3MjtcbiAgICBjb2xvcjogIzM2QUU3MjsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YWtlZmllbGQtZ3JlZW4gLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FrZWZpZWxkLWdyZWVuIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FrZWZpZWxkLWdyZWVuOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndha2VmaWVsZC1ncmVlbjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMWI1NzM5O1xuICAgIGNvbG9yOiAjMWI1NzM5OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93Lndha2VmaWVsZC1kYXJrLWdyZWVuIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93Lndha2VmaWVsZC1kYXJrLWdyZWVuIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndha2VmaWVsZC1kYXJrLWdyZWVuIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YWtlZmllbGQtZGFyay1ncmVlbiAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YWtlZmllbGQtZGFyay1ncmVlbiAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FrZWZpZWxkLWRhcmstZ3JlZW4gLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FrZWZpZWxkLWRhcmstZ3JlZW4gLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FrZWZpZWxkLWRhcmstZ3JlZW4sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FrZWZpZWxkLWRhcmstZ3JlZW4uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FrZWZpZWxkLWRhcmstZ3JlZW5bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndha2VmaWVsZC1kYXJrLWdyZWVuLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndha2VmaWVsZC1kYXJrLWdyZWVuW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YWtlZmllbGQtZGFyay1ncmVlbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YWtlZmllbGQtZGFyay1ncmVlbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDJBMTY7XG4gICAgY29sb3I6ICMwMDJBMTY7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FrZWZpZWxkLWRhcmstZ3JlZW4gLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FrZWZpZWxkLWRhcmstZ3JlZW4gLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YWtlZmllbGQtZGFyay1ncmVlbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YWtlZmllbGQtZGFyay1ncmVlbjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAxNTBiO1xuICAgIGNvbG9yOiAjMDAxNTBiOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmhveS1ibHVlIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LmhveS1ibHVlIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LmhveS1ibHVlIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5ob3ktYmx1ZSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5ob3ktYmx1ZSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuaG95LWJsdWUgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuaG95LWJsdWUgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uaG95LWJsdWUsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uaG95LWJsdWUuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uaG95LWJsdWVbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmhveS1ibHVlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmhveS1ibHVlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ob3ktYmx1ZS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ob3ktYmx1ZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMxYzQ3NjA7XG4gICAgY29sb3I6ICMxYzQ3NjA7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuaG95LWJsdWUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuaG95LWJsdWUgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ob3ktYmx1ZTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ob3ktYmx1ZTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMGUyNDMwO1xuICAgIGNvbG9yOiAjMGUyNDMwOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmhveS1waW5rIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LmhveS1waW5rIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LmhveS1waW5rIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5ob3ktcGluayAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5ob3ktcGluayAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuaG95LXBpbmsgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuaG95LXBpbmsgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uaG95LXBpbmssIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uaG95LXBpbmsuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uaG95LXBpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmhveS1waW5rLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmhveS1waW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ob3ktcGluay5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ob3ktcGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNhMTI0NzE7XG4gICAgY29sb3I6ICNhMTI0NzE7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuaG95LXBpbmsgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuaG95LXBpbmsgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ob3ktcGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ob3ktcGluazpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNTExMjM5O1xuICAgIGNvbG9yOiAjNTExMjM5OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmhveS1wdXJwbGUgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuaG95LXB1cnBsZSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5ob3ktcHVycGxlIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5ob3ktcHVycGxlIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmhveS1wdXJwbGUgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmhveS1wdXJwbGUgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuaG95LXB1cnBsZSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ob3ktcHVycGxlLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmhveS1wdXJwbGUuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uaG95LXB1cnBsZVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uaG95LXB1cnBsZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ob3ktcHVycGxlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ob3ktcHVycGxlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmhveS1wdXJwbGVbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNTcxZDQyO1xuICAgIGNvbG9yOiAjNTcxZDQyOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmhveS1wdXJwbGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuaG95LXB1cnBsZSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmhveS1wdXJwbGU6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uaG95LXB1cnBsZTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMmMwZjIxO1xuICAgIGNvbG9yOiAjMmMwZjIxOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmhveS15ZWxsb3cgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuaG95LXllbGxvdyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5ob3kteWVsbG93IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5ob3kteWVsbG93IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmhveS15ZWxsb3cgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmhveS15ZWxsb3cgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuaG95LXllbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ob3kteWVsbG93LCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmhveS15ZWxsb3cuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uaG95LXllbGxvd1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uaG95LXllbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ob3kteWVsbG93W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ob3kteWVsbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmhveS15ZWxsb3dbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmRiNTIxO1xuICAgIGNvbG9yOiAjZmRiNTIxOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmhveS15ZWxsb3cgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuaG95LXllbGxvdyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmhveS15ZWxsb3c6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uaG95LXllbGxvdzpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjOGU2MDAxO1xuICAgIGNvbG9yOiAjOGU2MDAxOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmhveS1ncmV5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LmhveS1ncmV5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LmhveS1ncmV5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5ob3ktZ3JleSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5ob3ktZ3JleSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuaG95LWdyZXkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuaG95LWdyZXkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uaG95LWdyZXksIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uaG95LWdyZXkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uaG95LWdyZXlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmhveS1ncmV5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmhveS1ncmV5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ob3ktZ3JleS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ob3ktZ3JleVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM2YTc4ODM7XG4gICAgY29sb3I6ICM2YTc4ODM7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuaG95LWdyZXkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuaG95LWdyZXkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ob3ktZ3JleTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ob3ktZ3JleTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzUzYzQyO1xuICAgIGNvbG9yOiAjMzUzYzQyOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmhveS1icm93biAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5ob3ktYnJvd24gLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuaG95LWJyb3duIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5ob3ktYnJvd24gLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuaG95LWJyb3duIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5ob3ktYnJvd24gLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuaG95LWJyb3duIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmhveS1icm93biwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ob3ktYnJvd24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uaG95LWJyb3duW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ob3ktYnJvd24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uaG95LWJyb3duW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5ob3ktYnJvd24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uaG95LWJyb3duW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzgyNzY0YztcbiAgICBjb2xvcjogIzgyNzY0YzsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5ob3ktYnJvd24gLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuaG95LWJyb3duIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uaG95LWJyb3duOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmhveS1icm93bjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNDEzYjI2O1xuICAgIGNvbG9yOiAjNDEzYjI2OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmFkdWx0LXB1cnBsZSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hZHVsdC1wdXJwbGUgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWR1bHQtcHVycGxlIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hZHVsdC1wdXJwbGUgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWR1bHQtcHVycGxlIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hZHVsdC1wdXJwbGUgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWR1bHQtcHVycGxlIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFkdWx0LXB1cnBsZSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hZHVsdC1wdXJwbGUuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWR1bHQtcHVycGxlW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hZHVsdC1wdXJwbGUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWR1bHQtcHVycGxlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hZHVsdC1wdXJwbGUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWR1bHQtcHVycGxlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzdmMWU0OTtcbiAgICBjb2xvcjogIzdmMWU0OTsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hZHVsdC1wdXJwbGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWR1bHQtcHVycGxlIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWR1bHQtcHVycGxlOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFkdWx0LXB1cnBsZTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNDAwZjI1O1xuICAgIGNvbG9yOiAjNDAwZjI1OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmFkdWx0LWRhcmstcHVycGxlIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LmFkdWx0LWRhcmstcHVycGxlIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFkdWx0LWRhcmstcHVycGxlIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hZHVsdC1kYXJrLXB1cnBsZSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hZHVsdC1kYXJrLXB1cnBsZSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWR1bHQtZGFyay1wdXJwbGUgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWR1bHQtZGFyay1wdXJwbGUgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWR1bHQtZGFyay1wdXJwbGUsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWR1bHQtZGFyay1wdXJwbGUuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWR1bHQtZGFyay1wdXJwbGVbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFkdWx0LWRhcmstcHVycGxlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFkdWx0LWRhcmstcHVycGxlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hZHVsdC1kYXJrLXB1cnBsZS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hZHVsdC1kYXJrLXB1cnBsZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMyNTBhMzY7XG4gICAgY29sb3I6ICMyNTBhMzY7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWR1bHQtZGFyay1wdXJwbGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWR1bHQtZGFyay1wdXJwbGUgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hZHVsdC1kYXJrLXB1cnBsZTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hZHVsdC1kYXJrLXB1cnBsZTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTMwNTFiO1xuICAgIGNvbG9yOiAjMTMwNTFiOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmFkdWx0LWJsdWUgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWR1bHQtYmx1ZSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hZHVsdC1ibHVlIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hZHVsdC1ibHVlIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFkdWx0LWJsdWUgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFkdWx0LWJsdWUgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWR1bHQtYmx1ZSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hZHVsdC1ibHVlLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFkdWx0LWJsdWUuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWR1bHQtYmx1ZVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWR1bHQtYmx1ZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hZHVsdC1ibHVlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hZHVsdC1ibHVlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFkdWx0LWJsdWVbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjM2Y4ZGFjO1xuICAgIGNvbG9yOiAjM2Y4ZGFjOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmFkdWx0LWJsdWUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWR1bHQtYmx1ZSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFkdWx0LWJsdWU6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWR1bHQtYmx1ZTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjA0NzU2O1xuICAgIGNvbG9yOiAjMjA0NzU2OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2UgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYXBwcmVudGljZXNoaXBzLW9yYW5nZSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hcHByZW50aWNlc2hpcHMtb3JhbmdlIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hcHByZW50aWNlc2hpcHMtb3JhbmdlIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2UgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2UgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYXBwcmVudGljZXNoaXBzLW9yYW5nZSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hcHByZW50aWNlc2hpcHMtb3JhbmdlLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2UuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYXBwcmVudGljZXNoaXBzLW9yYW5nZVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYXBwcmVudGljZXNoaXBzLW9yYW5nZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hcHByZW50aWNlc2hpcHMtb3JhbmdlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hcHByZW50aWNlc2hpcHMtb3JhbmdlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2VbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZjc5NDFkO1xuICAgIGNvbG9yOiAjZjc5NDFkOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2UgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYXBwcmVudGljZXNoaXBzLW9yYW5nZSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2U6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYXBwcmVudGljZXNoaXBzLW9yYW5nZTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjODU0YjA1O1xuICAgIGNvbG9yOiAjODU0YjA1OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmVtcGxveWVycy1kYXJrLWJsdWUgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZW1wbG95ZXJzLWRhcmstYmx1ZSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5lbXBsb3llcnMtZGFyay1ibHVlIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5lbXBsb3llcnMtZGFyay1ibHVlIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmVtcGxveWVycy1kYXJrLWJsdWUgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmVtcGxveWVycy1kYXJrLWJsdWUgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZW1wbG95ZXJzLWRhcmstYmx1ZSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5lbXBsb3llcnMtZGFyay1ibHVlLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmVtcGxveWVycy1kYXJrLWJsdWUuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZW1wbG95ZXJzLWRhcmstYmx1ZVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZW1wbG95ZXJzLWRhcmstYmx1ZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5lbXBsb3llcnMtZGFyay1ibHVlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5lbXBsb3llcnMtZGFyay1ibHVlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmVtcGxveWVycy1kYXJrLWJsdWVbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDA0NTRiO1xuICAgIGNvbG9yOiAjMDA0NTRiOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmVtcGxveWVycy1kYXJrLWJsdWUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZW1wbG95ZXJzLWRhcmstYmx1ZSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmVtcGxveWVycy1kYXJrLWJsdWU6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZW1wbG95ZXJzLWRhcmstYmx1ZTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAyMzI2O1xuICAgIGNvbG9yOiAjMDAyMzI2OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmVtcGxveWVycy1saWdodC1ibHVlIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LmVtcGxveWVycy1saWdodC1ibHVlIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LmVtcGxveWVycy1saWdodC1ibHVlIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5lbXBsb3llcnMtbGlnaHQtYmx1ZSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5lbXBsb3llcnMtbGlnaHQtYmx1ZSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZW1wbG95ZXJzLWxpZ2h0LWJsdWUgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZW1wbG95ZXJzLWxpZ2h0LWJsdWUgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZW1wbG95ZXJzLWxpZ2h0LWJsdWUsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZW1wbG95ZXJzLWxpZ2h0LWJsdWUuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZW1wbG95ZXJzLWxpZ2h0LWJsdWVbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmVtcGxveWVycy1saWdodC1ibHVlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmVtcGxveWVycy1saWdodC1ibHVlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5lbXBsb3llcnMtbGlnaHQtYmx1ZS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5lbXBsb3llcnMtbGlnaHQtYmx1ZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM2NTk4OWY7XG4gICAgY29sb3I6ICM2NTk4OWY7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZW1wbG95ZXJzLWxpZ2h0LWJsdWUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZW1wbG95ZXJzLWxpZ2h0LWJsdWUgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5lbXBsb3llcnMtbGlnaHQtYmx1ZTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5lbXBsb3llcnMtbGlnaHQtYmx1ZTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzI0YzUwO1xuICAgIGNvbG9yOiAjMzI0YzUwOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93Lm9mZldoaXRlIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93Lm9mZldoaXRlIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93Lm9mZldoaXRlIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5vZmZXaGl0ZSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5vZmZXaGl0ZSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cub2ZmV2hpdGUgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cub2ZmV2hpdGUgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ub2ZmV2hpdGUsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ub2ZmV2hpdGUuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ub2ZmV2hpdGVbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLm9mZldoaXRlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLm9mZldoaXRlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5vZmZXaGl0ZS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5vZmZXaGl0ZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNGMEYwRjA7XG4gICAgY29sb3I6ICNGMEYwRjA7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cub2ZmV2hpdGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cub2ZmV2hpdGUgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5vZmZXaGl0ZTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5vZmZXaGl0ZTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNzg3ODc4O1xuICAgIGNvbG9yOiAjNzg3ODc4OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmRhcmstZ3JleSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5kYXJrLWdyZXkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZGFyay1ncmV5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5kYXJrLWdyZXkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZGFyay1ncmV5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5kYXJrLWdyZXkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZGFyay1ncmV5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRhcmstZ3JleSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kYXJrLWdyZXkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGFyay1ncmV5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kYXJrLWdyZXkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGFyay1ncmV5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kYXJrLWdyZXkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGFyay1ncmV5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzMzMztcbiAgICBjb2xvcjogIzMzMzsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5kYXJrLWdyZXkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZGFyay1ncmV5IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGFyay1ncmV5OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRhcmstZ3JleTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMWExYTFhO1xuICAgIGNvbG9yOiAjMWExYTFhOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmRhcmstYmx1ZSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5kYXJrLWJsdWUgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZGFyay1ibHVlIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5kYXJrLWJsdWUgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZGFyay1ibHVlIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5kYXJrLWJsdWUgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZGFyay1ibHVlIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRhcmstYmx1ZSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kYXJrLWJsdWUuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGFyay1ibHVlW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kYXJrLWJsdWUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGFyay1ibHVlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kYXJrLWJsdWUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGFyay1ibHVlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzBlMjMzMDtcbiAgICBjb2xvcjogIzBlMjMzMDsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5kYXJrLWJsdWUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZGFyay1ibHVlIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGFyay1ibHVlOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRhcmstYmx1ZTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDcxMjE4O1xuICAgIGNvbG9yOiAjMDcxMjE4OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmVsZW1lbnRzLW9yYW5nZSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5lbGVtZW50cy1vcmFuZ2UgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZWxlbWVudHMtb3JhbmdlIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5lbGVtZW50cy1vcmFuZ2UgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZWxlbWVudHMtb3JhbmdlIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5lbGVtZW50cy1vcmFuZ2UgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZWxlbWVudHMtb3JhbmdlIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmVsZW1lbnRzLW9yYW5nZSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5lbGVtZW50cy1vcmFuZ2UuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZWxlbWVudHMtb3JhbmdlW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5lbGVtZW50cy1vcmFuZ2UuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZWxlbWVudHMtb3JhbmdlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5lbGVtZW50cy1vcmFuZ2UuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZWxlbWVudHMtb3JhbmdlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2YxNWEzYjtcbiAgICBjb2xvcjogI2YxNWEzYjsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5lbGVtZW50cy1vcmFuZ2UgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZWxlbWVudHMtb3JhbmdlIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZWxlbWVudHMtb3JhbmdlOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmVsZW1lbnRzLW9yYW5nZTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjOGMyMDBhO1xuICAgIGNvbG9yOiAjOGMyMDBhOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmVsZW1lbnRzLWdyZWVuIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LmVsZW1lbnRzLWdyZWVuIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LmVsZW1lbnRzLWdyZWVuIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5lbGVtZW50cy1ncmVlbiAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5lbGVtZW50cy1ncmVlbiAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZWxlbWVudHMtZ3JlZW4gLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZWxlbWVudHMtZ3JlZW4gLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZWxlbWVudHMtZ3JlZW4sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZWxlbWVudHMtZ3JlZW4uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZWxlbWVudHMtZ3JlZW5bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmVsZW1lbnRzLWdyZWVuLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmVsZW1lbnRzLWdyZWVuW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5lbGVtZW50cy1ncmVlbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5lbGVtZW50cy1ncmVlbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM0YThiNzQ7XG4gICAgY29sb3I6ICM0YThiNzQ7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZWxlbWVudHMtZ3JlZW4gLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZWxlbWVudHMtZ3JlZW4gLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5lbGVtZW50cy1ncmVlbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5lbGVtZW50cy1ncmVlbjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjU0NjNhO1xuICAgIGNvbG9yOiAjMjU0NjNhOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmFzcGlyZS1ibHVlIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LmFzcGlyZS1ibHVlIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFzcGlyZS1ibHVlIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hc3BpcmUtYmx1ZSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hc3BpcmUtYmx1ZSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYXNwaXJlLWJsdWUgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYXNwaXJlLWJsdWUgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYXNwaXJlLWJsdWUsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYXNwaXJlLWJsdWUuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYXNwaXJlLWJsdWVbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFzcGlyZS1ibHVlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFzcGlyZS1ibHVlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hc3BpcmUtYmx1ZS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hc3BpcmUtYmx1ZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMzYjJmNTk7XG4gICAgY29sb3I6ICMzYjJmNTk7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYXNwaXJlLWJsdWUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYXNwaXJlLWJsdWUgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hc3BpcmUtYmx1ZTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hc3BpcmUtYmx1ZTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMWUxODJkO1xuICAgIGNvbG9yOiAjMWUxODJkOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmFzcGlyZS1wdXJwbGUgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYXNwaXJlLXB1cnBsZSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hc3BpcmUtcHVycGxlIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hc3BpcmUtcHVycGxlIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFzcGlyZS1wdXJwbGUgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFzcGlyZS1wdXJwbGUgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYXNwaXJlLXB1cnBsZSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hc3BpcmUtcHVycGxlLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFzcGlyZS1wdXJwbGUuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYXNwaXJlLXB1cnBsZVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYXNwaXJlLXB1cnBsZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hc3BpcmUtcHVycGxlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hc3BpcmUtcHVycGxlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFzcGlyZS1wdXJwbGVbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNWMxYjQ2O1xuICAgIGNvbG9yOiAjNWMxYjQ2OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmFzcGlyZS1wdXJwbGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYXNwaXJlLXB1cnBsZSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFzcGlyZS1wdXJwbGU6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYXNwaXJlLXB1cnBsZTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMmUwZTIzO1xuICAgIGNvbG9yOiAjMmUwZTIzOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmVsZW1lbnRzLWFzcGlyZS13aGl0ZSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5lbGVtZW50cy1hc3BpcmUtd2hpdGUgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZWxlbWVudHMtYXNwaXJlLXdoaXRlIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5lbGVtZW50cy1hc3BpcmUtd2hpdGUgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZWxlbWVudHMtYXNwaXJlLXdoaXRlIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5lbGVtZW50cy1hc3BpcmUtd2hpdGUgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZWxlbWVudHMtYXNwaXJlLXdoaXRlIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmVsZW1lbnRzLWFzcGlyZS13aGl0ZSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5lbGVtZW50cy1hc3BpcmUtd2hpdGUuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZWxlbWVudHMtYXNwaXJlLXdoaXRlW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5lbGVtZW50cy1hc3BpcmUtd2hpdGUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZWxlbWVudHMtYXNwaXJlLXdoaXRlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5lbGVtZW50cy1hc3BpcmUtd2hpdGUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZWxlbWVudHMtYXNwaXJlLXdoaXRlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjNkMDtcbiAgICBjb2xvcjogI2ZmZjNkMDsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5lbGVtZW50cy1hc3BpcmUtd2hpdGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuZWxlbWVudHMtYXNwaXJlLXdoaXRlIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZWxlbWVudHMtYXNwaXJlLXdoaXRlOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmVsZW1lbnRzLWFzcGlyZS13aGl0ZTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZThhYzAwO1xuICAgIGNvbG9yOiAjZThhYzAwOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI2ExMjQ3MTsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICM1MTEyMzk7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5LCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI2ExMjQ3MTsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgY29sb3I6ICM1MTEyMzk7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgY29sb3I6ICMzYjNiM2I7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci53aGl0ZSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndoaXRlIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIud2hpdGUgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIud2hpdGUgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53aGl0ZSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53aGl0ZSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndoaXRlIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2hpdGUsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53aGl0ZS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndoaXRlW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndoaXRlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2hpdGVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2hpdGUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53aGl0ZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIud2hpdGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53aGl0ZSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2hpdGU6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53aGl0ZTpmb2N1cyB7XG4gICAgY29sb3I6ICM3YzdjN2M7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5ibGFjayAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmJsYWNrIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuYmxhY2sgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuYmxhY2sgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5ibGFjayAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5ibGFjayAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmJsYWNrIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYmxhY2ssIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5ibGFjay5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmJsYWNrW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmJsYWNrLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYmxhY2tbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYmxhY2suZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5ibGFja1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuYmxhY2sgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5ibGFjayAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYmxhY2s6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5ibGFjazpmb2N1cyB7XG4gICAgY29sb3I6ICMwYjBiMGI7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5jYXN0bGVmb3JkLWJsdWUgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5jYXN0bGVmb3JkLWJsdWUgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5jYXN0bGVmb3JkLWJsdWUgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuY2FzdGxlZm9yZC1ibHVlIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuY2FzdGxlZm9yZC1ibHVlIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmNhc3RsZWZvcmQtYmx1ZSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmNhc3RsZWZvcmQtYmx1ZSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmNhc3RsZWZvcmQtYmx1ZSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmNhc3RsZWZvcmQtYmx1ZS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmNhc3RsZWZvcmQtYmx1ZVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5jYXN0bGVmb3JkLWJsdWUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5jYXN0bGVmb3JkLWJsdWVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uY2FzdGxlZm9yZC1ibHVlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uY2FzdGxlZm9yZC1ibHVlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDgxRDY7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5jYXN0bGVmb3JkLWJsdWUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5jYXN0bGVmb3JkLWJsdWUgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmNhc3RsZWZvcmQtYmx1ZTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmNhc3RsZWZvcmQtYmx1ZTpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDQxNmI7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5jYXN0bGVmb3JkLWRhcmstYmx1ZSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmNhc3RsZWZvcmQtZGFyay1ibHVlIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuY2FzdGxlZm9yZC1kYXJrLWJsdWUgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuY2FzdGxlZm9yZC1kYXJrLWJsdWUgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5jYXN0bGVmb3JkLWRhcmstYmx1ZSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5jYXN0bGVmb3JkLWRhcmstYmx1ZSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmNhc3RsZWZvcmQtZGFyay1ibHVlIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uY2FzdGxlZm9yZC1kYXJrLWJsdWUsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5jYXN0bGVmb3JkLWRhcmstYmx1ZS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmNhc3RsZWZvcmQtZGFyay1ibHVlW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmNhc3RsZWZvcmQtZGFyay1ibHVlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uY2FzdGxlZm9yZC1kYXJrLWJsdWVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uY2FzdGxlZm9yZC1kYXJrLWJsdWUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5jYXN0bGVmb3JkLWRhcmstYmx1ZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAxMjJCOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuY2FzdGxlZm9yZC1kYXJrLWJsdWUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5jYXN0bGVmb3JkLWRhcmstYmx1ZSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uY2FzdGxlZm9yZC1kYXJrLWJsdWU6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5jYXN0bGVmb3JkLWRhcmstYmx1ZTpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDA5MTY7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWxieS1yZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWxieS1yZWQgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWxieS1yZWQgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuc2VsYnktcmVkIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2VsYnktcmVkIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlbGJ5LXJlZCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlbGJ5LXJlZCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlbGJ5LXJlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlbGJ5LXJlZC5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlbGJ5LXJlZFtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWxieS1yZWQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWxieS1yZWRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2VsYnktcmVkLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2VsYnktcmVkW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNDRDE2MTk7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWxieS1yZWQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWxieS1yZWQgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlbGJ5LXJlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlbGJ5LXJlZDpmb2N1cyB7XG4gICAgY29sb3I6ICM2NzBiMGQ7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWxieS1kYXJrLXJlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlbGJ5LWRhcmstcmVkIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2VsYnktZGFyay1yZWQgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuc2VsYnktZGFyay1yZWQgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWxieS1kYXJrLXJlZCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWxieS1kYXJrLXJlZCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlbGJ5LWRhcmstcmVkIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2VsYnktZGFyay1yZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWxieS1kYXJrLXJlZC5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlbGJ5LWRhcmstcmVkW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlbGJ5LWRhcmstcmVkLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2VsYnktZGFyay1yZWRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2VsYnktZGFyay1yZWQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWxieS1kYXJrLXJlZFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMzQwMjAwOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuc2VsYnktZGFyay1yZWQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWxieS1kYXJrLXJlZCAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2VsYnktZGFyay1yZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWxieS1kYXJrLXJlZDpmb2N1cyB7XG4gICAgY29sb3I6ICMxYTAxMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci53YWtlZmllbGQtZ3JlZW4gLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci53YWtlZmllbGQtZ3JlZW4gLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci53YWtlZmllbGQtZ3JlZW4gLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIud2FrZWZpZWxkLWdyZWVuIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FrZWZpZWxkLWdyZWVuIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndha2VmaWVsZC1ncmVlbiAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndha2VmaWVsZC1ncmVlbiAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndha2VmaWVsZC1ncmVlbiwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndha2VmaWVsZC1ncmVlbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndha2VmaWVsZC1ncmVlbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YWtlZmllbGQtZ3JlZW4uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YWtlZmllbGQtZ3JlZW5bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FrZWZpZWxkLWdyZWVuLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FrZWZpZWxkLWdyZWVuW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMzNkFFNzI7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci53YWtlZmllbGQtZ3JlZW4gLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YWtlZmllbGQtZ3JlZW4gLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndha2VmaWVsZC1ncmVlbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndha2VmaWVsZC1ncmVlbjpmb2N1cyB7XG4gICAgY29sb3I6ICMxYjU3Mzk7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci53YWtlZmllbGQtZGFyay1ncmVlbiAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndha2VmaWVsZC1kYXJrLWdyZWVuIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FrZWZpZWxkLWRhcmstZ3JlZW4gLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIud2FrZWZpZWxkLWRhcmstZ3JlZW4gLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YWtlZmllbGQtZGFyay1ncmVlbiAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YWtlZmllbGQtZGFyay1ncmVlbiAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndha2VmaWVsZC1kYXJrLWdyZWVuIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FrZWZpZWxkLWRhcmstZ3JlZW4sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YWtlZmllbGQtZGFyay1ncmVlbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndha2VmaWVsZC1kYXJrLWdyZWVuW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndha2VmaWVsZC1kYXJrLWdyZWVuLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FrZWZpZWxkLWRhcmstZ3JlZW5bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FrZWZpZWxkLWRhcmstZ3JlZW4uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YWtlZmllbGQtZGFyay1ncmVlbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAyQTE2OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIud2FrZWZpZWxkLWRhcmstZ3JlZW4gLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YWtlZmllbGQtZGFyay1ncmVlbiAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FrZWZpZWxkLWRhcmstZ3JlZW46aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YWtlZmllbGQtZGFyay1ncmVlbjpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDE1MGI7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5ob3ktYmx1ZSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmhveS1ibHVlIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuaG95LWJsdWUgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuaG95LWJsdWUgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5ob3ktYmx1ZSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5ob3ktYmx1ZSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmhveS1ibHVlIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uaG95LWJsdWUsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5ob3ktYmx1ZS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmhveS1ibHVlW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmhveS1ibHVlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uaG95LWJsdWVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uaG95LWJsdWUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5ob3ktYmx1ZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMWM0NzYwOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuaG95LWJsdWUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5ob3ktYmx1ZSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uaG95LWJsdWU6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5ob3ktYmx1ZTpmb2N1cyB7XG4gICAgY29sb3I6ICMwZTI0MzA7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5ob3ktcGluayAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmhveS1waW5rIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuaG95LXBpbmsgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuaG95LXBpbmsgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5ob3ktcGluayAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5ob3ktcGluayAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmhveS1waW5rIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uaG95LXBpbmssIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5ob3ktcGluay5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmhveS1waW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmhveS1waW5rLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uaG95LXBpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uaG95LXBpbmsuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5ob3ktcGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjYTEyNDcxOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuaG95LXBpbmsgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5ob3ktcGluayAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uaG95LXBpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5ob3ktcGluazpmb2N1cyB7XG4gICAgY29sb3I6ICM1MTEyMzk7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5ob3ktcHVycGxlIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuaG95LXB1cnBsZSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmhveS1wdXJwbGUgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuaG95LXB1cnBsZSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmhveS1wdXJwbGUgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuaG95LXB1cnBsZSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmhveS1wdXJwbGUgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5ob3ktcHVycGxlLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uaG95LXB1cnBsZS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmhveS1wdXJwbGVbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uaG95LXB1cnBsZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmhveS1wdXJwbGVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uaG95LXB1cnBsZS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmhveS1wdXJwbGVbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzU3MWQ0MjsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLmhveS1wdXJwbGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5ob3ktcHVycGxlIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5ob3ktcHVycGxlOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uaG95LXB1cnBsZTpmb2N1cyB7XG4gICAgY29sb3I6ICMyYzBmMjE7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5ob3kteWVsbG93IC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuaG95LXllbGxvdyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmhveS15ZWxsb3cgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuaG95LXllbGxvdyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmhveS15ZWxsb3cgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuaG95LXllbGxvdyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmhveS15ZWxsb3cgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5ob3kteWVsbG93LCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uaG95LXllbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmhveS15ZWxsb3dbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uaG95LXllbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmhveS15ZWxsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uaG95LXllbGxvdy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmhveS15ZWxsb3dbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZkYjUyMTsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLmhveS15ZWxsb3cgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5ob3kteWVsbG93IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5ob3kteWVsbG93OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uaG95LXllbGxvdzpmb2N1cyB7XG4gICAgY29sb3I6ICM4ZTYwMDE7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5ob3ktZ3JleSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmhveS1ncmV5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuaG95LWdyZXkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuaG95LWdyZXkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5ob3ktZ3JleSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5ob3ktZ3JleSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmhveS1ncmV5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uaG95LWdyZXksIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5ob3ktZ3JleS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmhveS1ncmV5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmhveS1ncmV5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uaG95LWdyZXlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uaG95LWdyZXkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5ob3ktZ3JleVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjNmE3ODgzOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuaG95LWdyZXkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5ob3ktZ3JleSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uaG95LWdyZXk6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5ob3ktZ3JleTpmb2N1cyB7XG4gICAgY29sb3I6ICMzNTNjNDI7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5ob3ktYnJvd24gLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5ob3ktYnJvd24gLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5ob3ktYnJvd24gLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuaG95LWJyb3duIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuaG95LWJyb3duIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmhveS1icm93biAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmhveS1icm93biAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmhveS1icm93biwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmhveS1icm93bi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmhveS1icm93bltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5ob3ktYnJvd24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5ob3ktYnJvd25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uaG95LWJyb3duLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uaG95LWJyb3duW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICM4Mjc2NGM7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5ob3ktYnJvd24gLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5ob3ktYnJvd24gLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmhveS1icm93bjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmhveS1icm93bjpmb2N1cyB7XG4gICAgY29sb3I6ICM0MTNiMjY7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5hZHVsdC1wdXJwbGUgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5hZHVsdC1wdXJwbGUgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5hZHVsdC1wdXJwbGUgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuYWR1bHQtcHVycGxlIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWR1bHQtcHVycGxlIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFkdWx0LXB1cnBsZSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFkdWx0LXB1cnBsZSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFkdWx0LXB1cnBsZSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFkdWx0LXB1cnBsZS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFkdWx0LXB1cnBsZVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hZHVsdC1wdXJwbGUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hZHVsdC1wdXJwbGVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWR1bHQtcHVycGxlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWR1bHQtcHVycGxlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICM3ZjFlNDk7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5hZHVsdC1wdXJwbGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hZHVsdC1wdXJwbGUgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFkdWx0LXB1cnBsZTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFkdWx0LXB1cnBsZTpmb2N1cyB7XG4gICAgY29sb3I6ICM0MDBmMjU7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5hZHVsdC1kYXJrLXB1cnBsZSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFkdWx0LWRhcmstcHVycGxlIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWR1bHQtZGFyay1wdXJwbGUgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuYWR1bHQtZGFyay1wdXJwbGUgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hZHVsdC1kYXJrLXB1cnBsZSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hZHVsdC1kYXJrLXB1cnBsZSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFkdWx0LWRhcmstcHVycGxlIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWR1bHQtZGFyay1wdXJwbGUsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hZHVsdC1kYXJrLXB1cnBsZS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFkdWx0LWRhcmstcHVycGxlW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFkdWx0LWRhcmstcHVycGxlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWR1bHQtZGFyay1wdXJwbGVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWR1bHQtZGFyay1wdXJwbGUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hZHVsdC1kYXJrLXB1cnBsZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMjUwYTM2OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuYWR1bHQtZGFyay1wdXJwbGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hZHVsdC1kYXJrLXB1cnBsZSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWR1bHQtZGFyay1wdXJwbGU6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hZHVsdC1kYXJrLXB1cnBsZTpmb2N1cyB7XG4gICAgY29sb3I6ICMxMzA1MWI7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5hZHVsdC1ibHVlIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuYWR1bHQtYmx1ZSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFkdWx0LWJsdWUgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuYWR1bHQtYmx1ZSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFkdWx0LWJsdWUgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWR1bHQtYmx1ZSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFkdWx0LWJsdWUgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hZHVsdC1ibHVlLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWR1bHQtYmx1ZS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFkdWx0LWJsdWVbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWR1bHQtYmx1ZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFkdWx0LWJsdWVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWR1bHQtYmx1ZS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFkdWx0LWJsdWVbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzNmOGRhYzsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLmFkdWx0LWJsdWUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hZHVsdC1ibHVlIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hZHVsdC1ibHVlOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWR1bHQtYmx1ZTpmb2N1cyB7XG4gICAgY29sb3I6ICMyMDQ3NTY7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5hcHByZW50aWNlc2hpcHMtb3JhbmdlIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuYXBwcmVudGljZXNoaXBzLW9yYW5nZSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2UgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuYXBwcmVudGljZXNoaXBzLW9yYW5nZSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2UgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYXBwcmVudGljZXNoaXBzLW9yYW5nZSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2UgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hcHByZW50aWNlc2hpcHMtb3JhbmdlLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYXBwcmVudGljZXNoaXBzLW9yYW5nZS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2VbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYXBwcmVudGljZXNoaXBzLW9yYW5nZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2VbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYXBwcmVudGljZXNoaXBzLW9yYW5nZS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2VbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI2Y3OTQxZDsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2UgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hcHByZW50aWNlc2hpcHMtb3JhbmdlIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hcHByZW50aWNlc2hpcHMtb3JhbmdlOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYXBwcmVudGljZXNoaXBzLW9yYW5nZTpmb2N1cyB7XG4gICAgY29sb3I6ICM4NTRiMDU7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5lbXBsb3llcnMtZGFyay1ibHVlIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuZW1wbG95ZXJzLWRhcmstYmx1ZSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmVtcGxveWVycy1kYXJrLWJsdWUgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuZW1wbG95ZXJzLWRhcmstYmx1ZSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmVtcGxveWVycy1kYXJrLWJsdWUgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuZW1wbG95ZXJzLWRhcmstYmx1ZSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmVtcGxveWVycy1kYXJrLWJsdWUgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5lbXBsb3llcnMtZGFyay1ibHVlLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZW1wbG95ZXJzLWRhcmstYmx1ZS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmVtcGxveWVycy1kYXJrLWJsdWVbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZW1wbG95ZXJzLWRhcmstYmx1ZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmVtcGxveWVycy1kYXJrLWJsdWVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZW1wbG95ZXJzLWRhcmstYmx1ZS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmVtcGxveWVycy1kYXJrLWJsdWVbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwNDU0YjsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLmVtcGxveWVycy1kYXJrLWJsdWUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5lbXBsb3llcnMtZGFyay1ibHVlIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5lbXBsb3llcnMtZGFyay1ibHVlOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZW1wbG95ZXJzLWRhcmstYmx1ZTpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDIzMjY7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5lbXBsb3llcnMtbGlnaHQtYmx1ZSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmVtcGxveWVycy1saWdodC1ibHVlIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuZW1wbG95ZXJzLWxpZ2h0LWJsdWUgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuZW1wbG95ZXJzLWxpZ2h0LWJsdWUgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5lbXBsb3llcnMtbGlnaHQtYmx1ZSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5lbXBsb3llcnMtbGlnaHQtYmx1ZSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmVtcGxveWVycy1saWdodC1ibHVlIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZW1wbG95ZXJzLWxpZ2h0LWJsdWUsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5lbXBsb3llcnMtbGlnaHQtYmx1ZS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmVtcGxveWVycy1saWdodC1ibHVlW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmVtcGxveWVycy1saWdodC1ibHVlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZW1wbG95ZXJzLWxpZ2h0LWJsdWVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZW1wbG95ZXJzLWxpZ2h0LWJsdWUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5lbXBsb3llcnMtbGlnaHQtYmx1ZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjNjU5ODlmOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuZW1wbG95ZXJzLWxpZ2h0LWJsdWUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5lbXBsb3llcnMtbGlnaHQtYmx1ZSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZW1wbG95ZXJzLWxpZ2h0LWJsdWU6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5lbXBsb3llcnMtbGlnaHQtYmx1ZTpmb2N1cyB7XG4gICAgY29sb3I6ICMzMjRjNTA7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5vZmZXaGl0ZSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLm9mZldoaXRlIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIub2ZmV2hpdGUgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIub2ZmV2hpdGUgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5vZmZXaGl0ZSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5vZmZXaGl0ZSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLm9mZldoaXRlIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ub2ZmV2hpdGUsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5vZmZXaGl0ZS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLm9mZldoaXRlW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLm9mZldoaXRlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ub2ZmV2hpdGVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ub2ZmV2hpdGUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5vZmZXaGl0ZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjRjBGMEYwOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIub2ZmV2hpdGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5vZmZXaGl0ZSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ub2ZmV2hpdGU6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5vZmZXaGl0ZTpmb2N1cyB7XG4gICAgY29sb3I6ICM3ODc4Nzg7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5kYXJrLWdyZXkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5kYXJrLWdyZXkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5kYXJrLWdyZXkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuZGFyay1ncmV5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuZGFyay1ncmV5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmRhcmstZ3JleSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmRhcmstZ3JleSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRhcmstZ3JleSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRhcmstZ3JleS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRhcmstZ3JleVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kYXJrLWdyZXkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kYXJrLWdyZXlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGFyay1ncmV5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGFyay1ncmV5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMzMzM7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5kYXJrLWdyZXkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5kYXJrLWdyZXkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRhcmstZ3JleTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRhcmstZ3JleTpmb2N1cyB7XG4gICAgY29sb3I6ICMxYTFhMWE7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5kYXJrLWJsdWUgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5kYXJrLWJsdWUgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5kYXJrLWJsdWUgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuZGFyay1ibHVlIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuZGFyay1ibHVlIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmRhcmstYmx1ZSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmRhcmstYmx1ZSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRhcmstYmx1ZSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRhcmstYmx1ZS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRhcmstYmx1ZVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kYXJrLWJsdWUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kYXJrLWJsdWVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGFyay1ibHVlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGFyay1ibHVlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMwZTIzMzA7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5kYXJrLWJsdWUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5kYXJrLWJsdWUgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRhcmstYmx1ZTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRhcmstYmx1ZTpmb2N1cyB7XG4gICAgY29sb3I6ICMwNzEyMTg7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5lbGVtZW50cy1vcmFuZ2UgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5lbGVtZW50cy1vcmFuZ2UgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5lbGVtZW50cy1vcmFuZ2UgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuZWxlbWVudHMtb3JhbmdlIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuZWxlbWVudHMtb3JhbmdlIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmVsZW1lbnRzLW9yYW5nZSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmVsZW1lbnRzLW9yYW5nZSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmVsZW1lbnRzLW9yYW5nZSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmVsZW1lbnRzLW9yYW5nZS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmVsZW1lbnRzLW9yYW5nZVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5lbGVtZW50cy1vcmFuZ2UuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5lbGVtZW50cy1vcmFuZ2VbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZWxlbWVudHMtb3JhbmdlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZWxlbWVudHMtb3JhbmdlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNmMTVhM2I7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5lbGVtZW50cy1vcmFuZ2UgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5lbGVtZW50cy1vcmFuZ2UgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmVsZW1lbnRzLW9yYW5nZTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmVsZW1lbnRzLW9yYW5nZTpmb2N1cyB7XG4gICAgY29sb3I6ICM4YzIwMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5lbGVtZW50cy1ncmVlbiAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmVsZW1lbnRzLWdyZWVuIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuZWxlbWVudHMtZ3JlZW4gLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuZWxlbWVudHMtZ3JlZW4gLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5lbGVtZW50cy1ncmVlbiAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5lbGVtZW50cy1ncmVlbiAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmVsZW1lbnRzLWdyZWVuIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZWxlbWVudHMtZ3JlZW4sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5lbGVtZW50cy1ncmVlbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmVsZW1lbnRzLWdyZWVuW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmVsZW1lbnRzLWdyZWVuLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZWxlbWVudHMtZ3JlZW5bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZWxlbWVudHMtZ3JlZW4uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5lbGVtZW50cy1ncmVlbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjNGE4Yjc0OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuZWxlbWVudHMtZ3JlZW4gLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5lbGVtZW50cy1ncmVlbiAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZWxlbWVudHMtZ3JlZW46aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5lbGVtZW50cy1ncmVlbjpmb2N1cyB7XG4gICAgY29sb3I6ICMyNTQ2M2E7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5hc3BpcmUtYmx1ZSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFzcGlyZS1ibHVlIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuYXNwaXJlLWJsdWUgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuYXNwaXJlLWJsdWUgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hc3BpcmUtYmx1ZSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hc3BpcmUtYmx1ZSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFzcGlyZS1ibHVlIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYXNwaXJlLWJsdWUsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hc3BpcmUtYmx1ZS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFzcGlyZS1ibHVlW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFzcGlyZS1ibHVlLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYXNwaXJlLWJsdWVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYXNwaXJlLWJsdWUuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hc3BpcmUtYmx1ZVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjM2IyZjU5OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuYXNwaXJlLWJsdWUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hc3BpcmUtYmx1ZSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYXNwaXJlLWJsdWU6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hc3BpcmUtYmx1ZTpmb2N1cyB7XG4gICAgY29sb3I6ICMxZTE4MmQ7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5hc3BpcmUtcHVycGxlIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuYXNwaXJlLXB1cnBsZSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFzcGlyZS1wdXJwbGUgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuYXNwaXJlLXB1cnBsZSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFzcGlyZS1wdXJwbGUgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYXNwaXJlLXB1cnBsZSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFzcGlyZS1wdXJwbGUgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hc3BpcmUtcHVycGxlLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYXNwaXJlLXB1cnBsZS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFzcGlyZS1wdXJwbGVbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYXNwaXJlLXB1cnBsZS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFzcGlyZS1wdXJwbGVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYXNwaXJlLXB1cnBsZS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFzcGlyZS1wdXJwbGVbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzVjMWI0NjsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLmFzcGlyZS1wdXJwbGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hc3BpcmUtcHVycGxlIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hc3BpcmUtcHVycGxlOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYXNwaXJlLXB1cnBsZTpmb2N1cyB7XG4gICAgY29sb3I6ICMyZTBlMjM7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5lbGVtZW50cy1hc3BpcmUtd2hpdGUgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5lbGVtZW50cy1hc3BpcmUtd2hpdGUgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5lbGVtZW50cy1hc3BpcmUtd2hpdGUgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuZWxlbWVudHMtYXNwaXJlLXdoaXRlIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuZWxlbWVudHMtYXNwaXJlLXdoaXRlIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmVsZW1lbnRzLWFzcGlyZS13aGl0ZSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmVsZW1lbnRzLWFzcGlyZS13aGl0ZSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmVsZW1lbnRzLWFzcGlyZS13aGl0ZSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmVsZW1lbnRzLWFzcGlyZS13aGl0ZS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmVsZW1lbnRzLWFzcGlyZS13aGl0ZVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5lbGVtZW50cy1hc3BpcmUtd2hpdGUuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5lbGVtZW50cy1hc3BpcmUtd2hpdGVbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZWxlbWVudHMtYXNwaXJlLXdoaXRlLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZWxlbWVudHMtYXNwaXJlLXdoaXRlW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmYzZDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5lbGVtZW50cy1hc3BpcmUtd2hpdGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5lbGVtZW50cy1hc3BpcmUtd2hpdGUgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmVsZW1lbnRzLWFzcGlyZS13aGl0ZTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmVsZW1lbnRzLWFzcGlyZS13aGl0ZTpmb2N1cyB7XG4gICAgY29sb3I6ICNlOGFjMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5uby1nYXBzIC5idXR0b24ge1xuICAgIG1hcmdpbi1yaWdodDogLTAuMTI1cmVtOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5uby1nYXBzIC5idXR0b24gKyAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b24ge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgY29sb3I6ICM4YThhOGE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuY2xvc2UtYnV0dG9uLnNtYWxsIHtcbiAgICByaWdodDogMC42NnJlbTtcbiAgICB0b3A6IDAuMzNlbTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5jbG9zZS1idXR0b24ubWVkaXVtLCAuY2xvc2UtYnV0dG9uIHtcbiAgICByaWdodDogMXJlbTtcbiAgICB0b3A6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjM3NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQ6ICMyNjI2MjY7XG4gIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5sYWJlbC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjYTEyNDcxO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5sYWJlbC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmxhYmVsLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmxhYmVsLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5sYWJlbC53aGl0ZSB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAubGFiZWwuYmxhY2sge1xuICAgIGJhY2tncm91bmQ6ICMxNjE2MTY7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmxhYmVsLmNhc3RsZWZvcmQtYmx1ZSB7XG4gICAgYmFja2dyb3VuZDogIzAwODFENjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAubGFiZWwuY2FzdGxlZm9yZC1kYXJrLWJsdWUge1xuICAgIGJhY2tncm91bmQ6ICMwMDEyMkI7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmxhYmVsLnNlbGJ5LXJlZCB7XG4gICAgYmFja2dyb3VuZDogI0NEMTYxOTtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAubGFiZWwuc2VsYnktZGFyay1yZWQge1xuICAgIGJhY2tncm91bmQ6ICMzNDAyMDA7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmxhYmVsLndha2VmaWVsZC1ncmVlbiB7XG4gICAgYmFja2dyb3VuZDogIzM2QUU3MjtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAubGFiZWwud2FrZWZpZWxkLWRhcmstZ3JlZW4ge1xuICAgIGJhY2tncm91bmQ6ICMwMDJBMTY7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmxhYmVsLmhveS1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMWM0NzYwO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5sYWJlbC5ob3ktcGluayB7XG4gICAgYmFja2dyb3VuZDogI2ExMjQ3MTtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAubGFiZWwuaG95LXB1cnBsZSB7XG4gICAgYmFja2dyb3VuZDogIzU3MWQ0MjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAubGFiZWwuaG95LXllbGxvdyB7XG4gICAgYmFja2dyb3VuZDogI2ZkYjUyMTtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAubGFiZWwuaG95LWdyZXkge1xuICAgIGJhY2tncm91bmQ6ICM2YTc4ODM7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmxhYmVsLmhveS1icm93biB7XG4gICAgYmFja2dyb3VuZDogIzgyNzY0YztcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAubGFiZWwuYWR1bHQtcHVycGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjN2YxZTQ5O1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5sYWJlbC5hZHVsdC1kYXJrLXB1cnBsZSB7XG4gICAgYmFja2dyb3VuZDogIzI1MGEzNjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAubGFiZWwuYWR1bHQtYmx1ZSB7XG4gICAgYmFja2dyb3VuZDogIzNmOGRhYztcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAubGFiZWwuYXBwcmVudGljZXNoaXBzLW9yYW5nZSB7XG4gICAgYmFja2dyb3VuZDogI2Y3OTQxZDtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAubGFiZWwuZW1wbG95ZXJzLWRhcmstYmx1ZSB7XG4gICAgYmFja2dyb3VuZDogIzAwNDU0YjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAubGFiZWwuZW1wbG95ZXJzLWxpZ2h0LWJsdWUge1xuICAgIGJhY2tncm91bmQ6ICM2NTk4OWY7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmxhYmVsLm9mZldoaXRlIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjBGMEYwO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5sYWJlbC5kYXJrLWdyZXkge1xuICAgIGJhY2tncm91bmQ6ICMzMzM7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmxhYmVsLmRhcmstYmx1ZSB7XG4gICAgYmFja2dyb3VuZDogIzBlMjMzMDtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAubGFiZWwuZWxlbWVudHMtb3JhbmdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjE1YTNiO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5sYWJlbC5lbGVtZW50cy1ncmVlbiB7XG4gICAgYmFja2dyb3VuZDogIzRhOGI3NDtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAubGFiZWwuYXNwaXJlLWJsdWUge1xuICAgIGJhY2tncm91bmQ6ICMzYjJmNTk7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmxhYmVsLmFzcGlyZS1wdXJwbGUge1xuICAgIGJhY2tncm91bmQ6ICM1YzFiNDY7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmxhYmVsLmVsZW1lbnRzLWFzcGlyZS13aGl0ZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjNkMDtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuXG4ucHJvZ3Jlc3Mge1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTsgfVxuICAucHJvZ3Jlc3MucHJpbWFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhMTI0NzE7IH1cbiAgLnByb2dyZXNzLnNlY29uZGFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7IH1cbiAgLnByb2dyZXNzLnN1Y2Nlc3MgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2OyB9XG4gIC5wcm9ncmVzcy53YXJuaW5nIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDsgfVxuICAucHJvZ3Jlc3MuYWxlcnQgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3OyB9XG4gIC5wcm9ncmVzcy53aGl0ZSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7IH1cbiAgLnByb2dyZXNzLmJsYWNrIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTYxNjsgfVxuICAucHJvZ3Jlc3MuY2FzdGxlZm9yZC1ibHVlIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwODFENjsgfVxuICAucHJvZ3Jlc3MuY2FzdGxlZm9yZC1kYXJrLWJsdWUgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAxMjJCOyB9XG4gIC5wcm9ncmVzcy5zZWxieS1yZWQgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0QxNjE5OyB9XG4gIC5wcm9ncmVzcy5zZWxieS1kYXJrLXJlZCAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDAyMDA7IH1cbiAgLnByb2dyZXNzLndha2VmaWVsZC1ncmVlbiAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNkFFNzI7IH1cbiAgLnByb2dyZXNzLndha2VmaWVsZC1kYXJrLWdyZWVuIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMkExNjsgfVxuICAucHJvZ3Jlc3MuaG95LWJsdWUgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWM0NzYwOyB9XG4gIC5wcm9ncmVzcy5ob3ktcGluayAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhMTI0NzE7IH1cbiAgLnByb2dyZXNzLmhveS1wdXJwbGUgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTcxZDQyOyB9XG4gIC5wcm9ncmVzcy5ob3kteWVsbG93IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkYjUyMTsgfVxuICAucHJvZ3Jlc3MuaG95LWdyZXkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmE3ODgzOyB9XG4gIC5wcm9ncmVzcy5ob3ktYnJvd24gLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODI3NjRjOyB9XG4gIC5wcm9ncmVzcy5hZHVsdC1wdXJwbGUgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2YxZTQ5OyB9XG4gIC5wcm9ncmVzcy5hZHVsdC1kYXJrLXB1cnBsZSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNTBhMzY7IH1cbiAgLnByb2dyZXNzLmFkdWx0LWJsdWUgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Y4ZGFjOyB9XG4gIC5wcm9ncmVzcy5hcHByZW50aWNlc2hpcHMtb3JhbmdlIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3OTQxZDsgfVxuICAucHJvZ3Jlc3MuZW1wbG95ZXJzLWRhcmstYmx1ZSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDQ1NGI7IH1cbiAgLnByb2dyZXNzLmVtcGxveWVycy1saWdodC1ibHVlIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY1OTg5ZjsgfVxuICAucHJvZ3Jlc3Mub2ZmV2hpdGUgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjBGMEYwOyB9XG4gIC5wcm9ncmVzcy5kYXJrLWdyZXkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyB9XG4gIC5wcm9ncmVzcy5kYXJrLWJsdWUgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGUyMzMwOyB9XG4gIC5wcm9ncmVzcy5lbGVtZW50cy1vcmFuZ2UgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjE1YTNiOyB9XG4gIC5wcm9ncmVzcy5lbGVtZW50cy1ncmVlbiAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YThiNzQ7IH1cbiAgLnByb2dyZXNzLmFzcGlyZS1ibHVlIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNiMmY1OTsgfVxuICAucHJvZ3Jlc3MuYXNwaXJlLXB1cnBsZSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1YzFiNDY7IH1cbiAgLnByb2dyZXNzLmVsZW1lbnRzLWFzcGlyZS13aGl0ZSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYzZDA7IH1cblxuLnByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMTI0NzE7XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmOGY4Zjg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VjZWNlYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4OyB9XG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogI2VjZWNlYztcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICB0aGVhZCB0cixcbiAgdGZvb3QgdHIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIHRoZWFkIHRoLFxuICB0aGVhZCB0ZCxcbiAgdGZvb3QgdGgsXG4gIHRmb290IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0Ym9keSB0aCxcbiAgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuICB0YWJsZS51bnN0cmlwZWQgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7IH1cbiAgICB0YWJsZS51bnN0cmlwZWQgdGJvZHkgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWNlY2VjO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3OyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuXG50YWJsZS5ob3Zlcjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAyLjFlbTtcbiAgcGFkZGluZzogMC4zZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogI2ExMjQ3MTtcbiAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJhZGdlLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICNhMTI0NzE7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJhZGdlLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYmFkZ2Uuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuYmFkZ2Uud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuYmFkZ2UuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJhZGdlLndoaXRlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5iYWRnZS5ibGFjayB7XG4gICAgYmFja2dyb3VuZDogIzE2MTYxNjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYmFkZ2UuY2FzdGxlZm9yZC1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA4MUQ2O1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5iYWRnZS5jYXN0bGVmb3JkLWRhcmstYmx1ZSB7XG4gICAgYmFja2dyb3VuZDogIzAwMTIyQjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYmFkZ2Uuc2VsYnktcmVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjQ0QxNjE5O1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5iYWRnZS5zZWxieS1kYXJrLXJlZCB7XG4gICAgYmFja2dyb3VuZDogIzM0MDIwMDtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYmFkZ2Uud2FrZWZpZWxkLWdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzZBRTcyO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5iYWRnZS53YWtlZmllbGQtZGFyay1ncmVlbiB7XG4gICAgYmFja2dyb3VuZDogIzAwMkExNjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYmFkZ2UuaG95LWJsdWUge1xuICAgIGJhY2tncm91bmQ6ICMxYzQ3NjA7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJhZGdlLmhveS1waW5rIHtcbiAgICBiYWNrZ3JvdW5kOiAjYTEyNDcxO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5iYWRnZS5ob3ktcHVycGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjNTcxZDQyO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5iYWRnZS5ob3kteWVsbG93IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmRiNTIxO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5iYWRnZS5ob3ktZ3JleSB7XG4gICAgYmFja2dyb3VuZDogIzZhNzg4MztcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYmFkZ2UuaG95LWJyb3duIHtcbiAgICBiYWNrZ3JvdW5kOiAjODI3NjRjO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5iYWRnZS5hZHVsdC1wdXJwbGUge1xuICAgIGJhY2tncm91bmQ6ICM3ZjFlNDk7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmJhZGdlLmFkdWx0LWRhcmstcHVycGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjUwYTM2O1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5iYWRnZS5hZHVsdC1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2Y4ZGFjO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5iYWRnZS5hcHByZW50aWNlc2hpcHMtb3JhbmdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjc5NDFkO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5iYWRnZS5lbXBsb3llcnMtZGFyay1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA0NTRiO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5iYWRnZS5lbXBsb3llcnMtbGlnaHQtYmx1ZSB7XG4gICAgYmFja2dyb3VuZDogIzY1OTg5ZjtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuYmFkZ2Uub2ZmV2hpdGUge1xuICAgIGJhY2tncm91bmQ6ICNGMEYwRjA7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmJhZGdlLmRhcmstZ3JleSB7XG4gICAgYmFja2dyb3VuZDogIzMzMztcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYmFkZ2UuZGFyay1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMGUyMzMwO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5iYWRnZS5lbGVtZW50cy1vcmFuZ2Uge1xuICAgIGJhY2tncm91bmQ6ICNmMTVhM2I7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmJhZGdlLmVsZW1lbnRzLWdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kOiAjNGE4Yjc0O1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5iYWRnZS5hc3BpcmUtYmx1ZSB7XG4gICAgYmFja2dyb3VuZDogIzNiMmY1OTtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYmFkZ2UuYXNwaXJlLXB1cnBsZSB7XG4gICAgYmFja2dyb3VuZDogIzVjMWI0NjtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAuYmFkZ2UuZWxlbWVudHMtYXNwaXJlLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmM2QwO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG5cbi5jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAyLjE4NzVyZW0gMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBjb2xvcjogIzE2MTYxNjsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmQ5ZWI7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWZhZWE7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNkOTtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuY2FsbG91dC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZTRlMTtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuY2FsbG91dC53aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuY2FsbG91dC5ibGFjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ2FpbnNib3JvO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5jYWxsb3V0LmNhc3RsZWZvcmQtYmx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZWRmZjtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuY2FsbG91dC5jYXN0bGVmb3JkLWRhcmstYmx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I5ZDZmZjtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuY2FsbG91dC5zZWxieS1yZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYmQ5ZDk7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmNhbGxvdXQuc2VsYnktZGFyay1yZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJkYmE7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmNhbGxvdXQud2FrZWZpZWxkLWdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmNWVhO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5jYWxsb3V0Lndha2VmaWVsZC1kYXJrLWdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjlmZmRlO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5jYWxsb3V0LmhveS1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDJlNmYyO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5jYWxsb3V0LmhveS1waW5rIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZkOWViO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5jYWxsb3V0LmhveS1wdXJwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGQzZTY7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmNhbGxvdXQuaG95LXllbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjRkZTtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuY2FsbG91dC5ob3ktZ3JleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZWJlZDtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuY2FsbG91dC5ob3ktYnJvd24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVjZTI7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmNhbGxvdXQuYWR1bHQtcHVycGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVkNGUzO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5jYWxsb3V0LmFkdWx0LWRhcmstcHVycGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNjN2Y1O1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5jYWxsb3V0LmFkdWx0LWJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWVmZjQ7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmNhbGxvdXQuYXBwcmVudGljZXNoaXBzLW9yYW5nZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZWZkZDtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuY2FsbG91dC5lbXBsb3llcnMtZGFyay1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmVmYWZmO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5jYWxsb3V0LmVtcGxveWVycy1saWdodC1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThmMGYxO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5jYWxsb3V0Lm9mZldoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZkO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5jYWxsb3V0LmRhcmstZ3JleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAuY2FsbG91dC5kYXJrLWJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYmUyZjA7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmNhbGxvdXQuZWxlbWVudHMtb3JhbmdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlNmUyO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5jYWxsb3V0LmVsZW1lbnRzLWdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJmMGViO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5jYWxsb3V0LmFzcGlyZS1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkYWVjO1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5jYWxsb3V0LmFzcGlyZS1wdXJwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmQyZTc7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgLmNhbGxvdXQuZWxlbWVudHMtYXNwaXJlLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZGY4O1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uY2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICBib3gtc2hhZG93OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogIzE2MTYxNjsgfVxuICAuY2FyZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWRpdmlkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDEgYXV0bztcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAuY2FyZC1kaXZpZGVyID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtc2VjdGlvbiB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC5jYXJkLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1pbWFnZSB7XG4gIG1pbi1oZWlnaHQ6IDFweDsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnBhZ2luYXRpb24gYSxcbiAgLnBhZ2luYXRpb24gYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMS4xODc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMS4xODc1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gICAgY29sb3I6ICNlNmU2ZTY7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gICAgcGFkZGluZzogMC4zMTI1cmVtIDEuMTg3NXJlbTtcbiAgICBjb2xvcjogI2NhY2FjYTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLnBhZ2luYXRpb24gLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAxLjE4NzVyZW07XG4gICAgY29udGVudDogJ1xcMjAyNic7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLmFjY29yZGlvbltkaXNhYmxlZF0gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgYm9yZGVyOiAzcHggc29saWQgIzhhOGE4YTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMxNjE2MTY7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICM4YThhOGE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7IH1cbiAgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIGNvbnRlbnQ6IFwi74S6XCI7IH1cbiAgLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvhLlcIjsgfVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDNweCBzb2xpZCAjOGE4YThhO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICBjb2xvcjogIzE2MTYxNjsgfVxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgIzhhOGE4YTsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1haW4tc2VjdGlvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCxcbi5mbGV4LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuICAucmVzcG9uc2l2ZS1lbWJlZCBvYmplY3QsXG4gIC5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuICAucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyxcbiAgLmZsZXgtdmlkZW8gaWZyYW1lLFxuICAuZmxleC12aWRlbyBvYmplY3QsXG4gIC5mbGV4LXZpZGVvIGVtYmVkLFxuICAuZmxleC12aWRlbyB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZC53aWRlc2NyZWVuLFxuICAuZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjYTEyNDcxOyB9XG4gIC50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjYWUyNzdhOyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAxLjU2MjVyZW07XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC50YWJzLXRpdGxlID4gYSB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgICBjb2xvcjogI2Q1ZDVkNTsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICAgICAgY29sb3I6ICNhMTI0NzE7IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICBjb2xvcjogIzE2MTYxNjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsgfVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi50YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMS44NzVyZW07IH1cbiAgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogNHB4IHNvbGlkICNmOGY4Zjg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMjIsIDIyLCAyMiwgMC4yKTtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cblxuYS50aHVtYm5haWwge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0OyB9XG4gIGEudGh1bWJuYWlsOmhvdmVyLCBhLnRodW1ibmFpbDpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDZweCAxcHggcmdiYSgxNjEsIDM2LCAxMTMsIDAuNSk7IH1cbiAgYS50aHVtYm5haWwgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLm1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSBsaSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAubWVudSBhLFxuICAubWVudSAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgLm1lbnUgaW5wdXQsXG4gIC5tZW51IHNlbGVjdCxcbiAgLm1lbnUgYSxcbiAgLm1lbnUgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZW51IGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm1lbnUsIC5tZW51Lmhvcml6b250YWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZW51LnZlcnRpY2FsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUudmVydGljYWwuaWNvbi10b3AgbGkgYSBpbWcsXG4gICAgLm1lbnUudmVydGljYWwuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51LnZlcnRpY2FsLmljb24tdG9wIGxpIGEgc3ZnLCAubWVudS52ZXJ0aWNhbC5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgICAubWVudS52ZXJ0aWNhbC5pY29uLWJvdHRvbSBsaSBhIGksXG4gICAgLm1lbnUudmVydGljYWwuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVudS5leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAubWVudS5leHBhbmRlZC5pY29uLXRvcCBsaSBhIGltZyxcbiAgLm1lbnUuZXhwYW5kZWQuaWNvbi10b3AgbGkgYSBpLFxuICAubWVudS5leHBhbmRlZC5pY29uLXRvcCBsaSBhIHN2ZywgLm1lbnUuZXhwYW5kZWQuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gIC5tZW51LmV4cGFuZGVkLmljb24tYm90dG9tIGxpIGEgaSxcbiAgLm1lbnUuZXhwYW5kZWQuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lbnUuc2ltcGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAubWVudS5zaW1wbGUgYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51Lm1lZGl1bS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LmxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUuaWNvbnMgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5pY29uLXRvcCBhLCAubWVudS5pY29uLXJpZ2h0IGEsIC5tZW51Lmljb24tYm90dG9tIGEsIC5tZW51Lmljb24tbGVmdCBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tbGVmdCBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIHN2ZywgLm1lbnUubmVzdGVkLmljb24tbGVmdCBsaSBhIGltZyxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEgaSxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuICAubWVudS5pY29uLXJpZ2h0IGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHN2ZywgLm1lbnUubmVzdGVkLmljb24tcmlnaHQgbGkgYSBpbWcsXG4gICAgLm1lbnUubmVzdGVkLmljb24tcmlnaHQgbGkgYSBpLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tdG9wIGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIGltZyxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS5pY29uLWJvdHRvbSBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgc3ZnLCAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gICAgLm1lbnUubmVzdGVkLmljb24tYm90dG9tIGxpIGEgaSxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICNhMTI0NzE7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICNhMTI0NzE7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLm1lbnUuYWxpZ24tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi10b3AgbGkgYSBpbWcsXG4gIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tdG9wIGxpIGEgaSxcbiAgLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAubWVudS5hbGlnbi1yaWdodC5pY29uLWJvdHRvbSBsaSBhIGksXG4gIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVudS5hbGlnbi1yaWdodCAubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudSAubWVudS10ZXh0IHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjZjhmOGY4LCAwIDE0cHggMCAjZjhmOGY4O1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2NhY2FjYSwgMCAxNHB4IDAgI2NhY2FjYTsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMTYxNjE2O1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzE2MTYxNiwgMCAxNHB4IDAgIzE2MTYxNjtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOGE4YThhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzhhOGE4YSwgMCAxNHB4IDAgIzhhOGE4YTsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtY2xvc2luZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IGEge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5kcmlsbGRvd24gLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyaWxsZG93biAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICBtaW4taGVpZ2h0OiAxMDAlOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNhMTI0NzE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmRyaWxsZG93bi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjYTEyNDcxO1xuICByaWdodDogMXJlbTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJpbGxkb3duLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNhMTI0NzEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtOyB9XG5cbi5kcmlsbGRvd24gLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2ExMjQ3MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7IH1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5kcm9wZG93bi5tZW51IGEge1xuICBvdXRsaW5lOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjYTEyNDcxOyB9XG5cbi5uby1qcyAuZHJvcGRvd24ubWVudSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRyb3Bkb3duLm1lbnUgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwO1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC02cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4OyB9XG4gIC5kcm9wZG93biAuaXMtZHJvcGRvd24tc3VibWVudSBhIHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCB2aXNpYmlsaXR5IDAuNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyMiwgMjIsIDIyLCAwLjYpO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1jbG9zYWJsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm9mZi1jYW52YXMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTI7IH1cbiAgLm9mZi1jYW52YXMuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMzsgfVxuICAgIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDA7IH1cbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTI7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMzsgfVxuICAgIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDA7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLnBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAtMTNweCAwIDIwcHggLTEzcHggcmdiYSgyMiwgMjIsIDIyLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tcmlnaHQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHdpZHRoOiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMTNweCAwIDIwcHggLTEzcHggcmdiYSgyMiwgMjIsIDIyLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tdG9wIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3Age1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXRvcC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xM3B4IDIwcHggLTEzcHggcmdiYSgyMiwgMjIsIDIyLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1ib3R0b20uaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMTNweCAyMHB4IC0xM3B4IHJnYmEoMjIsIDIyLCAyMiwgMC4yNSk7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXRyYW5zaXRpb24tb3ZlcmxhcCwgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy15OiBoaWRkZW47IH1cbiAgaHRtbC5pcy1yZXZlYWwtb3Blbi56Zi1oYXMtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIsIDIyLCAyMiwgMC40NSk7XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cblxuLnJldmVhbCB7XG4gIHotaW5kZXg6IDEwMDY7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5yZXZlYWwge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuICAucmV2ZWFsIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICAucmV2ZWFsLmNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC50aW55IHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLmxhcmdlIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgLnJldmVhbC5mdWxsIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAucmV2ZWFsLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnN0aWNreS5pcy1zdHVjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICAgIHRvcDogMDsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiBhdXRvOyB9XG4gIC5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuLnRvcC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAudG9wLWJhcixcbiAgLnRvcC1iYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLnRvcC1iYXIgaW5wdXQge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC50b3AtYmFyIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC50b3AtYmFyIGlucHV0LmJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50b3AtYmFyIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAudG9wLWJhciAudG9wLWJhci1sZWZ0IHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2Uge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuLnRvcC1iYXItdGl0bGUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDsgfVxuXG4udG9wLWJhci1sZWZ0LFxuLnRvcC1iYXItcmlnaHQge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7IH1cblxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5hbGlnbi1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tbGVmdC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuLmZsZXgtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxleC1jaGlsZC1hdXRvIHtcbiAgZmxleDogMSAxIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtZ3JvdyB7XG4gIGZsZXg6IDEgMCBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLXNocmluayB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG5cbi5mbGV4LWRpci1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi5mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4uZmxleC1kaXItY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zbG93IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi5zaGFrZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZS03OyB9XG5cbkBrZXlmcmFtZXMgc2hha2UtNyB7XG4gIDAlLCAxMCUsIDIwJSwgMzAlLCA0MCUsIDUwJSwgNjAlLCA3MCUsIDgwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNyUpOyB9XG4gIDUlLCAxNSUsIDI1JSwgMzUlLCA0NSUsIDU1JSwgNjUlLCA3NSUsIDg1JSwgOTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTclKTsgfSB9XG5cbi5zcGluLWN3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xdHVybik7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc3Bpbi1jY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWNjdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9IH1cblxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB3aWdnbGUtN2RlZzsgfVxuXG5Aa2V5ZnJhbWVzIHdpZ2dsZS03ZGVnIHtcbiAgNDAlLCA1MCUsIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoN2RlZyk7IH1cbiAgMzUlLCA0NSUsIDU1JSwgNjUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtN2RlZyk7IH1cbiAgMCUsIDMwJSwgNzAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zaGFrZSxcbi5zcGluLWN3LFxuLnNwaW4tY2N3LFxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7IH1cblxuLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLnNsb3cge1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICBhbmltYXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuI3N5c3RlbS1tZXNzYWdlLWNvbnRhaW5lciAudmlzdWFsbHktaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jc3lzdGVtLW1lc3NhZ2UtY29udGFpbmVyIGpvb21sYS1hbGVydCB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBwYWRkaW5nOiAxcmVtIDEuMjVyZW07XG4gIG1hcmdpbi10b3A6IC0xLjFyZW07IH1cblxuLmJ1dHRvbiB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuYnV0dG9uLnNtYWxsIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBwYWRkaW5nOiAxLjFyZW0gMXJlbTsgfVxuICAuYnV0dG9uLmh1Z2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDMuNDM3NXJlbTsgfVxuXG5wIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbnAgYSxcbi5jb21wb25lbnQgbGkgYTpub3QoLmFjY29yZGlvbi10aXRsZSk6bm90KC5idXR0b24pIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuYmxvY2txdW90ZSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxLjFyZW07IH1cblxuLmNhbGxvdXQtLXBhZGRpbmcge1xuICBwYWRkaW5nOiAxLjU2MjVyZW07IH1cblxuLmFjY29yZGlvbi10aXRsZTpiZWZvcmUsXG4uYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgUHJvXCI7XG4gIGZvbnQtc2l6ZTogMS45cmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBtYXJnaW4tdG9wOiAtMC45cmVtOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCxcbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZSB7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICBib3JkZXItcmlnaHQ6IDA7IH1cblxuLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGUge1xuICBib3JkZXItYm90dG9tOiAwOyB9XG5cbi5hY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIGJvcmRlci1yaWdodDogMDsgfVxuXG4uZG9jbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMy4zcmVtO1xuICBsaW5lLWhlaWdodDogMS4xOyB9XG4gIC5kb2NsaW5rIC5rLWljb24tZG9jdW1lbnQtcGRmIHtcbiAgICBjb2xvcjogIzFjNDc2MDtcbiAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNnJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDJweDsgfVxuICAuZG9jbGluayBzcGFuOmxhc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAjMTYxNjE2O1xuICAgIG1hcmdpbi10b3A6IDAuM3JlbTsgfVxuXG4ubm8tc2xpZGUgLmdsb2JhbC1tZXNzYWdlIHtcbiAgbWFyZ2luLXRvcDogLTE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLnN0cmlwZWQsXG4uc3RyaXBlZC1tZWRpdW0ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGVzL2hveS9pbWFnZXMvc3RyaXBlcy5zdmdcIik7IH1cblxuLnN0cmlwZWQge1xuICBiYWNrZ3JvdW5kLXNpemU6IDEyNXB4OyB9XG5cbi5zdHJpcGVkLW1lZGl1bSB7XG4gIGJhY2tncm91bmQtc2l6ZTogNDRweDsgfVxuXG4uc3RyaXBlZC1yZXZlcnNlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlcy9ob3kvaW1hZ2VzL3N0cmlwZXMtcmV2ZXJzZWQuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDQ0cHg7IH1cblxuLnN0cmlwZWQtdGhpbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZXMvaG95L2ltYWdlcy9zdHJpcGVzLXRoaW4uc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDE4cHg7IH1cblxuLnNlY3Rpb24tc2hhZG93IHtcbiAgYm94LXNoYWRvdzogMHB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLnNlY3Rpb24tc2hhZG93LXNvZnQge1xuICBib3gtc2hhZG93OiAwcHggMnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpOyB9XG5cbi5hbHQtaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODsgfVxuICAuYWx0LWhlYWRlci5uby1zbGlkZSBoZWFkZXIuc3RpY2t5LWNvbnRhaW5lciAuaXMtYW5jaG9yZWQgLmhlYWRlcl9fZmFkZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAuYWx0LWhlYWRlciAubW9kLWJyZWFkY3J1bWJzIGEsXG4gIC5hbHQtaGVhZGVyIC5tb2QtYnJlYWRjcnVtYnMgaSxcbiAgLmFsdC1oZWFkZXIgLm1vZC1icmVhZGNydW1icyBzcGFuLFxuICAuYWx0LWhlYWRlciAubW9kLWJyZWFkY3J1bWJzIC5tb2QtYnJlYWRjcnVtYnNfX2l0ZW06bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5hbHQtaGVhZGVyIC5jb21wb25lbnQgLnBhZ2UtaGVhZGVyIGgxIHtcbiAgICBjb2xvcjogI2Y4ZjhmODtcbiAgICBmb250LXNpemU6IDIuMjVyZW07IH1cbiAgLmFsdC1oZWFkZXIgLnBhZ2UtaGVhZGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiA0NTBweDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgY2FsYygxMDAlIC0gN3Z3KSwgMCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGVzL2hveS9pbWFnZXMvc3RyaXBlcy5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMjVweDsgfVxuXG4ubGFiZWwuY2FzdGxlZm9yZC1ibHVlIHtcbiAgY29sb3I6ICMxNjE2MTY7IH1cblxuLmJnLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTEyNDcxOyB9XG5cbi50ZXh0LXByaW1hcnkgaDEsIC50ZXh0LXByaW1hcnkgaDIsIC50ZXh0LXByaW1hcnkgaDMsIC50ZXh0LXByaW1hcnkgaDQsIC50ZXh0LXByaW1hcnkgaDUsIC50ZXh0LXByaW1hcnkgaDYsIC50ZXh0LXByaW1hcnkgcCB7XG4gIGNvbG9yOiAjYTEyNDcxOyB9XG5cbmgxLnByaW1hcnksIGgyLnByaW1hcnksIGgzLnByaW1hcnksIGg0LnByaW1hcnksIGg1LnByaW1hcnksIGg2LnByaW1hcnksIHAucHJpbWFyeSB7XG4gIGNvbG9yOiAjYTEyNDcxOyB9XG5cbi5hbHQtaGVhZGVyLXByaW1hcnkgLnBhZ2UtaGVhZGVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMTI0NzE7IH1cblxuLnByaW1hcnkge1xuICBjb2xvcjogI2ExMjQ3MTsgfVxuXG4uYmctc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjsgfVxuXG4udGV4dC1zZWNvbmRhcnkgaDEsIC50ZXh0LXNlY29uZGFyeSBoMiwgLnRleHQtc2Vjb25kYXJ5IGgzLCAudGV4dC1zZWNvbmRhcnkgaDQsIC50ZXh0LXNlY29uZGFyeSBoNSwgLnRleHQtc2Vjb25kYXJ5IGg2LCAudGV4dC1zZWNvbmRhcnkgcCB7XG4gIGNvbG9yOiAjNzY3Njc2OyB9XG5cbmgxLnNlY29uZGFyeSwgaDIuc2Vjb25kYXJ5LCBoMy5zZWNvbmRhcnksIGg0LnNlY29uZGFyeSwgaDUuc2Vjb25kYXJ5LCBoNi5zZWNvbmRhcnksIHAuc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICM3Njc2NzY7IH1cblxuLmFsdC1oZWFkZXItc2Vjb25kYXJ5IC5wYWdlLWhlYWRlcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2OyB9XG5cbi5zZWNvbmRhcnkge1xuICBjb2xvcjogIzc2NzY3NjsgfVxuXG4uYmctc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7IH1cblxuLnRleHQtc3VjY2VzcyBoMSwgLnRleHQtc3VjY2VzcyBoMiwgLnRleHQtc3VjY2VzcyBoMywgLnRleHQtc3VjY2VzcyBoNCwgLnRleHQtc3VjY2VzcyBoNSwgLnRleHQtc3VjY2VzcyBoNiwgLnRleHQtc3VjY2VzcyBwIHtcbiAgY29sb3I6ICMzYWRiNzY7IH1cblxuaDEuc3VjY2VzcywgaDIuc3VjY2VzcywgaDMuc3VjY2VzcywgaDQuc3VjY2VzcywgaDUuc3VjY2VzcywgaDYuc3VjY2VzcywgcC5zdWNjZXNzIHtcbiAgY29sb3I6ICMzYWRiNzY7IH1cblxuLmFsdC1oZWFkZXItc3VjY2VzcyAucGFnZS1oZWFkZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjsgfVxuXG4uc3VjY2VzcyB7XG4gIGNvbG9yOiAjM2FkYjc2OyB9XG5cbi5iZy13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDsgfVxuXG4udGV4dC13YXJuaW5nIGgxLCAudGV4dC13YXJuaW5nIGgyLCAudGV4dC13YXJuaW5nIGgzLCAudGV4dC13YXJuaW5nIGg0LCAudGV4dC13YXJuaW5nIGg1LCAudGV4dC13YXJuaW5nIGg2LCAudGV4dC13YXJuaW5nIHAge1xuICBjb2xvcjogI2ZmYWUwMDsgfVxuXG5oMS53YXJuaW5nLCBoMi53YXJuaW5nLCBoMy53YXJuaW5nLCBoNC53YXJuaW5nLCBoNS53YXJuaW5nLCBoNi53YXJuaW5nLCBwLndhcm5pbmcge1xuICBjb2xvcjogI2ZmYWUwMDsgfVxuXG4uYWx0LWhlYWRlci13YXJuaW5nIC5wYWdlLWhlYWRlcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwOyB9XG5cbi53YXJuaW5nIHtcbiAgY29sb3I6ICNmZmFlMDA7IH1cblxuLmJnLWFsZXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNzsgfVxuXG4udGV4dC1hbGVydCBoMSwgLnRleHQtYWxlcnQgaDIsIC50ZXh0LWFsZXJ0IGgzLCAudGV4dC1hbGVydCBoNCwgLnRleHQtYWxlcnQgaDUsIC50ZXh0LWFsZXJ0IGg2LCAudGV4dC1hbGVydCBwIHtcbiAgY29sb3I6ICNjYzRiMzc7IH1cblxuaDEuYWxlcnQsIGgyLmFsZXJ0LCBoMy5hbGVydCwgaDQuYWxlcnQsIGg1LmFsZXJ0LCBoNi5hbGVydCwgcC5hbGVydCB7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5hbHQtaGVhZGVyLWFsZXJ0IC5wYWdlLWhlYWRlcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3OyB9XG5cbi5hbGVydCB7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7IH1cblxuLnRleHQtd2hpdGUgaDEsIC50ZXh0LXdoaXRlIGgyLCAudGV4dC13aGl0ZSBoMywgLnRleHQtd2hpdGUgaDQsIC50ZXh0LXdoaXRlIGg1LCAudGV4dC13aGl0ZSBoNiwgLnRleHQtd2hpdGUgcCB7XG4gIGNvbG9yOiAjZjhmOGY4OyB9XG5cbmgxLndoaXRlLCBoMi53aGl0ZSwgaDMud2hpdGUsIGg0LndoaXRlLCBoNS53aGl0ZSwgaDYud2hpdGUsIHAud2hpdGUge1xuICBjb2xvcjogI2Y4ZjhmODsgfVxuXG4uYWx0LWhlYWRlci13aGl0ZSAucGFnZS1oZWFkZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODsgfVxuXG4ud2hpdGUge1xuICBjb2xvcjogI2Y4ZjhmODsgfVxuXG4uYmctYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNjE2OyB9XG5cbi50ZXh0LWJsYWNrIGgxLCAudGV4dC1ibGFjayBoMiwgLnRleHQtYmxhY2sgaDMsIC50ZXh0LWJsYWNrIGg0LCAudGV4dC1ibGFjayBoNSwgLnRleHQtYmxhY2sgaDYsIC50ZXh0LWJsYWNrIHAge1xuICBjb2xvcjogIzE2MTYxNjsgfVxuXG5oMS5ibGFjaywgaDIuYmxhY2ssIGgzLmJsYWNrLCBoNC5ibGFjaywgaDUuYmxhY2ssIGg2LmJsYWNrLCBwLmJsYWNrIHtcbiAgY29sb3I6ICMxNjE2MTY7IH1cblxuLmFsdC1oZWFkZXItYmxhY2sgLnBhZ2UtaGVhZGVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNjE2MTY7IH1cblxuLmJsYWNrIHtcbiAgY29sb3I6ICMxNjE2MTY7IH1cblxuLmJnLWNhc3RsZWZvcmQtYmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDgxRDY7IH1cblxuLnRleHQtY2FzdGxlZm9yZC1ibHVlIGgxLCAudGV4dC1jYXN0bGVmb3JkLWJsdWUgaDIsIC50ZXh0LWNhc3RsZWZvcmQtYmx1ZSBoMywgLnRleHQtY2FzdGxlZm9yZC1ibHVlIGg0LCAudGV4dC1jYXN0bGVmb3JkLWJsdWUgaDUsIC50ZXh0LWNhc3RsZWZvcmQtYmx1ZSBoNiwgLnRleHQtY2FzdGxlZm9yZC1ibHVlIHAge1xuICBjb2xvcjogIzAwODFENjsgfVxuXG5oMS5jYXN0bGVmb3JkLWJsdWUsIGgyLmNhc3RsZWZvcmQtYmx1ZSwgaDMuY2FzdGxlZm9yZC1ibHVlLCBoNC5jYXN0bGVmb3JkLWJsdWUsIGg1LmNhc3RsZWZvcmQtYmx1ZSwgaDYuY2FzdGxlZm9yZC1ibHVlLCBwLmNhc3RsZWZvcmQtYmx1ZSB7XG4gIGNvbG9yOiAjMDA4MUQ2OyB9XG5cbi5hbHQtaGVhZGVyLWNhc3RsZWZvcmQtYmx1ZSAucGFnZS1oZWFkZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwODFENjsgfVxuXG4uY2FzdGxlZm9yZC1ibHVlIHtcbiAgY29sb3I6ICMwMDgxRDY7IH1cblxuLmJnLWNhc3RsZWZvcmQtZGFyay1ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMTIyQjsgfVxuXG4udGV4dC1jYXN0bGVmb3JkLWRhcmstYmx1ZSBoMSwgLnRleHQtY2FzdGxlZm9yZC1kYXJrLWJsdWUgaDIsIC50ZXh0LWNhc3RsZWZvcmQtZGFyay1ibHVlIGgzLCAudGV4dC1jYXN0bGVmb3JkLWRhcmstYmx1ZSBoNCwgLnRleHQtY2FzdGxlZm9yZC1kYXJrLWJsdWUgaDUsIC50ZXh0LWNhc3RsZWZvcmQtZGFyay1ibHVlIGg2LCAudGV4dC1jYXN0bGVmb3JkLWRhcmstYmx1ZSBwIHtcbiAgY29sb3I6ICMwMDEyMkI7IH1cblxuaDEuY2FzdGxlZm9yZC1kYXJrLWJsdWUsIGgyLmNhc3RsZWZvcmQtZGFyay1ibHVlLCBoMy5jYXN0bGVmb3JkLWRhcmstYmx1ZSwgaDQuY2FzdGxlZm9yZC1kYXJrLWJsdWUsIGg1LmNhc3RsZWZvcmQtZGFyay1ibHVlLCBoNi5jYXN0bGVmb3JkLWRhcmstYmx1ZSwgcC5jYXN0bGVmb3JkLWRhcmstYmx1ZSB7XG4gIGNvbG9yOiAjMDAxMjJCOyB9XG5cbi5hbHQtaGVhZGVyLWNhc3RsZWZvcmQtZGFyay1ibHVlIC5wYWdlLWhlYWRlcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAxMjJCOyB9XG5cbi5jYXN0bGVmb3JkLWRhcmstYmx1ZSB7XG4gIGNvbG9yOiAjMDAxMjJCOyB9XG5cbi5iZy1zZWxieS1yZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0QxNjE5OyB9XG5cbi50ZXh0LXNlbGJ5LXJlZCBoMSwgLnRleHQtc2VsYnktcmVkIGgyLCAudGV4dC1zZWxieS1yZWQgaDMsIC50ZXh0LXNlbGJ5LXJlZCBoNCwgLnRleHQtc2VsYnktcmVkIGg1LCAudGV4dC1zZWxieS1yZWQgaDYsIC50ZXh0LXNlbGJ5LXJlZCBwIHtcbiAgY29sb3I6ICNDRDE2MTk7IH1cblxuaDEuc2VsYnktcmVkLCBoMi5zZWxieS1yZWQsIGgzLnNlbGJ5LXJlZCwgaDQuc2VsYnktcmVkLCBoNS5zZWxieS1yZWQsIGg2LnNlbGJ5LXJlZCwgcC5zZWxieS1yZWQge1xuICBjb2xvcjogI0NEMTYxOTsgfVxuXG4uYWx0LWhlYWRlci1zZWxieS1yZWQgLnBhZ2UtaGVhZGVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDRDE2MTk7IH1cblxuLnNlbGJ5LXJlZCB7XG4gIGNvbG9yOiAjQ0QxNjE5OyB9XG5cbi5iZy1zZWxieS1kYXJrLXJlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDAyMDA7IH1cblxuLnRleHQtc2VsYnktZGFyay1yZWQgaDEsIC50ZXh0LXNlbGJ5LWRhcmstcmVkIGgyLCAudGV4dC1zZWxieS1kYXJrLXJlZCBoMywgLnRleHQtc2VsYnktZGFyay1yZWQgaDQsIC50ZXh0LXNlbGJ5LWRhcmstcmVkIGg1LCAudGV4dC1zZWxieS1kYXJrLXJlZCBoNiwgLnRleHQtc2VsYnktZGFyay1yZWQgcCB7XG4gIGNvbG9yOiAjMzQwMjAwOyB9XG5cbmgxLnNlbGJ5LWRhcmstcmVkLCBoMi5zZWxieS1kYXJrLXJlZCwgaDMuc2VsYnktZGFyay1yZWQsIGg0LnNlbGJ5LWRhcmstcmVkLCBoNS5zZWxieS1kYXJrLXJlZCwgaDYuc2VsYnktZGFyay1yZWQsIHAuc2VsYnktZGFyay1yZWQge1xuICBjb2xvcjogIzM0MDIwMDsgfVxuXG4uYWx0LWhlYWRlci1zZWxieS1kYXJrLXJlZCAucGFnZS1oZWFkZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0MDIwMDsgfVxuXG4uc2VsYnktZGFyay1yZWQge1xuICBjb2xvcjogIzM0MDIwMDsgfVxuXG4uYmctd2FrZWZpZWxkLWdyZWVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM2QUU3MjsgfVxuXG4udGV4dC13YWtlZmllbGQtZ3JlZW4gaDEsIC50ZXh0LXdha2VmaWVsZC1ncmVlbiBoMiwgLnRleHQtd2FrZWZpZWxkLWdyZWVuIGgzLCAudGV4dC13YWtlZmllbGQtZ3JlZW4gaDQsIC50ZXh0LXdha2VmaWVsZC1ncmVlbiBoNSwgLnRleHQtd2FrZWZpZWxkLWdyZWVuIGg2LCAudGV4dC13YWtlZmllbGQtZ3JlZW4gcCB7XG4gIGNvbG9yOiAjMzZBRTcyOyB9XG5cbmgxLndha2VmaWVsZC1ncmVlbiwgaDIud2FrZWZpZWxkLWdyZWVuLCBoMy53YWtlZmllbGQtZ3JlZW4sIGg0Lndha2VmaWVsZC1ncmVlbiwgaDUud2FrZWZpZWxkLWdyZWVuLCBoNi53YWtlZmllbGQtZ3JlZW4sIHAud2FrZWZpZWxkLWdyZWVuIHtcbiAgY29sb3I6ICMzNkFFNzI7IH1cblxuLmFsdC1oZWFkZXItd2FrZWZpZWxkLWdyZWVuIC5wYWdlLWhlYWRlcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzZBRTcyOyB9XG5cbi53YWtlZmllbGQtZ3JlZW4ge1xuICBjb2xvcjogIzM2QUU3MjsgfVxuXG4uYmctd2FrZWZpZWxkLWRhcmstZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyQTE2OyB9XG5cbi50ZXh0LXdha2VmaWVsZC1kYXJrLWdyZWVuIGgxLCAudGV4dC13YWtlZmllbGQtZGFyay1ncmVlbiBoMiwgLnRleHQtd2FrZWZpZWxkLWRhcmstZ3JlZW4gaDMsIC50ZXh0LXdha2VmaWVsZC1kYXJrLWdyZWVuIGg0LCAudGV4dC13YWtlZmllbGQtZGFyay1ncmVlbiBoNSwgLnRleHQtd2FrZWZpZWxkLWRhcmstZ3JlZW4gaDYsIC50ZXh0LXdha2VmaWVsZC1kYXJrLWdyZWVuIHAge1xuICBjb2xvcjogIzAwMkExNjsgfVxuXG5oMS53YWtlZmllbGQtZGFyay1ncmVlbiwgaDIud2FrZWZpZWxkLWRhcmstZ3JlZW4sIGgzLndha2VmaWVsZC1kYXJrLWdyZWVuLCBoNC53YWtlZmllbGQtZGFyay1ncmVlbiwgaDUud2FrZWZpZWxkLWRhcmstZ3JlZW4sIGg2Lndha2VmaWVsZC1kYXJrLWdyZWVuLCBwLndha2VmaWVsZC1kYXJrLWdyZWVuIHtcbiAgY29sb3I6ICMwMDJBMTY7IH1cblxuLmFsdC1oZWFkZXItd2FrZWZpZWxkLWRhcmstZ3JlZW4gLnBhZ2UtaGVhZGVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDJBMTY7IH1cblxuLndha2VmaWVsZC1kYXJrLWdyZWVuIHtcbiAgY29sb3I6ICMwMDJBMTY7IH1cblxuLmJnLWhveS1ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFjNDc2MDsgfVxuXG4udGV4dC1ob3ktYmx1ZSBoMSwgLnRleHQtaG95LWJsdWUgaDIsIC50ZXh0LWhveS1ibHVlIGgzLCAudGV4dC1ob3ktYmx1ZSBoNCwgLnRleHQtaG95LWJsdWUgaDUsIC50ZXh0LWhveS1ibHVlIGg2LCAudGV4dC1ob3ktYmx1ZSBwIHtcbiAgY29sb3I6ICMxYzQ3NjA7IH1cblxuaDEuaG95LWJsdWUsIGgyLmhveS1ibHVlLCBoMy5ob3ktYmx1ZSwgaDQuaG95LWJsdWUsIGg1LmhveS1ibHVlLCBoNi5ob3ktYmx1ZSwgcC5ob3ktYmx1ZSB7XG4gIGNvbG9yOiAjMWM0NzYwOyB9XG5cbi5hbHQtaGVhZGVyLWhveS1ibHVlIC5wYWdlLWhlYWRlcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWM0NzYwOyB9XG5cbi5ob3ktYmx1ZSB7XG4gIGNvbG9yOiAjMWM0NzYwOyB9XG5cbi5iZy1ob3ktcGluayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMTI0NzE7IH1cblxuLnRleHQtaG95LXBpbmsgaDEsIC50ZXh0LWhveS1waW5rIGgyLCAudGV4dC1ob3ktcGluayBoMywgLnRleHQtaG95LXBpbmsgaDQsIC50ZXh0LWhveS1waW5rIGg1LCAudGV4dC1ob3ktcGluayBoNiwgLnRleHQtaG95LXBpbmsgcCB7XG4gIGNvbG9yOiAjYTEyNDcxOyB9XG5cbmgxLmhveS1waW5rLCBoMi5ob3ktcGluaywgaDMuaG95LXBpbmssIGg0LmhveS1waW5rLCBoNS5ob3ktcGluaywgaDYuaG95LXBpbmssIHAuaG95LXBpbmsge1xuICBjb2xvcjogI2ExMjQ3MTsgfVxuXG4uYWx0LWhlYWRlci1ob3ktcGluayAucGFnZS1oZWFkZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ExMjQ3MTsgfVxuXG4uaG95LXBpbmsge1xuICBjb2xvcjogI2ExMjQ3MTsgfVxuXG4uYmctaG95LXB1cnBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NzFkNDI7IH1cblxuLnRleHQtaG95LXB1cnBsZSBoMSwgLnRleHQtaG95LXB1cnBsZSBoMiwgLnRleHQtaG95LXB1cnBsZSBoMywgLnRleHQtaG95LXB1cnBsZSBoNCwgLnRleHQtaG95LXB1cnBsZSBoNSwgLnRleHQtaG95LXB1cnBsZSBoNiwgLnRleHQtaG95LXB1cnBsZSBwIHtcbiAgY29sb3I6ICM1NzFkNDI7IH1cblxuaDEuaG95LXB1cnBsZSwgaDIuaG95LXB1cnBsZSwgaDMuaG95LXB1cnBsZSwgaDQuaG95LXB1cnBsZSwgaDUuaG95LXB1cnBsZSwgaDYuaG95LXB1cnBsZSwgcC5ob3ktcHVycGxlIHtcbiAgY29sb3I6ICM1NzFkNDI7IH1cblxuLmFsdC1oZWFkZXItaG95LXB1cnBsZSAucGFnZS1oZWFkZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU3MWQ0MjsgfVxuXG4uaG95LXB1cnBsZSB7XG4gIGNvbG9yOiAjNTcxZDQyOyB9XG5cbi5iZy1ob3kteWVsbG93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkYjUyMTsgfVxuXG4udGV4dC1ob3kteWVsbG93IGgxLCAudGV4dC1ob3kteWVsbG93IGgyLCAudGV4dC1ob3kteWVsbG93IGgzLCAudGV4dC1ob3kteWVsbG93IGg0LCAudGV4dC1ob3kteWVsbG93IGg1LCAudGV4dC1ob3kteWVsbG93IGg2LCAudGV4dC1ob3kteWVsbG93IHAge1xuICBjb2xvcjogI2ZkYjUyMTsgfVxuXG5oMS5ob3kteWVsbG93LCBoMi5ob3kteWVsbG93LCBoMy5ob3kteWVsbG93LCBoNC5ob3kteWVsbG93LCBoNS5ob3kteWVsbG93LCBoNi5ob3kteWVsbG93LCBwLmhveS15ZWxsb3cge1xuICBjb2xvcjogI2ZkYjUyMTsgfVxuXG4uYWx0LWhlYWRlci1ob3kteWVsbG93IC5wYWdlLWhlYWRlcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRiNTIxOyB9XG5cbi5ob3kteWVsbG93IHtcbiAgY29sb3I6ICNmZGI1MjE7IH1cblxuLmJnLWhveS1ncmV5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZhNzg4MzsgfVxuXG4udGV4dC1ob3ktZ3JleSBoMSwgLnRleHQtaG95LWdyZXkgaDIsIC50ZXh0LWhveS1ncmV5IGgzLCAudGV4dC1ob3ktZ3JleSBoNCwgLnRleHQtaG95LWdyZXkgaDUsIC50ZXh0LWhveS1ncmV5IGg2LCAudGV4dC1ob3ktZ3JleSBwIHtcbiAgY29sb3I6ICM2YTc4ODM7IH1cblxuaDEuaG95LWdyZXksIGgyLmhveS1ncmV5LCBoMy5ob3ktZ3JleSwgaDQuaG95LWdyZXksIGg1LmhveS1ncmV5LCBoNi5ob3ktZ3JleSwgcC5ob3ktZ3JleSB7XG4gIGNvbG9yOiAjNmE3ODgzOyB9XG5cbi5hbHQtaGVhZGVyLWhveS1ncmV5IC5wYWdlLWhlYWRlcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmE3ODgzOyB9XG5cbi5ob3ktZ3JleSB7XG4gIGNvbG9yOiAjNmE3ODgzOyB9XG5cbi5iZy1ob3ktYnJvd24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODI3NjRjOyB9XG5cbi50ZXh0LWhveS1icm93biBoMSwgLnRleHQtaG95LWJyb3duIGgyLCAudGV4dC1ob3ktYnJvd24gaDMsIC50ZXh0LWhveS1icm93biBoNCwgLnRleHQtaG95LWJyb3duIGg1LCAudGV4dC1ob3ktYnJvd24gaDYsIC50ZXh0LWhveS1icm93biBwIHtcbiAgY29sb3I6ICM4Mjc2NGM7IH1cblxuaDEuaG95LWJyb3duLCBoMi5ob3ktYnJvd24sIGgzLmhveS1icm93biwgaDQuaG95LWJyb3duLCBoNS5ob3ktYnJvd24sIGg2LmhveS1icm93biwgcC5ob3ktYnJvd24ge1xuICBjb2xvcjogIzgyNzY0YzsgfVxuXG4uYWx0LWhlYWRlci1ob3ktYnJvd24gLnBhZ2UtaGVhZGVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4Mjc2NGM7IH1cblxuLmhveS1icm93biB7XG4gIGNvbG9yOiAjODI3NjRjOyB9XG5cbi5iZy1hZHVsdC1wdXJwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2YxZTQ5OyB9XG5cbi50ZXh0LWFkdWx0LXB1cnBsZSBoMSwgLnRleHQtYWR1bHQtcHVycGxlIGgyLCAudGV4dC1hZHVsdC1wdXJwbGUgaDMsIC50ZXh0LWFkdWx0LXB1cnBsZSBoNCwgLnRleHQtYWR1bHQtcHVycGxlIGg1LCAudGV4dC1hZHVsdC1wdXJwbGUgaDYsIC50ZXh0LWFkdWx0LXB1cnBsZSBwIHtcbiAgY29sb3I6ICM3ZjFlNDk7IH1cblxuaDEuYWR1bHQtcHVycGxlLCBoMi5hZHVsdC1wdXJwbGUsIGgzLmFkdWx0LXB1cnBsZSwgaDQuYWR1bHQtcHVycGxlLCBoNS5hZHVsdC1wdXJwbGUsIGg2LmFkdWx0LXB1cnBsZSwgcC5hZHVsdC1wdXJwbGUge1xuICBjb2xvcjogIzdmMWU0OTsgfVxuXG4uYWx0LWhlYWRlci1hZHVsdC1wdXJwbGUgLnBhZ2UtaGVhZGVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ZjFlNDk7IH1cblxuLmFkdWx0LXB1cnBsZSB7XG4gIGNvbG9yOiAjN2YxZTQ5OyB9XG5cbi5iZy1hZHVsdC1kYXJrLXB1cnBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNTBhMzY7IH1cblxuLnRleHQtYWR1bHQtZGFyay1wdXJwbGUgaDEsIC50ZXh0LWFkdWx0LWRhcmstcHVycGxlIGgyLCAudGV4dC1hZHVsdC1kYXJrLXB1cnBsZSBoMywgLnRleHQtYWR1bHQtZGFyay1wdXJwbGUgaDQsIC50ZXh0LWFkdWx0LWRhcmstcHVycGxlIGg1LCAudGV4dC1hZHVsdC1kYXJrLXB1cnBsZSBoNiwgLnRleHQtYWR1bHQtZGFyay1wdXJwbGUgcCB7XG4gIGNvbG9yOiAjMjUwYTM2OyB9XG5cbmgxLmFkdWx0LWRhcmstcHVycGxlLCBoMi5hZHVsdC1kYXJrLXB1cnBsZSwgaDMuYWR1bHQtZGFyay1wdXJwbGUsIGg0LmFkdWx0LWRhcmstcHVycGxlLCBoNS5hZHVsdC1kYXJrLXB1cnBsZSwgaDYuYWR1bHQtZGFyay1wdXJwbGUsIHAuYWR1bHQtZGFyay1wdXJwbGUge1xuICBjb2xvcjogIzI1MGEzNjsgfVxuXG4uYWx0LWhlYWRlci1hZHVsdC1kYXJrLXB1cnBsZSAucGFnZS1oZWFkZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1MGEzNjsgfVxuXG4uYWR1bHQtZGFyay1wdXJwbGUge1xuICBjb2xvcjogIzI1MGEzNjsgfVxuXG4uYmctYWR1bHQtYmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzZjhkYWM7IH1cblxuLnRleHQtYWR1bHQtYmx1ZSBoMSwgLnRleHQtYWR1bHQtYmx1ZSBoMiwgLnRleHQtYWR1bHQtYmx1ZSBoMywgLnRleHQtYWR1bHQtYmx1ZSBoNCwgLnRleHQtYWR1bHQtYmx1ZSBoNSwgLnRleHQtYWR1bHQtYmx1ZSBoNiwgLnRleHQtYWR1bHQtYmx1ZSBwIHtcbiAgY29sb3I6ICMzZjhkYWM7IH1cblxuaDEuYWR1bHQtYmx1ZSwgaDIuYWR1bHQtYmx1ZSwgaDMuYWR1bHQtYmx1ZSwgaDQuYWR1bHQtYmx1ZSwgaDUuYWR1bHQtYmx1ZSwgaDYuYWR1bHQtYmx1ZSwgcC5hZHVsdC1ibHVlIHtcbiAgY29sb3I6ICMzZjhkYWM7IH1cblxuLmFsdC1oZWFkZXItYWR1bHQtYmx1ZSAucGFnZS1oZWFkZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNmOGRhYzsgfVxuXG4uYWR1bHQtYmx1ZSB7XG4gIGNvbG9yOiAjM2Y4ZGFjOyB9XG5cbi5iZy1hcHByZW50aWNlc2hpcHMtb3JhbmdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3OTQxZDsgfVxuXG4udGV4dC1hcHByZW50aWNlc2hpcHMtb3JhbmdlIGgxLCAudGV4dC1hcHByZW50aWNlc2hpcHMtb3JhbmdlIGgyLCAudGV4dC1hcHByZW50aWNlc2hpcHMtb3JhbmdlIGgzLCAudGV4dC1hcHByZW50aWNlc2hpcHMtb3JhbmdlIGg0LCAudGV4dC1hcHByZW50aWNlc2hpcHMtb3JhbmdlIGg1LCAudGV4dC1hcHByZW50aWNlc2hpcHMtb3JhbmdlIGg2LCAudGV4dC1hcHByZW50aWNlc2hpcHMtb3JhbmdlIHAge1xuICBjb2xvcjogI2Y3OTQxZDsgfVxuXG5oMS5hcHByZW50aWNlc2hpcHMtb3JhbmdlLCBoMi5hcHByZW50aWNlc2hpcHMtb3JhbmdlLCBoMy5hcHByZW50aWNlc2hpcHMtb3JhbmdlLCBoNC5hcHByZW50aWNlc2hpcHMtb3JhbmdlLCBoNS5hcHByZW50aWNlc2hpcHMtb3JhbmdlLCBoNi5hcHByZW50aWNlc2hpcHMtb3JhbmdlLCBwLmFwcHJlbnRpY2VzaGlwcy1vcmFuZ2Uge1xuICBjb2xvcjogI2Y3OTQxZDsgfVxuXG4uYWx0LWhlYWRlci1hcHByZW50aWNlc2hpcHMtb3JhbmdlIC5wYWdlLWhlYWRlcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjc5NDFkOyB9XG5cbi5hcHByZW50aWNlc2hpcHMtb3JhbmdlIHtcbiAgY29sb3I6ICNmNzk0MWQ7IH1cblxuLmJnLWVtcGxveWVycy1kYXJrLWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0NTRiOyB9XG5cbi50ZXh0LWVtcGxveWVycy1kYXJrLWJsdWUgaDEsIC50ZXh0LWVtcGxveWVycy1kYXJrLWJsdWUgaDIsIC50ZXh0LWVtcGxveWVycy1kYXJrLWJsdWUgaDMsIC50ZXh0LWVtcGxveWVycy1kYXJrLWJsdWUgaDQsIC50ZXh0LWVtcGxveWVycy1kYXJrLWJsdWUgaDUsIC50ZXh0LWVtcGxveWVycy1kYXJrLWJsdWUgaDYsIC50ZXh0LWVtcGxveWVycy1kYXJrLWJsdWUgcCB7XG4gIGNvbG9yOiAjMDA0NTRiOyB9XG5cbmgxLmVtcGxveWVycy1kYXJrLWJsdWUsIGgyLmVtcGxveWVycy1kYXJrLWJsdWUsIGgzLmVtcGxveWVycy1kYXJrLWJsdWUsIGg0LmVtcGxveWVycy1kYXJrLWJsdWUsIGg1LmVtcGxveWVycy1kYXJrLWJsdWUsIGg2LmVtcGxveWVycy1kYXJrLWJsdWUsIHAuZW1wbG95ZXJzLWRhcmstYmx1ZSB7XG4gIGNvbG9yOiAjMDA0NTRiOyB9XG5cbi5hbHQtaGVhZGVyLWVtcGxveWVycy1kYXJrLWJsdWUgLnBhZ2UtaGVhZGVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDQ1NGI7IH1cblxuLmVtcGxveWVycy1kYXJrLWJsdWUge1xuICBjb2xvcjogIzAwNDU0YjsgfVxuXG4uYmctZW1wbG95ZXJzLWxpZ2h0LWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjU5ODlmOyB9XG5cbi50ZXh0LWVtcGxveWVycy1saWdodC1ibHVlIGgxLCAudGV4dC1lbXBsb3llcnMtbGlnaHQtYmx1ZSBoMiwgLnRleHQtZW1wbG95ZXJzLWxpZ2h0LWJsdWUgaDMsIC50ZXh0LWVtcGxveWVycy1saWdodC1ibHVlIGg0LCAudGV4dC1lbXBsb3llcnMtbGlnaHQtYmx1ZSBoNSwgLnRleHQtZW1wbG95ZXJzLWxpZ2h0LWJsdWUgaDYsIC50ZXh0LWVtcGxveWVycy1saWdodC1ibHVlIHAge1xuICBjb2xvcjogIzY1OTg5ZjsgfVxuXG5oMS5lbXBsb3llcnMtbGlnaHQtYmx1ZSwgaDIuZW1wbG95ZXJzLWxpZ2h0LWJsdWUsIGgzLmVtcGxveWVycy1saWdodC1ibHVlLCBoNC5lbXBsb3llcnMtbGlnaHQtYmx1ZSwgaDUuZW1wbG95ZXJzLWxpZ2h0LWJsdWUsIGg2LmVtcGxveWVycy1saWdodC1ibHVlLCBwLmVtcGxveWVycy1saWdodC1ibHVlIHtcbiAgY29sb3I6ICM2NTk4OWY7IH1cblxuLmFsdC1oZWFkZXItZW1wbG95ZXJzLWxpZ2h0LWJsdWUgLnBhZ2UtaGVhZGVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NTk4OWY7IH1cblxuLmVtcGxveWVycy1saWdodC1ibHVlIHtcbiAgY29sb3I6ICM2NTk4OWY7IH1cblxuLmJnLW9mZldoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YwRjBGMDsgfVxuXG4udGV4dC1vZmZXaGl0ZSBoMSwgLnRleHQtb2ZmV2hpdGUgaDIsIC50ZXh0LW9mZldoaXRlIGgzLCAudGV4dC1vZmZXaGl0ZSBoNCwgLnRleHQtb2ZmV2hpdGUgaDUsIC50ZXh0LW9mZldoaXRlIGg2LCAudGV4dC1vZmZXaGl0ZSBwIHtcbiAgY29sb3I6ICNGMEYwRjA7IH1cblxuaDEub2ZmV2hpdGUsIGgyLm9mZldoaXRlLCBoMy5vZmZXaGl0ZSwgaDQub2ZmV2hpdGUsIGg1Lm9mZldoaXRlLCBoNi5vZmZXaGl0ZSwgcC5vZmZXaGl0ZSB7XG4gIGNvbG9yOiAjRjBGMEYwOyB9XG5cbi5hbHQtaGVhZGVyLW9mZldoaXRlIC5wYWdlLWhlYWRlcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjBGMEYwOyB9XG5cbi5vZmZXaGl0ZSB7XG4gIGNvbG9yOiAjRjBGMEYwOyB9XG5cbi5iZy1kYXJrLWdyZXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyB9XG5cbi50ZXh0LWRhcmstZ3JleSBoMSwgLnRleHQtZGFyay1ncmV5IGgyLCAudGV4dC1kYXJrLWdyZXkgaDMsIC50ZXh0LWRhcmstZ3JleSBoNCwgLnRleHQtZGFyay1ncmV5IGg1LCAudGV4dC1kYXJrLWdyZXkgaDYsIC50ZXh0LWRhcmstZ3JleSBwIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuaDEuZGFyay1ncmV5LCBoMi5kYXJrLWdyZXksIGgzLmRhcmstZ3JleSwgaDQuZGFyay1ncmV5LCBoNS5kYXJrLWdyZXksIGg2LmRhcmstZ3JleSwgcC5kYXJrLWdyZXkge1xuICBjb2xvcjogIzMzMzsgfVxuXG4uYWx0LWhlYWRlci1kYXJrLWdyZXkgLnBhZ2UtaGVhZGVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzM7IH1cblxuLmRhcmstZ3JleSB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi5iZy1kYXJrLWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGUyMzMwOyB9XG5cbi50ZXh0LWRhcmstYmx1ZSBoMSwgLnRleHQtZGFyay1ibHVlIGgyLCAudGV4dC1kYXJrLWJsdWUgaDMsIC50ZXh0LWRhcmstYmx1ZSBoNCwgLnRleHQtZGFyay1ibHVlIGg1LCAudGV4dC1kYXJrLWJsdWUgaDYsIC50ZXh0LWRhcmstYmx1ZSBwIHtcbiAgY29sb3I6ICMwZTIzMzA7IH1cblxuaDEuZGFyay1ibHVlLCBoMi5kYXJrLWJsdWUsIGgzLmRhcmstYmx1ZSwgaDQuZGFyay1ibHVlLCBoNS5kYXJrLWJsdWUsIGg2LmRhcmstYmx1ZSwgcC5kYXJrLWJsdWUge1xuICBjb2xvcjogIzBlMjMzMDsgfVxuXG4uYWx0LWhlYWRlci1kYXJrLWJsdWUgLnBhZ2UtaGVhZGVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZTIzMzA7IH1cblxuLmRhcmstYmx1ZSB7XG4gIGNvbG9yOiAjMGUyMzMwOyB9XG5cbi5iZy1lbGVtZW50cy1vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjE1YTNiOyB9XG5cbi50ZXh0LWVsZW1lbnRzLW9yYW5nZSBoMSwgLnRleHQtZWxlbWVudHMtb3JhbmdlIGgyLCAudGV4dC1lbGVtZW50cy1vcmFuZ2UgaDMsIC50ZXh0LWVsZW1lbnRzLW9yYW5nZSBoNCwgLnRleHQtZWxlbWVudHMtb3JhbmdlIGg1LCAudGV4dC1lbGVtZW50cy1vcmFuZ2UgaDYsIC50ZXh0LWVsZW1lbnRzLW9yYW5nZSBwIHtcbiAgY29sb3I6ICNmMTVhM2I7IH1cblxuaDEuZWxlbWVudHMtb3JhbmdlLCBoMi5lbGVtZW50cy1vcmFuZ2UsIGgzLmVsZW1lbnRzLW9yYW5nZSwgaDQuZWxlbWVudHMtb3JhbmdlLCBoNS5lbGVtZW50cy1vcmFuZ2UsIGg2LmVsZW1lbnRzLW9yYW5nZSwgcC5lbGVtZW50cy1vcmFuZ2Uge1xuICBjb2xvcjogI2YxNWEzYjsgfVxuXG4uYWx0LWhlYWRlci1lbGVtZW50cy1vcmFuZ2UgLnBhZ2UtaGVhZGVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMTVhM2I7IH1cblxuLmVsZW1lbnRzLW9yYW5nZSB7XG4gIGNvbG9yOiAjZjE1YTNiOyB9XG5cbi5iZy1lbGVtZW50cy1ncmVlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0YThiNzQ7IH1cblxuLnRleHQtZWxlbWVudHMtZ3JlZW4gaDEsIC50ZXh0LWVsZW1lbnRzLWdyZWVuIGgyLCAudGV4dC1lbGVtZW50cy1ncmVlbiBoMywgLnRleHQtZWxlbWVudHMtZ3JlZW4gaDQsIC50ZXh0LWVsZW1lbnRzLWdyZWVuIGg1LCAudGV4dC1lbGVtZW50cy1ncmVlbiBoNiwgLnRleHQtZWxlbWVudHMtZ3JlZW4gcCB7XG4gIGNvbG9yOiAjNGE4Yjc0OyB9XG5cbmgxLmVsZW1lbnRzLWdyZWVuLCBoMi5lbGVtZW50cy1ncmVlbiwgaDMuZWxlbWVudHMtZ3JlZW4sIGg0LmVsZW1lbnRzLWdyZWVuLCBoNS5lbGVtZW50cy1ncmVlbiwgaDYuZWxlbWVudHMtZ3JlZW4sIHAuZWxlbWVudHMtZ3JlZW4ge1xuICBjb2xvcjogIzRhOGI3NDsgfVxuXG4uYWx0LWhlYWRlci1lbGVtZW50cy1ncmVlbiAucGFnZS1oZWFkZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRhOGI3NDsgfVxuXG4uZWxlbWVudHMtZ3JlZW4ge1xuICBjb2xvcjogIzRhOGI3NDsgfVxuXG4uYmctYXNwaXJlLWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2IyZjU5OyB9XG5cbi50ZXh0LWFzcGlyZS1ibHVlIGgxLCAudGV4dC1hc3BpcmUtYmx1ZSBoMiwgLnRleHQtYXNwaXJlLWJsdWUgaDMsIC50ZXh0LWFzcGlyZS1ibHVlIGg0LCAudGV4dC1hc3BpcmUtYmx1ZSBoNSwgLnRleHQtYXNwaXJlLWJsdWUgaDYsIC50ZXh0LWFzcGlyZS1ibHVlIHAge1xuICBjb2xvcjogIzNiMmY1OTsgfVxuXG5oMS5hc3BpcmUtYmx1ZSwgaDIuYXNwaXJlLWJsdWUsIGgzLmFzcGlyZS1ibHVlLCBoNC5hc3BpcmUtYmx1ZSwgaDUuYXNwaXJlLWJsdWUsIGg2LmFzcGlyZS1ibHVlLCBwLmFzcGlyZS1ibHVlIHtcbiAgY29sb3I6ICMzYjJmNTk7IH1cblxuLmFsdC1oZWFkZXItYXNwaXJlLWJsdWUgLnBhZ2UtaGVhZGVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYjJmNTk7IH1cblxuLmFzcGlyZS1ibHVlIHtcbiAgY29sb3I6ICMzYjJmNTk7IH1cblxuLmJnLWFzcGlyZS1wdXJwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWMxYjQ2OyB9XG5cbi50ZXh0LWFzcGlyZS1wdXJwbGUgaDEsIC50ZXh0LWFzcGlyZS1wdXJwbGUgaDIsIC50ZXh0LWFzcGlyZS1wdXJwbGUgaDMsIC50ZXh0LWFzcGlyZS1wdXJwbGUgaDQsIC50ZXh0LWFzcGlyZS1wdXJwbGUgaDUsIC50ZXh0LWFzcGlyZS1wdXJwbGUgaDYsIC50ZXh0LWFzcGlyZS1wdXJwbGUgcCB7XG4gIGNvbG9yOiAjNWMxYjQ2OyB9XG5cbmgxLmFzcGlyZS1wdXJwbGUsIGgyLmFzcGlyZS1wdXJwbGUsIGgzLmFzcGlyZS1wdXJwbGUsIGg0LmFzcGlyZS1wdXJwbGUsIGg1LmFzcGlyZS1wdXJwbGUsIGg2LmFzcGlyZS1wdXJwbGUsIHAuYXNwaXJlLXB1cnBsZSB7XG4gIGNvbG9yOiAjNWMxYjQ2OyB9XG5cbi5hbHQtaGVhZGVyLWFzcGlyZS1wdXJwbGUgLnBhZ2UtaGVhZGVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1YzFiNDY7IH1cblxuLmFzcGlyZS1wdXJwbGUge1xuICBjb2xvcjogIzVjMWI0NjsgfVxuXG4uYmctZWxlbWVudHMtYXNwaXJlLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNkMDsgfVxuXG4udGV4dC1lbGVtZW50cy1hc3BpcmUtd2hpdGUgaDEsIC50ZXh0LWVsZW1lbnRzLWFzcGlyZS13aGl0ZSBoMiwgLnRleHQtZWxlbWVudHMtYXNwaXJlLXdoaXRlIGgzLCAudGV4dC1lbGVtZW50cy1hc3BpcmUtd2hpdGUgaDQsIC50ZXh0LWVsZW1lbnRzLWFzcGlyZS13aGl0ZSBoNSwgLnRleHQtZWxlbWVudHMtYXNwaXJlLXdoaXRlIGg2LCAudGV4dC1lbGVtZW50cy1hc3BpcmUtd2hpdGUgcCB7XG4gIGNvbG9yOiAjZmZmM2QwOyB9XG5cbmgxLmVsZW1lbnRzLWFzcGlyZS13aGl0ZSwgaDIuZWxlbWVudHMtYXNwaXJlLXdoaXRlLCBoMy5lbGVtZW50cy1hc3BpcmUtd2hpdGUsIGg0LmVsZW1lbnRzLWFzcGlyZS13aGl0ZSwgaDUuZWxlbWVudHMtYXNwaXJlLXdoaXRlLCBoNi5lbGVtZW50cy1hc3BpcmUtd2hpdGUsIHAuZWxlbWVudHMtYXNwaXJlLXdoaXRlIHtcbiAgY29sb3I6ICNmZmYzZDA7IH1cblxuLmFsdC1oZWFkZXItZWxlbWVudHMtYXNwaXJlLXdoaXRlIC5wYWdlLWhlYWRlcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmM2QwOyB9XG5cbi5lbGVtZW50cy1hc3BpcmUtd2hpdGUge1xuICBjb2xvcjogI2ZmZjNkMDsgfVxuXG46cm9vdCB7XG4gIC0tcHJpbWFyeTogI2ExMjQ3MTtcbiAgLS1zZWNvbmRhcnk6ICM3Njc2NzY7XG4gIC0tc3VjY2VzczogIzNhZGI3NjtcbiAgLS13YXJuaW5nOiAjZmZhZTAwO1xuICAtLWFsZXJ0OiAjY2M0YjM3O1xuICAtLXdoaXRlOiAjZjhmOGY4O1xuICAtLWJsYWNrOiAjMTYxNjE2O1xuICAtLWNhc3RsZWZvcmQtYmx1ZTogIzAwODFENjtcbiAgLS1jYXN0bGVmb3JkLWRhcmstYmx1ZTogIzAwMTIyQjtcbiAgLS1zZWxieS1yZWQ6ICNDRDE2MTk7XG4gIC0tc2VsYnktZGFyay1yZWQ6ICMzNDAyMDA7XG4gIC0td2FrZWZpZWxkLWdyZWVuOiAjMzZBRTcyO1xuICAtLXdha2VmaWVsZC1kYXJrLWdyZWVuOiAjMDAyQTE2O1xuICAtLWhveS1ibHVlOiAjMWM0NzYwO1xuICAtLWhveS1waW5rOiAjYTEyNDcxO1xuICAtLWhveS1wdXJwbGU6ICM1NzFkNDI7XG4gIC0taG95LXllbGxvdzogI2ZkYjUyMTtcbiAgLS1ob3ktZ3JleTogIzZhNzg4MztcbiAgLS1ob3ktYnJvd246ICM4Mjc2NGM7XG4gIC0tYWR1bHQtcHVycGxlOiAjN2YxZTQ5O1xuICAtLWFkdWx0LWRhcmstcHVycGxlOiAjMjUwYTM2O1xuICAtLWFkdWx0LWJsdWU6ICMzZjhkYWM7XG4gIC0tYXBwcmVudGljZXNoaXBzLW9yYW5nZTogI2Y3OTQxZDtcbiAgLS1lbXBsb3llcnMtZGFyay1ibHVlOiAjMDA0NTRiO1xuICAtLWVtcGxveWVycy1saWdodC1ibHVlOiAjNjU5ODlmO1xuICAtLW9mZldoaXRlOiAjRjBGMEYwO1xuICAtLWRhcmstZ3JleTogIzMzMztcbiAgLS1kYXJrLWJsdWU6ICMwZTIzMzA7XG4gIC0tZWxlbWVudHMtb3JhbmdlOiAjZjE1YTNiO1xuICAtLWVsZW1lbnRzLWdyZWVuOiAjNGE4Yjc0O1xuICAtLWFzcGlyZS1ibHVlOiAjM2IyZjU5O1xuICAtLWFzcGlyZS1wdXJwbGU6ICM1YzFiNDY7XG4gIC0tZWxlbWVudHMtYXNwaXJlLXdoaXRlOiAjZmZmM2QwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5nbG9iYWwtbWVzc2FnZSB7XG4gICAgbWFyZ2luLXRvcDogMTA0cHg7IH1cbiAgLmFsdC1oZWFkZXIubm8tc2xpZGUgaGVhZGVyLnN0aWNreS1jb250YWluZXIgLmlzLWFuY2hvcmVkIGEge1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIC5hbHQtaGVhZGVyLm5vLXNsaWRlIGhlYWRlci5zdGlja3ktY29udGFpbmVyIC5pcy1hbmNob3JlZCAuc2l0ZV9sb2dvIHtcbiAgICBmaWxsOiAjZjhmOGY4OyB9IH1cblxuLnNsYW50ZWQge1xuICBjbGlwLXBhdGg6IHBvbHlnb24oMCA0JSwgMTAwJSAwJSwgMTAwJSA5NiUsIDAlIDEwMCUpO1xuICBwYWRkaW5nLXRvcDogNXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAtNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5ib3R0b20tc2xhbnRlZCB7XG4gIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCUsIDEwMCUgOTYlLCAwJSAxMDAlKTsgfVxuICAuYm90dG9tLXNsYW50ZWQgKyAqIHtcbiAgICBwYWRkaW5nLXRvcDogNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IC01cmVtICFpbXBvcnRhbnQ7IH1cblxuLnRvcC1zbGFudGVkIHtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgNCUsIDEwMCUgMCUsIDEwMCUgMTAwJSwgMCUgMTAwJSk7XG4gIG1hcmdpbi10b3A6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiA1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnRvcC1zbGFudGVkIC5tb2Rfcm90YXRvciB7XG4gICAgbWFyZ2luLXRvcDogLTVyZW07IH1cbiAgICAudG9wLXNsYW50ZWQgLm1vZF9yb3RhdG9yIC5yb3RhdG9yX19pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDQzLjc1cmVtOyB9XG4gICAgLnRvcC1zbGFudGVkIC5tb2Rfcm90YXRvciBoMiB7XG4gICAgICB0b3A6IDcuNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2xhbnRlZCB7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMTAlLCAxMDAlIDAlLCAxMDAlIDkwJSwgMCUgMTAwJSk7IH1cbiAgLmJvdHRvbS1zbGFudGVkIHtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAlLCAxMDAlIDkwJSwgMCUgMTAwJSk7IH1cbiAgLnRvcC1zbGFudGVkIHtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCA2JSwgMTAwJSAwJSwgMTAwJSAxMDAlLCAwJSAxMDAlKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50b3Atc2xhbnRlZCB7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMTAlLCAxMDAlIDAlLCAxMDAlIDEwMCUsIDAlIDEwMCUpOyB9IH1cblxuLm1vZC1icmVhZGNydW1icyBpIHtcbiAgY29sb3I6ICMxYzQ3NjA7IH1cblxuLm1vZC1icmVhZGNydW1icyBhLCAubW9kLWJyZWFkY3J1bWJzIHNwYW4ge1xuICBjb2xvcjogIzZCNkI2QjtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1vZC1icmVhZGNydW1icyBhOmhvdmVyLCAubW9kLWJyZWFkY3J1bWJzIHNwYW46aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5tb2QtYnJlYWRjcnVtYnMgc3Bhbjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ubW9kLWJyZWFkY3J1bWJzIC5tb2QtYnJlYWRjcnVtYnNfX2l0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm1vZC1icmVhZGNydW1icyAubW9kLWJyZWFkY3J1bWJzX19pdGVtLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDJyZW07IH1cblxuLm1vZC1icmVhZGNydW1icyAubW9kLWJyZWFkY3J1bWJzX19kaXZpZGVyICsgbGkuYnJlYWRjcnVtYi1pdGVtIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLm1vZC1icmVhZGNydW1icyAubW9kLWJyZWFkY3J1bWJzX19pdGVtOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZjEwNVwiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNiBQcm9cIjtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDFweDtcbiAgcmlnaHQ6IC0xOHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgY29sb3I6ICM2QjZCNkI7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQ2F1c3RlbiBSb3VuZCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvQ2F1c3RlblJvdW5kRXh0cmFMaWdodC53b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9DYXVzdGVuUm91bmRFeHRyYUxpZ2h0LndvZmYyXCIpO1xuICBmb250LXdlaWdodDogMjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQ2F1c3RlbiBSb3VuZCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvQ2F1c3RlblJvdW5kUmVndWxhci53b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9DYXVzdGVuUm91bmRSZWd1bGFyLndvZmYyXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQ2F1c3RlbiBSb3VuZCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvQ2F1c3RlblJvdW5kTWVkaXVtLndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0NhdXN0ZW5Sb3VuZE1lZGl1bS53b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0NhdXN0ZW4gUm91bmQnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0NhdXN0ZW5Sb3VuZEJvbGQud29mZlwiKSwgdXJsKFwiLi4vZm9udHMvQ2F1c3RlblJvdW5kQm9sZC53b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0NhdXN0ZW4gUm91bmQnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0NhdXN0ZW5Sb3VuZEV4dHJhQm9sZC53b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9DYXVzdGVuUm91bmRFeHRyYUJvbGQud29mZjJcIik7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdDdWFzdGVuIFJvdW5kJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9DYXVzdGVuUm91bmRCbGFjay53b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9DYXVzdGVuUm91bmRCbGFjay53b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbmhlYWRlci5zdGlja3ktY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7IH1cbiAgaGVhZGVyLnN0aWNreS1jb250YWluZXIgI3NjLWxvZ28ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDZyZW07IH1cbiAgaGVhZGVyLnN0aWNreS1jb250YWluZXIgI2NjLWxvZ28ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMuN3JlbTsgfVxuICBoZWFkZXIuc3RpY2t5LWNvbnRhaW5lciAjd2MtbG9nbyB7XG4gICAgcGFkZGluZy1yaWdodDogNC4xcmVtOyB9XG4gIGhlYWRlci5zdGlja3ktY29udGFpbmVyIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgaGVhZGVyLnN0aWNreS1jb250YWluZXIgLnNpdGVfbG9nbyB7XG4gICAgZmlsbDogIzE2MTYxNjtcbiAgICB0cmFuc2l0aW9uOiBmaWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgaGVhZGVyLnN0aWNreS1jb250YWluZXIgLmlzLXN0dWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4OyB9XG4gICAgaGVhZGVyLnN0aWNreS1jb250YWluZXIgLmlzLXN0dWNrIC5zaXRlX2xvZ28ge1xuICAgICAgZmlsbDogIzE2MTYxNjsgfVxuICAgIGhlYWRlci5zdGlja3ktY29udGFpbmVyIC5pcy1zdHVjayBhLFxuICAgIGhlYWRlci5zdGlja3ktY29udGFpbmVyIC5pcy1zdHVjayAuaGVhZGVyX19sb2dvLWJyYW5kIHNwYW4ge1xuICAgICAgY29sb3I6ICMxNjE2MTY7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuICAgIGhlYWRlci5zdGlja3ktY29udGFpbmVyIC5pcy1zdHVjayAuaGVhZGVyX190b3BsaW5rcyBhLFxuICAgIGhlYWRlci5zdGlja3ktY29udGFpbmVyIC5pcy1zdHVjayAuaGVhZGVyX190b3BsaW5rcyAuZHJvcGRvd24gbGkuaXMtYWN0aXZlID4gYSB7XG4gICAgICBjb2xvcjogIzcwNzA3MDsgfVxuICBoZWFkZXIuc3RpY2t5LWNvbnRhaW5lciAuc3RpY2t5IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dDsgfVxuICAgIGhlYWRlci5zdGlja3ktY29udGFpbmVyIC5zdGlja3k6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBoZWlnaHQ6IDVweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNlNDMzMTggMCUsICNlZTc2MGYgMTYlLCAjZmJkOTNhIDMzJSwgIzgyYmQ0NiA1MCUsICMzY2E1ZDEgNzAlLCAjNzUzMTg3IDg1JSwgI2RkNDc1YyAxMDAlKTsgfVxuICBoZWFkZXIuc3RpY2t5LWNvbnRhaW5lciB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDsgfVxuICBoZWFkZXIuc3RpY2t5LWNvbnRhaW5lciB1bCB1bCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBoZWFkZXIuc3RpY2t5LWNvbnRhaW5lciBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIGhlYWRlci5zdGlja3ktY29udGFpbmVyIGEge1xuICAgIGNvbG9yOiAjMTYxNjE2O1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgaGVhZGVyLnN0aWNreS1jb250YWluZXIgLmhlYWRlcl9fbG9nbyBzdmcge1xuICAgIG1heC13aWR0aDogMTQuNzVyZW07XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgaGVhZGVyLnN0aWNreS1jb250YWluZXIgLmhlYWRlcl9fbG9nbyBhIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBoZWFkZXIuc3RpY2t5LWNvbnRhaW5lciAuaGVhZGVyX19sb2dvLWJyYW5kIHNwYW4ge1xuICAgIGNvbG9yOiAjZjhmOGY4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjhyZW07IH1cbiAgaGVhZGVyLnN0aWNreS1jb250YWluZXIgLmhlYWRlcl9fbG9nby1icmFuZCBzdmcge1xuICAgIG1heC13aWR0aDogMTAuMzEyNXJlbTsgfVxuICBoZWFkZXIuc3RpY2t5LWNvbnRhaW5lciAuaGVhZGVyX19mYWRlID4gLmdyaWQtY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5oZWFkZXJfX3RvcGxpbmtzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMCAwIDAuNjI1cmVtO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAuaGVhZGVyX190b3BsaW5rcyBhIHtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIHRleHQtc2hhZG93OiAwcHggMnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAuaGVhZGVyX190b3BsaW5rcyB1bCB7XG4gICAganVzdGlmeS1jb250ZW50OiByaWdodDsgfVxuICAuaGVhZGVyX190b3BsaW5rcyAuZHJvcGRvd24ubWVudSBhIHtcbiAgICBwYWRkaW5nOiAwLjM3NXJlbSAwOyB9XG4gIC5oZWFkZXJfX3RvcGxpbmtzIC5kcm9wZG93biBsaS5pcy1hY3RpdmUgYSB7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLmhlYWRlcl9fdG9wbGlua3MgLmRyb3Bkb3duIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIC5oZWFkZXJfX3RvcGxpbmtzIC5kcm9wZG93biBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuaGVhZGVyX190b3BsaW5rcyAuZHJvcGRvd24ubWVudSBsaSA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiAxcmVtO1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAgIC5oZWFkZXJfX3RvcGxpbmtzIC5kcm9wZG93bi5tZW51IGxpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYSB7XG4gICAgICBwYWRkaW5nOiAwLjM3NXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb2xvcjogIzE2MTYxNjtcbiAgICAgIHRleHQtc2hhZG93OiBub25lOyB9XG4gIC5oZWFkZXJfX3RvcGxpbmtzIC5hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi5oZWFkZXJfX21haW5tZW51IHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAuaGVhZGVyX19tYWlubWVudSB1bCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmhlYWRlcl9fbWFpbm1lbnUgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5oZWFkZXJfX21haW5tZW51IGEge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgdGV4dC1zaGFkb3c6IDBweCAycHggMXB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtOyB9XG4gICAgLmhlYWRlcl9fbWFpbm1lbnUgYSBzcGFuOmJlZm9yZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAuaGVhZGVyX19tYWlubWVudSAuaGVhZGVyX19tYWlubWVudS1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5oZWFkZXJfX21haW5tZW51IC5oZWFkZXJfX21haW5tZW51LW1vYmlsZSBhIHtcbiAgICBmb250LXNpemU6IDA7IH1cbiAgICAuaGVhZGVyX19tYWlubWVudSAuaGVhZGVyX19tYWlubWVudS1tb2JpbGUgYSBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG5cbnVsLmRyb3Bkb3duLW1lbnUgPiBsaSB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgdWwuZHJvcGRvd24tbWVudSA+IGxpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbnVsLmRyb3Bkb3duLW1lbnUgPiBsaTpob3ZlciA+IGE6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IC0yM3B4O1xuICBoZWlnaHQ6IDVweDtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4OyB9XG5cbnVsLmRyb3Bkb3duLW1lbnUgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogODNweDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgcGFkZGluZzogMnJlbSAycmVtIDA7IH1cbiAgdWwuZHJvcGRvd24tbWVudSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNlNDMzMTggMCUsICNlZTc2MGYgMTYlLCAjZmJkOTNhIDMzJSwgIzgyYmQ0NiA1MCUsICMzY2E1ZDEgNzAlLCAjNzUzMTg3IDg1JSwgI2RkNDc1YyAxMDAlKTsgfVxuICB1bC5kcm9wZG93bi1tZW51ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICB1bC5kcm9wZG93bi1tZW51ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBtYXJnaW4tbGVmdDogMSU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmbGV4OiAwIDAgMzAlOyB9XG4gIHVsLmRyb3Bkb3duLW1lbnUgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiAjMTYxNjE2O1xuICAgIHRleHQtc2hhZG93OiBub25lOyB9XG4gICAgdWwuZHJvcGRvd24tbWVudSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNhMTI0NzE7IH1cbiAgdWwuZHJvcGRvd24tbWVudSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IC5hY3RpdmUgYSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICB1bC5kcm9wZG93bi1tZW51ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSA+IGEge1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgY29sb3I6ICMxNjE2MTY7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIHVsLmRyb3Bkb3duLW1lbnUgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSAuY3VycmVudCA+IGEge1xuICAgIGNvbG9yOiAjYTEyNDcxOyB9XG5cbnVsLmRyb3Bkb3duLW1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB1bC5kcm9wZG93bi1tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSBsaSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIHVsLmRyb3Bkb3duLW1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IGEge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7IH1cblxuLm5vLXNsaWRlIGhlYWRlci5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5uby1zbGlkZSBoZWFkZXIuc3RpY2t5LWNvbnRhaW5lciAuaXMtYW5jaG9yZWQgLmhlYWRlcl9fZmFkZSB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODsgfVxuICAubm8tc2xpZGUgaGVhZGVyLnN0aWNreS1jb250YWluZXIgLnNpdGVfbG9nbyB7XG4gICAgZmlsbDogIzE2MTYxNjsgfVxuICAubm8tc2xpZGUgaGVhZGVyLnN0aWNreS1jb250YWluZXIgYSB7XG4gICAgY29sb3I6ICMxNjE2MTY7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7IH1cbiAgLm5vLXNsaWRlIGhlYWRlci5zdGlja3ktY29udGFpbmVyIC5oZWFkZXJfX3RvcGxpbmtzIGEge1xuICAgIGNvbG9yOiAjNzA3MDcwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIGhlYWRlci5zdGlja3ktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDk5O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgaGVhZGVyLnN0aWNreS1jb250YWluZXIgI3NjLWxvZ28ge1xuICAgICAgcGFkZGluZy1yaWdodDogMi4zMTI1cmVtOyB9XG4gICAgaGVhZGVyLnN0aWNreS1jb250YWluZXIgI2NjLWxvZ28sIGhlYWRlci5zdGlja3ktY29udGFpbmVyICN3Yy1sb2dvIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICBoZWFkZXIuc3RpY2t5LWNvbnRhaW5lciAuaXMtYW5jaG9yZWQgLmhlYWRlcl9fZmFkZSB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDAsIDAsIDAuNikgMCUsIHJnYmEoMCwgMCwgMCwgMCkgMTAwJSk7IH1cbiAgICBoZWFkZXIuc3RpY2t5LWNvbnRhaW5lciAuc2l0ZV9sb2dvIHtcbiAgICAgIGZpbGw6ICNmOGY4Zjg7IH1cbiAgICBoZWFkZXIuc3RpY2t5LWNvbnRhaW5lciAuaGVhZGVyX19sb2dvIGEge1xuICAgICAgcGFkZGluZy1yaWdodDogMi40cmVtOyB9XG4gICAgaGVhZGVyLnN0aWNreS1jb250YWluZXIgYSB7XG4gICAgICBjb2xvcjogI2Y4ZjhmODtcbiAgICAgIHRleHQtc2hhZG93OiAwcHggMnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG4gIC5oZWFkZXJfX21haW5tZW51IHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmhlYWRlcl9fbWFpbm1lbnUgLmhlYWRlcl9fbWFpbm1lbnUtZGVza3RvcCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5oZWFkZXJfX21haW5tZW51IC5oZWFkZXJfX21haW5tZW51LW1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5oZWFkZXJfX2xvZ28ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBoZWFkZXIgLmhlYWRlcl9fdG9wbGlua3Mge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuI29mZkNhbnZhcyB7XG4gIHBhZGRpbmctdG9wOiA0MnB4O1xuICBib3gtc2hhZG93OiBub25lOyB9XG4gICNvZmZDYW52YXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI2U0MzMxOCAwJSwgI2VlNzYwZiAxNiUsICNmYmQ5M2EgMzMlLCAjODJiZDQ2IDUwJSwgIzNjYTVkMSA3MCUsICM3NTMxODcgODUlLCAjZGQ0NzVjIDEwMCUpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7IH1cbiAgI29mZkNhbnZhcyAubW9kLWxpc3QgbGkge1xuICAgIG1hcmdpbjogMDsgfVxuICAjb2ZmQ2FudmFzIC5kcmlsbGRvd24gYSB7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBjb2xvcjogIzE2MTYxNjtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICAjb2ZmQ2FudmFzIC5kcmlsbGRvd24gLmFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG5cbiNzbGlkZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuICAjc2xpZGUgLnNsaWRlX19jb250cm9scyB7XG4gICAgYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICBsZWZ0OiAwLjYyNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICNzbGlkZSAuc3dpcGVyLXBhZ2luYXRpb24ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgI3NsaWRlIC5zd2lwZXItYnV0dG9uLXBhdXNlIHtcbiAgICBjb2xvcjogI2Y4ZjhmODtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvcGFjaXR5OiAwLjQ7IH1cbiAgICAjc2xpZGUgLnN3aXBlci1idXR0b24tcGF1c2UuYWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgI3NsaWRlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICAgIG1hcmdpbjogMCAwLjYyNXJlbSAwIDA7XG4gICAgb3BhY2l0eTogMC40OyB9XG4gICNzbGlkZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAjc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gICNzbGlkZSBpbWcge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICNzbGlkZS5zd2lwZXItaW5pdGlhbGl6ZWQge1xuICAgIGJhY2tncm91bmQ6ICMxNjE2MTY7IH1cblxuLnNsaWRlX19pbWFnZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbGlkZV9fY29udGVudCB7XG4gIGNvbG9yOiAjZjhmOGY4O1xuICBwYWRkaW5nOiAxcmVtIDAgM3JlbTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zbGlkZV9fY29udGVudCAubGVhZCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuc2xpZGVfX2NvbnRlbnQgcCwgLnNsaWRlX19jb250ZW50IGxpIHtcbiAgICBsaW5lLWhlaWdodDogMTE1JTtcbiAgICB0ZXh0LXNoYWRvdzogMHB4IDJweCAxcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICAuc2xpZGVfX2NvbnRlbnQgLnNsaWRlX190aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMS42cmVtOyB9XG4gIC5zbGlkZV9fY29udGVudCAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI3NsaWRlIGltZyB7XG4gICAgcG9zaXRpb246IHN0YXRpYzsgfVxuICAjc2xpZGUgLnNsaWRlX19jb250cm9scyB7XG4gICAgYm90dG9tOiA1LjYyNXJlbTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gICNzbGlkZSAuc2xpZGVfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDQuN3JlbTtcbiAgICBsaW5lLWhlaWdodDogODAlO1xuICAgIGxldHRlci1zcGFjaW5nOiAtNHB4O1xuICAgIHRleHQtc2hhZG93OiAwcHggMnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG4gICNzbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgICBoZWlnaHQ6IDQ1LjMxMjVyZW07IH1cbiAgICAjc2xpZGUgLnN3aXBlci1zbGlkZS5uby1pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDMycmVtOyB9XG4gICAgI3NsaWRlIC5zd2lwZXItc2xpZGUudGl0bGUtc2xpZGUge1xuICAgICAgaGVpZ2h0OiAyMy43NXJlbTsgfVxuICAjc2xpZGUgLnRpdGxlLXNsaWRlIC5zbGlkZV9fY29udGVudCB7XG4gICAgdG9wOiA2NSU7IH1cbiAgI3NsaWRlIC5zbGlkZV9fY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgI3NsaWRlIC5zbGlkZV9fY29udGVudCA+ICo6bm90KC5zbGlkZV9fdGl0bGUpIHtcbiAgICBtYXgtd2lkdGg6IDM5LjM3NXJlbTsgfVxuICAuc2xpZGVfX2NvbnRlbnQgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogMS44cmVtOyB9IH1cblxuLm1vZF9zZWN0aW9uIHtcbiAgcGFkZGluZy10b3A6IDNyZW07IH1cbiAgLm1vZF9zZWN0aW9uIC5zZWN0aW9uX19ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi4xODc1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5tb2Rfc2VjdGlvbiAuc2VjdGlvbl9fYmxvY2sgLnNlY3Rpb25fX2ljb24ge1xuICAgICAgZm9udC1zaXplOiAzLjc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS40cmVtOyB9XG4gICAgLm1vZF9zZWN0aW9uIC5zZWN0aW9uX19ibG9jayAuc2VjdGlvbl9fYmxvY2stdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjNyZW07IH1cbiAgICAubW9kX3NlY3Rpb24gLnNlY3Rpb25fX2Jsb2NrIHAge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTMwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAubW9kX3NlY3Rpb24gLnNlY3Rpb25fX2Jsb2NrIGkge1xuICAgICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgLm1vZF9zZWN0aW9uIC5zZWN0aW9uX19ibG9jay5zZWN0aW9uX19ibG9jay1oYXMtaW1hZ2UgLnNlY3Rpb25fX2Jsb2NrLXRpdGxlLFxuICAgIC5tb2Rfc2VjdGlvbiAuc2VjdGlvbl9fYmxvY2suc2VjdGlvbl9fYmxvY2staGFzLWltYWdlIHAge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAubW9kX3NlY3Rpb24gLnNlY3Rpb25fX2Jsb2NrLWltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogNTAlO1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigzMCUgMCwgMTAwJSAwLCAxMDAlIDEwMCUsIDEzJSAxMDAlKTtcbiAgICBwYWRkaW5nOiAycHg7IH1cbiAgICAubW9kX3NlY3Rpb24gLnNlY3Rpb25fX2Jsb2NrLWltYWdlIGltZyB7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tb2Rfc2VjdGlvbiAuc2VjdGlvbl9fYmxvY2stc3RhdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAzLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgbWFyZ2luLXRvcDogLTQuM3JlbTsgfVxuICAgIC5tb2Rfc2VjdGlvbiAuc2VjdGlvbl9fYmxvY2stc3RhdCBzcGFuIHtcbiAgICAgIHBhZGRpbmc6IDAuNHJlbSAwLjZyZW07IH1cbiAgLm1vZF9zZWN0aW9uIC5zZWN0aW9uX19ibG9jay1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLm1vZF9zZWN0aW9uLm1vZF9zZWN0aW9uLS1zdWJqZWN0IC5zZWN0aW9uX19ibG9jay1saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWluLWhlaWdodDogMTMuNzVyZW07IH1cbiAgLm1vZF9zZWN0aW9uLm1vZF9zZWN0aW9uLS1zdWJqZWN0IGkge1xuICAgIG1hcmdpbi10b3A6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubW9kX3NlY3Rpb24ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH1cbiAgICAgIC5tb2Rfc2VjdGlvbi5tb2Rfc2VjdGlvbi0tbGluZXMgLm1vZF9zZWN0aW9uX19oZWFkZXIsXG4gICAgICAubW9kX3NlY3Rpb24ubW9kX3NlY3Rpb24tLWxpbmVzIC5zZWN0aW9uX19ibG9jayB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gICAgICAubW9kX3NlY3Rpb24ubW9kX3NlY3Rpb24tLWxpbmVzIC5zZWN0aW9uX19ibG9jay10aXRsZTpiZWZvcmUsXG4gICAgICAubW9kX3NlY3Rpb24ubW9kX3NlY3Rpb24tLWxpbmVzIC5zZWN0aW9uX19ibG9jazpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNEQ2MDZBO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAgIC5tb2Rfc2VjdGlvbi5tb2Rfc2VjdGlvbi0tbGluZXMgLnNlY3Rpb25fX2Jsb2NrOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgIHRvcDogLTI3MHB4O1xuICAgICAgICBib3R0b206IC0yNzBweDsgfVxuICAgICAgLm1vZF9zZWN0aW9uLm1vZF9zZWN0aW9uLS1saW5lcyAuc2VjdGlvbl9fYmxvY2stdGl0bGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5tb2Rfc2VjdGlvbi5tb2Rfc2VjdGlvbi0tbGluZXMgLnNlY3Rpb25fX2Jsb2NrLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAzcHg7XG4gICAgICAgIGxlZnQ6IC0xM3B4O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDsgfSB9XG5cbi5tb2Rfc2VjdGlvbl9faGVhZGVyIHtcbiAgZm9udC1zaXplOiAyLjM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDIuMTg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tb2Rfc2VjdGlvbl9faGVhZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMy42MjVyZW07IH0gfVxuXG4uY29tcG9uZW50IC5wYWdlLWhlYWRlciBoMSB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICBsZXR0ZXItc3BhY2luZzogLTFweDtcbiAgbWFyZ2luOiAxLjRyZW0gMCA0LjA2MjVyZW07XG4gIGNvbG9yOiAjYTEyNDcxOyB9XG5cbi5jb21wb25lbnQ6bm90KC5ob21lcGFnZSkge1xuICBtYXJnaW4tYm90dG9tOiA0cmVtOyB9XG5cbi5iZy1wcmltYXJ5IC5jb21wb25lbnQsXG4uYmctcHJpbWFyeSAuY29tcG9uZW50IGgxIHtcbiAgY29sb3I6ICNmOGY4Zjg7IH1cblxuLmhvbWVwYWdlIC5jb21wb25lbnQge1xuICBwYWRkaW5nLXRvcDogMy40Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5ob21lcGFnZSAuY29tcG9uZW50IC5jb20tY29udGVudC1jYXRlZ29yeS1ibG9nIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLnNpZGViYXIgLm1vZHVsZXRhYmxlIHtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KTsgfVxuICAuc2lkZWJhciAubW9kdWxldGFibGUgaDMge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAuc2lkZWJhciAubW9kdWxldGFibGUgYS5tb2QtYXJ0aWNsZXMtY2F0ZWdvcnktdGl0bGUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5tb2QtbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5tb2QtbGlzdCB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tb2QtbGlzdCBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC44cmVtOyB9XG5cbi5tb2QtYXJ0aWNsZXMtY2F0ZWdvcnktZ3JvdXAge1xuICBjb2xvcjogI2ExMjQ3MTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLm1vZC1hcnRpY2xlcy1jYXRlZ29yeS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm1vZC1hcnRpY2xlcy1jYXRlZ29yeS10aXRsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiK1wiO1xuICAgIGNvbG9yOiAjMWM0NzYwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLmNhbGxvdXRfX2luZm8ge1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAuY2FsbG91dF9faW5mbyBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiAjYTEyNDcxO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmNhbGxvdXRfX2luZm8gLmNhbGxvdXRfX2luZm8tYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jYWxsb3V0X19pbmZvIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC5jYWxsb3V0X19pbmZvIC5jYWxsb3V0X19pbmZvLWJsb2NrIHtcbiAgICAgICAgbWFyZ2luOiAwIDMuNzVyZW0gMCAwOyB9IH1cblxuLnRhYnMge1xuICBib3JkZXI6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IG5vbmU7IH1cblxuLnRhYnMtdGl0bGUgPiBhIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gIGJvcmRlci10b3A6IDVweCBzb2xpZCAjYTEyNDcxOyB9XG5cbi50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gIGNvbG9yOiAjYTEyNDcxOyB9XG5cbi5tb2RfY291cnNlcyAubW9kX2NvdXJzZXNfX2NvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNTMuMTI1cmVtO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4ubW9kX2NvdXJzZXMgLnRhYnMtcGFuZWwge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5tb2R1bGVfX2xpbmtzIHtcbiAgcGFkZGluZzogMi41cmVtIDAgMDsgfVxuICAubW9kdWxlX19saW5rcyAubW9kdWxlX19saW5rcy1oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjYTEyNDcxOyB9XG4gIC5tb2R1bGVfX2xpbmtzIHVsIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNzVyZW07IH1cbiAgLm1vZHVsZV9fbGlua3MgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5tb2R1bGVfX2xpbmtzIGxpOjptYXJrZXIge1xuICAgIGNvbnRlbnQ6IFwiPiBcIjtcbiAgICBjb2xvcjogI2ExMjQ3MTsgfVxuICAubW9kdWxlX19saW5rcyBhIHtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuXG4ubW9kX2NvdXJzZXMtY29udGVudCB1bCxcbi5tb2RfY291cnNlcy1tdWx0aSAuYWNjb3JkaW9uLWNvbnRlbnQgdWwge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuXG4ubW9kX2NvdXJzZXMtY29udGVudCBsaSxcbi5tb2RfY291cnNlcy1tdWx0aSAuYWNjb3JkaW9uLWNvbnRlbnQgbGkge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5tb2RfY291cnNlcy1jb250ZW50IGgzLFxuLm1vZF9jb3Vyc2VzLW11bHRpIC5hY2NvcmRpb24tY29udGVudCBoMyB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLm1vZF9jb3Vyc2VzLWNvbnRlbnQgaDMgYSxcbiAgLm1vZF9jb3Vyc2VzLW11bHRpIC5hY2NvcmRpb24tY29udGVudCBoMyBhIHtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuICAubW9kX2NvdXJzZXMtY29udGVudCBoMyBhOmhvdmVyLFxuICAubW9kX2NvdXJzZXMtbXVsdGkgLmFjY29yZGlvbi1jb250ZW50IGgzIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjYTEyNDcxOyB9XG5cbi5tb2RfY291cnNlcy1jb250ZW50IC5tb2RfY291cnNlcy1yZWFkbW9yZSxcbi5tb2RfY291cnNlcy1tdWx0aSAuYWNjb3JkaW9uLWNvbnRlbnQgLm1vZF9jb3Vyc2VzLXJlYWRtb3JlIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5tb2RfY291cnNlcy1jb250ZW50IHVsIHtcbiAgcGFkZGluZzogMS44NzVyZW07IH1cblxuLm1vZF9jb3Vyc2VzLWNvbnRlbnQgbGkge1xuICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgLm1vZF9jb3Vyc2VzLWNvbnRlbnQgbGk6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbi5tb2RfY291cnNlcy1tdWx0aSAudGFicyB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLm1vZF9jb3Vyc2VzLW11bHRpIC5tb2RfY291cnNlc190YWItdGl0bGUsXG4ubW9kX2NvdXJzZXMtbXVsdGkgLnRhYnMtdGl0bGUgYSB7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6ICNmOGY4Zjg7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZjhmOGY4O1xuICBib3JkZXItdG9wOiBub25lOyB9XG5cbi5tb2RfY291cnNlcy1tdWx0aSAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICBib3JkZXItdG9wOiBub25lO1xuICBjb2xvcjogI2ZkYjUyMTsgfVxuXG4ubW9kX2NvdXJzZXMtbXVsdGkgLm1vZF9jb3Vyc2VzX3RhYi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLm1vZF9jb3Vyc2VzLW11bHRpIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IG5vbmU7IH1cblxuLm1vZF9jb3Vyc2VzLW11bHRpIC5tb2RfY291cnNlcy1jb250ZW50IHVsIHtcbiAgcGFkZGluZzogMDsgfVxuXG4ubW9kX2NvdXJzZXMtbXVsdGkgLnZlcnRpY2FsLmFjY29yZGlvbiA+IC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4ubW9kX2NvdXJzZXMtbXVsdGkgLmFjY29yZGlvbi1pdGVtIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzE2MTYxNjsgfVxuXG4ubW9kX2NvdXJzZXMtbXVsdGkgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBmb250LXdlaWdodDogOTAwO1xuICBib3JkZXI6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBwYWRkaW5nOiAxLjI1cmVtIDMuMnJlbSAxLjI1cmVtIDEuMjVyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dCwgY29sb3IgMC4ycyBlYXNlLWluLW91dDsgfVxuXG4ubW9kX2NvdXJzZXMtbXVsdGkgLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICBjb2xvcjogI2ZkYjUyMTsgfVxuXG4ubW9kX2NvdXJzZXMtbXVsdGkgLmFjY29yZGlvbiAuaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGUge1xuICBiYWNrZ3JvdW5kOiAjZmRiNTIxO1xuICBjb2xvcjogIzE2MTYxNjsgfVxuICAubW9kX2NvdXJzZXMtbXVsdGkgLmFjY29yZGlvbiAuaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgICBjb2xvcjogIzE2MTYxNjsgfVxuXG4ubW9kX2NvdXJzZXMtbXVsdGkgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMxNjE2MTY7IH1cbiAgLm1vZF9jb3Vyc2VzLW11bHRpIC5hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDEuMjVyZW07IH1cblxuLm1vZF9jb3Vyc2VzLW11bHRpIC5hY2NvcmRpb24tY29udGVudCBsaSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLm1vZF9jb3Vyc2VzLW11bHRpIC5hY2NvcmRpb24tY29udGVudCBsaTpub3QoOmxhc3QtY2hpbGQpOm5vdCguYWNjb3JkaW9uLWl0ZW0pIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH1cblxuLm1vZF9jb3Vyc2VzLW11bHRpIC5tb2RfY291cnNlcy1yZWFkbW9yZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjMTYxNjE2OyB9XG5cbi5tb2RfY291cnNlcy1tdWx0aSAuYWNjb3JkaW9uLWNvbnRlbnQgaDMge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjE4NzVyZW07IH1cblxuLm1vZF9jb3Vyc2VzLW11bHRpIC5tb2RfY291cnNlcy0tb25lLXRhYiAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICBib3JkZXItd2lkdGg6IDA7IH1cblxuLm1vZF9jb3Vyc2VzLW11bHRpIC5tb2RfY291cnNlcy0tb25lLXRhYiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubW9kX3JvdGF0b3IgLnJvdGF0b3JfX2ltYWdlIHtcbiAgaGVpZ2h0OiA0MC42MjVyZW07IH1cbiAgLm1vZF9yb3RhdG9yIC5yb3RhdG9yX19pbWFnZSBpbWcge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG4ubW9kX3JvdGF0b3IgLnN3aXBlci1zbGlkZSAuZ3JpZC1jb250YWluZXIsXG4ubW9kX3JvdGF0b3IgLnN3aXBlci1jb250cm9scyxcbi5tb2Rfcm90YXRvciBoMiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogOTk7IH1cblxuLm1vZF9yb3RhdG9yIGgyIHtcbiAgdG9wOiA0LjM3NXJlbTtcbiAgbWF4LXdpZHRoOiAyNXJlbTsgfVxuICAubW9kX3JvdGF0b3IgaDIgc3BhbiB7XG4gICAgcGFkZGluZzogMC4xcmVtIDAuNzI1cmVtIDAuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICBib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7IH1cblxuLm1vZF9yb3RhdG9yIC5zd2lwZXItc2xpZGUgLmdyaWQtY29udGFpbmVyIHtcbiAgYm90dG9tOiA1LjYyNXJlbTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5tb2Rfcm90YXRvciAucm90YXRvcl9fY29udGVudCB7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgbWF4LXdpZHRoOiA2MCU7IH1cbiAgLm1vZF9yb3RhdG9yIC5yb3RhdG9yX19jb250ZW50IGg0IHtcbiAgICBwYWRkaW5nOiAwLjQzNzVyZW0gMC42MjVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLm1vZF9yb3RhdG9yIC5yb3RhdG9yX19jb250ZW50LXRleHQgcCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuLm1vZF9yb3RhdG9yIC5yb3RhdG9yX19jb250ZW50LXRleHQgc3BhbiB7XG4gIGJhY2tncm91bmQ6ICMwRDBEMEQ7XG4gIGNvbG9yOiAjZjhmOGY4O1xuICBwYWRkaW5nOiAwLjNyZW0gMC42MjVyZW07XG4gIGJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTsgfVxuXG4ubW9kX3JvdGF0b3IgLnJvdGF0b3JfX2NvbnRlbnQtdGV4dCAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW46IDA7IH1cblxuLm1vZF9yb3RhdG9yIC5zd2lwZXItY29udHJvbHNfX2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ubW9kX3JvdGF0b3IgLnN3aXBlci1jb250cm9scyxcbi5tb2Rfcm90YXRvciAuc3dpcGVyLWNvbnRyb2xzIGEge1xuICBjb2xvcjogI2Y4ZjhmODsgfVxuXG4ubW9kX3JvdGF0b3IgLnN3aXBlci1jb250cm9scyB7XG4gIGJvdHRvbTogNXJlbTtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmb250LXNpemU6IDJyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cbiAgLm1vZF9yb3RhdG9yIC5zd2lwZXItY29udHJvbHMgLnN3aXBlci1jb250cm9sIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDAuODc1cmVtOyB9XG4gIC5tb2Rfcm90YXRvciAuc3dpcGVyLWNvbnRyb2xzIGkge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubW9kX2NvdXJzZXMtbXVsdGkgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtOyB9XG4gIC5tb2RfY291cnNlcy1tdWx0aSAubW9kX2NvdXJzZXMtLW9uZS10YWIgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBib3JkZXItd2lkdGg6IDJweDsgfVxuICAubW9kX2NvdXJzZXMtbXVsdGkgLm1vZF9jb3Vyc2VzLS1vbmUtdGFiIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxubWFpbiB1bCBsaSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG4uY29tLWNvbnRlbnQtY2F0ZWdvcnktYmxvZ19faXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgLmNvbS1jb250ZW50LWNhdGVnb3J5LWJsb2dfX2l0ZW0gaDIge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjNyZW07IH1cbiAgLmNvbS1jb250ZW50LWNhdGVnb3J5LWJsb2dfX2l0ZW0gcCB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zOyB9XG4gIC5jb20tY29udGVudC1jYXRlZ29yeS1ibG9nX19pdGVtIC5pdGVtLWNvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmNvbS1jb250ZW50LWNhdGVnb3J5LWJsb2dfX2l0ZW0gLml0ZW0taW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDEuM3JlbTsgfVxuICAgIC5jb20tY29udGVudC1jYXRlZ29yeS1ibG9nX19pdGVtIC5pdGVtLWltYWdlIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuXG4uY29tLWNvbnRlbnQtYXJ0aWNsZSxcbi5jb20tY29udGVudC1jYXRlZ29yeS1ibG9nIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgcGFkZGluZzogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAuY29tLWNvbnRlbnQtYXJ0aWNsZSAucGFnZS1oZWFkZXIgaDEsXG4gIC5jb20tY29udGVudC1jYXRlZ29yeS1ibG9nIC5wYWdlLWhlYWRlciBoMSB7XG4gICAgbWFyZ2luOiAwIDAgMS40cmVtOyB9XG4gIC5jb20tY29udGVudC1hcnRpY2xlIC5pdGVtLWltYWdlLFxuICAuY29tLWNvbnRlbnQtY2F0ZWdvcnktYmxvZyAuaXRlbS1pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4uY29tX2NvbnRlbnQudmlldy1hcnRpY2xlIC5jb21wb25lbnQsXG4uY29tX2NvbnRlbnQudmlldy1jYXRlZ29yeSAuY29tcG9uZW50LFxuLmNvbV9hcHByZW50aWNlc2hpcHMgLmNvbXBvbmVudCB7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cblxuLmhveWhvbWUgLmNvbXBvbmVudCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogNXJlbSAwOyB9XG5cbi5ob3lob21lIC5jb20tY29udGVudC1jYXRlZ29yeS1ibG9nIGgxIHtcbiAgZm9udC1zaXplOiAyLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjJyZW07IH1cblxuLmhveWhvbWUgLmNvbS1jb250ZW50LWNhdGVnb3J5LWJsb2cgcCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IH1cblxuLmhveWhvbWVfX2xvZ29zIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cblxuLmhveWhvbWVfX2xvZ29zIGxpIHtcbiAgcGFkZGluZzogMS44cmVtO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBncmV5O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZ3JleTsgfVxuXG4uaG95aG9tZV9fbG9nb3MgbGk6Zmlyc3QtY2hpbGQsIC5ob3lob21lX19sb2dvcyBsaTpudGgtY2hpbGQoMikge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4uaG95aG9tZV9fbG9nb3MgbGk6bnRoLWNoaWxkKG9kZCkge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLmhveWhvbWVfX2xvZ29zIGxpOm50aC1jaGlsZChldmVuKSB7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uaG95aG9tZV9fbG9nb3MgbGk6bnRoLWNoaWxkKDMpLCAuaG95aG9tZV9fbG9nb3MgbGk6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5hcnRpY2xlLWluZm8ge1xuICBtYXJnaW4tYm90dG9tOiAwLjNyZW07IH1cbiAgLmFydGljbGUtaW5mbyBpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuICAuYXJ0aWNsZS1pbmZvIGRkIHtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBjb2xvcjogIzI2MjYyNjsgfVxuXG4udGFncyB7XG4gIG1hcmdpbjogMCAwIDAuNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC50YWdzIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnRhZ3MgYSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG5cbi5yZWFkbW9yZSB7XG4gIG1hcmdpbi10b3A6IGF1dG87IH1cbiAgLnJlYWRtb3JlIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi50aGVtZS1sYW5kaW5nIC5jb20tY29udGVudC1hcnRpY2xlLFxuLnRoZW1lLWxhbmRpbmcgLmNvbS1jb250ZW50LWNhdGVnb3J5LWJsb2cge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnRoZW1lLWxhbmRpbmcgLmNhdGVnb3J5LWRlc2MgPiBwIHtcbiAgICBwYWRkaW5nOiAwIDZyZW07IH0gfVxuXG4ubmV3cyAubmV3c19fdGl0bGUge1xuICBmb250LXNpemU6IDIuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG5cbi5uZXdzIC5uZXdzX19pdGVtIHtcbiAgYm94LXNoYWRvdzogMHB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDAuNjI1cmVtIDIuMzc1cmVtOyB9XG4gIC5uZXdzIC5uZXdzX19pdGVtIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLm5ld3MgLm5ld3NfX2l0ZW0gYTphZnRlciB7XG4gICAgY29udGVudDogXCJcXGYwYTlcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNiBQcm9cIjtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgY29sb3I6ICNhMTI0NzE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTBweDtcbiAgICByaWdodDogMTBweDtcbiAgICBsaW5lLWhlaWdodDogMTAwJTsgfVxuICAubmV3cyAubmV3c19faXRlbSBoMyB7XG4gICAgY29sb3I6ICNhMTI0NzE7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMS43cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlOyB9XG4gIC5uZXdzIC5uZXdzX19pdGVtIC5uZXdzX19pdGVtLWRhdGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogIzFjNDc2MDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW46IGF1dG8gMCAwIDA7XG4gICAgbGluZS1oZWlnaHQ6IDEwMCU7IH1cbiAgLm5ld3MgLm5ld3NfX2l0ZW0gLm5ld3NfX2l0ZW0taW50cm8ge1xuICAgIGNvbG9yOiAjMTYxNjE2O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuXG4ubmV3cyBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC43cmVtOyB9XG5cbi5uZXdzID4gcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAzLjEyNXJlbSAwIDMuNDM3NXJlbTsgfVxuXG4ubmV3cyAuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG4ubmV3cyAubmV3c19fcmVhZG1vcmUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMXJlbSAwIDEuNXJlbTsgfVxuXG4jcnNfZXZlbnRzX2NvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4gICNyc19ldmVudHNfY29udGFpbmVyIC5ldmVudC1tb250aF9faGVhZGVyIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMTAwJTsgfVxuICAjcnNfZXZlbnRzX2NvbnRhaW5lciBsaTpub3QoLmV2ZW50LW1vbnRoX19oZWFkZXIpIHtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAhaW1wb3J0YW50OyB9XG5cbi52aWV3LXJzZXZlbnRzcHJvLmxheW91dC1zaG93IC5jYWxsb3V0IC5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9XG5cbi5uZXdzIC5uZXdzX19pdGVtLS1ldmVudCBoMyB7XG4gIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuXG4ubmV3cyAubmV3c19faXRlbS0tZXZlbnQgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzE2MTYxNjtcbiAgbWFyZ2luLWJvdHRvbTogMi4zNzVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4jcnNlSW52aXRlRm9ybSBsYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbiNyc2VJbnZpdGVCdG4ge1xuICBtYXJnaW46IDAgMC4zMTI1cmVtIDAgMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZXZlbnQtbW9udGhfX2hlYWRlciBoMiB7XG4gICAgbWFyZ2luOiAzLjEyNXJlbSAwIDEuODc1cmVtOyB9XG4gICNyc19ldmVudHNfY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogd3JhcDtcbiAgICBjb2x1bW4tZ2FwOiAxNXB4OyB9XG4gICAgI3JzX2V2ZW50c19jb250YWluZXIgbGk6bm90KC5ldmVudC1tb250aF9faGVhZGVyKSB7XG4gICAgICBmbGV4OiA0OCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICNyc19ldmVudHNfY29udGFpbmVyIGxpOm5vdCguZXZlbnQtbW9udGhfX2hlYWRlcikge1xuICAgIGZsZXg6IDIwJTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfSB9XG5cbmZvcm0gaDIge1xuICBmb250LXNpemU6IDIuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbmZvcm0gbGFiZWwubWlkZGxlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07IH1cblxuc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTAuMTM3cmVtIGNlbnRlcjsgfVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTk5OTk5OXB4OyB9XG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAgMCAwLjkzNzVyZW0gMi4xMjVyZW07IH1cbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2UwZTBlMDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC0zNXB4O1xuICAgICAgdG9wOiAtNXB4OyB9XG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQ6ICNhMTI0NzE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0zMHB4O1xuICAgIHRvcDogMDsgfVxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMgKyBsYWJlbDpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogI2ExMjQ3MTsgfVxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQgKyBsYWJlbCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OTk5cHg7IH1cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwge1xuICAgIHBhZGRpbmctbGVmdDogMzZweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIDAuOTM3NXJlbSAxLjU2MjVyZW0gMDsgfVxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDpiZWZvcmUsXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDpiZWZvcmUge1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAtNXB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNFMEUwRTA7IH1cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQ6ICNhMTI0NzE7XG4gICAgbGVmdDogN3B4O1xuICAgIHRvcDogMnB4OyB9XG5cbi5zZWxlY3QyIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICBtYXJnaW46IDA7IH1cblxuLnNlbGVjdDIuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlIHtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogI2Y4ZjhmODtcbiAgcGFkZGluZzogN3B4IDZweDsgfVxuICAuc2VsZWN0Mi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3ZjFlNDk7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cblxuLnNlbGVjdDIuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNlMGUwZTA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDAuNHJlbTsgfVxuXG4uc2VsZWN0Mi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZm9jdXMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNhMTI0NzE7IH1cblxuLnNlbGVjdDIuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XG4gIGJhY2tncm91bmQ6ICNhMTI0NzE7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6ICNmOGY4Zjg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIG1hcmdpbjogMCA1cHggNXB4IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cblxuLnNlbGVjdDIgLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XG4gIG1pbi1oZWlnaHQ6IDI2cHg7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IFwiQ2F1c3RlbiBSb3VuZFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWltcG9ydGFudDsgfVxuXG4ucnNmb3JtLWJsb2NrLXBhc3N3b3JkIGlucHV0IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5yc2Zvcm0tYmxvY2stcGFzc3dvcmQgLnJzZm9ybS1wYXNzd29yZC1oaW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMS4wNjI1cmVtOyB9XG5cbi5mb3JtQ29udGFpbmVyIC5yc2Zvcm0tdHlwZS1yZWNhcHRjaGF2MiAuZm9ybUNvbnRyb2xzLmNlbGwge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgLmZvcm1Db250YWluZXIgLnJzZm9ybS10eXBlLXJlY2FwdGNoYXYyIC5mb3JtQ29udHJvbHMuY2VsbCAuZm9ybVZhbGlkYXRpb24ge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLnJzZm9ybS1ibG9jayAubWVkaXVtLTEyLmNlbGwge1xuICBtYXJnaW46IDAgLTEwcHg7IH1cblxuLnJzZm9ybS10eXBlLXByb3NvbHV0aW9uLmhhcy1lcnJvci1mb3VuZGF0aW9uIC5jZWxsIC5ncmlkLXggLmNlbGwgKiB7XG4gIG1hcmdpbjogMCAwIDEuNTYyNXJlbTsgfVxuXG4ubmV3c2xldHRlciB7XG4gIHBhZGRpbmc6IDQuNjg3NXJlbSAxMHB4OyB9XG4gIC5uZXdzbGV0dGVyIHAge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMi4xODc1cmVtOyB9XG4gIC5uZXdzbGV0dGVyIGxhYmVsIHtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAubmV3c2xldHRlciAucnNmb3JtLWJsb2NrLXByaXZhY3kgcCB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAubmV3c2xldHRlciBhIHtcbiAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAubmV3c2xldHRlciAucnNmb3JtLWJsb2NrLXN1Ym1pdCBidXR0b24ge1xuICAgIHBhZGRpbmc6IDAuN3JlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubmV3c2xldHRlciAucnNmb3JtLWJsb2NrLXN1Ym1pdCB7XG4gICAgcGFkZGluZy10b3A6IDJyZW07IH1cbiAgLnJzZm9ybS1ibG9jayAubWVkaXVtLTEyLmNlbGwge1xuICAgIG1hcmdpbjogMCAtMTVweDsgfSB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wYWdpbmF0aW9uIGEge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNnJlbTtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnBhZ2luYXRpb24gbGk6bm90KC5hY3RpdmUpIGEge1xuICAgIGJhY2tncm91bmQ6ICMxNjE2MTY7XG4gICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgLnBhZ2luYXRpb24gbGkgYVtkaXNhYmxlZD1cImRpc2FibGVkXCJdIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICAgIGNvbG9yOiAjMTYxNjE2OyB9XG5cbi5jb3Vyc2UtaXRlbSwgLmNvdXJzZS1pdGVtIGgyLCAuY291cnNlLWl0ZW0gcCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfVxuXG4ucGFnZS1oZWFkZXJfX3N1YnRpdGxlIHtcbiAgY29sb3I6ICNmOGY4Zjg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW46IC0zcmVtIDAgM3JlbTsgfVxuXG4uY291cnNlLWl0ZW0ge1xuICBwYWRkaW5nLWJvdHRvbTogMS41NjI1cmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzZhNzg4MzsgfVxuICAuY291cnNlLWl0ZW0gaDIgYSB7XG4gICAgY29sb3I6ICMxNjE2MTY7IH1cbiAgICAuY291cnNlLWl0ZW0gaDIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2ExMjQ3MTsgfVxuICAuY291cnNlLWl0ZW0gcCB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zOyB9XG4gIC5jb3Vyc2UtaXRlbSB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5jb3Vyc2UtaXRlbSBsaSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDMuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgICAuY291cnNlLWl0ZW0gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuY291cnNlLWl0ZW0gbGkgYSB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmNvdXJzZS1pdGVtIGxpIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICNhMTI0NzE7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4uY291cnNlLWZpbHRlcnNfX2NvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDBweCAycHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIG1hcmdpbjogNHJlbSAwO1xuICBwYWRkaW5nOiAxLjVyZW07IH1cbiAgLmNvdXJzZS1maWx0ZXJzX19jb250YWluZXIgaW5wdXQge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY291cnNlLWZpbHRlcnNfX2NvbnRhaW5lciBoMiB7XG4gICAgY29sb3I6ICNhMTI0NzE7IH1cblxuLmNvdXJzZV9fcGF0aHdheXMge1xuICBtYXJnaW4tdG9wOiAzcmVtOyB9XG5cbi5tb2RfY291cnNlaW5mbyB7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5tb2RfY291cnNlaW5mbyAuY2FsbG91dF9faW5mby1ibG9jayB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW46IDA7IH1cbiAgLm1vZF9jb3Vyc2VpbmZvIC5jYWxsb3V0X19pbmZvLWJsb2NrLFxuICAubW9kX2NvdXJzZWluZm8gLm1vZF9jb3Vyc2VpbmZvLWJ1dHRvbnMge1xuICAgIHBhZGRpbmc6IDAuNnJlbTsgfVxuICAubW9kX2NvdXJzZWluZm8gLm1vZF9jb3Vyc2VpbmZvLWJ1dHRvbnMge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tb2RfY291cnNlaW5mbyAubW9kX2NvdXJzZWluZm8tYnV0dG9ucyBhOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uY29tX2ltcG9ydGVyIC5zaWRlYmFyIC5tb2R1bGV0YWJsZSB7XG4gIHBhZGRpbmc6IDEuODc1cmVtIDEuODc1cmVtIDAuMzEyNXJlbTtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4uY29tX2ltcG9ydGVyIC5zaWRlYmFyIC5tb2R1bGV0YWJsZSBoMyB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjgxMjVyZW07IH1cblxuLmNvbV9pbXBvcnRlciAuc2xpZGVfX3RpdGxlIHtcbiAgbWF4LXdpZHRoOiAzMS4yNXJlbTsgfVxuXG4uY29tX2ltcG9ydGVyIC5jb21wb25lbnQgLnBhZ2UtaGVhZGVyIGgxIHtcbiAgbWFyZ2luOiAzLjRyZW0gMCAwOyB9XG5cbi5mYWN0c2hlZXQgaDIsXG4uZmFjdHNoZWV0IC5hY2NvcmRpb24tdGl0bGUge1xuICBmb250LXNpemU6IDEuNXJlbTsgfVxuXG4uZmFjdHNoZWV0IC5hY2NvcmRpb24tdGl0bGUge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLmZhY3RzaGVldCAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuI2Rhc2hmaWx0ZXItY291cnNlX3R5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAwLjZyZW0gMXJlbTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jb21faW1wb3J0ZXIudmlldy1zZWFyY2ggLnNpZGViYXIge1xuICAgIG1hcmdpbi10b3A6IDEycmVtOyB9XG4gIC5jb3Vyc2UtZmlsdGVyc19fY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDQuOXJlbSAwIDJyZW07IH1cbiAgLmZhY3RzaGVldCAubm8taW1hZ2Uge1xuICAgIG1hcmdpbi10b3A6IDEzcmVtOyB9IH1cblxuLmNvbS1maW5kZXIuZmluZGVyIC5wYWdlLWhlYWRlcjpiZWZvcmUge1xuICBoZWlnaHQ6IDUwMHB4OyB9XG5cbiNzZWFyY2gtZm9ybSBsYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDAuODEyNXJlbTsgfVxuXG4jc2VhcmNoLWZvcm0gLmpzLWZpbmRlci1zZWFyY2gtcXVlcnkge1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjkzNzVyZW07IH1cblxuI3NlYXJjaC1mb3JtIC5maWx0ZXJzIHtcbiAgbWFyZ2luOiAwLjYyNXJlbSAwIDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbiNzZWFyY2gtZm9ybSAuc2VhcmNoX19maWx0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgI3NlYXJjaC1mb3JtIC5zZWFyY2hfX2ZpbHRlciBsYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuI3NlYXJjaC1mb3JtIC5hd2Vzb21wbGV0ZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbiNzZWFyY2gtcmVzdWx0cyB7XG4gIG1hcmdpbi10b3A6IDRyZW07IH1cbiAgI3NlYXJjaC1yZXN1bHRzIG9sIHtcbiAgICBtYXJnaW46IDAgMCAzLjEyNXJlbTsgfVxuICAjc2VhcmNoLXJlc3VsdHMgLnJlc3VsdF9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgI3NlYXJjaC1yZXN1bHRzIC5yZXN1bHRfX2l0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgI3NlYXJjaC1yZXN1bHRzIC5yZXN1bHRfX2l0ZW0gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgICAgcGFkZGluZzogMS44NzVyZW07XG4gICAgICBjb2xvcjogIzE2MTYxNjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICNzZWFyY2gtcmVzdWx0cyAucmVzdWx0X19pdGVtICsgLnJlc3VsdF9faXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICAjc2VhcmNoLXJlc3VsdHMgLnJlc3VsdF9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuICAjc2VhcmNoLXJlc3VsdHMgdWwge1xuICAgIG1hcmdpbjogMDsgfVxuICAjc2VhcmNoLXJlc3VsdHMgLmxhYmVsIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIHBhZGRpbmc6IDAuNDM3NXJlbSAxLjE4NzVyZW07IH1cbiAgI3NlYXJjaC1yZXN1bHRzIC5yZXN1bHRfX2Fycm93IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAycmVtOyB9XG5cbi52aWV3LXJlc2V0LmxheW91dC1jb21wbGV0ZSAuaW5wdXQtZ3JvdXAsXG4udmlldy1yZXNldC5sYXlvdXQtY29tcGxldGUgLmZvcm0tY29udHJvbCB7XG4gIG1hcmdpbjogMDsgfVxuXG4udmlldy1yZXNldC5sYXlvdXQtY29tcGxldGUgLnBhc3N3b3JkLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG5cbi5pbnB1dC1wYXNzd29yZC10b2dnbGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICMxNjE2MTY7XG4gIHBhZGRpbmc6IDMuNzVyZW0gMDsgfVxuICBmb290ZXIgcCwgZm9vdGVyIGEge1xuICAgIGNvbG9yOiAjZjhmOGY4OyB9XG4gIGZvb3RlciBoMywgZm9vdGVyIHAsIGZvb3RlciB1bCBhIHtcbiAgICBmb250LXNpemU6IDEuMjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgZm9vdGVyIC5jdXN0b20gYSB7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDsgfVxuICBmb290ZXIgaDMge1xuICAgIGNvbG9yOiAjODI5MTlDOyB9XG4gIGZvb3RlciB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMCAwIDEuODc1cmVtOyB9XG4gIGZvb3RlciBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2Y4ZjhmODtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBmb290ZXIgLm1vZHVsZXRhYmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjZyZW07IH1cbiAgZm9vdGVyIC5tb2QtbGlzdCBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtOyB9XG4gIGZvb3RlciBociB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6ICMxMDEwMTA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMxRTFFMUU7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gIGZvb3RlciAuZm9vdGVyLWJvdHRvbSB7XG4gICAgY29sb3I6ICNmOGY4Zjg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgZm9vdGVyIC5mb290ZXItYm90dG9tIC5ncmlkLXgge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gICAgZm9vdGVyIC5mb290ZXItYm90dG9tIGEge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgZm9vdGVyIC5mb290ZXItYm90dG9tIGxpIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICBmb290ZXIgLmZvb3Rlci1ib3R0b21fX2xvZ28ge1xuICAgIHBhZGRpbmc6IDJyZW0gMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICBmb290ZXIgLmZvb3Rlci1ib3R0b21fX2RhdGUge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIGZvb3RlciAuZm9vdGVyLWJvdHRvbSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBmb290ZXIgLmZvb3Rlci1ib3R0b21fX2xvZ28ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuLmNjLXdpbmRvdyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBwb3NpdGlvbjogc3RhdGljOyB9XG5cbi5jYy13aW5kb3cgZGl2LmNjLWNoZWNrYm94ZXMtY29udGFpbmVyIGE6bm90KC5jYy1idG4pIHtcbiAgcGFkZGluZzogMXB4IDZweCAwIDNweDsgfVxuXG4uY2Mtd2luZG93IGE6Zm9jdXMsXG4uY2Mtd2luZG93IHNwYW46Zm9jdXMsXG4uY2Mtd2luZG93IGlucHV0LmNjLWNvb2tpZS1jaGVja2JveDpmb2N1cyArIHNwYW46OmJlZm9yZSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB5ZWxsb3c7IH1cblxuLm1hcmdpbi0wIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5tYXJnaW4tMSB7XG4gIG1hcmdpbjogMXJlbTsgfVxuXG4ubWFyZ2luLTIge1xuICBtYXJnaW46IDJyZW07IH1cblxuLm1hcmdpbi0zIHtcbiAgbWFyZ2luOiAzcmVtOyB9XG5cbi5tYXJnaW4tNCB7XG4gIG1hcmdpbjogNHJlbTsgfVxuXG4ubWFyZ2luLTUge1xuICBtYXJnaW46IDVyZW07IH1cblxuLm1hcmdpbi02IHtcbiAgbWFyZ2luOiA2cmVtOyB9XG5cbi5tYXJnaW4tdG9wLTAge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5tYXJnaW4tdG9wLTEge1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG5cbi5tYXJnaW4tdG9wLTIge1xuICBtYXJnaW4tdG9wOiAycmVtOyB9XG5cbi5tYXJnaW4tdG9wLTMge1xuICBtYXJnaW4tdG9wOiAzcmVtOyB9XG5cbi5tYXJnaW4tdG9wLTQge1xuICBtYXJnaW4tdG9wOiA0cmVtOyB9XG5cbi5tYXJnaW4tdG9wLTUge1xuICBtYXJnaW4tdG9wOiA1cmVtOyB9XG5cbi5tYXJnaW4tdG9wLTYge1xuICBtYXJnaW4tdG9wOiA2cmVtOyB9XG5cbi5tYXJnaW4tYm90dG9tLTAge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5tYXJnaW4tYm90dG9tLTEge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi5tYXJnaW4tYm90dG9tLTIge1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbi5tYXJnaW4tYm90dG9tLTMge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9XG5cbi5tYXJnaW4tYm90dG9tLTQge1xuICBtYXJnaW4tYm90dG9tOiA0cmVtOyB9XG5cbi5tYXJnaW4tYm90dG9tLTUge1xuICBtYXJnaW4tYm90dG9tOiA1cmVtOyB9XG5cbi5tYXJnaW4tYm90dG9tLTYge1xuICBtYXJnaW4tYm90dG9tOiA2cmVtOyB9XG5cbi5tYXJnaW4tbGVmdC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLm1hcmdpbi1sZWZ0LTEge1xuICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4ubWFyZ2luLWxlZnQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAycmVtOyB9XG5cbi5tYXJnaW4tbGVmdC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDNyZW07IH1cblxuLm1hcmdpbi1sZWZ0LTQge1xuICBtYXJnaW4tbGVmdDogNHJlbTsgfVxuXG4ubWFyZ2luLWxlZnQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA1cmVtOyB9XG5cbi5tYXJnaW4tbGVmdC02IHtcbiAgbWFyZ2luLWxlZnQ6IDZyZW07IH1cblxuLm1hcmdpbi1yaWdodC0wIHtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5tYXJnaW4tcmlnaHQtMSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuXG4ubWFyZ2luLXJpZ2h0LTIge1xuICBtYXJnaW4tcmlnaHQ6IDJyZW07IH1cblxuLm1hcmdpbi1yaWdodC0zIHtcbiAgbWFyZ2luLXJpZ2h0OiAzcmVtOyB9XG5cbi5tYXJnaW4tcmlnaHQtNCB7XG4gIG1hcmdpbi1yaWdodDogNHJlbTsgfVxuXG4ubWFyZ2luLXJpZ2h0LTUge1xuICBtYXJnaW4tcmlnaHQ6IDVyZW07IH1cblxuLm1hcmdpbi1yaWdodC02IHtcbiAgbWFyZ2luLXJpZ2h0OiA2cmVtOyB9XG5cbi5wYWRkaW5nLTAge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5wYWRkaW5nLTEge1xuICBwYWRkaW5nOiAxcmVtOyB9XG5cbi5wYWRkaW5nLTIge1xuICBwYWRkaW5nOiAycmVtOyB9XG5cbi5wYWRkaW5nLTMge1xuICBwYWRkaW5nOiAzcmVtOyB9XG5cbi5wYWRkaW5nLTQge1xuICBwYWRkaW5nOiA0cmVtOyB9XG5cbi5wYWRkaW5nLTUge1xuICBwYWRkaW5nOiA1cmVtOyB9XG5cbi5wYWRkaW5nLTYge1xuICBwYWRkaW5nOiA2cmVtOyB9XG5cbi5wYWRkaW5nLXRvcC0wIHtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuLnBhZGRpbmctdG9wLTEge1xuICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuXG4ucGFkZGluZy10b3AtMiB7XG4gIHBhZGRpbmctdG9wOiAycmVtOyB9XG5cbi5wYWRkaW5nLXRvcC0zIHtcbiAgcGFkZGluZy10b3A6IDNyZW07IH1cblxuLnBhZGRpbmctdG9wLTQge1xuICBwYWRkaW5nLXRvcDogNHJlbTsgfVxuXG4ucGFkZGluZy10b3AtNSB7XG4gIHBhZGRpbmctdG9wOiA1cmVtOyB9XG5cbi5wYWRkaW5nLXRvcC02IHtcbiAgcGFkZGluZy10b3A6IDZyZW07IH1cblxuLnBhZGRpbmctYm90dG9tLTAge1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4ucGFkZGluZy1ib3R0b20tMSB7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9XG5cbi5wYWRkaW5nLWJvdHRvbS0yIHtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cblxuLnBhZGRpbmctYm90dG9tLTMge1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfVxuXG4ucGFkZGluZy1ib3R0b20tNCB7XG4gIHBhZGRpbmctYm90dG9tOiA0cmVtOyB9XG5cbi5wYWRkaW5nLWJvdHRvbS01IHtcbiAgcGFkZGluZy1ib3R0b206IDVyZW07IH1cblxuLnBhZGRpbmctYm90dG9tLTYge1xuICBwYWRkaW5nLWJvdHRvbTogNnJlbTsgfVxuXG4ucGFkZGluZy1sZWZ0LTAge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnBhZGRpbmctbGVmdC0xIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG5cbi5wYWRkaW5nLWxlZnQtMiB7XG4gIHBhZGRpbmctbGVmdDogMnJlbTsgfVxuXG4ucGFkZGluZy1sZWZ0LTMge1xuICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLnBhZGRpbmctbGVmdC00IHtcbiAgcGFkZGluZy1sZWZ0OiA0cmVtOyB9XG5cbi5wYWRkaW5nLWxlZnQtNSB7XG4gIHBhZGRpbmctbGVmdDogNXJlbTsgfVxuXG4ucGFkZGluZy1sZWZ0LTYge1xuICBwYWRkaW5nLWxlZnQ6IDZyZW07IH1cblxuLnBhZGRpbmctcmlnaHQtMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLnBhZGRpbmctcmlnaHQtMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cblxuLnBhZGRpbmctcmlnaHQtMiB7XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW07IH1cblxuLnBhZGRpbmctcmlnaHQtMyB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07IH1cblxuLnBhZGRpbmctcmlnaHQtNCB7XG4gIHBhZGRpbmctcmlnaHQ6IDRyZW07IH1cblxuLnBhZGRpbmctcmlnaHQtNSB7XG4gIHBhZGRpbmctcmlnaHQ6IDVyZW07IH1cblxuLnBhZGRpbmctcmlnaHQtNiB7XG4gIHBhZGRpbmctcmlnaHQ6IDZyZW07IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgfVxuICBoZWFkZXIuc3RpY2t5LWNvbnRhaW5lciAuc3RpY2t5OjpiZWZvcmUge1xuICAgIGhlaWdodDogMDsgfVxuICAubm8tc2xpZGUgaGVhZGVyLnN0aWNreS1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgaGVhZGVyLnN0aWNreS1jb250YWluZXIgLmdyaWQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBoZWlnaHQ6IDkwcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIGhlYWRlci5zdGlja3ktY29udGFpbmVyIC5zdGlja3kge1xuICAgIGJvcmRlcjogMDsgfVxuICAuY29tX2NvbnRlbnQudmlldy1hcnRpY2xlIC5jb21wb25lbnQsXG4gIC5jb21fY29udGVudC52aWV3LWNhdGVnb3J5IC5jb21wb25lbnQsXG4gIC5jb21fYXBwcmVudGljZXNoaXBzIC5jb21wb25lbnQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmFsdC1oZWFkZXItd2FrZWZpZWxkLWRhcmstZ3JlZW4uZmFjdHNoZWV0IGgyLFxuICAuYWx0LWhlYWRlci13YWtlZmllbGQtZGFyay1ncmVlbiAuY2FsbG91dF9faW5mbyBzcGFuLFxuICAuYWx0LWhlYWRlci13YWtlZmllbGQtZGFyay1ncmVlbiAuY291cnNlX19jb250YWluZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBjb2xvcjogIzM2QUU3MiAhaW1wb3J0YW50OyB9XG4gIC5hbHQtaGVhZGVyLXdha2VmaWVsZC1kYXJrLWdyZWVuIC5zaWRlYmFyIHtcbiAgICBib3JkZXItY29sb3I6ICMzNkFFNzI7IH1cbiAgLmFsdC1oZWFkZXItY2FzdGxlZm9yZC1kYXJrLWJsdWUuZmFjdHNoZWV0IGgyLFxuICAuYWx0LWhlYWRlci1jYXN0bGVmb3JkLWRhcmstYmx1ZSAuY2FsbG91dF9faW5mbyBzcGFuLFxuICAuYWx0LWhlYWRlci1jYXN0bGVmb3JkLWRhcmstYmx1ZSAuY291cnNlX19jb250YWluZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBjb2xvcjogIzAwODFENiAhaW1wb3J0YW50OyB9XG4gIC5hbHQtaGVhZGVyLWNhc3RsZWZvcmQtZGFyay1ibHVlIC5zaWRlYmFyIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDgxRDY7IH1cbiAgLmFsdC1oZWFkZXItc2VsYnktZGFyay1yZWQuZmFjdHNoZWV0IGgyLFxuICAuYWx0LWhlYWRlci1zZWxieS1kYXJrLXJlZCAuY2FsbG91dF9faW5mbyBzcGFuLFxuICAuYWx0LWhlYWRlci1zZWxieS1kYXJrLXJlZCAuY291cnNlX19jb250YWluZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBjb2xvcjogI0NEMTYxOSAhaW1wb3J0YW50OyB9XG4gIC5hbHQtaGVhZGVyLXNlbGJ5LWRhcmstcmVkIC5zaWRlYmFyIHtcbiAgICBib3JkZXItY29sb3I6ICNDRDE2MTk7IH1cbiAgLmNvbXBvbmVudCAucGFnZS1oZWFkZXIgaDEge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgbWF4LXdpZHRoOiA2NSU7IH1cbiAgLmZhY3RzaGVldCBoMixcbiAgLmNvdXJzZV9fY29udGFpbmVyIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgLmNvdXJzZV9fY29udGFpbmVyIC5hY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5hbHQtaGVhZGVyIC5wYWdlLWhlYWRlcjo6YmVmb3JlIHtcbiAgICBoZWlnaHQ6IDI1MHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgLnNpZGViYXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMwMDA7IH1cbiAgLmZhY3RzaGVldCAubm8taW1hZ2Uge1xuICAgIG1hcmdpbi10b3A6IDVyZW07IH1cbiAgaGVhZGVyLnN0aWNreS1jb250YWluZXIgLmhlYWRlcl9fbG9nbyBzdmcge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLnNpZGViYXIgLm1vZHVsZXRhYmxlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tb2RfY291cnNlaW5mbyAuY2FsbG91dF9faW5mby1ibG9jayxcbiAgLm1vZF9jb3Vyc2VpbmZvIC5tb2RfY291cnNlaW5mby1idXR0b25zIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzQwNDA0MCAhaW1wb3J0YW50OyB9XG4gIC5jYWxsb3V0X19pbmZvIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5jYWxsb3V0X19pbmZvIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmhlYWRlcl9fdG9wbGlua3MsXG4gIC5oZWFkZXJfX21haW5tZW51LFxuICAuY291cnNlX19wYXRod2F5cyxcbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlLFxuICBhc2lkZS5zaWRlYmFyIC5idXR0b24sXG4gIGZvcm0sXG4gIGZvb3RlcixcbiAgI0M0QV9sbmsxLFxuICAuaGVhZGVyX19sb2dvLWJyYW5kIHNwYW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50ID4gKiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IG1haW4sXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaGVhZGVyX19sb2dvIGEsXG4gIC5oZWFkZXJfX2xvZ28gLmhlYWRlcl9fbG9nby1icmFuZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgdG9wOiAwOyB9XG4gIC5oZWFkZXJfX2xvZ28gLmhlYWRlcl9fbG9nby1icmFuZCB7XG4gICAgcmlnaHQ6IDE1cHg7IH1cbiAgLmFsdC1oZWFkZXIgaDEsXG4gIGhlYWRlci5zdGlja3ktY29udGFpbmVyIC5oZWFkZXJfX2xvZ28tYnJhbmQgc3BhbiB7XG4gICAgY29sb3I6ICNmOGY4ZjggIWltcG9ydGFudDsgfVxuICBwLCBsaSwgbWFpbiB1bCBsaSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgY29sb3I6ICM0MDQwNDAgIWltcG9ydGFudDsgfVxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkLFxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9IH1cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi43LjNcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIC0tLSBEZXBlbmRlbmNpZXMgLS0tXG5AaW1wb3J0ICd2ZW5kb3Ivbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyAtLS0gU2V0dGluZ3MgLS0tXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIC0tLSBDb21wb25lbnRzIC0tLVxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuLy8gR2xvYmFsIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5cbi8vIEdyaWRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbi8vIEdlbmVyaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbi8vIEJhc2ljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbi8vIENvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5cbi8vIExheW91dCBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcblxuLy8gSGVscGVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZSxcbiAgJHh5LWdyaWQ6ICR4eS1ncmlkXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpZiAkeHktZ3JpZCB7XG4gICAgJHh5LWdyaWQ6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vL1xuLy8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcblxuJC16Zi1zaXplOiBudWxsO1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBIaURQSSBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcyBmb3IgcmVzb2x1dGlvbnMuXG4vLy8gVmFsdWVzIG11c3QgcmVwcmVzZW50IHRoZSBkZXZpY2UgcGl4ZWxzIC8gd2ViIHBpeGVscyByYXRpb24gYW5kIGJlIHVuaXRsZXNzIG9yIGluIERQUFguXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHMtaGlkcGk6IChcbiAgaGlkcGktMTogMSxcbiAgaGlkcGktMS01OiAxLjUsXG4gIGhpZHBpLTI6IDIsXG4gIHJldGluYTogMixcbiAgaGlkcGktMzogM1xuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBXZWIgc3RhbmRhcmQgUGl4ZWxzIHBlciBpbmNoLiAoMWRkcHggLyAkc3RkLXdlYi1kcGkpID0gMWRwaVxuICAvLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy12YWx1ZXMtMy8jYWJzb2x1dGUtbGVuZ3Roc1xuICAkc3RkLXdlYi1kcGk6IDk2O1xuXG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgb2YgdGhlIGZvbGxvd2luZyBicmVha3BvaW50XG4gICRicC1uZXh0OiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1pbjogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1pbi13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IG51bGw7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBJZiBuYW1lZCwgbmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuICAkbmFtZTogbnVsbDtcbiAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSBIaURQSSBicmVha3BvaW50XG4gICRoaWRwaTogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG5cbiAgLy8gSWYgYSBicmVha3BvaW50IG5hbWUgaXMgZ2l2ZW4sIGdldCBpdHMgdmFsdWUgZnJvbSB0aGUgJGJyZWFrcG9pbnRzLyRicmVha3BvaW50cy1oaWRwaSBtYXAuXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cy1oaWRwaSwgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cy1oaWRwaSwgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dC1udW1iZXIoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApO1xuICAgICAgJGhpZHBpOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyIGAkYnJlYWtwb2ludHNgIG9yIGAkYnJlYWtwb2ludHMtaGlkcGlgIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICBAaWYgbm90ICRuYW1lIGFuZCAkZGlyID09ICdvbmx5JyB7XG4gICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIE9ubHkgJ29ubHknIGFuZCAndXAnIGhhdmUgYSBtaW4gbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICd1cCcge1xuICAgICRicC1taW46IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gIH1cbiAgLy8gT25seSAnb25seScgYW5kICdkb3duJyBoYXZlIGEgbWF4IGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgdmFsdWUsIHVzZSBpdCBhcyBtYXggbGltaXQuXG4gICAgQGlmIG5vdCAkbmFtZSB7XG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICAgIH1cbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBuYW1lZCwgdGhlIG1heCBsaW1pdCBpcyB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnQgLSAxcHguXG4gICAgQGVsc2UgaWYgJGJwLW5leHQge1xuICAgICAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAgICAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgJGJwLW5leHQgLSBkaXZpZGUoMSwgJHN0ZC13ZWItZHBpKSwgLXpmLWJwLXRvLWVtKCRicC1uZXh0KSAtIDAuMDAxMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyYXRlIHRoZSBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSBtaW4gYW5kIG1heCBsaW1pdHMuXG4gIEBpZiAkaGlkcGkge1xuICAgIC8vIEdlbmVyYXRlIHZhbHVlcyBpbiBEUEkgaW5zdGVhZCBvZiBEUFBYIGZvciBhbiBJRTktMTEvT3BlcmEgbWluaSBjb21wYXRpYmlsaXR5LlxuICAgIC8vIFNlZSBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gICAgJGJwLW1pbi1kcGk6IGlmKCRicC1taW4sICRicC1taW4gKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWluKTtcbiAgICAkYnAtbWF4LWRwaTogaWYoJGJwLW1heCwgJGJwLW1heCAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1tYXgpO1xuICAgIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4LCAnLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvJywgJy13ZWJraXQtbWF4LWRldmljZS1waXhlbC1yYXRpbycpLFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbi1kcGksICRicC1tYXgtZHBpLCAnbWluLXJlc29sdXRpb24nLCAnbWF4LXJlc29sdXRpb24nKSxcbiAgICAgICcsICcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgpO1xuICB9XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgYW5kIGAkYnJlYWtwb2ludHMtaGlkcGlgIG1hcHMsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBJZiBtdWx0aXBsZSB2YWx1ZXMgYXJlIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgZ2VuZXJhdGUgYSBtZWRpYSBxdWVyeSBmb3IgZWFjaCBvZiB0aGVtIGFzIGRlc2NyaWJlZCBhYm92ZS5cbi8vLyBTaW5jZSB0aGUgY29udGVudCBpcyBkdXBsaWNhdGVkIGZvciBlYWNoIGJyZWFrcG9pbnQsIHRoaXMgbWl4aW4gc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIHByb3BlcnRpZXMgdGhhdFxuLy8vIGNoYW5nZSBhY3Jvc3MgYnJlYWtwb2ludHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWVzLi4uIC0gQnJlYWtwb2ludCBuYW1lIG9yIHB4L3JlbS9lbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWVzLi4uKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZXMpIHtcbiAgICAkdmFsdWU6IG50aCgkdmFsdWVzLCAkaSk7XG4gICAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCBudGgoJHZhbHVlLCAxKSk7XG4gICAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG4gICAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgICAkZGlyOiBpZihsZW5ndGgoJHZhbHVlKSA+IDEsIG50aCgkdmFsdWUsIDIpLCB1cCk7XG5cbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gICAgQGlmICRzdHIgPT0gJycge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgICBAZWxzZSB7XG4gICAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgICAvLyBnZW5lcmF0ZSBwcmludCBpZiB0aGUgYnJlYWtwb2ludCBhZmZlY3RzIHRoZSBwcmludC1icmVha3BvaW50IChvciBzbWFsbGVyKS5cbiAgICAgIC8vIFRoaXMgbWVhbnMgdGhlIGN1cnJlbnQgY29uZGl0aW9uIG9ubHkgbmVlZHMgdG8gYmUgZXh0ZW5kZWQgc28gJ2Rvd24nIGFsd2F5cyBnZW5lcmF0ZXMgcHJpbnQuXG4gICAgICBAaWYgJGJwICE9IG51bGwgYW5kICgkYnAgPD0gJHBicCBvciAkZGlyID09IGRvd24pIHtcbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEZpbmQgdGhlIG5leHQgbnVtYmVyIGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJG51bWJlciAtIE51bWJlciB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIG51bWJlciBmb2xsb3dpbmcgYCRudW1iZXJgLCBpZiBgJG51bWJlcmAgd2FzIGZvdW5kLiBJZiBgJG51bWJlcmAgd2FzIG5vdCBmb3VuZCwgb3IgYCRudW1iZXJgIHdhcyB0aGUgYmlnZ2VzdCBudW1iZXIgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0LW51bWJlcigkbWFwLCAkbnVtYmVyKSB7XG5cbiAgJG5leHRfbnVtYmVyOiBudWxsO1xuXG4gIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICBAaWYgdHlwZS1vZigkdikgPT0gJ251bWJlcicgYW5kICR2ID4gJG51bWJlciBhbmQgKCRuZXh0X251bWJlciA9PSBudWxsIG9yICR2IDwgJG5leHRfbnVtYmVyKSB7XG4gICAgICAkbmV4dF9udW1iZXI6ICR2O1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5leHRfbnVtYmVyO1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vLyBSZXR1cm4gdGhlIGJlc3QgYnJlYWtwb2ludCB0byB1c2UgYWNjb3JkaW5nIHRvIHRoZSBjYWxsaW5nIGNvbnRleHQuIEl0IHJldHVybnMgaW4gb3JkZXI6XG4vLy8gMS4gdGhlIGdpdmVuIGAkdmFsdWVgIGFyZ3VtZW50IGlmIGl0IGlzIG5vdCBudWxsLlxuLy8vIDIuIHRoZSBnbG9iYWwgYnJlYWtwb2ludCBjb250ZXh0IGAkLXpmLXNpemVgIGlmIGl0IGlzIG5vdCBudWxsIChsaWtlIGlmIGNhbGxlZCBpbnNpZGUgdGhlbiBgYnJlYWtwb2ludCgpYCBtaXhpbilcbi8vLyAzLiB0aGUgZ2l2ZW4gYCRkZWZhdWx0YCBhcmd1bWVudC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGluIHByaW9yaXR5IGlmIG5vbi1udWxsLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRlZmF1bHQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgYnkgZGVmYXVsdCBpZiBubyBvdGhlciB2YWx1ZSBjYW4gYmUgdXNlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0tleXdvcmR9IFRoZSByZXNvbHZlZCBicmVha3BvaW50LlxuQGZ1bmN0aW9uIC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJHZhbHVlOiBudWxsLCAkZGVmYXVsdDogbnVsbCkge1xuICBAaWYgKCR2YWx1ZSAhPSBudWxsKSB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgQGVsc2UgaWYgKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICBAcmV0dXJuICQtemYtc2l6ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkZGVmYXVsdDtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIHRoZSBnaXZlbiBtaW4gYW5kL29yIG1heCBsaW1pdHMuXG4vLy8gSWYgYSBsaW1pdCBpcyBlcXVhbCB0byBgbnVsbGAgb3IgYDBgLCBpdCBpcyBpZ25vcmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtaW4gWzBdIC0gTWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IFswXSAtIE1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1pbi1uYW1lIFsnbWluLXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWxpbWl0ZXIgWydtYXgtd2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IE1lZGlhIFF1ZXJ5IHN0cmluZy5cbkBmdW5jdGlvbiAtemYtYnAtam9pbihcbiAgJG1pbjogMCxcbiAgJG1heDogMCxcbiAgJG1pbi1uYW1lOiAnbWluLXdpZHRoJyxcbiAgJG1heC1uYW1lOiAnbWF4LXdpZHRoJ1xuKSB7XG4gIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgaWYoJG1pbiBhbmQgJG1pbiA+IDAsICcoI3skbWluLW5hbWV9OiAjeyRtaW59KScsIG51bGwpLFxuICAgIGlmKCRtYXggYW5kICRtYXggPiAwLCAnKCN7JG1heC1uYW1lfTogI3skbWF4fSknLCBudWxsKSxcbiAgICAnIGFuZCAnKTtcbn1cblxuJHNtYWxsLXVwOiAnJztcbiRzbWFsbC1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuJG1lZGl1bS11cDogJyc7XG4kbWVkaXVtLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbiRsYXJnZS11cDogJyc7XG4kbGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4bGFyZ2UtdXA6ICcnO1xuJHhsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG4keHhsYXJnZS11cDogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cblxuLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4vLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG4vLyBUaGlzIHNob3VsZCBiZSBpbiB0aGUgc2FtZSBicmVha3BvaW50IHRoZW4gYEBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGhgXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcblxuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICAvLyBFeHRlbmRzIG11c3QgYmUgbWFkZSBvdXRzaWRlIG9mIGJyZWFrcG9pbnRzIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbmV3ZXIgU2FzcyB2ZXJzaW9ucyAobGlic2FzcyB2My41KVxuICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcblxuICAvLy8gRGlzYWJsZXMgdGhlIHNjcm9sbCB3aGVuIFJldmVhbCBpcyBzaG93biB0byBwcmV2ZW50IHRoZSBiYWNrZ3JvdW5kIGZyb20gc2hpZnRpbmdcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcblxuICAgICYuemYtaGFzLXNjcm9sbCB7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuXG4gICAgYm9keSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW5vcm1hbGl6ZSgpIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8vIERvY3VtZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cblxuICBodG1sIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICB9XG5cbiAgLy8gU2VjdGlvbnNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAvLyBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLy8gR3JvdXBpbmcgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gIC8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICAgIGhlaWdodDogMDsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgcHJlIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAvLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyAvLyAxXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGNvZGUsXG4gIGtiZCxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAvLyBhbGwgYnJvd3NlcnMuXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAvLyBFbWJlZGRlZCBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cblxuICBpbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZvcm1zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8vIDFcbiAgICBmb250LXNpemU6IDEwMCU7IC8vIDFcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIG1hcmdpbjogMDsgLy8gMlxuICB9XG5cbiAgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gIC8vIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCB7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAvLyAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uLFxuICBzZWxlY3QgeyAvLyAxXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgLy8gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAvLyAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cblxuICBsZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gM1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbiAgcHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG5cbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDJcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAvLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG5cbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbiAgICBmb250OiBpbmhlcml0OyAvLyAyXG4gIH1cblxuICAvLyBJbnRlcmFjdGl2ZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG5cbiAgZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG5cbiAgLy8gTWlzY1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cblxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuXG4gIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgc2FmZSBwYWRkaW5nIG9uIHRoZSBib2R5IGZvciBub24tcmVjdGFuZ3VsYXIgZGV2aWNlcyAoaS5lLiBwaG9uZXMgd2l0aCBub3RjaGVzKVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LXNhZmUtcGFkZGluZzogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlIHRoYXQgY29udGFpbnMgdGhlIGZsZXgganVzdGlmeWluZyBvcHRpb25zXG4kLXpmLWZsZXgtanVzdGlmeTogLXpmLWZsZXgtanVzdGlmeSgkZ2xvYmFsLXRleHQtZGlyZWN0aW9uKTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgQGlmICgkYm9keS1zYWZlLXBhZGRpbmcpIHtcbiAgICAgIC8vIHVzaW5nIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBhY2NvdW50IGZvciBub24tcmVjdGFuZ3VsYXIgZGlzcGxheXMgZS5nLiBwaG9uZXMgd2l0aCBub3RjaGVzXG4gICAgICBwYWRkaW5nLXRvcDogZW52KHNhZmUtYXJlYS1pbnNldC10b3ApO1xuICAgICAgcGFkZGluZy1yaWdodDogZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xuICAgICAgcGFkZGluZy1sZWZ0OiBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3NcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vXHJcbi8vICBUYWJsZSBvZiBDb250ZW50czpcclxuLy9cclxuLy8gICAxLiBHbG9iYWxcclxuLy8gICAyLiBCcmVha3BvaW50c1xyXG4vLyAgIDMuIFRoZSBHcmlkXHJcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vICAgNi4gQWJpZGVcclxuLy8gICA3LiBBY2NvcmRpb25cclxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAgIDkuIEJhZGdlXHJcbi8vICAxMC4gQnJlYWRjcnVtYnNcclxuLy8gIDExLiBCdXR0b25cclxuLy8gIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gIDEzLiBDYWxsb3V0XHJcbi8vICAxNC4gQ2FyZFxyXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAgMTYuIERyaWxsZG93blxyXG4vLyAgMTcuIERyb3Bkb3duXHJcbi8vICAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXHJcbi8vICAyMC4gRm9ybXNcclxuLy8gIDIxLiBMYWJlbFxyXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxyXG4vLyAgMjMuIE1lbnVcclxuLy8gIDI0LiBNZXRlclxyXG4vLyAgMjUuIE9mZi1jYW52YXNcclxuLy8gIDI2LiBPcmJpdFxyXG4vLyAgMjcuIFBhZ2luYXRpb25cclxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcclxuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxyXG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxyXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxyXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XHJcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xyXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcclxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcclxuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cclxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxyXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3JcclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XHJcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xyXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXHJcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxyXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXHJcbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXHJcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAgNDcuIFJldmVhbFxyXG4vLyAgNDguIFNsaWRlclxyXG4vLyAgNDkuIFN3aXRjaFxyXG4vLyAgNTAuIFRhYmxlXHJcbi8vICA1MS4gVGFic1xyXG4vLyAgNTIuIFRodW1ibmFpbFxyXG4vLyAgNTMuIFRpdGxlIEJhclxyXG4vLyAgNTQuIFRvb2x0aXBcclxuLy8gIDU1LiBUb3AgQmFyXHJcbi8vICA1Ni4gWHkgR3JpZFxyXG5cclxuQGltcG9ydCAndXRpbC91dGlsJztcclxuXHJcbi8vIDEuIEdsb2JhbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xyXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XHJcbiRkYXJrLWdyYXk6ICM4YThhOGE7XHJcbiR2ZXJ5LWRhcmstZ3JheTogIzI2MjYyNjtcclxuJGJsYWNrOiAjMTYxNjE2O1xyXG4kd2hpdGU6ICNmOGY4Zjg7XHJcblxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XHJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xyXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXHJcbiAgcHJpbWFyeTogI2ExMjQ3MSxcclxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXHJcbiAgc3VjY2VzczogIzNhZGI3NixcclxuICB3YXJuaW5nOiAjZmZhZTAwLFxyXG4gIGFsZXJ0OiAjY2M0YjM3LFxyXG4gIHdoaXRlOiAkd2hpdGUsXHJcbiAgYmxhY2s6ICRibGFjayxcclxuICBjYXN0bGVmb3JkLWJsdWU6ICMwMDgxRDYsXHJcbiAgY2FzdGxlZm9yZC1kYXJrLWJsdWU6ICMwMDEyMkIsXHJcbiAgc2VsYnktcmVkOiAjQ0QxNjE5LFxyXG4gIHNlbGJ5LWRhcmstcmVkOiAjMzQwMjAwLFxyXG4gIHdha2VmaWVsZC1ncmVlbjogIzM2QUU3MixcclxuICB3YWtlZmllbGQtZGFyay1ncmVlbjogIzAwMkExNixcclxuICBob3ktYmx1ZTogIzFjNDc2MCxcclxuICBob3ktcGluazogI2ExMjQ3MSxcclxuICBob3ktcHVycGxlOiAjNTcxZDQyLFxyXG4gIGhveS15ZWxsb3c6ICNmZGI1MjEsXHJcbiAgaG95LWdyZXk6ICM2YTc4ODMsXHJcbiAgaG95LWJyb3duOiAjODI3NjRjLFxyXG4gIGFkdWx0LXB1cnBsZTogIzdmMWU0OSxcclxuICBhZHVsdC1kYXJrLXB1cnBsZTogIzI1MGEzNixcclxuICBhZHVsdC1ibHVlOiAjM2Y4ZGFjLFxyXG4gIGFwcHJlbnRpY2VzaGlwcy1vcmFuZ2U6ICNmNzk0MWQsXHJcbiAgZW1wbG95ZXJzLWRhcmstYmx1ZTogIzAwNDU0YixcclxuICBlbXBsb3llcnMtbGlnaHQtYmx1ZTogIzY1OTg5ZixcclxuICBvZmZXaGl0ZTogI0YwRjBGMCxcclxuICBkYXJrLWdyZXk6ICMzMzMsXHJcbiAgZGFyay1ibHVlOiAjMGUyMzMwLFxyXG4gIGVsZW1lbnRzLW9yYW5nZTogI2YxNWEzYixcclxuICBlbGVtZW50cy1ncmVlbjogIzRhOGI3NCxcclxuICBhc3BpcmUtYmx1ZTogIzNiMmY1OSxcclxuICBhc3BpcmUtcHVycGxlOiAjNWMxYjQ2LFxyXG4gIGVsZW1lbnRzLWFzcGlyZS13aGl0ZTogI2ZmZjNkMFxyXG4pO1xyXG4kYm9keS1iYWNrZ3JvdW5kOiAjRjBGMEYwO1xyXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XHJcbiRib2R5LWZvbnQtZmFtaWx5OiAnQ2F1c3RlbiBSb3VuZCcsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuJGJvZHktc2FmZS1wYWRkaW5nOiBmYWxzZTtcclxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XHJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XHJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XHJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xyXG4kZ2xvYmFsLXJhZGl1czogNHB4O1xyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XHJcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xyXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XHJcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcclxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xyXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG87XHJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XHJcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcclxuJHByaW50LWhyZWZzOiBmYWxzZTtcclxuXHJcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcclxuXHJcbi8vIDIuIEJyZWFrcG9pbnRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWtwb2ludHM6IChcclxuICBzbWFsbDogMCxcclxuICBtZWRpdW06IDY0MHB4LFxyXG4gIGxhcmdlOiAxMDI0cHgsXHJcbiAgeGxhcmdlOiAxMjAwcHgsXHJcbiAgeHhsYXJnZTogMTQ0MHB4LFxyXG4pO1xyXG4kYnJlYWtwb2ludHMtaGlkcGk6IChcclxuICBoaWRwaS0xOiAxLFxyXG4gIGhpZHBpLTEtNTogMS41LFxyXG4gIGhpZHBpLTI6IDIsXHJcbiAgcmV0aW5hOiAyLFxyXG4gIGhpZHBpLTM6IDNcclxuKTtcclxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xyXG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKTtcclxuXHJcbi8vIDMuIFRoZSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XHJcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcclxuICBzbWFsbDogMjBweCxcclxuICBtZWRpdW06IDMwcHgsXHJcbik7XHJcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xyXG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcclxuJGJsb2NrLWdyaWQtbWF4OiA4O1xyXG5cclxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbiRoZWFkZXItZm9udC13ZWlnaHQ6IDkwMDtcclxuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xyXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDExMCU7XHJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kaGVhZGVyLXN0eWxlczogKFxyXG4gIHNtYWxsOiAoXHJcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDM2KSxcclxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjgpLFxyXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXHJcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcclxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxyXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXHJcbiAgKSxcclxuICBtZWRpdW06IChcclxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNTApLFxyXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAzNSksXHJcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMwKSxcclxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxyXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMiksXHJcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcclxuICApLFxyXG4pO1xyXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiRzbWFsbC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XHJcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZTtcclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XHJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XHJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xyXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XHJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XHJcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xyXG4kYmxvY2txdW90ZS1jb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xyXG4kYmxvY2txdW90ZS1wYWRkaW5nOiAwO1xyXG4kYmxvY2txdW90ZS1ib3JkZXI6IG5vbmU7XHJcbiRlbmFibGUtY2l0ZS1ibG9jazogdHJ1ZTtcclxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XHJcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xyXG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XHJcblxyXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kbGVhZC1mb250LXNpemU6IHJlbS1jYWxjKDI0KTtcclxuJGxlYWQtbGluZWhlaWdodDogMS42O1xyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcclxuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xyXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XHJcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XHJcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XHJcbiRjb2RlLWJsb2NrLXBhZGRpbmc6IDFyZW07XHJcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuXHJcbi8vIDYuIEFiaWRlXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xyXG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XHJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cclxuLy8gNy4gQWNjb3JkaW9uXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xyXG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogJ1xcZjEzYSc7XHJcbiRhY2NvcmRpb24tbWludXMtY29udGVudDogJ1xcZjEzOSc7XHJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xyXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAzcHggc29saWQgJGRhcmstZ3JheTtcclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcclxuXHJcbi8vIDguIEFjY29yZGlvbiBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcclxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xyXG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xyXG5cclxuLy8gOS4gQmFkZ2VcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XHJcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xyXG5cclxuLy8gMTAuIEJyZWFkY3J1bWJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XHJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG5cclxuLy8gMTEuIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiA4MDA7XHJcbiRidXR0b24tcGFkZGluZzogcmVtLWNhbGMoOSAxNSk7XHJcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcclxuJGJ1dHRvbi1maWxsOiBzb2xpZDtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiBnZXQtY29sb3IoaG95LXBpbmspO1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XHJcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcclxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJ1dHRvbi1yYWRpdXM6IDA7XHJcbiRidXR0b24tYm9yZGVyOiBub25lO1xyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDJweDtcclxuJGJ1dHRvbi1zaXplczogKFxyXG4gIHRpbnk6IDAuNnJlbSxcclxuICBzbWFsbDogcmVtLWNhbGMoMTYpLFxyXG4gIGRlZmF1bHQ6IHJlbS1jYWxjKDE4KSxcclxuICBsYXJnZTogcmVtLWNhbGMoMTgpXHJcbik7XHJcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XHJcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XHJcbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2U7XHJcblxyXG4vLyAxMi4gQnV0dG9uIEdyb3VwXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRidXR0b25ncm91cC1tYXJnaW46IHJlbS1jYWxjKDE1KTtcclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IHJlbS1jYWxjKDE1KTtcclxuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XHJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xyXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XHJcblxyXG4vLyAxMy4gQ2FsbG91dFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcclxuJGNhbGxvdXQtYm9yZGVyOiBub25lO1xyXG4kY2FsbG91dC1tYXJnaW46IHJlbS1jYWxjKDAgMCAzNSAwKTtcclxuJGNhbGxvdXQtc2l6ZXM6IChcclxuICBzbWFsbDogMC41cmVtLFxyXG4gIGRlZmF1bHQ6IDFyZW0sXHJcbiAgbGFyZ2U6IDNyZW0sXHJcbik7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4kY2FsbG91dC1yYWRpdXM6IDA7XHJcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xyXG5cclxuLy8gMTQuIENhcmRcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRjYXJkLXNoYWRvdzogbm9uZTtcclxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcblxyXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xyXG4kY2xvc2VidXR0b24tei1pbmRleDogMTA7XHJcbiRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemU6IG1lZGl1bTtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXHJcbiAgc21hbGw6IDAuNjZyZW0sXHJcbiAgbWVkaXVtOiAxcmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXHJcbiAgc21hbGw6IDAuMzNlbSxcclxuICBtZWRpdW06IDAuNXJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLXNpemU6IChcclxuICBzbWFsbDogMS41ZW0sXHJcbiAgbWVkaXVtOiAyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xyXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xyXG5cclxuLy8gMTYuIERyaWxsZG93blxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XHJcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XHJcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XHJcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcclxuXHJcbi8vIDE3LiBEcm9wZG93blxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xyXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcclxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRkcm9wZG93bi1zaXplczogKFxyXG4gIHRpbnk6IDEwMHB4LFxyXG4gIHNtYWxsOiAyMDBweCxcclxuICBsYXJnZTogNDAwcHgsXHJcbik7XHJcblxyXG4vLyAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IGZhbHNlO1xyXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xyXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XHJcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsO1xyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XHJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XHJcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiBub25lO1xyXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xyXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcclxuXHJcbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcclxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcclxuXHJcbi8vIDIwLiBGb3Jtc1xyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XHJcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDI1KTtcclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XHJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xyXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6IDkwMDtcclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDE7XHJcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc2VsZWN0LXJhZGl1czogMDtcclxuJGlucHV0LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xyXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XHJcbiRpbnB1dC1ib3JkZXI6IDJweCBzb2xpZCAjZTBlMGUwO1xyXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAycHggc29saWQgZ2V0LWNvbG9yKHByaW1hcnkpO1xyXG4kaW5wdXQtcGFkZGluZzogcmVtLWNhbGMoOCk7XHJcbiRpbnB1dC1zaGFkb3c6IG5vbmU7XHJcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcclxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xyXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xyXG4kaW5wdXQtcmFkaXVzOiAwO1xyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIxLiBMYWJlbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkdmVyeS1kYXJrLWdyYXk7XHJcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xyXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kbGFiZWwtZm9udC1zaXplOiAwLjlyZW07XHJcbiRsYWJlbC1wYWRkaW5nOiByZW0tY2FsYygzIDYpO1xyXG4kbGFiZWwtcmFkaXVzOiAwO1xyXG5cclxuLy8gMjIuIE1lZGlhIE9iamVjdFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XHJcblxyXG4vLyAyMy4gTWVudVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJG1lbnUtbWFyZ2luOiAwO1xyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XHJcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XHJcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogJGJsYWNrO1xyXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XHJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XHJcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xyXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcclxuXHJcbi8vIDI0LiBNZXRlclxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRtZXRlci1oZWlnaHQ6IDFyZW07XHJcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XHJcblxyXG4vLyAyNS4gT2ZmLWNhbnZhc1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJG9mZmNhbnZhcy1zaXplczogKFxyXG4gIHNtYWxsOiAyNTBweCxcclxuKTtcclxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxyXG4gIHNtYWxsOiAyNTBweCxcclxuKTtcclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRvZmZjYW52YXMtc2hhZG93OiAwO1xyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XHJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xyXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjYpO1xyXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xyXG5cclxuLy8gMjYuIE9yYml0XHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xyXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XHJcblxyXG4vLyAyNy4gUGFnaW5hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoNSAxOSk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMTApO1xyXG4kcGFnaW5hdGlvbi1yYWRpdXM6IDA7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkbGlnaHQtZ3JheTtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkbGlnaHQtZ3JheTtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xyXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IHRydWU7XHJcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IHRydWU7XHJcbiRwYWdpbmF0aW9uLWFycm93czogZmFsc2U7XHJcbiRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzOiAnXFwwMEFCJztcclxuJHBhZ2luYXRpb24tYXJyb3ctbmV4dDogJ1xcMDBCQic7XHJcblxyXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XHJcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXHJcbiAgZG93bixcclxuICB1cCxcclxuICByaWdodCxcclxuICBsZWZ0XHJcbik7XHJcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xyXG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XHJcblxyXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG5cclxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuXHJcbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcclxuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XHJcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcblxyXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWRpc3BsYXk6IChcclxuICBpbmxpbmUsXHJcbiAgaW5saW5lLWJsb2NrLFxyXG4gIGJsb2NrLFxyXG4gIHRhYmxlLFxyXG4gIHRhYmxlLWNlbGxcclxuKTtcclxuXHJcbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xyXG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cclxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcclxuICBkaXNjLFxyXG4gIGNpcmNsZSxcclxuICBzcXVhcmVcclxuKTtcclxuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcclxuICBkZWNpbWFsLFxyXG4gIGxvd2VyLWFscGhhLFxyXG4gIGxvd2VyLWxhdGluLFxyXG4gIGxvd2VyLXJvbWFuLFxyXG4gIHVwcGVyLWFscGhhLFxyXG4gIHVwcGVyLWxhdGluLFxyXG4gIHVwcGVyLXJvbWFuXHJcbik7XHJcblxyXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXHJcbiAgdmlzaWJsZSxcclxuICBoaWRkZW4sXHJcbiAgc2Nyb2xsXHJcbik7XHJcblxyXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXHJcbiAgc3RhdGljLFxyXG4gIHJlbGF0aXZlLFxyXG4gIGFic29sdXRlLFxyXG4gIGZpeGVkXHJcbik7XHJcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xyXG5cclxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcclxuXHJcbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XHJcblxyXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNiksIDAgMnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xyXG5cclxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zaXppbmc6IChcclxuICB3aWR0aCxcclxuICBoZWlnaHRcclxuKTtcclxuJHByb3RvdHlwZS1zaXplczogKFxyXG4gIDI1OiAyNSUsXHJcbiAgNTA6IDUwJSxcclxuICA3NTogNzUlLFxyXG4gIDEwMDogMTAwJVxyXG4pO1xyXG5cclxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xyXG5cclxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXHJcbiAgb3ZlcmxpbmUsXHJcbiAgdW5kZXJsaW5lLFxyXG4gIGxpbmUtdGhyb3VnaCxcclxuKTtcclxuXHJcbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcclxuICBsb3dlcmNhc2UsXHJcbiAgdXBwZXJjYXNlLFxyXG4gIGNhcGl0YWxpemVcclxuKTtcclxuXHJcbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cclxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcclxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXHJcbiAgZGVmYXVsdDogNCBieSAzLFxyXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXHJcbik7XHJcblxyXG4vLyA0Ny4gUmV2ZWFsXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcmV2ZWFsLXppbmRleDogMTAwNTtcclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcclxuXHJcbi8vIDQ4LiBTbGlkZXJcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xyXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xyXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gNDkuIFN3aXRjaFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XHJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XHJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcclxuJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkOiAwLjU7XHJcbiRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcclxuXHJcbi8vIDUwLiBUYWJsZVxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XHJcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xyXG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xyXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLXN0cmlwZTogZXZlbjtcclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAqIDAuNSk7XHJcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xyXG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xyXG5cclxuLy8gNTEuIFRhYnNcclxuLy8gLS0tLS0tLS1cclxuXHJcbiR0YWItbWFyZ2luOiAwO1xyXG4kdGFiLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4kdGFiLWNvbG9yOiAkd2hpdGU7XHJcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICR3aGl0ZTtcclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygyOCk7XHJcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XHJcbiR0YWItaXRlbS1wYWRkaW5nOiByZW0tY2FsYygxMCAyNSk7XHJcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWItY29udGVudC1ib3JkZXI6IHRyYW5zcGFyZW50O1xyXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiR0YWItY29udGVudC1wYWRkaW5nOiByZW0tY2FsYygzMCk7XHJcblxyXG4vLyA1Mi4gVGh1bWJuYWlsXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlO1xyXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xyXG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcclxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA1My4gVGl0bGUgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XHJcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xyXG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcclxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuXHJcbi8vIDU0LiBUb29sdGlwXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XHJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XHJcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XHJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gNTUuIFRvcCBCYXJcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xyXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcclxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcclxuXHJcbi8vIDU2LiBYeSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4keHktZ3JpZDogdHJ1ZTtcclxuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xyXG4kZ3JpZC1jb2x1bW5zOiAxMjtcclxuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcclxuICBzbWFsbDogMjBweCxcclxuICBtZWRpdW06IDMwcHhcclxuKTtcclxuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcclxuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcclxuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcclxuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLy9cbi8vLyBQYXRjaCB0byBmaXggaXNzdWUgIzEyMDgwXG4kLXpmLXBiLXZhbHVlOiBudWxsO1xuXG4vLy8vXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogZGl2aWRlKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSwgJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkaSkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZShcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGUgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBwYWRkaW5nOiAwICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiBoaWRkZW4gI3skaW1wb3J0YW50fTtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKSAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICN7JGltcG9ydGFudH07XG4gIGJvcmRlcjogMCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBzdGF0aWMgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiBhdXRvICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiB2aXNpYmxlICN7JGltcG9ydGFudH07XG4gIGNsaXA6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KFxuICAkc21hbGw6IHRydWUsXG4gICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oYXV0bywgLXpmLWJvb2woJHNtYWxsKSwgLXpmLWJvb2woJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzKSkge1xuICAgIEBjb250ZW50XG4gIH07XG59XG5cbi8vLyBJdGVyYXRlcyB3aXRoIGBAY29udGVudGAgdGhyb3VnaCB0aGUgZ2l2ZW4gbGlzdCBvZiBicmVha3BvaW50cyBgJGJyZWFrcG9pbnRzYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRicmVha3BvaW50cyBbYXV0b10gLSBCcmVha3BvaW50cyB0byBpdGVyYXRlcyBvbi4gSXQgY2FuIGJlIGEgYnJlYWtwb2ludCBuYW1lLCBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIGBhdXRvYCBmb3IgYWxsIGJyZWFrcG9pbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxOdWxsfSAkemVyby1icmVha3BvaW50IFtudWxsXSAtIFdoZXRoZXIgdGhlIHplcm8tYnJlYWtwb2ludCAob2Z0ZW4gYHNtYWxsYCkgbXVzdCBiZSBpbmNsdWRlZC4gSWYgYHRydWVgLCBpdCB3aWxsIGFsd2F5cyBiZSBhZGRlZCB0byB0aGUgbGlzdCBpZiBub3QgYWxyZWFkeSB0aGVyZS4gSWYgYGZhbHNlYCwgaXQgd2lsbCBhbHdheXMgYmUgcmVtb3ZlZC4gRG9lcyBub3RoaW5nIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtCb29sZWFufEtleXdvcmR9ICRtZWRpYS1xdWVyaWVzIFt0cnVlXSAtIFdoZXRoZXIgbWVkaWEtcXVlcmllcyBtdXN0IGJlIGdlbmVyYXRlZC4gSWYgYGZvci1saXN0c2AsIG9ubHkgZ2VuZXJhdGUgbWVkaWEtcXVlcmllcyB3aGVuIGAkYnJlYWtwb2ludHNgIGlzIGEgbGlzdC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50LWluKFxuICAkYnJlYWtwb2ludHM6IGF1dG8sXG4gICR6ZXJvLWJyZWFrcG9pbnQ6IG51bGwsXG4gICRtZWRpYS1xdWVyaWVzOiB0cnVlXG4pIHtcbiAgJC1saXN0OiAoKTtcbiAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IHRydWU7XG5cbiAgLy8gUmV0cmlldmUgdGhlIGxpc3Qgb2YgYnJlYWtwb2ludChzKSB0byBpdGVyYXRlIG9uLlxuICBAaWYgJGJyZWFrcG9pbnRzID09IGF1dG8ge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ2xpc3QnIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50cztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ3N0cmluZycge1xuICAgICQtbGlzdDogKCRicmVha3BvaW50cyk7XG4gICAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IGZhbHNlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgXCIkYnJlYWtwb2ludHNcIiBpbiBcIi16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oKVwiLiBHb3QgXCIjeyRicmVha3BvaW50c31cIiAoI3t0eXBlLW9mKCRicmVha3BvaW50cyl9KS4gRXhwZWN0ZWQgYSBicmVha3BvaW50IG5hbWUsIGEgbGlzdCBvZiBicmVha3BvaW50cyBvciBcImF1dG9cIic7XG4gIH1cblxuICAvLyBBZGQgb3IgcmVtb3ZlIHRoZSB6ZXJvIGJyZWFrcG9pbnQgYWNjb3JkaW5nIHRvIGAkemVyby1icmVha3BvaW50YFxuICBAaWYgJHplcm8tYnJlYWtwb2ludCA9PSB0cnVlIHtcbiAgICAkLWxpc3Q6IGpvaW4oKCQtemYtemVyby1icmVha3BvaW50KSwgc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpKTtcbiAgfVxuICBAZWxzZSBpZiAkemVyby1icmVha3BvaW50ID09IGZhbHNlIHtcbiAgICAkLWxpc3Q6IHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIEl0ZXJhdGUgb24gYnJlYWtwb2ludChzKVxuICBAZWFjaCAkYnAgaW4gJC1saXN0IHtcbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6ICRicCAhZ2xvYmFsO1xuXG4gICAgQGlmICgkbWVkaWEtcXVlcmllcyA9PSB0cnVlXG4gICAgICBvciAoJG1lZGlhLXF1ZXJpZXMgPT0gJ2Zvci1saXN0cycgYW5kICQtYnJlYWtwb2ludHMtaXMtYS1saXN0KSkge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJGJwLXZhbHVlOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgICBAaWYgJGJwLXZhbHVlICE9IG51bGwge1xuICAgICAgICAkbmFtZTogJGJwLXZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nICogMC41ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gIDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiR1bml0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuIGRpdmlkZSgkbnVtLCAkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogZGl2aWRlKCRiYXNlLCAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEBpZiAkdW5pdC13YXJuaW5ncyB7XG4gICAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgfVxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogZGl2aWRlKHN0cmlwLXVuaXQoJHZhbHVlKSwgc3RyaXAtdW5pdCgkYmFzZSkpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiBkaXZpZGUoJGJhc2UsIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldCdzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogZGl2aWRlKCR2YWx1ZSwgMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBkaXZpZGUoc3RyaXAtdW5pdCgkdmFsdWUpLCBzdHJpcC11bml0KCRiYXNlKSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlciB0aGFuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuIGRpdmlkZSgkdmFsdWUsIHN0cmlwLXVuaXQoJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAqIDAuNSArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqICRpbnB1dC1saW5lLWhlaWdodCkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgJjpub3QoW211bHRpcGxlXSkge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7XG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNvZGUtaW5saW5lYCBjb21wb25lbnQgYXMgZGVmYXVsdCBmb3IgYDxjb2RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBVc2UgdGhlIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY2l0ZS1ibG9jazogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSwgLmgxLFxuICBoMiwgLmgyLFxuICBoMywgLmgzLFxuICBoNCwgLmg0LFxuICBoNSwgLmg1LFxuICBoNiwgLmg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5saW5lIENpdGF0aW9uc1xuICBAaWYgKCRlbmFibGUtY2l0ZS1ibG9jayA9PSB0cnVlKSB7XG4gICAgY2l0ZSB7XG4gICAgICAvLyBFeHRlbmRpbmcgYSBjbGFzcyBpcyBub3QgcmVjb21tZW5kZWQuXG4gICAgICAvLyBUT0RPOiBCcmVhayB0aGUgdHlwb2dyYXBoeS1iYXNlL3R5cG9ncmFwaHktaGVscGVycyBzZXBhcmF0aW9uXG4gICAgICBAZXh0ZW5kIC5jaXRlLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvZGVcbiAgQGlmICgkZW5hYmxlLWNvZGUtaW5saW5lID09IHRydWUpIHtcbiAgICBjb2RlIHtcbiAgICAgIEBleHRlbmQgLmNvZGUtaW5saW5lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCBkaXZpZGUoJGV4cG9uZW50LCAkZGVub21pbmF0b3IpKSwgZGl2aWRlKCRwcmVjMiwgJGRlbm9taW5hdG9yKSwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsICRiYXNlKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IGRpdmlkZSgxLCAkbikgKiAoKCRuIC0gMSkgKiAkeCArIGRpdmlkZSgkbnVtLCBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuIGRpdmlkZSgkaCwgJHcpICogMTAwJTtcbn1cblxuLy8vIFBhcnNlIHRoZSBnaXZlbiBgJGZyYWN0aW9uYCB0byBudW1lcmF0b3JzIGFuZCBkZW51bWVyYXRvcnMuXG4vLy9cbi8vLyBAcGFyYW0geyp9ICRmcmFjdGlvbiAtIFZhbHVlIHJlcHJlc2VudGluZyBhIGZyYWN0aW9uIHRvIHBhcnNlLiBJdCBjYW4gYmUgZm9ybWF0dGVkIGFzIGA1MCVgLCBgMSBvZiAyYCwgYDEvMmAgb3IgYDUwYCAobm8gZGVub21pbmF0b3Igd291bGQgYmUgcmV0dXJuZWQpLlxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gTGlzdCBvZiBwYXJzZWQgdmFsdWVzIHdpdGggbnVtZXJhdG9yIGF0IGZpcnN0IHBvc2l0aW9uIGFuZCBkZW51bWVyYXRvciBhcyBzZWNvbmQuIFRoZXNlIHZhbHVlcyBtYXkgYmUgbnVsbC5cbkBmdW5jdGlvbiB6Zi1wYXJzZS1mcmFjdGlvbigkZnJhY3Rpb24pIHtcblxuICBAaWYgdHlwZS1vZigkZnJhY3Rpb24pID09ICdudW1iZXInIHtcbiAgICAvLyBcIjUwJVwiXG4gICAgQGlmIHVuaXQoJGZyYWN0aW9uKSA9PSAnJScge1xuICAgICAgQHJldHVybiAoc3RyaXAtdW5pdCgkZnJhY3Rpb24pLCAxMDApO1xuICAgIH1cbiAgICBAZWxzZSBpZiAodW5pdCgkZnJhY3Rpb24pID09ICcnKSB7XG4gICAgICAvLyBcIjAuNVwiXG4gICAgICBAaWYgJGZyYWN0aW9uIDwgMSB7XG4gICAgICAgIEByZXR1cm4gKCRmcmFjdGlvbiAqIDEwMCwgMTAwKTtcbiAgICAgIH1cbiAgICAgIC8vIFwiNTBcIlxuICAgICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuICgkZnJhY3Rpb24sIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGZyYWN0aW9uKSA9PSAnbGlzdCcge1xuICAgIC8vIFwiNTAgb2YgMTAwXCIsIFwiNTAvMTAwXCIuLi5cbiAgICBAaWYgbGVuZ3RoKCRmcmFjdGlvbikgPT0gM1xuICAgICAgYW5kIHR5cGUtb2YobnRoKCRmcmFjdGlvbiwgMSkgPT0gJ251bWJlcicpXG4gICAgICBhbmQgdHlwZS1vZihudGgoJGZyYWN0aW9uLCAzKSA9PSAnbnVtYmVyJykge1xuICAgICAgQHJldHVybiAobnRoKCRmcmFjdGlvbiwgMSksIG50aCgkZnJhY3Rpb24sIDMpKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIChudWxsLCBudWxsKTtcbn1cblxuLy8vIFJldHVybnMgd2hldGhlciB0aGUgZ2l2ZW4gYCR2YWx1ZWAgcmVwcmVzZW50cyBhIGZyYWN0aW9uLiBTdXBwb3J0cyBmb3JtYXRzIGxpa2UgYDUwJWAsIGAxIG9mIDJgLCBgMSBwZXIgMmAgb3IgYDEvMmAuXG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZSAtIFZhbHVlIHRvIHRlc3QuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYWxsb3ctbm8tZGVub21pbmF0b3IgW2ZhbHNlXSAtIElmIGB0cnVlYCwgc2ltcGxlIG51bWJlcnMgd2l0aG91dCBkZW5vbWluYXRvcnMgbGlrZSBgNTBgIGFyZSBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSBgdHJ1ZWAgaWYgYCR2YWx1ZWAgcmVwcmVzZW50cyBhIGZyYWN0aW9uLCBgZmFsc2VgIG90aGVyd2lzZS5cbkBmdW5jdGlvbiB6Zi1pcy1mcmFjdGlvbigkdmFsdWUsICRhbGxvdy1uby1kZW5vbWluYXRvcjogZmFsc2UpIHtcbiAgJHBhcnNlZDogemYtcGFyc2UtZnJhY3Rpb24oJHZhbHVlKTtcbiAgQHJldHVybiBub3QobnRoKCRwYXJzZWQsIDEpID09IG51bGxcbiAgICBvciAobnRoKCRwYXJzZWQsIDIpID09IG51bGwgYW5kICRhbGxvdy1uby1kZW5vbWluYXRvciA9PSBmYWxzZSkpO1xufVxuXG4vLy8gQ2FsY3VsYXRlIGEgcGVyY2VudGFnZSBmcm9tIGEgZ2l2ZW4gZnJhY3Rpb24uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZnJhY3Rpb24gLSBWYWx1ZSByZXByZXNlbnRpbmcgYSBmcmFjdGlvbiB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlLCBmb3JtYXR0ZWQgYXMgYDUwYCAocmVsYXRpdmUgdG8gYCRkZW5vbWluYXRvcmApLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGRlbm9taW5hdG9yIC0gRGVmYXVsdCB2YWx1ZSB0byB1c2UgYXMgZGVub21pbmF0b3Igd2hlbiBgJGZyYWN0aW9uYCByZXByZXNlbnRzIGFuIGFic29sdXRlIHZhbHVlLlxuQGZ1bmN0aW9uIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoXG4gICRmcmFjdGlvbixcbiAgJGRlbm9taW5hdG9yOiBudWxsXG4pIHtcbiAgJHBhcnNlZDogemYtcGFyc2UtZnJhY3Rpb24oJGZyYWN0aW9uKTtcbiAgJHBhcnNlZC1ub21pbmF0b3I6IG50aCgkcGFyc2VkLCAxKTtcbiAgJHBhcnNlZC1kZW5vbWluYXRvcjogbnRoKCRwYXJzZWQsIDIpO1xuXG4gIEBpZiAkcGFyc2VkLW5vbWluYXRvciA9PSBudWxsIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgXCJmcmFjdGlvbi10by1wZXJjZW50YWdlKClcIi4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG4gIEBpZiAkcGFyc2VkLWRlbm9taW5hdG9yID09IG51bGwge1xuICAgIEBpZiB0eXBlLW9mKCRkZW5vbWluYXRvcikgPT0gJ251bWJlcicge1xuICAgICAgJHBhcnNlZC1kZW5vbWluYXRvcjogJGRlbm9taW5hdG9yO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgJ0Vycm9yIHdpdGggXCJmcmFjdGlvbi10by1wZXJjZW50YWdlKClcIi4gQSBkZWZhdWx0IFwiJGRlbm9taW5hdG9yXCIgaXMgcmVxdWlyZWQgdG8gc3VwcG9ydCBhYnNvbHV0ZSB2YWx1ZXMnO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gcGVyY2VudGFnZShkaXZpZGUoJHBhcnNlZC1ub21pbmF0b3IsICRwYXJzZWQtZGVub21pbmF0b3IpKTtcbn1cblxuLy8vIERpdmlkZSB0aGUgZ2l2ZW4gYCRkaXZpZGVudGAgYnkgdGhlIGdpdmVuIGAkZGl2aXNvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGRpdmlkZW50IC0gVGhlIGRpdmlkZW50LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGl2aXNvciAtIFRoZSBkaXZpc29yLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcHJlY2lzaW9uIC0gVGhlIHByZWNpc2lvbiBkZWNpbWFscyBmb3IgdGhlIGRpdmlzaW9uLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZGl2aXNpb24uXG5AZnVuY3Rpb24gZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEyKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAgb3IgJGRpdmlkZW5kIDwgMCBhbmQgJGRpdmlzb3IgPCAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yIFwiQ2Fubm90IGRpdmlkZSBieSAwXCI7XG4gIH1cbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICAkcmVzdWx0OiAwO1xuICAkZmFjdG9yOiAxMDtcbiAgQHdoaWxlICgkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+PSAwKSB7XG4gICAgJHF1b3RpZW50OiAwO1xuICAgIEB3aGlsZSAoJHJlbWFpbmRlciA+PSAkZGl2aXNvcikge1xuICAgICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICAgICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgIH1cbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkcXVvdGllbnQ7XG4gICAgJGZhY3RvcjogJGZhY3RvciAqIC4xO1xuICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgKiAxMDtcbiAgICAkcHJlY2lzaW9uOiAkcHJlY2lzaW9uIC0gMTtcbiAgICBAaWYgKCRwcmVjaXNpb24gPCAwIGFuZCAkcmVtYWluZGVyID49ICRkaXZpc29yICogNSkge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIDE7XG4gICAgfVxuICB9XG4gICRyZXN1bHQ6ICRyZXN1bHQgKiAkZmFjdG9yICogJHNpZ247XG4gICRkaXZpZGVuZC11bml0OiB1bml0KCRkaXZpZGVuZCk7XG4gICRkaXZpc29yLXVuaXQ6IHVuaXQoJGRpdmlzb3IpO1xuICAkdW5pdC1tYXA6IChcbiAgICBcInB4XCI6IDFweCxcbiAgICBcInJlbVwiOiAxcmVtLFxuICAgIFwiZW1cIjogMWVtLFxuICAgIFwiJVwiOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtaW5saW5lYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiB0aGUgYC5jb2RlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtYmxvY2stcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiB1bmRlciB0aGUgYC5jb2RlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBjaXRlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAkY2l0ZS1jb2xvcjtcbiAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICB9XG59XG5cbi8vLyBBZGQgYmFzaWMgc3R5bGVzIGZvciBhIGNvZGUgaGVscGVyLlxuLy8vIFNlZSBgY29kZS1pbmxpbmVgIGFuZCBgY29kZS1ibG9ja2AgbWl4aW5zLlxuQG1peGluIGNvZGUtc3R5bGUge1xuICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gaW5saW5lLlxuLy8vIFVzZWQgdG8gZ2VuZXJhdGUgYC5jb2RlLWlubGluZWBcbkBtaXhpbiBjb2RlLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbn1cblxuLy8vIE1ha2UgY29kZSBoZWxwZXIgZnJvbSB0aGUgYGNvZGUtc3R5bGVgIG1peGluIGEgYmxvY2suXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtYmxvY2tgXG5AbWl4aW4gY29kZS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2hpdGUtc3BhY2U6IHByZTtcblxuICBwYWRkaW5nOiAkY29kZS1ibG9jay1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAkY29kZS1ibG9jay1tYXJnaW4tYm90dG9tO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICAvLyBVc2UgdG8gcmVtb3ZlIG51bWJlcnMgZnJvbSBvcmRlcmVkIGxpc3QgJiBidWxsZXRzIGZyb20gdW5vcmRlcmVkIGxpc3RcbiAgICAmLm5vLWJ1bGxldCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuY2l0ZS1ibG9jayB7XG4gICAgQGluY2x1ZGUgY2l0ZS1ibG9jaztcbiAgfVxuXG4gIC5jb2RlLWlubGluZSB7XG4gICAgQGluY2x1ZGUgY29kZS1zdHlsZTtcbiAgICBAaW5jbHVkZSBjb2RlLWlubGluZTtcbiAgfVxuXG4gIC5jb2RlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtYmxvY2s7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXlzIG5leHQgdG8gYWxsIGxpbmtzIHRoZWlyIFwiaHJlZlwiIHdoZW4gcHJpbnRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIC8vIEVuc3VyZSBhIFwiYmxhY2stb24td2hpdGVcIiBwcmludCBieSByZW1vdmluZyBiYWNrZ3JvdW5kcyxcbiAgICAgIC8vIHVzaW5nIGJsYWNrIHRleHQgZXZlcnl3aGVyZSBhbmQgZm9yY2luZyB0aGUgYnJvd3NlciB0byBlY29ub21pemUgaW5rLlxuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICAgIGNvbG9yLWFkanVzdDogZWNvbm9teTtcbiAgICAgIH1cbiAgICAgIC8vIE90aGVyd2lzZSwgcHJldmVudCBhbnkgZWNvbm9teSBieSB0aGUgYnJvd3Nlci5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgJi5mbHVpZCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoZnVsbCwgJGd1dHRlci10eXBlOiBub25lKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICB9XG4gIH1cblxuICAvLyBBdXRvIHdpZHRoXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyAmIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAuZ3JpZC14IHtcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHdpZHRoIHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi14YCBub3Qgb24gYC5ncmlkLXhgXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teWAgbm90IG9uIGAuZ3JpZC15YFxuICAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGNsYXNzLWJyZWFrcG9pbnQsICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsKSB7XG4gICRwcmVmaXg6IGlmKCRjbGFzcy1icmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50LCAnJywgJyN7JGNsYXNzLWJyZWFrcG9pbnR9LScpO1xuICA+IC4jeyRwcmVmaXh9YXV0byB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gID4gLiN7JHByZWZpeH1zaHJpbmsge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICRjbGFzc25hbWU6IGlmKCR2ZXJ0aWNhbCwgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nKTtcblxuICAgID4gI3skY2xhc3NuYW1lfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoXG4gICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICR3cmFwcGluZy1zZWxlY3RvcjogJy5ncmlkLW1hcmdpbi14J1xuKXtcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbik7XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKCR2ZXJ0aWNhbDogJHZlcnRpY2FsLCAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKSk7XG4gICAgfVxuXG4gICAgLy8gYmFzZSBzdHlsZXMgbmVlZCB0byBhbGwgYmUgYmVmb3JlIHRoZSBhdXRvIGFuZCBzaHJpbmsgc3R5bGVzXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkgYW5kICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCR2ZXJ0aWNhbDogJHZlcnRpY2FsLCAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuXG4gICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgLy8gZm9yIGFsbCBwcmlvciBicmVha3BvaW50cy5cbiAgICAgIC8vIEFzIHRoZWlyIGd1dHRlciBpcyBkZWZpbmVkIHdpdGggdGhlaXIgd2lkdGgvaGVpZ2h0LCBldmVuIGJyZWFrcG9pbnQgd2l0aG91dCBhIG5ldyBtYXJnaW4gbXVzdCBiZVxuICAgICAgLy8gZ2VuZXJhdGVkIHRvIG5vdCBoYXZpbmcgdGhlaXIgd2lkdGgvaGVpZ2h0IG92ZXJyaWRlZCBieSByZS1hZGp1c3RlZCBzbWFsbGVyIGJyZWFrcG9pbnRzLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGJwLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JGJwfS11cC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyBhbmQgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gIH1cblxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlLCAkbWFyZ2luLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkLCAkbWFyZ2luLWdyaWQpXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgKiAwLjU7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpICogMC41O1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRncmlkLWNvbnRhaW5lci1wYWRkaW5nXSAtIHBhZGRpbmdzIG9mIHRoZSBjb250YWluZXIuXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyBmbGV4IHZhbHVlIGZvciBhIGNlbGwgYmFzZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IFRoZSBjZWxsIGZsZXggcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAxIDEgMHB4O1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnZ3JvdycpIHtcbiAgICBAcmV0dXJuIDEgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnc2hyaW5rJyBvciAkc2l6ZSA9PSAnZnVsbCcgb3IgemYtaXMtZnJhY3Rpb24oJHNpemUsICRhbGxvdy1uby1kZW5vbWluYXRvcjogdHJ1ZSkpIHtcbiAgICBAcmV0dXJuIDAgMCBhdXRvO1xuICB9XG4gIEByZXR1cm4gbnVsbDtcbn1cblxuLy8vIENhbGN1bGF0ZSB0aGUgc2l6ZSBvZiBhIGNlbGwgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwIGAkZ3V0dGVyc2AuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8TWFwfSBUaGUgY2VsbCBndXR0ZXIgc2l6ZSBvciB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcC5cbkBmdW5jdGlvbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAvLyBGb3IgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIG1hcCBgJGd1dHRlcnNgLlxuICBAaWYgKCRicmVha3BvaW50ID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gJGd1dHRlcnM7XG4gIH1cblxuICAvLyBVc2UgdGhlIGNvbnRleHR1YWwgYnJlYWtwb2ludCBieSBkZWZhdWx0LlxuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCk7XG5cbiAgQGlmICgkYnJlYWtwb2ludCkge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi16ZXJvLWJyZWFrcG9pbnQpIG9yIDA7XG4gIH1cbn1cblxuLy8vIFJldHVybnMgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvM2AuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBTaXplIG9mIHRoZSBjZWxsIChpbiBwZXJjZW50KS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgQHJldHVybiBmcmFjdGlvbi10by1wZXJjZW50YWdlKCRzaXplLCAkZGVub21pbmF0b3I6ICRncmlkLWNvbHVtbnMpO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIHZhbHVlIGZvciBhIGNlbGwgc2l6ZS5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCBvciBhbnkgZnJhY3Rpb24gbGlrZSBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyBhIG1hcCBvZiBzaXplcyBhZGFwdGVkIHRvIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd8TWFwfSBUaGUgY2VsbCBzaXppbmcgcHJvcGVydHkgdmFsdWUsIG9yIGEgcmVzcG9uc2l2ZSBtYXAgb2YgdGhlbS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUtY3NzKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAkbWFyZ2luLWd1dHRlcjogMDtcblxuICBAaWYgKCRzaXplID09ICdhdXRvJyBvciAkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIEByZXR1cm4gYXV0bztcbiAgfVxuXG4gIC8vIEZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzLCB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAkbWFyZ2luLWd1dHRlcjogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICAgQGlmICgkbWFyZ2luLWd1dHRlciA9PSBudWxsKSB7XG4gICAgICBAZXJyb3IgJ3h5LWNlbGwtc2l6ZTogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBzaXplIChudW1iZXIpXG4gICRzaXplLXJhdzogaWYoJHNpemUgPT0gJ2Z1bGwnLCAxMDAlLCB4eS1jZWxsLXNpemUoJHNpemUpKTtcblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgQ1NTIHNpemUgaW5jbHVkaW5nIGd1dHRlcnMgKHN0cmluZylcbiAgLy8gSWYgdGhlIGNlbGwgaGFzIHJlc3BvbnNpdmUgbWFyZ2luIGd1dHRlcnMsIHJldHVybiBhIHJlc3BvbnNpdmUgbWFwIG9mIHNpemVzLlxuICBAaWYgdHlwZS1vZigkbWFyZ2luLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogKCk7XG5cbiAgICBAZWFjaCAkYnAsICRtZyBpbiAkbWFyZ2luLWd1dHRlciB7XG4gICAgICAkc2l6ZS1jc3M6IGlmKCRtZyA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3tyZW0tY2FsYygkbWcpfSkpO1xuICAgICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiBtYXAtbWVyZ2UoJHJlc3BvbnNpdmUtY3NzLXNpemVzLCAoJGJwOiAkc2l6ZS1jc3MpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRyZXNwb25zaXZlLWNzcy1zaXplcztcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiBhIHNpbmdsZSBDU1Mgc2l6ZS5cbiAgQGVsc2Uge1xuICAgICRjc3Mtc2l6ZTogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgIEByZXR1cm4gJGNzcy1zaXplO1xuICB9XG59XG5cbi8vLyBTZXRzIGJhc2UgZmxleCBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICAkYmFzZTogeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBmbGV4OiAjeyRiYXNlfTtcblxuICAvLyBTZXQgYmFzZSBzdHlsZXMgZm9yIFwiZnVsbFwiIG9ubHlcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIG1heC0jeyRkaXJlY3Rpb259OiBub25lO1xufVxuXG4vLy8gU2V0cyBzaXppbmcgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyBzaXplcyBhZGFwdGVkIGZvciByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zaXplKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZXM6IHh5LWNlbGwtc2l6ZS1jc3MoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuXG4gIEBpZiAodHlwZS1vZigkc2l6ZXMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJHNpemVzKSB7XG4gICAgICAjeyRkaXJlY3Rpb259OiAkLXpmLWJwLXZhbHVlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgI3skZGlyZWN0aW9ufTogJHNpemVzO1xuICB9XG59XG5cbi8vLyBTZXRzIGd1dHRlcnMgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBEaXJlY3Rpb24gb2YgdGhlIGd1dHRlcnMgdG8gb3V0cHV0LiBTZWUgYCRndXR0ZXItcG9zaXRpb25gLlxuQG1peGluIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAvLyBHZXQgdGhlIGRlZmF1bHQgZ3V0dGVyIHBvc2l0aW9uIGFjY29yZGluZyB0byBjZWxsIGRpcmVjdGlvblxuICBAaWYoJGd1dHRlci1wb3NpdGlvbiA9PSBudWxsKSB7XG4gICAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuICB9XG5cbiAgLy8gR2V0IHRoZSBndXR0ZXIgd2lkdGggZm9yIHRoaXMgYnJlYWtwb2ludFxuICAkZ3V0dGVyLXdpZHRoOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgQGlmICgkZ3V0dGVyLXdpZHRoID09IG51bGwpIHtcbiAgICBAZXJyb3IgJ3h5LWNlbGwtZ3V0dGVyczogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICB9XG5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgYW5kICRndXR0ZXItdHlwZSAhPSBub25lKSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXdpZHRoLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgLy8gRGVmYXVsdCBmb3IgJGd1dHRlci1vdXRwdXRcbiAgQGlmICgkZ3V0dGVyLW91dHB1dCAhPSBudWxsKSB7XG4gICAgQHdhcm4gJ3h5LWNlbGw6ICRndXR0ZXItb3V0cHV0IGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcbiAgICBAaWYgKCRndXR0ZXItb3V0cHV0ID09IGZhbHNlKSB7XG4gICAgICAkb3V0cHV0OiBzbC1yZW1vdmUoJG91dHB1dCwgZ3V0dGVycyk7XG4gICAgfVxuICB9XG5cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBiYXNlKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBzaXplKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBndXR0ZXJzKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIGB4eS1jZWxsLXN0YXRpYygpYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuXG4vLy8gVXNlIGB4eS1jZWxsKClgIGluc3RlYWQgd2l0aCBgJG91dHB1dDogKHNpemUgZ3V0dGVycylgIHRvIG5vdCBnZW5lcmF0ZSB0aGUgY2VsbCBiYXNlLlxuLy8vIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMFxuLy8vXG4vLy8gQGRlcHJlY2F0ZWQgdjYuNi4wXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy4gQWx3YXlzIGB0cnVlYCBmb3IgbWFyZ2luIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAd2FybiAneHktY2VsbC1zdGF0aWMoKSBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSBcInh5LWNlbGwoKVwiIGluc3RlYWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gICQtZ3V0dGVyLW91dHB1dDogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCB0cnVlLCAkZ3V0dGVyLW91dHB1dCk7XG4gICQtZ3V0dGVyLW1hcmdpbjogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCAkZ3V0dGVyLCAwKTtcblxuICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkLWd1dHRlci1tYXJnaW4sICR2ZXJ0aWNhbCk7XG4gIEBpZiAoJC1ndXR0ZXItb3V0cHV0KSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgYnJlYWtwb2ludCB0byB1c2UgZm9yIHRoZSBjZWxsIGdlbmVyYXRpb24uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgY29ycmVjdGx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoZGl2aWRlKDEsICRuKSk7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwsICRvdXRwdXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbWluLWJyZWFrcG9pbnQgWyQtemYtemVyby1icmVha3BvaW50XSAtIE1pbmltdW0gYnJlYWtwb2ludCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgZm9yIHdoaWNoIHRvIGNvbGxhcHNlIHRoZSBndXR0ZXIuXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgdG8gb2Zmc2V0IGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfSBUaGUgY2VsbCBvZmZzZXQgcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1vZmZzZXQoXG4gICRuLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkc2l6ZTogeHktY2VsbC1zaXplKCRuKTtcblxuICAkb2Zmc2V0OiAkc2l6ZTtcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYyh4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KSk7XG4gICAgJG9mZnNldDogaWYoJGd1dHRlciA9PSAwLCAkc2l6ZSwgY2FsYygjeyRzaXplfSArICN7JGd1dHRlcn0gLyAyKSk7XG4gIH1cbiAgQHJldHVybiAkb2Zmc2V0O1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRicmVha3BvaW50IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGZvciBgJGd1dHRlcnNgLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuIElmIGEgbGlzdCBpcyBnaXZlbiwgbWVkaWEtcXVlcmllcyB3aWxsIGJlIGdlbmVyYXRlZC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogbnVsbCxcbiAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbigkYnJlYWtwb2ludCwgJG1lZGlhLXF1ZXJpZXM6ICdmb3ItbGlzdHMnKSB7XG4gICAgJG9mZnNldDogeHktY2VsbC1vZmZzZXQoJG4sICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUpO1xuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRvZmZzZXR9O1xuICB9XG59XG4iLCIvLy8gTW9kaWZpZXMgYSBncmlkIHRvIGdpdmUgaXQgXCJmcmFtZVwiIGJlaGF2aW9yIChubyBvdmVyZmxvdywgbm8gd3JhcCwgc3RyZXRjaCBiZWhhdmlvcilcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3RlZCBbZmFsc2VdIC0gSXMgZ3JpZCBuZXN0ZWQgb3Igbm90LiBJZiBuZXN0ZWQgaXMgdHJ1ZSB0aGlzIHNldHMgdGhlIGZyYW1lIHRvIDEwMCUgaGVpZ2h0LCBvdGhlcndpc2Ugd2lsbCBiZSAxMDB2aC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFtudWxsXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbmNsdWRlLWJhc2UgW3RydWVdIC0gSW5jbHVkZSB0aGUgYmFzZSBzdHlsZXMgdGhhdCBkb24ndCB2YXJ5IHBlciBicmVha3BvaW50LlxuQG1peGluIHh5LWdyaWQtZnJhbWUoXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRuZXN0ZWQ6IGZhbHNlLFxuICAkZ3V0dGVyczogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICRpbmNsdWRlLWJhc2U6IHRydWVcbikge1xuXG4gIEBpZiAkaW5jbHVkZS1iYXNlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIGFuZCB0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUoJHZlcnRpY2FsLCAkbmVzdGVkLCAkZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBHZXQgb3VyIGd1dHRlcnMgaWYgYXBwbGljYWJsZVxuICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIGEgZ3V0dGVyLCBhZGQgaXQgdG8gdGhlIHdpZHRoL2hlaWdodFxuICAgIEBpZiAkZ3V0dGVyIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIGhlaWdodDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgIGhlaWdodDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcbi8vLyBhcyBhIG1vZGlmaWVyIGZvciBhIGAuY2VsbGAgdG8gYWxsb3cgdGhlIGNlbGwgdG8gcGFzcyBhbG9uZyBmbGV4IHNpemluZ1xuLy8vIGNvbnN0cmFpbnRzIC8gZnJvbSBwYXJlbnRzIHRvIGNoaWxkcmVuLlxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBJZ25vcmVkIGlmIG51bGwgKGRlZmF1bHQpXG4vLy8gQHR5cGUgRm9udC1XZWlnaHRcbiRidXR0b24tZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgYnV0dG9ucywgdHJhbnNwYXJlbnQgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICBib3JkZXI6ICRidXR0b24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBmb250LXdlaWdodDogJGJ1dHRvbi1mb250LXdlaWdodDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgb3IgY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGluIGBidXR0b24tZmlsbC1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuIGBzb2xpZGAgaGFzIG5vIGVmZmVjdHMuXG5AbWl4aW4gYnV0dG9uLWZpbGwoXG4gICRmaWxsOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGNsZWFyIHtcbiAgICBAaW5jbHVkZSBidXR0b24tY2xlYXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZXMgb2YgYSBzb2xpZC9ob2xsb3cvY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGlucyBgYnV0dG9uLXN0eWxlYCwgYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGFuZCBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgZWZmZWN0cyBvZiB2aXN1YWwgc3R5bGluZyBwYXJhbWV0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZpbGwgWyRidXR0b24tZmlsbF0gLSBUeXBlIG9mIGZpbGxpbmcgYmV0d2VlbiBgaG9sbG93YCBhbmQgYGNsZWFyYC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gLVxuQG1peGluIGJ1dHRvbi1maWxsLXN0eWxlKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGZpbGwgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyLXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWhvbGxvdy1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgYW5kIGJvcmRlciBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRob3Zlci1saWdodG5lc3MgWyRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc10gLSBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJvcmRlci13aWR0aCBbJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXSAtIEJvcmRlciB3aWR0aCBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBjbGVhciBidXR0b24uXG4vLy8gU2VlIG1peGluIGBidXR0b24tY2xlYXItc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWNsZWFyIHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuQG1peGluIGJ1dHRvbi1jbGVhci1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCBhbmQgcmVzZXRpbmcgdGhlIGN1cnNvci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9wYWNpdHkgWyRidXR0b24tb3BhY2l0eS1kaXNhYmxlZF0gLSBPcGFjaXR5IG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkXG4pIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRzdHlsZSk7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRzdHlsZSwgJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbigkc3R5bGU6IG5vbmUpO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICBAaWYgJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkIHtcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IG9ubHkpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LW9ubHktZXhwYW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IGRvd24pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZG93bi1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSkge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRzZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnLiN7JGZpbGxpbmd9Jyk7XG5cbiAgICAgICYjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbCgkZmlsbGluZyk7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3csICYuY2xlYXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG5cbiAgYS5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC4gKE9ubHkgbmVlZGVkIHdoZW4gJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTspXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERldGVybWluZXMgaWYgJGJ1dHRvbi1yYWRpdXMgaXMgYXBwbGllZCB0byBlYWNoIGJ1dHRvbiBvciB0aGUgYnV0dG9uIGdyb3VwIGFzIGEgd2hvbGUuIFVzZSAkZ2xvYmFsLXJhZGl1cyBpbiBfc2V0dGluZ3Muc2NzcyB0byBjaGFuZ2UgcmFkaXVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZ1xuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyAvLyBEaXNhYmxlIGNsZWFyZml4XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1ha2UgYnV0dG9ucyBib25kZWQgd2l0aG91dCBnYXAgYmV0d2VlbiB0aGVtLiBCb3JkZXJzIGJldHdlZW4gYnV0dG9ucyBhcmUgbWVyZ2VkXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLW5vLWdhcHMoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiByZW0tY2FsYygtJGJvcmRlci13aWR0aCk7XG5cbiAgICArICN7JHNlbGVjdG9yfSB7XG4gICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgLy8gRGlzYWJsZSBjbGVhcmZpeFxuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZShkaXZpZGUoMSwgJGkpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTb2xpZCwgaG9sbG93ICYgY2xlYXIgc3R5bGVzXG4gICAgQGVhY2ggJGZpbGxpbmcgaW4gKHNvbGlkIGhvbGxvdyBjbGVhcikge1xuICAgICAgJGJhc2Utc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skYmFzZS1zZWxlY3Rvcn0ge1xuICAgICAgICAvLyBEbyBub3QgZ2VuZXJhdGUgYnV0dG9uIGJhc2Ugc3R5bGVzIGZvciB0aGUgZGVmYXVsdCBmaWxsaW5nXG4gICAgICAgIEBpZigkYnV0dG9uLWZpbGwgIT0gJGZpbGxpbmcpIHtcbiAgICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAkaW5kaXZpZHVhbC1zZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfS4jeyRuYW1lfScpO1xuXG4gICAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0sICN7JGluZGl2aWR1YWwtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nLCAkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5uby1nYXBzIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1uby1nYXBzO1xuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcblxuICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBzaXplIHRvIHVzZSBhcyBkZWZhdWx0XG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tc2l6ZVxuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsXG4kY2xvc2VidXR0b24tZGVmYXVsdC1zaXplOiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVXNlZCB0byBnZW5lcmF0ZSBzaXppbmcgbW9kaWZpZXJzLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cblxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkdmFsdWUgLSBBIG51bWJlciBvciBtYXAgdGhhdCByZXByZXNlbnRzIHRoZSBzaXplIG9yIHBvc2l0aW9uIHZhbHVlKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgZ2l2ZW4gbnVtYmVyIG9yIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBzaXplIG5hbWUgZXhpc3RzIGluIHRoZSB2YWx1ZSBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlLCAkc2l6ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlLCAkc2l6ZSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGNsb3NlLWJ1dHRvbi1zaXplKCRzaXplKSB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gICN7JHh9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbCwgJHNpemUpO1xuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XG4gIGZvbnQtc2l6ZTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tc2l6ZSwgJHNpemUpO1xuICBsaW5lLWhlaWdodDogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tbGluZWhlaWdodCwgJHNpemUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICRjbG9zZWJ1dHRvbi16LWluZGV4O1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAvLyBHZW5lcmF0ZSBhIHBsYWNlaG9sZGVyIGFuZCBhIGNsYXNzIGZvciBlYWNoIHNpemVcbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGNsb3NlYnV0dG9uLXNpemUge1xuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JG5hbWV9O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVzZSBieSBkZWZhdWx0IHRoZSBwbGFjZWhvbGRlciBvZiB0aGUgZGVmYXVsdCBzaXplXG4gICAgQGV4dGVuZCAlemYtY2xvc2UtYnV0dG9uLS0jeyRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemV9O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG5cbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkbGFiZWwtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkbGFiZWwtY29sb3IsICRsYWJlbC1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgdGFibGVzIGFyZSBzdHJpcGVkIGJ5IGRlZmF1bHQgYW5kIGFuIC51bnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC4gSWYgYGZhbHNlYCwgYSAuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3Rlci4gSWYgZXZlbiwgdGhlIGV2ZW4gcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBvZGQsIHRoZSBvZGQgcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBlbXB0eSwgb3IgYW55IG90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5d29yZFxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlYWRlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICogMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0IFtmYWxzZV0gLSBOZWVkZWQgaWYgeW91IG9ubHkgd2FudCB0byBhcHBseSB0aGlzIHRvIGEgc3BlY2lmaWMgdGFibGUuXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuXG4kcHJpbWFyeS1jb2xvciAgIDogbnVsbCAhZGVmYXVsdDtcbiRzZWNvbmRhcnktY29sb3IgOiBudWxsICFkZWZhdWx0O1xuJHdhcm5pbmctY29sb3IgICA6IG51bGwgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3IgICAgIDogbnVsbCAhZGVmYXVsdDtcbiRzdWNjZXNzLWNvbG9yICAgOiBudWxsICFkZWZhdWx0O1xuLy8vL1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6IGRpdmlkZSgkcmdiLCAyNTUpO1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsIGRpdmlkZSgkcmdiLCAxMi45MiksIHBvdyhkaXZpZGUoJHJnYiArIDAuMDU1LCAxLjA1NSksIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86IGRpdmlkZSgkbHVtaW5hbmNlMSwgJGx1bWluYW5jZTIpO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IGRpdmlkZSgxLCAkcmF0aW8pO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgKiAwLjE7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHByaW1hcnktY29sb3I6ICMxNzc5YmEgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBiYWRnZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAkYmFkZ2UtbWlud2lkdGg7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tYmFkZ2Uge1xuICAuYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGJhZGdlO1xuXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJhZGdlLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGJhZGdlLWNvbG9yLCAkYmFkZ2UtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIENhbGxvdXQgcGFkZGluZ3MuXG4vLy8gQHR5cGUgTWFwXG4kY2FsbG91dC1zaXplczogKFxuICBzbWFsbDogMC41cmVtLFxuICBkZWZhdWx0OiAxcmVtLFxuICBsYXJnZTogM3JlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogbWFwLWdldCgkY2FsbG91dC1zaXplcywgZGVmYXVsdCk7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiBtYXAtcmVtb3ZlKCRjYWxsb3V0LXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKCRwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbi1ib3R0b20sXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcbiAgJHJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1cyxcbiAgJHNoYWRvdzogJGNhcmQtc2hhZG93XG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGRpdmlkZXIuXG5AbWl4aW4gY2FyZC1kaXZpZGVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kLFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIHNlY3Rpb24uXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhcmQge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXI7XG4gIH1cblxuICAuY2FyZC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXI7XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gIH1cblxuICAvLyBGb3IgSUUgMTEgLSBGbGV4YnVnXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MvaXNzdWVzLzc1XG4gIC5jYXJkLWltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgcHJldmlvdXMgYXJyb3cgd2hlbiBgJHBhZ2luYXRpb24tYXJyb3dzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzOiAnXFwwMEFCJyAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBuZXh0IGFycm93IHdoZW4gYCRwYWdpbmF0aW9uLWFycm93c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFnaW5hdGlvbi1hcnJvdy1uZXh0OiAnXFwwMEJCJyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJHBhZ2luYXRpb24tYXJyb3ctbmV4dDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIHBsdXMgaWNvbiB3aGVuIGAkYWNjb3JkaW9uLXBsdXNtaW51c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogJ1xcMDAyQicgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgbWludXMgaWNvbiB3aGVuIGAkYWNjb3JkaW9uLXBsdXNtaW51c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ6ICdcXDIwMTMnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgJltkaXNhYmxlZF0ge1xuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3IsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgY29udGVudDogJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICYubWlkZGxlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgJi5ib3R0b20ge1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIChcbiAgJG1hcmdpbjogJHRhYi1tYXJnaW4sXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkbWFyZ2luO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIChcbiAgJHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxuICAkY29sb3I6ICR0YWItY29sb3IsXG4gICRjb2xvci1hY3RpdmU6ICR0YWItYWN0aXZlLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZVxuKSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cblxuICBhLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIHRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS4uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gdG9wL2JvdHRvbSBpY29ucyB3aXRoaW4gYSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGFsaWdubWVudCBbY2VudGVyXSAtIEFsaWdubWVudCBvZiB0aGUgaWNvblxuQG1peGluIG1lbnUtaWNvbi1hbGlnbm1lbnQoJGFsaWdubWVudDogY2VudGVyKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYuaWNvbi10b3AsXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBsaSBhIHtcbiAgICAgICAgaW1nLFxuICAgICAgICBpLFxuICAgICAgICBzdmcge1xuICAgICAgICAgIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmUsICgkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZSwgJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlKSk7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1hbGlnbm1lbnQobGVmdCk7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1lbnUgaWNvbiBwb3NpdGlvblxuICAgIC8vIEluY2x1ZGVzIHNwZWNpZmljaXR5IHRvIG5lc3RlZCBpY29ucyB3aXRoIGEgZGlmZmVyZW50IHBvc2l0aW9uXG4gICAgJixcbiAgICAmLm5lc3RlZCB7XG4gICAgICAvLyBJY29uIExlZnRcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIFJpZ2h0XG4gICAgICAmLmljb24tcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIFRvcFxuICAgICAgJi5pY29uLXRvcCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIEJvdHRvbVxuICAgICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nIGluIHRoZSBzdWJtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG5cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHRvcCBsZXZlbCA8dWw+XG4gIC5kcmlsbGRvd24ge1xuICAgIGEge1xuICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFwcGxpZWQgdG8gc3VibWVudSA8dWw+c1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1Ym1lbnUgaXRlbSBwYWRkaW5nXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBzdWItbWVudSBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAqIDAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW1cbiAgICA+IGxpID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW0gYWN0aXZlIHN0YXRlXG4gICAgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBCaW5kIHRvIGhhcy10cmFuc2l0aW9uLVggY2xhc3MgdG8gcHJldmVudCB0cmFuc2l0aW9uIGZvciB0cmFuc2Zvcm06bm9uZVxuICAmLmhhcy10cmFuc2l0aW9uLW92ZXJsYXAsXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzcyxcbiRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN0aWNreSB7XG4gIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLnN0aWNreS5pcy1zdHVjayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLmlzLWF0LXRvcCB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbjogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcblxuICAgICAgLm1lbnUtaWNvbiB7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluICQtemYtZmxleC1qdXN0aWZ5IHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgU3BlY2lmaWNhbGx5IGZvciBWZXJ0aWNhbCBNZW51XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAmLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCJAZnVuY3Rpb24gLXpmLWZsZXgtanVzdGlmeSgkdGV4dC1kaXJlY3Rpb24pe1xuICAkLXpmLWZsZXgtanVzdGlmeTogKFxuICAgICdsZWZ0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1lbmQsIGZsZXgtc3RhcnQpLFxuICAgICdyaWdodCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtc3RhcnQsIGZsZXgtZW5kKSxcbiAgICAnY2VudGVyJzogY2VudGVyLFxuICAgICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuICApO1xuXG4gIEByZXR1cm4gJC16Zi1mbGV4LWp1c3RpZnk7XG59XG5cblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAuMDAxMjU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAuMDAxMjU7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIC52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIHBhdXNlLXF1ZXVlLWNsYXNzOiAnaXMtcGF1c2VkJyxcbiAgYWN0aXZhdGUtcXVldWUtY2xhc3M6ICdpcy1hbmltYXRpbmcnLFxuKSAhZGVmYXVsdDtcbiIsIi8vIEludGVybmFsIGNvdW50ZXIgZm9yIGNyZWF0aW5nIHVuaXF1ZSBrZXlmcmFtZSBuYW1lc1xuJC1tdWktY3VzdG9tOiAwO1xuXG4vLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucy4gVXNlIHRoaXMgZnVuY3Rpb24gaW5zdGVhZCBvZiBgbXVpLWFuaW1hdGlvbmAgaWYgeW91IHdhbnQgdG8gY3JlYXRlIGEga2V5ZnJhbWUgYW5pbWF0aW9uICp3aXRob3V0KiBhdXRvbWF0aWNhbGx5IGFzc2lnbmluZyBpdCB0byB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBrZXlmcmFtZS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBcIiN7JG91dHB1dH1cIjtcbn1cblxuLy8vIFByaW50cyB0aGUgQ1NTIHByb3BlcnRpZXMgZnJvbSBhIHNwZWNpZmljIGtleSBpbiBhIGtleWZyYW1lcyBtYXAuIFVzZWQgdG8gYm9ycm93IENTUyBmcm9tIGtleWZyYW1lIGZ1bmN0aW9ucyBmb3IgdXNlIGluIHRyYW5zaXRpb25zLlxuLy8vIEBwYXJhbSB7TWFwfSAka2YgLSBLZXlmcmFtZSBtYXAgdG8gZXh0cmFjdCBmcm9tLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAka2V5IC0gS2V5IGluIHRoZSBtYXAgdG8gcHJpbnQgdGhlIENTUyBvZi5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtbXVpLWtleWZyYW1lLWdldCgka2YsICRrZXkpIHtcbiAgJG1hcDogbWFwLWdldCgka2YsICRrZXkpO1xuXG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJG1hcCBvciAoKSB7XG4gICAgLy8gU29tZSBrZXlmcmFtZSBtYXBzIHN0b3JlIHRyYW5zZm9ybXMgYXMgcXVvdGVkIHN0cmluZ3NcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIHtcbiAgICAgICR2YWx1ZTogdW5xdW90ZSgkdmFsdWUpO1xuICAgIH1cbiAgICAjeyRwcm9wfTogJHZhbHVlO1xuICB9XG59XG5cbi8vLyBSZWZvcm1hdHMgYSBtYXAgY29udGFpbmluZyBrZXlzIHdpdGggYSBsaXN0IG9mIHZhbHVlcywgc28gdGhhdCBlYWNoIGtleSBpcyBhIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzcGxpdCB1cC5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgcmVmb3JtYXR0ZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCkge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gU3BsaXQga2V5cyB3aXRoIG11bHRpcGxlIHZhbHVlcyBpbnRvIGluZGl2aWR1YWwga2V5c1xuICBAZWFjaCAka2V5LCAkaXRlbSBpbiAkbWFwIHtcbiAgICAka2V5LXR5cGU6IHR5cGUtb2YoJGtleSk7XG5cbiAgICBAaWYgJGtleS10eXBlID09ICdudW1iZXInIHtcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkaXRlbSkpO1xuICAgIH0gQGVsc2UgaWYgJGtleS10eXBlID09ICdsaXN0JyB7XG4gICAgICBAZWFjaCAkayBpbiAka2V5IHtcbiAgICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrOiAkaXRlbSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyBhIHNlcmllcyBvZiBrZXlmcmFtZSBvYmplY3RzIGludG8gb25lLlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIC1tdWktaXMtZnVuY3Rpb24oJG1hcCkge1xuICAgICAgJG1hcDogLW11aS1zYWZlLWNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIHRyYW5zaXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtudWxsXSAtIERpcmVjdGlvbiB0byBzbGlkZSB0by4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLiBCeSBkZWZhdWx0IGBsZWZ0YCBhbmQgYHJpZ2h0YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJGFtb3VudCBbMTAwJV0gLSBMZW5ndGggb2YgdGhlIHNsaWRlIGFzIGEgcGVyY2VudGFnZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zbGlkZSAoXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IG51bGwsXG4gICRhbW91bnQ6IDEwMCUsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNsaWRlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uICE9IG51bGwsICRkaXJlY3Rpb24sIGlmKCRzdGF0ZSA9PSBpbiwgbGVmdCwgcmlnaHQpKTtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbbnVsbF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS4gQnkgZGVmYXVsdCBgMGAgYW5kIGAxYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFtudWxsXSAtIE9wYWNpdHkgdG8gZW5kIG9uLiBCeSBkZWZhdWx0IGAxYCBhbmQgYDBgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBudWxsLFxuICAkdG86IG51bGwsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZyb206IGlmKCRmcm9tICE9IG51bGwsICRmcm9tLCBpZigkc3RhdGUgPT0gaW4sIDAsIDEpKTtcbiAgJHRvOiBpZigkdG8gIT0gbnVsbCwgJHRvLCBpZigkc3RhdGUgPT0gaW4sIDEsIDApKTtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbbnVsbF0gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLiBCeSBkZWZhdWx0IGBmcm9tLWJhY2tgIGFuZCBgZnJvbS1mcm9udGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IG51bGxcbikge1xuICAvLyBSb3RhdGlvbiBkaXJlY3Rpb25zIHdoZW4gaGluZ2luZyBmcm9tIGJhY2sgdnMuIGZyb250XG4gICRyb3RhdGlvbi1hbW91bnQ6IDkwZGVnO1xuICAkcm90YXRpb25zLWJhY2s6IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICApO1xuICAkcm90YXRpb25zLWZyb206IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICApO1xuXG4gIC8vIFJvdGF0aW9uIG9yaWdpblxuICAkdHVybi1vcmlnaW46IGlmKCR0dXJuLW9yaWdpbiAhPSBudWxsLCAkdHVybi1vcmlnaW4sIGlmKCRzdGF0ZSA9PSBpbiwgZnJvbS1iYWNrLCBmcm9tLWZyb250KSk7XG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6IC1tdWktc3RyaW5nLXNhZmUoJ2hpbmdlLSN7JHN0YXRlfS0jeyRmcm9tfS0jeyRheGlzfS0jeyR0dXJuLW9yaWdpbn0nKSxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtudWxsXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuIEJ5IGRlZmF1bHQgYGZyb20tYmFja2AgYW5kIGBmcm9tLWZyb250YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBudWxsLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBoaW5nZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHR1cm4tb3JpZ2luOiBpZigkdHVybi1vcmlnaW4gIT0gbnVsbCwgJHR1cm4tb3JpZ2luLCBpZigkc3RhdGUgPT0gaW4sIGZyb20tYmFjaywgZnJvbS1mcm9udCkpO1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gW251bGxdIC0gU2l6ZSB0byBzdGFydCBhdC4gQnkgZGVmYXVsdCBgMGAgYW5kIGAxYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFtudWxsXSAtIFNpemUgdG8gZW5kIGF0LiBCeSBkZWZhdWx0IGAxYCBhbmQgYDBgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktem9vbShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IG51bGwsXG4gICR0bzogbnVsbCxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmcm9tOiBpZigkZnJvbSAhPSBudWxsLCAkZnJvbSwgaWYoJHN0YXRlID09IGluLCAwLCAxKSk7XG4gICR0bzogaWYoJHRvICE9IG51bGwsICR0bywgaWYoJHN0YXRlID09IGluLCAxLCAwKSk7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtudWxsXSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuIEJ5IGRlZmF1bHQgYGN3YCBhbmQgYGNjd2AgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiAhPSBudWxsLCAkZGlyZWN0aW9uLCBpZigkc3RhdGUgPT0gaW4sIGN3LCBjY3cpKTtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1hbmltYXRpb24oJGFyZ3MuLi4pIHtcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xuICBhbmltYXRpb24tbmFtZTogdW5xdW90ZSgkbmFtZSk7XG59XG4iLCIkZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyMjgsNTEsMjQsMSkgMCUsIHJnYmEoMjM4LDExOCwxNSwxKSAxNiUsIHJnYmEoMjUxLDIxNyw1OCwxKSAzMyUsIHJnYmEoMTMwLDE4OSw3MCwxKSA1MCUsIHJnYmEoNjAsMTY1LDIwOSwxKSA3MCUsIHJnYmEoMTE3LDQ5LDEzNSwxKSA4NSUsIHJnYmEoMjIxLDcxLDkyLDEpIDEwMCUpO1xyXG4kc2VjdGlvbi1zaGFkb3c6IDBweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG4kc2VjdGlvbi1zaGFkb3ctc29mdDogMHB4IDJweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuJHRleHQtc2hhZG93OiAwcHggMnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG4kdHJhbnMtdGltZTogMC4ycyBlYXNlLWluLW91dDtcclxuXHJcbiRpY29uZm9udDogJ0ZvbnQgQXdlc29tZSA2IFBybyc7XHJcblxyXG4jc3lzdGVtLW1lc3NhZ2UtY29udGFpbmVyIHtcclxuXHJcbiAgICAudmlzdWFsbHktaGlkZGVuIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIGpvb21sYS1hbGVydCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0xLjFyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5idXR0b24ge1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgICAmLnNtYWxsIHtcclxuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAmLmxhcmdlIHtcclxuICAgICAgICBwYWRkaW5nOiAxLjFyZW0gMXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAmLmh1Z2Uge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCA1NSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbnAge1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbn1cclxuXHJcbnAgYSxcclxuLmNvbXBvbmVudCBsaSBhOm5vdCguYWNjb3JkaW9uLXRpdGxlLCAuYnV0dG9uKSB7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG5ibG9ja3F1b3RlIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbn1cclxuXHJcbi5sZWFkIHtcclxuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG59XHJcblxyXG4uY2FsbG91dC0tcGFkZGluZyB7XHJcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyNSk7XHJcbn1cclxuXHJcbi5hY2NvcmRpb24tdGl0bGU6YmVmb3JlLFxyXG4uYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkaWNvbmZvbnQ7XHJcbiAgICBmb250LXNpemU6IDEuOXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICBtYXJnaW4tdG9wOiAtMC45cmVtO1xyXG59XHJcblxyXG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQsXHJcbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxufVxyXG5cclxuLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgIGJvcmRlci1sZWZ0OiAwO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG59XHJcblxyXG4uYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICBib3JkZXItYm90dG9tOiAwO1xyXG59XHJcblxyXG4uYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICBib3JkZXItcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi5kb2NsaW5rIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDMuM3JlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XHJcblxyXG4gICAgLmstaWNvbi1kb2N1bWVudC1wZGYge1xyXG4gICAgICAgIGNvbG9yOiBnZXQtY29sb3IoaG95LWJsdWUpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMC42cmVtO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHRvcDogMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIHNwYW46bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICBtYXJnaW4tdG9wOiAwLjNyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uby1zbGlkZSAuZ2xvYmFsLW1lc3NhZ2Uge1xyXG4gICAgbWFyZ2luLXRvcDogLTE2cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG46bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbn1cclxuXHJcbi5zdHJpcGVkLFxyXG4uc3RyaXBlZC1tZWRpdW0ge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdGVtcGxhdGVzL2hveS9pbWFnZXMvc3RyaXBlcy5zdmcnKTtcclxufVxyXG5cclxuLnN0cmlwZWQge1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxMjVweDtcclxufVxyXG5cclxuLnN0cmlwZWQtbWVkaXVtIHtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogNDRweDtcclxufVxyXG5cclxuLnN0cmlwZWQtcmV2ZXJzZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy90ZW1wbGF0ZXMvaG95L2ltYWdlcy9zdHJpcGVzLXJldmVyc2VkLnN2ZycpO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiA0NHB4OyAgICBcclxufVxyXG5cclxuLnN0cmlwZWQtdGhpbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy90ZW1wbGF0ZXMvaG95L2ltYWdlcy9zdHJpcGVzLXRoaW4uc3ZnJyk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE4cHg7XHJcbn1cclxuXHJcbi5zZWN0aW9uLXNoYWRvdyB7XHJcbiAgICBib3gtc2hhZG93OiAkc2VjdGlvbi1zaGFkb3c7XHJcbn1cclxuXHJcbi5zZWN0aW9uLXNoYWRvdy1zb2Z0IHtcclxuICAgIGJveC1zaGFkb3c6ICRzZWN0aW9uLXNoYWRvdy1zb2Z0O1xyXG59XHJcblxyXG4uYWx0LWhlYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblxyXG4gICAgJi5uby1zbGlkZSBoZWFkZXIuc3RpY2t5LWNvbnRhaW5lciAuaXMtYW5jaG9yZWQge1xyXG5cclxuICAgICAgICAuaGVhZGVyX19mYWRlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1vZC1icmVhZGNydW1icyBhLFxyXG4gICAgLm1vZC1icmVhZGNydW1icyBpLFxyXG4gICAgLm1vZC1icmVhZGNydW1icyBzcGFuLFxyXG4gICAgLm1vZC1icmVhZGNydW1icyAubW9kLWJyZWFkY3J1bWJzX19pdGVtOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb21wb25lbnQgLnBhZ2UtaGVhZGVyIGgxIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpO1xyXG4gICAgfVxyXG5cclxuICAgIC5wYWdlLWhlYWRlcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGhlaWdodDogNDUwcHg7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIGNhbGMoMTAwJSAtIDd2dyksIDAgMTAwJSk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdGVtcGxhdGVzL2hveS9pbWFnZXMvc3RyaXBlcy5zdmcnKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEyNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubGFiZWwuY2FzdGxlZm9yZC1ibHVlIHtcclxuICAgIGNvbG9yOiAkYmxhY2s7XHJcbn1cclxuXHJcbkBlYWNoICRjb2xvdXIsICR2YWx1ZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcclxuICAgIC5iZy0jeyRjb2xvdXJ9IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLnRleHQtI3skY29sb3VyfSB7XHJcbiAgICAgICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAge1xyXG4gICAgICAgICYuI3skY29sb3VyfSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hbHQtaGVhZGVyLSN7JGNvbG91cn0gLnBhZ2UtaGVhZGVyOmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC4jeyRjb2xvdXJ9IHtcclxuICAgIFx0Y29sb3I6ICR2YWx1ZTtcclxuICAgIH1cclxufVxyXG5cclxuOnJvb3Qge1xyXG5cclxuICAgIEBlYWNoICRjb2xvdXIsICR2YWx1ZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcclxuICAgICAgICAtLSN7JGNvbG91cn06ICN7JHZhbHVlfTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xyXG5cclxuICAgIC5sZWFkIHtcclxuICAgICAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XHJcblxyXG4gICAgLmdsb2JhbC1tZXNzYWdlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMDRweDtcclxuICAgIH1cclxuXHJcbiAgICAuYWx0LWhlYWRlciB7XHJcblxyXG4gICAgICAgICYubm8tc2xpZGUgaGVhZGVyLnN0aWNreS1jb250YWluZXIgLmlzLWFuY2hvcmVkIHtcclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnNpdGVfbG9nbyB7XHJcbiAgICAgICAgICAgICAgICBmaWxsOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59IiwiLnNsYW50ZWQge1xyXG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgNCUsIDEwMCUgMCUsIDEwMCUgOTYlLCAwJSAxMDAlKTtcclxuICAgIHBhZGRpbmctdG9wOiA1cmVtICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tdG9wOiAtNXJlbSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyAuYm90dG9tLXNsYW50ZWQsXHJcbi8vIC50b3Atc2xhbnRlZCB7XHJcbi8vICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbi8vICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG5cclxuLy8gICAgICY6YWZ0ZXIge1xyXG4vLyAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDgwJSwgMTAwJSAwJSwgMTAwJSAxMDAlLCAwJSAxMDAlKTtcclxuLy8gICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XHJcbi8vICAgICAgICAgY29udGVudDogXCJcIjtcclxuLy8gICAgICAgICB3aWR0aDogMTAwJTtcclxuLy8gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbi8vICAgICAgICAgaGVpZ2h0OiA2MXB4O1xyXG4vLyAgICAgICAgIGJvdHRvbTogLTVweDtcclxuLy8gICAgICAgICB6LWluZGV4OiAzO1xyXG4vLyAgICAgfVxyXG4vLyB9XHJcblxyXG4vLyAudG9wLXNsYW50ZWQge1xyXG5cclxuLy8gICAgICY6YWZ0ZXIge1xyXG4vLyAgICAgICAgIGJvdHRvbTogYXV0bztcclxuLy8gICAgICAgICB0b3A6IC0yNXB4O1xyXG4vLyAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCUsIDEwMCUgNTAlLCAwJSAxMDAlKTtcclxuLy8gICAgIH1cclxuLy8gfVxyXG5cclxuLmJvdHRvbS1zbGFudGVkIHtcclxuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCUsIDEwMCUgOTYlLCAwJSAxMDAlKTtcclxuXHJcbiAgICArICoge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTVyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLnRvcC1zbGFudGVkIHtcclxuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDQlLCAxMDAlIDAlLCAxMDAlIDEwMCUsIDAlIDEwMCUpO1xyXG4gICAgbWFyZ2luLXRvcDogLTNyZW0gIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctdG9wOiA1cmVtICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgLm1vZF9yb3RhdG9yIHtcclxuXHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTVyZW07XHJcblxyXG4gICAgICAgIC5yb3RhdG9yX19pbWFnZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNzAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgdG9wOiByZW0tY2FsYygxMjApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4vLyAuYm90dG9tLXNsYW50ZWQgKyAubW9kX3JvdGF0b3Ige1xyXG5cclxuLy8gICAgIGgzIHtcclxuLy8gICAgICAgICB0b3A6IDl2dztcclxuLy8gICAgIH1cclxuXHJcbi8vICAgICAucm90YXRvcl9faW1hZ2Uge1xyXG4vLyAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNzYwKTtcclxuLy8gICAgIH1cclxuLy8gfVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XHJcblxyXG4gICAgLnNsYW50ZWQge1xyXG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDEwJSwgMTAwJSAwJSwgMTAwJSA5MCUsIDAlIDEwMCUpO1xyXG4gICAgfVxyXG5cclxuICAgIC5ib3R0b20tc2xhbnRlZCB7XHJcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwJSwgMTAwJSA5MCUsIDAlIDEwMCUpO1xyXG4gICAgfVxyXG5cclxuICAgIC50b3Atc2xhbnRlZCB7XHJcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgNiUsIDEwMCUgMCUsIDEwMCUgMTAwJSwgMCUgMTAwJSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XHJcblxyXG4gICAgLnRvcC1zbGFudGVkIHtcclxuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAxMCUsIDEwMCUgMCUsIDEwMCUgMTAwJSwgMCUgMTAwJSk7XHJcbiAgICB9XHJcbn0iLCIubW9kLWJyZWFkY3J1bWJzIHtcclxuXHJcblx0aSB7XHJcblx0XHRjb2xvcjogIzFjNDc2MDtcclxuXHR9XHJcblxyXG5cdGEsIHNwYW4ge1xyXG5cdFx0Y29sb3I6ICM2QjZCNkI7XHJcblx0XHRmb250LXdlaWdodDogOTAwO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRzcGFuOmhvdmVyIHtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHR9XHJcblxyXG5cdC5tb2QtYnJlYWRjcnVtYnNfX2l0ZW0ge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdCYuYnJlYWRjcnVtYi1pdGVtIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDJyZW07XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQubW9kLWJyZWFkY3J1bWJzX19kaXZpZGVyICsgbGkuYnJlYWRjcnVtYi1pdGVtIHtcclxuXHRcdG1hcmdpbi1sZWZ0OiAxcmVtO1xyXG5cdH1cclxuXHJcblx0Lm1vZC1icmVhZGNydW1ic19faXRlbTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcclxuXHRcdGNvbnRlbnQ6IFwiXFxmMTA1XCI7XHJcblx0XHRmb250LWZhbWlseTogJGljb25mb250O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMXB4O1xyXG5cdFx0cmlnaHQ6IC0xOHB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcclxuXHRcdGNvbG9yOiAjNkI2QjZCO1xyXG5cdH1cclxufSIsIkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdDYXVzdGVuIFJvdW5kJztcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9DYXVzdGVuUm91bmRFeHRyYUxpZ2h0LndvZmYnKSxcclxuICAgIHVybCgnLi4vZm9udHMvQ2F1c3RlblJvdW5kRXh0cmFMaWdodC53b2ZmMicpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJ0NhdXN0ZW4gUm91bmQnO1xyXG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL0NhdXN0ZW5Sb3VuZFJlZ3VsYXIud29mZicpLFxyXG4gICAgdXJsKCcuLi9mb250cy9DYXVzdGVuUm91bmRSZWd1bGFyLndvZmYyJyk7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnQ2F1c3RlbiBSb3VuZCc7XHJcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvQ2F1c3RlblJvdW5kTWVkaXVtLndvZmYnKSxcclxuICAgIHVybCgnLi4vZm9udHMvQ2F1c3RlblJvdW5kTWVkaXVtLndvZmYyJyk7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnQ2F1c3RlbiBSb3VuZCc7XHJcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvQ2F1c3RlblJvdW5kQm9sZC53b2ZmJyksXHJcbiAgICB1cmwoJy4uL2ZvbnRzL0NhdXN0ZW5Sb3VuZEJvbGQud29mZjInKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdDYXVzdGVuIFJvdW5kJztcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9DYXVzdGVuUm91bmRFeHRyYUJvbGQud29mZicpLFxyXG4gICAgdXJsKCcuLi9mb250cy9DYXVzdGVuUm91bmRFeHRyYUJvbGQud29mZjInKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdDdWFzdGVuIFJvdW5kJztcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9DYXVzdGVuUm91bmRCbGFjay53b2ZmJyksXHJcbiAgICB1cmwoJy4uL2ZvbnRzL0NhdXN0ZW5Sb3VuZEJsYWNrLndvZmYyJyk7XHJcbiAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59IiwiaGVhZGVyLnN0aWNreS1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblxyXG4gICAgI3NjLWxvZ28ge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDZyZW07XHJcbiAgICB9XHJcblxyXG4gICAgI2NjLWxvZ28ge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMuN3JlbTtcclxuICAgIH1cclxuXHJcbiAgICAjd2MtbG9nbyB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNC4xcmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5ncmlkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLnNpdGVfbG9nbyB7XHJcbiAgICAgICAgZmlsbDogJGJsYWNrO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGZpbGwgJHRyYW5zLXRpbWU7XHJcbiAgICB9XHJcblxyXG4gICAgLmlzLXN0dWNrIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblxyXG4gICAgICAgIC5zaXRlX2xvZ28ge1xyXG4gICAgICAgICAgICBmaWxsOiAkYmxhY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhLFxyXG4gICAgICAgIC5oZWFkZXJfX2xvZ28tYnJhbmQgc3BhbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmhlYWRlcl9fdG9wbGlua3MgYSxcclxuICAgICAgICAuaGVhZGVyX190b3BsaW5rcyAuZHJvcGRvd24gbGkuaXMtYWN0aXZlID4gYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNzA3MDcwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc3RpY2t5IHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dDtcclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDVweDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JhZGllbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVsIHtcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIHVsIHVsIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIGxpIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnMtdGltZTtcclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGVyX19sb2dvIHN2ZyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygyMzYpO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5oZWFkZXJfX2xvZ28gYSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRlcl9fbG9nby1icmFuZCB7XHJcblxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTY1KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRlcl9fZmFkZSA+IC5ncmlkLWNvbnRhaW5lciA+IC5ncmlkLXgge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxufVxyXG5cclxuLmhlYWRlcl9fdG9wbGlua3Mge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICBwYWRkaW5nOiByZW0tY2FsYygwIDAgMTApO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgICAgICB0ZXh0LXNoYWRvdzogJHRleHQtc2hhZG93O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE1KTtcclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiByaWdodDtcclxuICAgIH1cclxuXHJcbiAgICAuZHJvcGRvd24ubWVudSBhIHtcclxuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2IDApO1xyXG4gICAgfVxyXG5cclxuICAgIC5kcm9wZG93biBsaS5pcy1hY3RpdmUgYSB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuXHJcbiAgICAuZHJvcGRvd24gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRyb3Bkb3duLm1lbnUgbGkgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XHJcbiAgICAgICAgbGVmdDogMXJlbTtcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwLjM3NXJlbTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmFjdGl2ZSA+IGEge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uaGVhZGVyX19tYWlubWVudSB7XHJcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG5cclxuICAgIHVsIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxuXHJcbiAgICBsaTpub3QoOmZpcnN0LWNoaWxkLCA6bnRoLWNoaWxkKDRuKSkge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICAgICAgdGV4dC1zaGFkb3c6ICR0ZXh0LXNoYWRvdztcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07XHJcblxyXG4gICAgICAgIHNwYW46YmVmb3JlIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGVyX19tYWlubWVudS1kZXNrdG9wIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5oZWFkZXJfX21haW5tZW51LW1vYmlsZSB7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDA7XHJcblxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG51bC5kcm9wZG93bi1tZW51IHtcclxuXHJcbiAgICA+IGxpIHtcclxuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG5cclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgID4gbGk6aG92ZXIgPiBhOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgIGJvdHRvbTogLTIzcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA1cHg7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgIH1cclxuXHJcbiAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcclxuICAgICAgICB0b3A6IDgzcHg7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJHNlY3Rpb24tc2hhZG93LXNvZnQ7XHJcbiAgICAgICAgcGFkZGluZzogMnJlbSAycmVtIDA7XHJcblxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGhlaWdodDogNXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JhZGllbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxJTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgZmxleDogMCAwIDMwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGdldC1jb2xvcigncHJpbWFyeScpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYWN0aXZlIGEge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBsaSA+IGEge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jdXJyZW50ID4gYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBnZXQtY29sb3IoJ3ByaW1hcnknKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uby1zbGlkZSBoZWFkZXIuc3RpY2t5LWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cclxuICAgIC5pcy1hbmNob3JlZCAuaGVhZGVyX19mYWRlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpdGVfbG9nbyB7XHJcbiAgICAgICAgZmlsbDogJGJsYWNrO1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRlcl9fdG9wbGlua3MgYSB7XHJcbiAgICAgICAgY29sb3I6ICM3MDcwNzA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XHJcblxyXG4gICAgaGVhZGVyLnN0aWNreS1jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgei1pbmRleDogOTk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgICNzYy1sb2dvIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMzcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgI2NjLWxvZ28sICN3Yy1sb2dvIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pcy1hbmNob3JlZCAuaGVhZGVyX19mYWRlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAwLCAwLCAwLjYpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMDApIDEwMCUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNpdGVfbG9nbyB7XHJcbiAgICAgICAgICAgIGZpbGw6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5oZWFkZXJfX2xvZ28gYSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNHJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogJHRleHQtc2hhZG93O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGVyX19tYWlubWVudSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuXHJcbiAgICAgICAgLmhlYWRlcl9fbWFpbm1lbnUtZGVza3RvcCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmhlYWRlcl9fbWFpbm1lbnUtbW9iaWxlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRlcl9fbG9nbyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIGhlYWRlciAuaGVhZGVyX190b3BsaW5rcyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn0iLCIjb2ZmQ2FudmFzIHtcclxuXHRwYWRkaW5nLXRvcDogNDJweDtcclxuXHRib3gtc2hhZG93OiBub25lO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGhlaWdodDogNXB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRncmFkaWVudDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgfVxyXG5cclxuXHQubW9kLWxpc3QgbGkge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdH1cclxuXHJcblx0LmRyaWxsZG93biBhIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiA5MDA7XHJcblx0XHRjb2xvcjogJGJsYWNrO1xyXG5cdFx0Zm9udC1zaXplOiAxLjVyZW07XHJcblx0fVxyXG5cclxuXHQuZHJpbGxkb3duIC5hY3RpdmUgPiBhIHtcclxuXHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0fVxyXG59IiwiI3NsaWRlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgLnNsaWRlX19jb250cm9scyB7XHJcbiAgICAgICAgYm90dG9tOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIGxlZnQ6IHJlbS1jYWxjKDEwKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG5cclxuICAgIC5zd2lwZXItcGFnaW5hdGlvbiB7XHJcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgIH1cclxuXHJcbiAgICAuc3dpcGVyLWJ1dHRvbi1wYXVzZSB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgb3BhY2l0eTogMC40O1xyXG5cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDEwIDAgMCk7XHJcbiAgICAgICAgb3BhY2l0eTogMC40O1xyXG5cclxuICAgIH1cclxuXHJcbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuXHJcbiAgICAuc3dpcGVyLXNsaWRlIHtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIH1cclxuXHJcbiAgICAmLnN3aXBlci1pbml0aWFsaXplZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2xpZGVfX2ltYWdlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uc2xpZGVfX2NvbnRlbnQge1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIHBhZGRpbmc6IDFyZW0gMCAzcmVtO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICBmb250LXdlaWdodDogODAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIC5sZWFkIHtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgfVxyXG5cclxuICAgIHAsIGxpIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTE1JTtcclxuICAgICAgICB0ZXh0LXNoYWRvdzogJHRleHQtc2hhZG93O1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGlkZV9fdGl0bGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0OCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjZyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNCk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XHJcblxyXG4gICAgI3NsaWRlIHtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zbGlkZV9fY29udHJvbHMge1xyXG4gICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDkwKTtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2xpZGVfX3RpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA0LjdyZW07XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA4MCU7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtNHB4O1xyXG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogJHRleHQtc2hhZG93O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN3aXBlci1zbGlkZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNzI1KTtcclxuXHJcbiAgICAgICAgICAgICYubm8taW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1MTIpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLnRpdGxlLXNsaWRlIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzgwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRpdGxlLXNsaWRlIC5zbGlkZV9fY29udGVudCB7XHJcbiAgICAgICAgICAgIHRvcDogNjUlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNsaWRlX19jb250ZW50IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNsaWRlX19jb250ZW50ID4gKjpub3QoLnNsaWRlX190aXRsZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDYzMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zbGlkZV9fY29udGVudCAubGVhZCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XHJcbiAgICB9XHJcbn0iLCIubW9kX3NlY3Rpb24ge1xyXG4gICAgcGFkZGluZy10b3A6IDNyZW07XHJcblxyXG4gICAgLnNlY3Rpb25fX2Jsb2NrIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNSk7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAuc2VjdGlvbl9faWNvbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNjApO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjRyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2VjdGlvbl9fYmxvY2stdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuM3JlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEzMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnNlY3Rpb25fX2Jsb2NrLWhhcy1pbWFnZSB7XHJcblxyXG4gICAgICAgICAgICAuc2VjdGlvbl9fYmxvY2stdGl0bGUsXHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2VjdGlvbl9fYmxvY2staW1hZ2Uge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDMwJSAwLCAxMDAlIDAsIDEwMCUgMTAwJSwgMTMlIDEwMCUpO1xyXG4gICAgICAgIHBhZGRpbmc6IDJweDtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zZWN0aW9uX19ibG9jay1zdGF0IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDUyKTtcclxuICAgICAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC00LjNyZW07XHJcblxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwLjRyZW0gMC42cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2VjdGlvbl9fYmxvY2stbGluayB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgICYubW9kX3NlY3Rpb24tLXN1YmplY3Qge1xyXG5cclxuICAgICAgICAuc2VjdGlvbl9fYmxvY2stbGluayB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDIyMCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcclxuXHJcbiAgICAgICAgJi5tb2Rfc2VjdGlvbi0tbGluZXMge1xyXG5cclxuICAgICAgICAgICAgLm1vZF9zZWN0aW9uX19oZWFkZXIsXHJcbiAgICAgICAgICAgIC5zZWN0aW9uX19ibG9jayB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnNlY3Rpb25fX2Jsb2NrLXRpdGxlOmJlZm9yZSxcclxuICAgICAgICAgICAgLnNlY3Rpb25fX2Jsb2NrOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzRENjA2QTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnNlY3Rpb25fX2Jsb2NrOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDJweDtcclxuICAgICAgICAgICAgICAgIHRvcDogLTI3MHB4O1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMjcwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5zZWN0aW9uX19ibG9jay10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5zZWN0aW9uX19ibG9jay10aXRsZTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDNweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IC0xM3B4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubW9kX3NlY3Rpb25fX2hlYWRlciB7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDM4KTtcclxuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XHJcbiAgICBsaW5lLWhlaWdodDogMTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM1KTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNTgpO1xyXG4gICAgfVxyXG59IiwiLmNvbXBvbmVudCB7XHJcblxyXG4gICAgLnBhZ2UtaGVhZGVyIGgxIHtcclxuICAgICAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMXB4O1xyXG4gICAgICAgIG1hcmdpbjogMS40cmVtIDAgNC4wNjI1cmVtO1xyXG4gICAgICAgIGNvbG9yOiBnZXQtY29sb3IoaG95LXBpbmspO1xyXG4gICAgfVxyXG5cclxuICAgICY6bm90KC5ob21lcGFnZSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5iZy1wcmltYXJ5IC5jb21wb25lbnQsXHJcbi5iZy1wcmltYXJ5IC5jb21wb25lbnQgaDEge1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxufVxyXG5cclxuLmhvbWVwYWdlIC5jb21wb25lbnQge1xyXG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDU1KTtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG4gICAgLmNvbS1jb250ZW50LWNhdGVnb3J5LWJsb2cge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxufVxyXG4iLCIuc2lkZWJhciAubW9kdWxldGFibGUge1xyXG5cdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHRwYWRkaW5nOiAxcmVtO1xyXG4gICAgYm94LXNoYWRvdzogJHNlY3Rpb24tc2hhZG93LXNvZnQ7XHJcblxyXG5cdGgzIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuXHR9XHJcblxyXG5cdGEubW9kLWFydGljbGVzLWNhdGVnb3J5LXRpdGxlIHtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHJcbn1cclxuXHJcbi5tb2QtbGlzdCB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHJcblx0dWwge1xyXG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0fVxyXG5cclxuXHRsaSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwLjhyZW07XHJcblx0fVxyXG59XHJcblxyXG4ubW9kLWFydGljbGVzLWNhdGVnb3J5LWdyb3VwIHtcclxuXHRjb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xyXG5cdGZvbnQtd2VpZ2h0OiA5MDA7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG59XHJcblxyXG4ubW9kLWFydGljbGVzLWNhdGVnb3J5LXRpdGxlICB7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRwYWRkaW5nLWxlZnQ6IDFyZW07XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRjb250ZW50OiBcIitcIjtcclxuXHRcdGNvbG9yOiBnZXQtY29sb3IoJ2hveS1ibHVlJyk7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcclxuXHR9XHJcbn1cclxuXHJcbi5jYWxsb3V0X19pbmZvIHtcclxuXHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XHJcblxyXG5cdHNwYW4ge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuXHRcdGNvbG9yOiBnZXQtY29sb3IoJ3ByaW1hcnknKTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0fVxyXG5cclxuXHQuY2FsbG91dF9faW5mby1ibG9jayB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblxyXG5cdFx0LmNhbGxvdXRfX2luZm8tYmxvY2sge1xyXG5cdFx0XHRtYXJnaW46IHJlbS1jYWxjKDAgNjAgMCAwKVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnRhYnMge1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4udGFicy10aXRsZSB7XHJcblx0ZmxvYXQ6IG5vbmU7XHJcbn1cclxuXHJcbi50YWJzLXRpdGxlID4gYSB7XHJcblx0Zm9udC13ZWlnaHQ6IDkwMDtcclxuXHRib3JkZXItdG9wOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XHJcblx0Ym9yZGVyLXRvcDogNXB4IHNvbGlkIGdldC1jb2xvcigncHJpbWFyeScpO1xyXG59XHJcblxyXG4udGFicy10aXRsZSA+IGE6aG92ZXIge1xyXG5cdGNvbG9yOiBnZXQtY29sb3IoJ3ByaW1hcnknKTtcclxufVxyXG5cclxuLm1vZF9jb3Vyc2VzIHtcclxuXHJcblx0Lm1vZF9jb3Vyc2VzX19jb250YWluZXIge1xyXG5cdFx0bWF4LXdpZHRoOiByZW0tY2FsYyg4NTApO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0fVxyXG5cclxuXHQudGFicy1wYW5lbCB7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxufVxyXG5cclxuLm1vZHVsZV9fbGlua3Mge1xyXG5cdHBhZGRpbmc6IHJlbS1jYWxjKDQwIDAgMCk7XHJcblxyXG5cdC5tb2R1bGVfX2xpbmtzLWhlYWRlciB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0Y29sb3I6IGdldC1jb2xvcigncHJpbWFyeScpO1xyXG5cdH1cclxuXHJcblx0dWwge1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDAuNzVyZW07XHJcblx0fVxyXG5cclxuXHRsaSB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcclxuXHR9XHJcblxyXG5cdGxpOjptYXJrZXIge1xyXG5cdFx0Y29udGVudDogXCI+IFwiO1xyXG5cdFx0Y29sb3I6IGdldC1jb2xvcigncHJpbWFyeScpO1xyXG5cdH1cclxuXHJcblx0YSB7XHJcblx0XHRjb2xvcjogJGJsYWNrO1xyXG5cdH1cclxufVxyXG5cclxuLm1vZF9jb3Vyc2VzLWNvbnRlbnQsXHJcbi5tb2RfY291cnNlcy1tdWx0aSAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG5cclxuXHR1bCB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblx0fVxyXG5cclxuXHRsaSB7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcblx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdH1cclxuXHJcblx0aDMge1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNCk7XHJcblx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcblxyXG5cdFx0YSB7XHJcblx0XHRcdGNvbG9yOiAkYmxhY2s7XHJcblx0XHR9XHJcblxyXG5cdFx0YTpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiBnZXQtY29sb3IoJ3ByaW1hcnknKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5tb2RfY291cnNlcy1yZWFkbW9yZSB7XHJcblx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjApO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0fVxyXG59XHJcblxyXG4ubW9kX2NvdXJzZXMtY29udGVudCB7XHJcblxyXG5cdHVsIHtcclxuXHRcdHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nO1xyXG5cdH1cclxuXHJcblx0bGkge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG5cclxuXHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLm1vZF9jb3Vyc2VzLW11bHRpIHtcclxuXHJcblx0LnRhYnMge1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHR9XHJcblxyXG5cdC5tb2RfY291cnNlc190YWItdGl0bGUsXHJcblx0LnRhYnMtdGl0bGUgYSB7XHJcblx0XHRwYWRkaW5nOiByZW0tY2FsYygyMCAwKTtcclxuXHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR3aGl0ZTtcclxuXHRcdGJvcmRlci10b3A6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xyXG5cdFx0Ym9yZGVyLXRvcDogbm9uZTtcclxuXHRcdGNvbG9yOiBnZXQtY29sb3IoJ2hveS15ZWxsb3cnKTtcclxuXHR9XHJcblxyXG5cdC5tb2RfY291cnNlc190YWItdGl0bGUge1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcblx0XHRmb250LXdlaWdodDogOTAwO1xyXG5cdH1cclxuXHJcblx0LnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XHJcblx0XHRib3JkZXI6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQubW9kX2NvdXJzZXMtY29udGVudCB1bCB7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHJcblx0LnZlcnRpY2FsLmFjY29yZGlvbiA+IC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlIHtcclxuXHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQuYWNjb3JkaW9uLWl0ZW0ge1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmxhY2s7XHJcblx0fVxyXG5cclxuXHQuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUge1xyXG5cdFx0Zm9udC1zaXplOiAxLjc1cmVtO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcclxuXHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG5cdFx0cGFkZGluZzogMS4yNXJlbSAzLjJyZW0gMS4yNXJlbSAxLjI1cmVtO1xyXG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0LCBjb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xyXG5cdH1cclxuXHJcblx0LmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xyXG5cdFx0Y29sb3I6IGdldC1jb2xvcignaG95LXllbGxvdycpO1xyXG5cdH1cclxuXHJcblx0LmFjY29yZGlvbiAuaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGUge1xyXG5cdFx0YmFja2dyb3VuZDogZ2V0LWNvbG9yKCdob3kteWVsbG93Jyk7XHJcblx0XHRjb2xvcjogJGJsYWNrO1xyXG5cclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Y29sb3I6ICRibGFjaztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5hY2NvcmRpb24tY29udGVudCB7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0Ym9yZGVyLXRvcDogMnB4IHNvbGlkICRibGFjaztcclxuXHJcblx0XHQuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuYWNjb3JkaW9uLWNvbnRlbnQgbGkge1xyXG5cdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG5cclxuXHRcdCY6bm90KDpsYXN0LWNoaWxkKTpub3QoLmFjY29yZGlvbi1pdGVtKSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5tb2RfY291cnNlcy1yZWFkbW9yZSB7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0Y29sb3I6ICRibGFjaztcclxuXHR9XHJcblxyXG5cdC5hY2NvcmRpb24tY29udGVudCBoMyB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzKTtcclxuXHR9XHJcblxyXG5cdC5tb2RfY291cnNlcy0tb25lLXRhYiB7XHJcblxyXG5cdFx0LmFjY29yZGlvbi1jb250ZW50IHtcclxuXHRcdFx0Ym9yZGVyLXdpZHRoOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5hY2NvcmRpb24tdGl0bGUge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcbn1cclxuXHJcbi5tb2Rfcm90YXRvciB7XHJcblxyXG5cdC5yb3RhdG9yX19pbWFnZSB7XHJcblx0XHRoZWlnaHQ6IHJlbS1jYWxjKDY1MCk7XHJcblxyXG5cdFx0aW1nIHtcclxuXHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuc3dpcGVyLXNsaWRlIC5ncmlkLWNvbnRhaW5lcixcclxuXHQuc3dpcGVyLWNvbnRyb2xzLFxyXG5cdGgyIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHotaW5kZXg6IDk5O1xyXG5cdH1cclxuXHJcblx0aDIge1xyXG5cdFx0dG9wOiByZW0tY2FsYyg3MCk7XHJcblx0XHRtYXgtd2lkdGg6IHJlbS1jYWxjKDQwMCk7XHJcblxyXG5cdFx0c3BhbiB7XHJcblx0XHRcdHBhZGRpbmc6IDAuMXJlbSAwLjcyNXJlbSAwLjRyZW07XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjE1O1xyXG5cdFx0XHRib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuc3dpcGVyLXNsaWRlIC5ncmlkLWNvbnRhaW5lciB7XHJcblx0XHRib3R0b206IHJlbS1jYWxjKDkwKTtcclxuXHRcdGxlZnQ6IDUwJTtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuXHRcdG1heC13aWR0aDogJGdyaWQtcm93LXdpZHRoO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cclxuXHQucm90YXRvcl9fY29udGVudCB7XHJcblx0XHRwYWRkaW5nOiAwIG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgJ21lZGl1bScpIC8gMjtcclxuXHRcdG1heC13aWR0aDogNjAlO1xyXG5cclxuXHRcdGg0IHtcclxuXHRcdFx0cGFkZGluZzogcmVtLWNhbGMoNyAxMCk7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5yb3RhdG9yX19jb250ZW50LXRleHQge1xyXG5cclxuXHRcdHAge1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMS40O1xyXG5cdFx0fVxyXG5cclxuXHRcdHNwYW4ge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjMEQwRDBEO1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRwYWRkaW5nOiAwLjNyZW0gMC42MjVyZW07XHJcblx0XHRcdGJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTtcclxuXHRcdH1cclxuXHJcblx0XHQqOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuc3dpcGVyLWNvbnRyb2xzX19jb250YWluZXIge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdH1cclxuXHJcblx0LnN3aXBlci1jb250cm9scyxcclxuXHQuc3dpcGVyLWNvbnRyb2xzIGEge1xyXG5cdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHR9XHJcblxyXG5cdC5zd2lwZXItY29udHJvbHMge1xyXG5cdFx0Ym90dG9tOiByZW0tY2FsYyg4MCk7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygzMik7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsICdtZWRpdW0nKSAvIDI7XHJcblxyXG5cdFx0LnN3aXBlci1jb250cm9sIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTQpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGkge1xyXG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcclxuXHJcblx0Lm1vZF9jb3Vyc2VzLW11bHRpIHtcclxuXHJcblx0XHQuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcblx0XHR9XHJcblxyXG5cdFx0Lm1vZF9jb3Vyc2VzLS1vbmUtdGFiIHtcclxuXHJcblx0XHRcdC5hY2NvcmRpb24tY29udGVudCB7XHJcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAycHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5hY2NvcmRpb24tdGl0bGUge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHJcbn0iLCJtYWluIHtcclxuXHJcblx0dWwgbGkge1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcblx0fVxyXG59XHJcblxyXG4uY29tLWNvbnRlbnQtY2F0ZWdvcnktYmxvZ19faXRlbSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMnJlbTtcclxuXHJcblx0aDIge1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyOCk7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxLjNyZW07XHJcblx0fVxyXG5cclxuXHRwIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuMztcclxuXHR9XHJcblxyXG5cdC5pdGVtLWNvbnRlbnQge1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0fVxyXG5cclxuXHQuaXRlbS1pbWFnZSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxLjNyZW07XHJcblxyXG5cdFx0aW1nIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uY29tLWNvbnRlbnQtYXJ0aWNsZSxcclxuLmNvbS1jb250ZW50LWNhdGVnb3J5LWJsb2cge1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG5cdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHRwYWRkaW5nOiAxcmVtO1xyXG5cdG1hcmdpbi1ib3R0b206IDJyZW07XHJcblxyXG5cdC5wYWdlLWhlYWRlciBoMSB7XHJcblx0XHRtYXJnaW46IDAgMCAxLjRyZW07XHJcblx0fVxyXG5cclxuXHQuaXRlbS1pbWFnZSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdH1cclxufVxyXG5cclxuLmNvbV9jb250ZW50LnZpZXctYXJ0aWNsZSAuY29tcG9uZW50LFxyXG4uY29tX2NvbnRlbnQudmlldy1jYXRlZ29yeSAuY29tcG9uZW50LFxyXG4uY29tX2FwcHJlbnRpY2VzaGlwcyAuY29tcG9uZW50IHtcclxuXHRtYXJnaW4tdG9wOiAxcmVtO1xyXG59XHJcblxyXG4uaG95aG9tZSB7XHJcblxyXG5cdC5jb21wb25lbnQge1xyXG5cdFx0bWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG5cdFx0cGFkZGluZzogNXJlbSAwO1xyXG5cdH1cclxuXHJcblx0LmNvbS1jb250ZW50LWNhdGVnb3J5LWJsb2cge1xyXG5cclxuXHRcdGgxIHtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygzNik7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDIuMnJlbTtcclxuXHRcdH1cclxuXHJcblx0XHRwIHtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjM7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uaG95aG9tZV9fbG9nb3Mge1xyXG5cclxuXHR1bCB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblx0fVxyXG5cclxuXHRsaSB7XHJcblx0XHRwYWRkaW5nOiAxLjhyZW07XHJcblx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBncmV5O1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGdyZXk7XHJcblx0fVxyXG5cclxuXHRsaTpmaXJzdC1jaGlsZCwgbGk6bnRoLWNoaWxkKDIpIHtcclxuXHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cdH1cclxuXHJcblx0bGk6bnRoLWNoaWxkKG9kZCkge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdH1cclxuXHJcblx0bGk6bnRoLWNoaWxkKGV2ZW4pIHtcclxuXHRcdGJvcmRlci1yaWdodDogMDtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0fVxyXG5cclxuXHRsaTpudGgtY2hpbGQoMyksIGxpOmxhc3QtY2hpbGQge1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMDtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdH1cclxufVxyXG5cclxuLmFydGljbGUtaW5mbyB7XHJcblx0bWFyZ2luLWJvdHRvbTogMC4zcmVtO1xyXG5cclxuXHRpIHtcclxuXHRcdG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNSk7XHJcblx0fVxyXG5cclxuXHRkZCB7XHJcblx0XHRmb250LXNpemU6IDAuOXJlbTtcclxuXHRcdGNvbG9yOiAkdmVyeS1kYXJrLWdyYXk7XHJcblx0fVxyXG59XHJcblxyXG4udGFncyB7XHJcblx0bWFyZ2luOiAwIDAgMC41cmVtO1xyXG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHJcblx0bGkge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdH1cclxuXHJcblx0YSB7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdH1cclxufVxyXG5cclxuLnJlYWRtb3JlIHtcclxuXHRtYXJnaW4tdG9wOiBhdXRvO1xyXG5cclxuXHRhIHtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRmb250LXdlaWdodDogODAwO1xyXG5cdFx0Zm9udC1zaXplOiAxcmVtO1xyXG5cdH1cclxufVxyXG5cclxuLnRoZW1lLWxhbmRpbmcge1xyXG5cclxuXHQuY29tLWNvbnRlbnQtYXJ0aWNsZSxcclxuXHQuY29tLWNvbnRlbnQtY2F0ZWdvcnktYmxvZyB7XHJcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50ICh4bGFyZ2UpIHtcclxuXHJcblx0LnRoZW1lLWxhbmRpbmcgLmNhdGVnb3J5LWRlc2Mge1xyXG5cclxuXHRcdD4gcCB7XHJcblx0XHRcdHBhZGRpbmc6IDAgNnJlbTtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCIubmV3cyB7XHJcblxyXG4gICAgLm5ld3NfX3RpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM2KTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLm5ld3NfX2l0ZW0ge1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRzZWN0aW9uLXNoYWRvdztcclxuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAxMCAzOCk7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYTphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMGE5XCI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaWNvbmZvbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xyXG4gICAgICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKGhveS1waW5rKTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgY29sb3I6IGdldC1jb2xvcihob3ktcGluayk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjdyZW07XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgIC5uZXdzX19pdGVtLWRhdGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGNvbG9yOiBnZXQtY29sb3IoaG95LWJsdWUpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDAgMCAwO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uZXdzX19pdGVtLWludHJvIHtcclxuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjdyZW07XHJcbiAgICB9XHJcblxyXG4gICAgPiBwIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYyg1MCAwIDU1KTtcclxuICAgIH1cclxuXHJcbiAgICAuYnV0dG9uIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgIH1cclxuXHJcbiAgICAubmV3c19fcmVhZG1vcmUge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMXJlbSAwIDEuNXJlbTtcclxuICAgIH1cclxufSIsIiNyc19ldmVudHNfY29udGFpbmVyIHtcclxuXHRtYXJnaW46IDAgIWltcG9ydGFudDtcclxuXHJcblx0LmV2ZW50LW1vbnRoX19oZWFkZXIge1xyXG5cdFx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG5cdFx0ZmxleDogMTAwJTtcclxuXHR9XHJcblxyXG5cdGxpOm5vdCguZXZlbnQtbW9udGhfX2hlYWRlcikge1xyXG5cdFx0cGFkZGluZzogMC42MjVyZW0gIWltcG9ydGFudDtcclxuXHR9XHJcbn1cclxuXHJcbi52aWV3LXJzZXZlbnRzcHJvLmxheW91dC1zaG93IC5jYWxsb3V0IC5idXR0b24tZ3JvdXAge1xyXG5cdG1hcmdpbi1ib3R0b206IC0kYnV0dG9uZ3JvdXAtbWFyZ2luO1xyXG59XHJcblxyXG4ubmV3cyAubmV3c19faXRlbS0tZXZlbnQge1xyXG5cclxuXHRoMyB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcclxuXHR9XHJcblxyXG5cdHNwYW4ge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRsaW5lLWhlaWdodDogMS40O1xyXG5cdFx0Y29sb3I6ICRibGFjaztcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM4KTtcclxuXHRcdGZvbnQtc2l6ZTogMXJlbTtcclxuXHR9XHJcbn1cclxuXHJcbiNyc2VJbnZpdGVGb3JtIHtcclxuXHJcblx0bGFiZWwge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMC4zNzVyZW07XHJcblx0XHRsaW5lLWhlaWdodDogMS41O1xyXG5cdH1cclxufVxyXG5cclxuI3JzZUludml0ZUJ0biB7XHJcblx0bWFyZ2luOiByZW0tY2FsYygwIDUgMCAwKTtcclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XHJcblx0LmV2ZW50LW1vbnRoX19oZWFkZXIgaDIge1xyXG5cdFx0bWFyZ2luOiByZW0tY2FsYyg1MCAwIDMwKTtcclxuXHR9XHJcblxyXG5cdCNyc19ldmVudHNfY29udGFpbmVyIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWZsb3c6IHdyYXA7XHJcblx0XHRjb2x1bW4tZ2FwOiBtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsICdtZWRpdW0nKSAvIDI7XHJcblxyXG5cdFx0bGk6bm90KC5ldmVudC1tb250aF9faGVhZGVyKSB7XHJcblx0XHRcdGZsZXg6IDQ4JTtcclxuXHRcdFx0bWF4LXdpZHRoOiA1MCU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xyXG5cdCNyc19ldmVudHNfY29udGFpbmVyIHtcclxuXHJcblx0XHRsaTpub3QoLmV2ZW50LW1vbnRoX19oZWFkZXIpIHtcclxuXHRcdFx0ZmxleDogMjAlO1xyXG5cdFx0XHRtYXgtd2lkdGg6IDI1JTtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCJmb3JtIHtcclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNik7XHJcbiAgICAgICAgLy8gY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTAwJTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcbiAgICB9XHJcblxyXG4gICAgbGFiZWwubWlkZGxlIHtcclxuICAgIFx0cGFkZGluZzogMDtcclxuICAgIFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNik7XHJcbiAgICB9XHJcbn1cclxuXHJcbnNlbGVjdCB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMC4xMzdyZW0gY2VudGVyO1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IC05OTk5OTlweDtcclxuXHJcbiAgICArIGxhYmVsIHtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMCAxNSAzNCk7XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2UwZTBlMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogLTM1cHg7XHJcbiAgICAgICAgICAgIHRvcDogLTVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGdldC1jb2xvcigncHJpbWFyeScpO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAtMzBweDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjpmb2N1cyArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBnZXQtY29sb3IoJ3ByaW1hcnknKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmRpc2FibGVkICsgbGFiZWwge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgfVxyXG59XHJcblxyXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogLTk5OTk5OXB4O1xyXG5cclxuICAgICsgbGFiZWwge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMzZweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDE1IDI1IDApO1xyXG4gICAgfVxyXG5cclxuICAgICsgbGFiZWw6YmVmb3JlLFxyXG4gICAgJjpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIH1cclxuXHJcbiAgICArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgd2lkdGg6IDI2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHRvcDogLTVweDtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjRTBFMEUwO1xyXG4gICAgfVxyXG5cclxuICAgICY6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcclxuICAgICAgICB3aWR0aDogMTJweDtcclxuICAgICAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKCdwcmltYXJ5Jyk7XHJcbiAgICAgICAgbGVmdDogN3B4O1xyXG4gICAgICAgIHRvcDogMnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2VsZWN0MiB7XHJcblxyXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICYuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlIHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBwYWRkaW5nOiA3cHggNnB4O1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ2V0LWNvbG9yKCdhZHVsdC1wdXJwbGUnKTtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZTBlMGUwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgcGFkZGluZzogMC40cmVtO1xyXG4gICAgfVxyXG5cclxuICAgICYuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLWZvY3VzIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGdldC1jb2xvcigncHJpbWFyeScpO1xyXG4gICAgfVxyXG5cclxuICAgICYuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKCdwcmltYXJ5Jyk7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICBtYXJnaW46IDAgNXB4IDVweCAwO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XHJcbiAgICAgICAgbWluLWhlaWdodDogMjZweDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yc2Zvcm0tYmxvY2stcGFzc3dvcmQge1xyXG5cclxuICAgIGlucHV0IHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnJzZm9ybS1wYXNzd29yZC1oaW50IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb3JtQ29udGFpbmVyIC5yc2Zvcm0tdHlwZS1yZWNhcHRjaGF2MiB7XHJcblxyXG4gICAgLmZvcm1Db250cm9scy5jZWxsIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcblxyXG4gICAgICAgIC5mb3JtVmFsaWRhdGlvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucnNmb3JtLWJsb2NrIC5tZWRpdW0tMTIuY2VsbCB7XHJcbiAgICBtYXJnaW46IDAgbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ3NtYWxsJykgLyAyICogLTE7XHJcbn1cclxuXHJcbi5yc2Zvcm0tdHlwZS1wcm9zb2x1dGlvbiB7XHJcblxyXG4gICAgJi5oYXMtZXJyb3ItZm91bmRhdGlvbiAuY2VsbCAuZ3JpZC14IC5jZWxsICoge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDEuNTYyNXJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLm5ld3NsZXR0ZXIge1xyXG4gICAgcGFkZGluZzogcmVtLWNhbGMoNzUpIG1hcC1nZXQoJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAnc21hbGwnKSAvIDI7XHJcblxyXG4gICAgcCB7XHJcbiAgICBcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xyXG4gICAgXHRsaW5lLWhlaWdodDogMTMwJTtcclxuICAgIFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzUpO1xyXG4gICAgfVxyXG5cclxuICAgIGxhYmVsIHtcclxuICAgIFx0Y29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuXHJcbiAgICAucnNmb3JtLWJsb2NrLXByaXZhY3kgcCB7XHJcbiAgICBcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgXHRjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG5cclxuICAgIC5yc2Zvcm0tYmxvY2stc3VibWl0IHtcclxuXHJcbiAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMC43cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XHJcblxyXG4gICAgLm5ld3NsZXR0ZXIge1xyXG5cclxuICAgICAgICAucnNmb3JtLWJsb2NrLXN1Ym1pdCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucnNmb3JtLWJsb2NrIC5tZWRpdW0tMTIuY2VsbCB7XHJcbiAgICAgICAgbWFyZ2luOiAwIG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdtZWRpdW0nKSAvIDIgKiAtMTtcclxuICAgIH1cclxufVxyXG4iLCIucGFnaW5hdGlvbiB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHRhIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDAuNnJlbTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA5MDA7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdH1cclxuXHJcblx0bGk6bm90KC5hY3RpdmUpIGEge1xyXG5cdFx0YmFja2dyb3VuZDogJGJsYWNrO1xyXG5cdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHR9XHJcblxyXG5cdGxpIGFbZGlzYWJsZWQ9XCJkaXNhYmxlZFwiXSB7XHJcblx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblx0XHRjb2xvcjogJGJsYWNrO1xyXG5cdH1cclxufSIsIi5jb3Vyc2UtaXRlbSwgLmNvdXJzZS1pdGVtIGgyLCAuY291cnNlLWl0ZW0gcCB7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjUpO1x0XHJcbn1cclxuXHJcbi5wYWdlLWhlYWRlcl9fc3VidGl0bGUge1xyXG5cdGNvbG9yOiAkd2hpdGU7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRtYXJnaW46IC0zcmVtIDAgM3JlbTtcclxufVxyXG5cclxuLmNvdXJzZS1pdGVtIHtcclxuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBnZXQtY29sb3IoJ2hveS1ncmV5Jyk7XHJcblxyXG5cdGgyIGEge1xyXG5cdFx0Y29sb3I6ICRibGFjaztcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6IGdldC1jb2xvcigncHJpbWFyeScpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cCB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjM7XHJcblx0fVxyXG5cclxuXHR1bCB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdH1cclxuXHJcblx0bGkge1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG5cdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoNTApO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcclxuXHRcdG1heC13aWR0aDogMjUlO1xyXG5cclxuXHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdGEge1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRsaSBzcGFuIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGNvbG9yOiBnZXQtY29sb3IoJ3ByaW1hcnknKTtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG5cdH1cclxuXHJcbn1cclxuXHJcbi5jb3Vyc2UtZmlsdGVyc19fY29udGFpbmVyIHtcclxuXHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgYm94LXNoYWRvdzogJHNlY3Rpb24tc2hhZG93LXNvZnQ7XHJcbiAgICBtYXJnaW46IDRyZW0gMDtcclxuICAgIHBhZGRpbmc6IDEuNXJlbTtcclxuXHJcbiAgICBpbnB1dCB7XHJcbiAgICBcdG1hcmdpbjogMDtcclxuICAgIH1cclxuXHJcbiAgICBoMiB7XHJcbiAgICBcdGNvbG9yOiBnZXQtY29sb3IoJ3ByaW1hcnknKTtcclxuICAgIH1cclxufVxyXG5cclxuLmNvdXJzZV9fcGF0aHdheXMge1xyXG5cdG1hcmdpbi10b3A6IDNyZW07XHJcbn1cclxuXHJcbi5tb2RfY291cnNlaW5mbyB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cclxuXHQuY2FsbG91dF9faW5mby1ibG9jayB7XHJcblx0XHR3aWR0aDogNTAlO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdH1cclxuXHJcblx0LmNhbGxvdXRfX2luZm8tYmxvY2ssIFxyXG5cdC5tb2RfY291cnNlaW5mby1idXR0b25zIHtcclxuXHRcdHBhZGRpbmc6IDAuNnJlbTtcclxuXHR9XHJcblxyXG5cdC5tb2RfY291cnNlaW5mby1idXR0b25zIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0Lm1vZF9jb3Vyc2VpbmZvLWJ1dHRvbnMgYTpsYXN0LWNoaWxkIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHR9XHJcbn1cclxuXHJcbi5jb21faW1wb3J0ZXIge1xyXG5cclxuXHQuc2lkZWJhciAubW9kdWxldGFibGUge1xyXG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMzAgMzAgNSk7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdH1cclxuXHJcblx0LnNpZGViYXIgLm1vZHVsZXRhYmxlIGgzIHtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMyk7XHJcblx0fVxyXG5cclxuXHQuc2xpZGVfX3RpdGxlIHtcclxuXHRcdG1heC13aWR0aDogcmVtLWNhbGMoNTAwKTtcclxuXHR9XHJcblxyXG5cdC5jb21wb25lbnQgLnBhZ2UtaGVhZGVyIGgxIHtcclxuXHRcdG1hcmdpbjogMy40cmVtIDAgMDtcclxuXHR9XHJcbn1cclxuXHJcbi5mYWN0c2hlZXQge1xyXG5cclxuXHRoMixcclxuXHQuYWNjb3JkaW9uLXRpdGxlIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xyXG5cdH1cclxuXHJcblx0LmFjY29yZGlvbi10aXRsZSB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRmb250LXdlaWdodDogOTAwO1xyXG5cdH1cclxuXHJcblx0LmFjY29yZGlvbi1jb250ZW50IHtcclxuXHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0fVxyXG59XHJcblxyXG4jZGFzaGZpbHRlci1jb3Vyc2VfdHlwZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdHBhZGRpbmc6IDAuNnJlbSAxcmVtO1xyXG5cdGhlaWdodDogYXV0bztcclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcclxuXHJcblx0LmNvbV9pbXBvcnRlci52aWV3LXNlYXJjaCB7XHJcblxyXG5cdFx0LnNpZGViYXIge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxMnJlbTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5jb3Vyc2UtZmlsdGVyc19fY29udGFpbmVyIHtcclxuXHQgICAgbWFyZ2luOiA0LjlyZW0gMCAycmVtO1xyXG5cdH1cclxuXHJcblx0LmZhY3RzaGVldCB7XHJcblxyXG5cdFx0Lm5vLWltYWdlIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMTNyZW07XHJcblx0XHR9XHJcblx0fVxyXG5cclxufSIsIi5jb20tZmluZGVyLmZpbmRlciAucGFnZS1oZWFkZXI6YmVmb3JlIHtcclxuXHRoZWlnaHQ6IDUwMHB4O1xyXG59XHJcblxyXG4jc2VhcmNoLWZvcm0ge1xyXG5cclxuXHRsYWJlbCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMyk7XHJcblx0fVxyXG5cclxuXHQuanMtZmluZGVyLXNlYXJjaC1xdWVyeSB7XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRwYWRkaW5nOiByZW0tY2FsYyg4IDE1KTtcclxuXHR9XHJcblxyXG5cdC5maWx0ZXJzIHtcclxuXHRcdG1hcmdpbjogcmVtLWNhbGMoMTAgMCAwKTtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHR9XHJcblxyXG5cdC5zZWFyY2hfX2ZpbHRlciB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG5cdFx0bGFiZWwge1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDIwKTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5hd2Vzb21wbGV0ZSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcbn1cclxuXHJcbiNzZWFyY2gtcmVzdWx0cyB7XHJcblx0bWFyZ2luLXRvcDogNHJlbTtcclxuXHJcblx0b2wge1xyXG5cdFx0bWFyZ2luOiByZW0tY2FsYygwIDAgNTApO1xyXG5cdH1cclxuXHJcblx0LnJlc3VsdF9fdGl0bGUge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG5cdH1cclxuXHJcblx0LnJlc3VsdF9faXRlbSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XHJcblxyXG5cdFx0YSB7XHJcblx0XHRcdGJhY2tncm91bmQ6ICNlZWU7XHJcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDMwKTtcclxuXHRcdFx0Y29sb3I6ICRibGFjaztcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5yZXN1bHRfX2l0ZW0gKyAucmVzdWx0X19pdGVtIHtcclxuXHRcdG1hcmdpbi10b3A6IDA7XHJcblx0XHRib3JkZXI6IG5vbmU7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHJcblx0LnJlc3VsdF9fZGVzY3JpcHRpb24ge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xyXG5cdH1cclxuXHJcblx0dWwge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdH1cclxuXHJcblx0LmxhYmVsIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA5MDA7XHJcblx0XHRwYWRkaW5nOiByZW0tY2FsYyg3IDE5KTtcclxuXHR9XHJcblxyXG5cdC5yZXN1bHRfX2Fycm93IHtcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xyXG5cdH1cclxufSIsIi52aWV3LXJlc2V0LmxheW91dC1jb21wbGV0ZSB7XHJcblxyXG5cdC5pbnB1dC1ncm91cCxcclxuXHQuZm9ybS1jb250cm9sIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHR9XHJcblxyXG5cdC5wYXNzd29yZC1ncm91cCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcblx0fVxyXG59XHJcblxyXG4uaW5wdXQtcGFzc3dvcmQtdG9nZ2xlIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59IiwiZm9vdGVyIHtcclxuXHRiYWNrZ3JvdW5kOiAkYmxhY2s7XHJcblx0cGFkZGluZzogcmVtLWNhbGMoNjAgMCk7XHJcblxyXG5cdHAsIGEge1xyXG5cdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHR9XHJcblxyXG5cdGgzLCBwLCB1bCBhIHtcclxuXHRcdGZvbnQtc2l6ZTogMS4yNzVyZW07XHJcblx0XHRsaW5lLWhlaWdodDogMS4zO1xyXG5cdH1cclxuXHJcblx0LmN1c3RvbSBhIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiA5MDA7XHJcblx0fVxyXG5cclxuXHRoMyB7XHJcblx0XHRjb2xvcjogIzgyOTE5QztcclxuXHR9XHJcblxyXG5cdHVsIHtcclxuXHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHRcdG1hcmdpbjogcmVtLWNhbGMoMCAwIDMwKTtcclxuXHR9XHJcblxyXG5cdGE6aG92ZXIge1xyXG5cdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdH1cclxuXHJcblx0Lm1vZHVsZXRhYmxlIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDEuNnJlbTtcclxuXHR9XHJcblxyXG5cdC5tb2QtbGlzdCBsaSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwLjNyZW07XHJcblx0fVxyXG5cclxuXHRociB7XHJcblx0XHRtYXgtd2lkdGg6IG5vbmU7XHJcblx0XHRoZWlnaHQ6IDFweDtcclxuXHRcdGJhY2tncm91bmQ6ICMxMDEwMTA7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgIzFFMUUxRTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIuNXJlbTtcclxuXHR9XHJcblxyXG5cdC5mb290ZXItYm90dG9tIHtcclxuXHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG5cdFx0LmdyaWQteCB7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuXHRcdH1cclxuXHJcblx0XHRhIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxcmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdGxpIHtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmZvb3Rlci1ib3R0b21fX2xvZ28ge1xyXG5cdFx0cGFkZGluZzogMnJlbSAwO1xyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcclxuXHJcblx0Zm9vdGVyIHtcclxuXHJcblx0XHQuZm9vdGVyLWJvdHRvbV9fZGF0ZSB7XHJcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5mb290ZXItYm90dG9tIHtcclxuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdH1cclxuXHJcblx0XHQuZm9vdGVyLWJvdHRvbV9fbG9nbyB7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxufSIsIi5jYy13aW5kb3cge1xyXG5cclxuXHRpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG5cdFx0cG9zaXRpb246IHN0YXRpYztcclxuXHR9XHJcblxyXG5cdGRpdi5jYy1jaGVja2JveGVzLWNvbnRhaW5lciBhOm5vdCguY2MtYnRuKSB7XHJcblx0XHRwYWRkaW5nOiAxcHggNnB4IDAgM3B4O1xyXG5cdH1cclxuXHJcblx0YTpmb2N1cyxcclxuXHRzcGFuOmZvY3VzLFxyXG5cdGlucHV0LmNjLWNvb2tpZS1jaGVja2JveDpmb2N1cyArIHNwYW46OmJlZm9yZSB7XHJcblx0XHRvdXRsaW5lOiAycHggc29saWQgeWVsbG93O1xyXG5cdH1cclxufSIsIi5tYXJnaW4tMCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5tYXJnaW4tMSB7XHJcbiAgICBtYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xyXG59XHJcblxyXG4ubWFyZ2luLTIge1xyXG4gICAgbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAqIDI7XHJcbn1cclxuXHJcbi5tYXJnaW4tMyB7XHJcbiAgICBtYXJnaW46ICRnbG9iYWwtbWFyZ2luICogMztcclxufVxyXG5cclxuLm1hcmdpbi00IHtcclxuICAgIG1hcmdpbjogJGdsb2JhbC1tYXJnaW4gKiA0O1xyXG59XHJcblxyXG4ubWFyZ2luLTUge1xyXG4gICAgbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAqIDU7XHJcbn1cclxuXHJcbi5tYXJnaW4tNiB7XHJcbiAgICBtYXJnaW46ICRnbG9iYWwtbWFyZ2luICogNjtcclxufVxyXG5cclxuLm1hcmdpbi10b3AtMCB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG59XHJcblxyXG4ubWFyZ2luLXRvcC0xIHtcclxuICAgIG1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xyXG59XHJcblxyXG4ubWFyZ2luLXRvcC0yIHtcclxuICAgIG1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICogMjtcclxufVxyXG5cclxuLm1hcmdpbi10b3AtMyB7XHJcbiAgICBtYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAqIDM7XHJcbn1cclxuXHJcbi5tYXJnaW4tdG9wLTQge1xyXG4gICAgbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gKiA0O1xyXG59XHJcblxyXG4ubWFyZ2luLXRvcC01IHtcclxuICAgIG1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICogNTtcclxufVxyXG5cclxuLm1hcmdpbi10b3AtNiB7XHJcbiAgICBtYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAqIDY7XHJcbn1cclxuXHJcbi5tYXJnaW4tYm90dG9tLTAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLm1hcmdpbi1ib3R0b20tMSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxufVxyXG5cclxuLm1hcmdpbi1ib3R0b20tMiB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAqIDI7XHJcbn1cclxuXHJcbi5tYXJnaW4tYm90dG9tLTMge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gKiAzO1xyXG59XHJcblxyXG4ubWFyZ2luLWJvdHRvbS00IHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICogNDtcclxufVxyXG5cclxuLm1hcmdpbi1ib3R0b20tNSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAqIDU7XHJcbn1cclxuXHJcbi5tYXJnaW4tYm90dG9tLTYge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gKiA2O1xyXG59XHJcblxyXG4ubWFyZ2luLWxlZnQtMCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxufVxyXG5cclxuLm1hcmdpbi1sZWZ0LTEge1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRnbG9iYWwtbWFyZ2luO1xyXG59XHJcblxyXG4ubWFyZ2luLWxlZnQtMiB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGdsb2JhbC1tYXJnaW4gKiAyO1xyXG59XHJcblxyXG4ubWFyZ2luLWxlZnQtMyB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGdsb2JhbC1tYXJnaW4gKiAzO1xyXG59XHJcblxyXG4ubWFyZ2luLWxlZnQtNCB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGdsb2JhbC1tYXJnaW4gKiA0O1xyXG59XHJcblxyXG4ubWFyZ2luLWxlZnQtNSB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGdsb2JhbC1tYXJnaW4gKiA1O1xyXG59XHJcblxyXG4ubWFyZ2luLWxlZnQtNiB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGdsb2JhbC1tYXJnaW4gKiA2O1xyXG59XHJcblxyXG4ubWFyZ2luLXJpZ2h0LTAge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG59XHJcblxyXG4ubWFyZ2luLXJpZ2h0LTEge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkZ2xvYmFsLW1hcmdpbjtcclxufVxyXG5cclxuLm1hcmdpbi1yaWdodC0yIHtcclxuICAgIG1hcmdpbi1yaWdodDogJGdsb2JhbC1tYXJnaW4gKiAyO1xyXG59XHJcblxyXG4ubWFyZ2luLXJpZ2h0LTMge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkZ2xvYmFsLW1hcmdpbiAqIDM7XHJcbn1cclxuXHJcbi5tYXJnaW4tcmlnaHQtNCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRnbG9iYWwtbWFyZ2luICogNDtcclxufVxyXG5cclxuLm1hcmdpbi1yaWdodC01IHtcclxuICAgIG1hcmdpbi1yaWdodDogJGdsb2JhbC1tYXJnaW4gKiA1O1xyXG59XHJcblxyXG4ubWFyZ2luLXJpZ2h0LTYge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkZ2xvYmFsLW1hcmdpbiAqIDY7XHJcbn1cclxuXHJcbi5wYWRkaW5nLTAge1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLnBhZGRpbmctMSB7XHJcbiAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbn1cclxuXHJcbi5wYWRkaW5nLTIge1xyXG4gICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICogMjtcclxufVxyXG5cclxuLnBhZGRpbmctMyB7XHJcbiAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgKiAzO1xyXG59XHJcblxyXG4ucGFkZGluZy00IHtcclxuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAqIDQ7XHJcbn1cclxuXHJcbi5wYWRkaW5nLTUge1xyXG4gICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICogNTtcclxufVxyXG5cclxuLnBhZGRpbmctNiB7XHJcbiAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgKiA2O1xyXG59XHJcblxyXG4ucGFkZGluZy10b3AtMCB7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxufVxyXG5cclxuLnBhZGRpbmctdG9wLTEge1xyXG4gICAgcGFkZGluZy10b3A6ICRnbG9iYWwtcGFkZGluZztcclxufVxyXG5cclxuLnBhZGRpbmctdG9wLTIge1xyXG4gICAgcGFkZGluZy10b3A6ICRnbG9iYWwtcGFkZGluZyAqIDI7XHJcbn1cclxuXHJcbi5wYWRkaW5nLXRvcC0zIHtcclxuICAgIHBhZGRpbmctdG9wOiAkZ2xvYmFsLXBhZGRpbmcgKiAzO1xyXG59XHJcblxyXG4ucGFkZGluZy10b3AtNCB7XHJcbiAgICBwYWRkaW5nLXRvcDogJGdsb2JhbC1wYWRkaW5nICogNDtcclxufVxyXG5cclxuLnBhZGRpbmctdG9wLTUge1xyXG4gICAgcGFkZGluZy10b3A6ICRnbG9iYWwtcGFkZGluZyAqIDU7XHJcbn1cclxuXHJcbi5wYWRkaW5nLXRvcC02IHtcclxuICAgIHBhZGRpbmctdG9wOiAkZ2xvYmFsLXBhZGRpbmcgKiA2O1xyXG59XHJcblxyXG4ucGFkZGluZy1ib3R0b20tMCB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxufVxyXG5cclxuLnBhZGRpbmctYm90dG9tLTEge1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRnbG9iYWwtcGFkZGluZztcclxufVxyXG5cclxuLnBhZGRpbmctYm90dG9tLTIge1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRnbG9iYWwtcGFkZGluZyAqIDI7XHJcbn1cclxuXHJcbi5wYWRkaW5nLWJvdHRvbS0zIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkZ2xvYmFsLXBhZGRpbmcgKiAzO1xyXG59XHJcblxyXG4ucGFkZGluZy1ib3R0b20tNCB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJGdsb2JhbC1wYWRkaW5nICogNDtcclxufVxyXG5cclxuLnBhZGRpbmctYm90dG9tLTUge1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRnbG9iYWwtcGFkZGluZyAqIDU7XHJcbn1cclxuXHJcbi5wYWRkaW5nLWJvdHRvbS02IHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkZ2xvYmFsLXBhZGRpbmcgKiA2O1xyXG59XHJcblxyXG4ucGFkZGluZy1sZWZ0LTAge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG59XHJcblxyXG4ucGFkZGluZy1sZWZ0LTEge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLXBhZGRpbmc7XHJcbn1cclxuXHJcbi5wYWRkaW5nLWxlZnQtMiB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRnbG9iYWwtcGFkZGluZyAqIDI7XHJcbn1cclxuXHJcbi5wYWRkaW5nLWxlZnQtMyB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRnbG9iYWwtcGFkZGluZyAqIDM7XHJcbn1cclxuXHJcbi5wYWRkaW5nLWxlZnQtNCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRnbG9iYWwtcGFkZGluZyAqIDQ7XHJcbn1cclxuXHJcbi5wYWRkaW5nLWxlZnQtNSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRnbG9iYWwtcGFkZGluZyAqIDU7XHJcbn1cclxuXHJcbi5wYWRkaW5nLWxlZnQtNiB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRnbG9iYWwtcGFkZGluZyAqIDY7XHJcbn1cclxuXHJcbi5wYWRkaW5nLXJpZ2h0LTAge1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxufVxyXG5cclxuLnBhZGRpbmctcmlnaHQtMSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ2xvYmFsLXBhZGRpbmc7XHJcbn1cclxuXHJcbi5wYWRkaW5nLXJpZ2h0LTIge1xyXG4gICAgcGFkZGluZy1yaWdodDogJGdsb2JhbC1wYWRkaW5nICogMjtcclxufVxyXG5cclxuLnBhZGRpbmctcmlnaHQtMyB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ2xvYmFsLXBhZGRpbmcgKiAzO1xyXG59XHJcblxyXG4ucGFkZGluZy1yaWdodC00IHtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRnbG9iYWwtcGFkZGluZyAqIDQ7XHJcbn1cclxuXHJcbi5wYWRkaW5nLXJpZ2h0LTUge1xyXG4gICAgcGFkZGluZy1yaWdodDogJGdsb2JhbC1wYWRkaW5nICogNTtcclxufVxyXG5cclxuLnBhZGRpbmctcmlnaHQtNiB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ2xvYmFsLXBhZGRpbmcgKiA2O1xyXG59IiwiQG1lZGlhIHByaW50IHtcclxuXHJcblx0KiB7XHJcblx0XHRwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xyXG5cdH1cclxuXHJcblx0aGVhZGVyLnN0aWNreS1jb250YWluZXIgLnN0aWNreTo6YmVmb3JlIHtcclxuXHRcdGhlaWdodDogMDtcclxuXHR9XHJcblxyXG5cdC5uby1zbGlkZSBoZWFkZXIuc3RpY2t5LWNvbnRhaW5lciB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdH1cclxuXHJcblx0aGVhZGVyLnN0aWNreS1jb250YWluZXIgLmdyaWQtY29udGFpbmVyIHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG5cdFx0aGVpZ2h0OiA5MHB4ICFpbXBvcnRhbnQ7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdH1cclxuXHJcblx0aGVhZGVyLnN0aWNreS1jb250YWluZXIgLnN0aWNreSB7XHJcblx0XHRib3JkZXI6IDA7XHJcblx0fVxyXG5cclxuXHQuY29tX2NvbnRlbnQudmlldy1hcnRpY2xlIC5jb21wb25lbnQsIC5jb21fY29udGVudC52aWV3LWNhdGVnb3J5IC5jb21wb25lbnQsIC5jb21fYXBwcmVudGljZXNoaXBzIC5jb21wb25lbnQge1xyXG5cdFx0bWFyZ2luLXRvcDogMDtcclxuXHR9XHJcblxyXG5cdC5hbHQtaGVhZGVyLXdha2VmaWVsZC1kYXJrLWdyZWVuIHtcclxuXHJcblx0XHQmLmZhY3RzaGVldCBoMixcclxuXHRcdC5jYWxsb3V0X19pbmZvIHNwYW4sXHJcblx0XHQuY291cnNlX19jb250YWluZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIHtcclxuXHRcdFx0Y29sb3I6IGdldC1jb2xvcignd2FrZWZpZWxkLWdyZWVuJykgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHJcblx0XHQuc2lkZWJhciB7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogZ2V0LWNvbG9yKCd3YWtlZmllbGQtZ3JlZW4nKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5hbHQtaGVhZGVyLWNhc3RsZWZvcmQtZGFyay1ibHVlIHtcclxuXHJcblx0XHQmLmZhY3RzaGVldCBoMixcclxuXHRcdC5jYWxsb3V0X19pbmZvIHNwYW4sXHJcblx0XHQuY291cnNlX19jb250YWluZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIHtcclxuXHRcdFx0Y29sb3I6IGdldC1jb2xvcignY2FzdGxlZm9yZC1ibHVlJykgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHJcblx0XHQuc2lkZWJhciB7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogZ2V0LWNvbG9yKCdjYXN0bGVmb3JkLWJsdWUnKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5hbHQtaGVhZGVyLXNlbGJ5LWRhcmstcmVkIHtcclxuXHJcblx0XHQmLmZhY3RzaGVldCBoMixcclxuXHRcdC5jYWxsb3V0X19pbmZvIHNwYW4sXHJcblx0XHQuY291cnNlX19jb250YWluZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIHtcclxuXHRcdFx0Y29sb3I6IGdldC1jb2xvcignc2VsYnktcmVkJykgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHJcblx0XHQuc2lkZWJhciB7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogZ2V0LWNvbG9yKCdzZWxieS1yZWQnKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5jb21wb25lbnQgLnBhZ2UtaGVhZGVyIGgxIHtcclxuXHRcdG1hcmdpbjogMCAwIDFyZW07XHJcblx0XHRtYXgtd2lkdGg6IDY1JTtcclxuXHR9XHJcblxyXG5cdC5mYWN0c2hlZXQgaDIsXHJcblx0LmNvdXJzZV9fY29udGFpbmVyIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZSB7XHJcblx0XHRmb250LXNpemU6IDEuMXJlbTtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcblx0fVxyXG5cclxuXHQuY291cnNlX19jb250YWluZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcblxyXG5cdC5hbHQtaGVhZGVyIC5wYWdlLWhlYWRlcjo6YmVmb3JlIHtcclxuXHRcdGhlaWdodDogMjUwcHg7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG5cdH1cclxuXHJcblx0LnNpZGViYXIge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuXHRcdG1hcmdpbi10b3A6IDRyZW07XHJcblx0XHRib3JkZXItbGVmdDogMXB4IHNvbGlkICMwMDA7XHJcblx0fVxyXG5cclxuXHQuZmFjdHNoZWV0IC5uby1pbWFnZSB7XHJcblx0XHRtYXJnaW4tdG9wOiA1cmVtO1xyXG5cdH1cclxuXHJcblx0aGVhZGVyLnN0aWNreS1jb250YWluZXIgLmhlYWRlcl9fbG9nbyBzdmcge1xyXG5cdFx0bWF4LXdpZHRoOiBub25lO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cclxuXHQuc2lkZWJhciAubW9kdWxldGFibGUge1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcblxyXG5cdC5tb2RfY291cnNlaW5mbyAuY2FsbG91dF9faW5mby1ibG9jaywgLm1vZF9jb3Vyc2VpbmZvIC5tb2RfY291cnNlaW5mby1idXR0b25zIHtcclxuXHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdGNvbG9yOiAjNDA0MDQwICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cclxuXHQuY2FsbG91dF9faW5mbyB7XHJcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdH1cclxuXHJcblx0LmNhbGxvdXRfX2luZm8gc3BhbiB7XHJcblx0XHRmb250LXNpemU6IDAuN3JlbTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0fVxyXG5cclxuXHQuaGVhZGVyX190b3BsaW5rcyxcclxuXHQuaGVhZGVyX19tYWlubWVudSwgXHJcblx0LmNvdXJzZV9fcGF0aHdheXMsXHJcblx0LmFjY29yZGlvbi10aXRsZTo6YmVmb3JlLFxyXG5cdGFzaWRlLnNpZGViYXIgLmJ1dHRvbixcclxuXHRmb3JtLFxyXG5cdGZvb3RlcixcclxuXHQjQzRBX2xuazEsXHJcblx0LmhlYWRlcl9fbG9nby1icmFuZCBzcGFuIHtcclxuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuXHR9XHJcblxyXG5cdC5vZmYtY2FudmFzLWNvbnRlbnQge1xyXG5cclxuXHRcdD4gKiB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblxyXG5cdFx0bWFpbixcclxuXHRcdGhlYWRlciB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmhlYWRlcl9fbG9nbyB7XHJcblx0XHRhLFxyXG5cdFx0LmhlYWRlcl9fbG9nby1icmFuZCB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0bWF4LXdpZHRoOiAyMDBweDtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5oZWFkZXJfX2xvZ28tYnJhbmQge1xyXG5cdFx0XHRyaWdodDogMTVweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5hbHQtaGVhZGVyIGgxLFxyXG5cdGhlYWRlci5zdGlja3ktY29udGFpbmVyIC5oZWFkZXJfX2xvZ28tYnJhbmQgc3BhbiB7XHJcblx0XHRjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cclxuXHRwLCBsaSwgbWFpbiB1bCBsaSB7XHJcblx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0XHRsaW5lLWhlaWdodDogMS4zO1xyXG5cdFx0Y29sb3I6ICM0MDQwNDAgIWltcG9ydGFudDtcclxuXHR9XHJcblxyXG5cclxuXHQ6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkLFxyXG5cdC5hY2NvcmRpb24tdGl0bGUge1xyXG5cdFx0Ym9yZGVyOiAwICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cclxuXHQuYWNjb3JkaW9uLXRpdGxlIHtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcclxuXHR9XHJcblxyXG5cdC5hY2NvcmRpb24tY29udGVudCB7XHJcblx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcclxuXHR9XHJcblxyXG59XHJcbiJdfQ== */
