@charset "UTF-8";
/*****************************************
    Pre Foundation CSS
/*****************************************/
/****************************************************

	Variables

****************************************************/
/****************************************************
	Fonts
****************************************************/
/****************************************************
	Colors
****************************************************/
/****************************************************
	Typography
****************************************************/
/****************************************************
	Buttons
****************************************************/
/****************************************************
	Other
****************************************************/
/*****************************************/
/**
 * Foundation for Sites by ZURB
 * Version 6.5.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible; }

pre {
  font-family: monospace, monospace;
  font-size: 1em; }

a {
  background-color: transparent; }

abbr[title] {
  border-bottom: 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: #fff;
  font-family: neue-haas-unica, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #262527;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  border-radius: 0; }

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: auto; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fff;
  -webkit-box-shadow: inset 0 1px 2px rgba(38, 37, 39, 0.1);
          box-shadow: inset 0 1px 2px rgba(38, 37, 39, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #262527;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fff;
    -webkit-box-shadow: 0 0 5px #cacaca;
            box-shadow: 0 0 5px #cacaca;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e6e6e6;
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0; }

input[type='search'] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

::-webkit-input-placeholder {
  color: #cacaca; }

::-moz-placeholder {
  color: #cacaca; }

:-ms-input-placeholder {
  color: #cacaca; }

::-ms-input-placeholder {
  color: #cacaca; }

::placeholder {
  color: #cacaca; }

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem; }

[type='file'] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #262527; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #262527; }

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1rem; }
  .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;
  display: table-cell;
  vertical-align: middle; }

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #262527;
  text-align: center;
  white-space: nowrap;
  width: 1%;
  height: 100%; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  width: 1%;
  height: 100%; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    height: 2.4375rem;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem; }

.input-group .input-group-button {
  display: table-cell; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

legend {
  max-width: 100%;
  margin-bottom: 0.5rem; }

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #cacaca; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fff;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #262527;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fff;
    -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; }

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #faedeb; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::-moz-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #cc4b37; }

.is-invalid-label {
  color: #cc4b37; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #cc4b37; }
  .form-error.is-visible {
    display: block; }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 1.6;
  text-rendering: optimizeLegibility; }

em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: bold;
  line-height: inherit; }

small {
  font-size: 80%;
  line-height: inherit; }

h1, .h1, .panel--feature .panel__title, .navSlider .navSlider__title, .recipeSlider .navSlider__title,
h2, .h2, .panel .panel__title, .panel--feature .panel__title, .panel--cta .panel__title, .panel--bubble .panel__title, .form .form__title,
h3, .h3, .signup .signup__text,
h4, .h4, .infographic .infographic__title, .form .form__step,
h5, .h5,
h6, .h6 {
  font-family: neue-haas-unica, sans-serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small, .panel--feature .panel__title small, .navSlider .navSlider__title small, .recipeSlider .navSlider__title small,
  h2 small, .h2 small, .panel .panel__title small, .panel--feature .panel__title small, .panel--cta .panel__title small, .panel--bubble .panel__title small, .form .form__title small,
  h3 small, .h3 small, .signup .signup__text small,
  h4 small, .h4 small, .infographic .infographic__title small, .form .form__step small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #cacaca; }

h1, .h1, .panel--feature .panel__title, .navSlider .navSlider__title, .recipeSlider .navSlider__title {
  font-size: 2.5rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h2, .h2, .panel .panel__title, .panel--feature .panel__title, .panel--cta .panel__title, .panel--bubble .panel__title, .form .form__title {
  font-size: 2rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h3, .h3, .signup .signup__text {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h4, .h4, .infographic .infographic__title, .form .form__step {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h5, .h5 {
  font-size: 1.0625rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h6, .h6 {
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

@media print, screen and (min-width: 40em) {
  h1, .h1, .panel--feature .panel__title, .navSlider .navSlider__title, .recipeSlider .navSlider__title {
    font-size: 3rem; }
  h2, .h2, .panel .panel__title, .panel--feature .panel__title, .panel--cta .panel__title, .panel--bubble .panel__title, .form .form__title {
    font-size: 2.5rem; }
  h3, .h3, .signup .signup__text {
    font-size: 1.9375rem; }
  h4, .h4, .infographic .infographic__title, .form .form__step {
    font-size: 1.5625rem; }
  h5, .h5 {
    font-size: 1.25rem; }
  h6, .h6 {
    font-size: 1rem; } }

a {
  line-height: inherit;
  color: #3e4096;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #353781; }
  a img {
    border: 0; }

hr {
  clear: both;
  max-width: 87.5rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #cacaca;
  border-left: 0; }

ul,
ol,
dl {
  margin-bottom: 1rem;
  list-style-position: outside;
  line-height: 1.6; }

li {
  font-size: inherit; }

ul {
  margin-left: 1.25rem;
  list-style-type: disc; }

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

dl {
  margin-bottom: 1rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: bold; }

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #cacaca; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #8a8a8a; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #8a8a8a; }
  cite:before {
    content: "— "; }

abbr, abbr[title] {
  border-bottom: 1px dotted #262527;
  cursor: help;
  text-decoration: none; }

figure {
  margin: 0; }

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #cacaca;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #262527; }

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #262527; }

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #8a8a8a; }

.lead {
  font-size: 125%;
  line-height: 1.6; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

ul.no-bullet, ol.no-bullet {
  margin-left: 0;
  list-style: none; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.text-center {
  text-align: center; }

.text-justify {
  text-align: justify; }

@media print, screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

@media print, screen and (min-width: 64em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

@media screen and (min-width: 75em) {
  .xlarge-text-left {
    text-align: left; }
  .xlarge-text-right {
    text-align: right; }
  .xlarge-text-center {
    text-align: center; }
  .xlarge-text-justify {
    text-align: justify; } }

@media screen and (min-width: 90em) {
  .xxlarge-text-left {
    text-align: left; }
  .xxlarge-text-right {
    text-align: right; }
  .xxlarge-text-center {
    text-align: center; }
  .xxlarge-text-justify {
    text-align: justify; } }

.show-for-print {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: black !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #8a8a8a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

.row {
  max-width: 87.5rem;
  margin-right: auto;
  margin-left: auto; }
  .row::before, .row::after {
    display: table;
    content: ' '; }
  .row::after {
    clear: both; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row .row {
    margin-right: -1rem;
    margin-left: -1rem; }
    @media print, screen and (min-width: 40em) {
      .row .row {
        margin-right: -1rem;
        margin-left: -1rem; } }
    @media print, screen and (min-width: 64em) {
      .row .row {
        margin-right: -1rem;
        margin-left: -1rem; } }
    @media screen and (min-width: 75em) {
      .row .row {
        margin-right: -1rem;
        margin-left: -1rem; } }
    @media screen and (min-width: 90em) {
      .row .row {
        margin-right: -1rem;
        margin-left: -1rem; } }
    .row .row.collapse {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row {
    max-width: none; }
  .row.gutter-small > .column, .row.gutter-small > .columns {
    padding-right: 1rem;
    padding-left: 1rem; }
  .row.gutter-medium > .column, .row.gutter-medium > .columns {
    padding-right: 1rem;
    padding-left: 1rem; }

.column, .columns {
  width: 100%;
  float: left;
  padding-right: 1rem;
  padding-left: 1rem; }
  @media print, screen and (min-width: 40em) {
    .column, .columns {
      padding-right: 1rem;
      padding-left: 1rem; } }
  .column, .columns, .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: right; }
  .column.end:last-child:last-child, .end.columns:last-child:last-child {
    float: left; }

.column.row.row, .row.row.columns {
  float: none; }

.row .column.row.row, .row .row.row.columns {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0; }

.small-1 {
  width: 8.33333%; }

.small-push-1 {
  position: relative;
  left: 8.33333%; }

.small-pull-1 {
  position: relative;
  left: -8.33333%; }

.small-offset-0 {
  margin-left: 0%; }

.small-2 {
  width: 16.66667%; }

.small-push-2 {
  position: relative;
  left: 16.66667%; }

.small-pull-2 {
  position: relative;
  left: -16.66667%; }

.small-offset-1 {
  margin-left: 8.33333%; }

.small-3 {
  width: 25%; }

.small-push-3 {
  position: relative;
  left: 25%; }

.small-pull-3 {
  position: relative;
  left: -25%; }

.small-offset-2 {
  margin-left: 16.66667%; }

.small-4 {
  width: 33.33333%; }

.small-push-4 {
  position: relative;
  left: 33.33333%; }

.small-pull-4 {
  position: relative;
  left: -33.33333%; }

.small-offset-3 {
  margin-left: 25%; }

.small-5 {
  width: 41.66667%; }

.small-push-5 {
  position: relative;
  left: 41.66667%; }

.small-pull-5 {
  position: relative;
  left: -41.66667%; }

.small-offset-4 {
  margin-left: 33.33333%; }

.small-6 {
  width: 50%; }

.small-push-6 {
  position: relative;
  left: 50%; }

.small-pull-6 {
  position: relative;
  left: -50%; }

.small-offset-5 {
  margin-left: 41.66667%; }

.small-7 {
  width: 58.33333%; }

.small-push-7 {
  position: relative;
  left: 58.33333%; }

.small-pull-7 {
  position: relative;
  left: -58.33333%; }

.small-offset-6 {
  margin-left: 50%; }

.small-8 {
  width: 66.66667%; }

.small-push-8 {
  position: relative;
  left: 66.66667%; }

.small-pull-8 {
  position: relative;
  left: -66.66667%; }

.small-offset-7 {
  margin-left: 58.33333%; }

.small-9 {
  width: 75%; }

.small-push-9 {
  position: relative;
  left: 75%; }

.small-pull-9 {
  position: relative;
  left: -75%; }

.small-offset-8 {
  margin-left: 66.66667%; }

.small-10 {
  width: 83.33333%; }

.small-push-10 {
  position: relative;
  left: 83.33333%; }

.small-pull-10 {
  position: relative;
  left: -83.33333%; }

.small-offset-9 {
  margin-left: 75%; }

.small-11 {
  width: 91.66667%; }

.small-push-11 {
  position: relative;
  left: 91.66667%; }

.small-pull-11 {
  position: relative;
  left: -91.66667%; }

.small-offset-10 {
  margin-left: 83.33333%; }

.small-12 {
  width: 100%; }

.small-offset-11 {
  margin-left: 91.66667%; }

.small-up-1 > .column, .small-up-1 > .columns {
  float: left;
  width: 100%; }
  .small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
    clear: both; }
  .small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
    float: left; }

.small-up-2 > .column, .small-up-2 > .columns {
  float: left;
  width: 50%; }
  .small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
    clear: both; }
  .small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
    float: left; }

.small-up-3 > .column, .small-up-3 > .columns {
  float: left;
  width: 33.33333%; }
  .small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
    clear: both; }
  .small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
    float: left; }

.small-up-4 > .column, .small-up-4 > .columns {
  float: left;
  width: 25%; }
  .small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
    clear: both; }
  .small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
    float: left; }

.small-up-5 > .column, .small-up-5 > .columns {
  float: left;
  width: 20%; }
  .small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
    clear: both; }
  .small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
    float: left; }

.small-up-6 > .column, .small-up-6 > .columns {
  float: left;
  width: 16.66667%; }
  .small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
    clear: both; }
  .small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
    float: left; }

.small-up-7 > .column, .small-up-7 > .columns {
  float: left;
  width: 14.28571%; }
  .small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
    clear: both; }
  .small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
    float: left; }

.small-up-8 > .column, .small-up-8 > .columns {
  float: left;
  width: 12.5%; }
  .small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
    clear: both; }
  .small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
    float: left; }

.small-collapse > .column, .small-collapse > .columns {
  padding-right: 0;
  padding-left: 0; }

.small-collapse .row {
  margin-right: 0;
  margin-left: 0; }

.expanded.row .small-collapse.row {
  margin-right: 0;
  margin-left: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-right: 1rem;
  padding-left: 1rem; }

.small-centered {
  margin-right: auto;
  margin-left: auto; }
  .small-centered, .small-centered:last-child:not(:first-child) {
    float: none;
    clear: both; }

.small-uncentered,
.small-push-0,
.small-pull-0 {
  position: static;
  margin-right: 0;
  margin-left: 0; }
  .small-uncentered, .small-uncentered:last-child:not(:first-child),
  .small-push-0,
  .small-push-0:last-child:not(:first-child),
  .small-pull-0,
  .small-pull-0:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .small-uncentered:last-child:not(:first-child),
  .small-push-0:last-child:not(:first-child),
  .small-pull-0:last-child:not(:first-child) {
    float: right; }

@media print, screen and (min-width: 40em) {
  .medium-1 {
    width: 8.33333%; }
  .medium-push-1 {
    position: relative;
    left: 8.33333%; }
  .medium-pull-1 {
    position: relative;
    left: -8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    width: 16.66667%; }
  .medium-push-2 {
    position: relative;
    left: 16.66667%; }
  .medium-pull-2 {
    position: relative;
    left: -16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    width: 25%; }
  .medium-push-3 {
    position: relative;
    left: 25%; }
  .medium-pull-3 {
    position: relative;
    left: -25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    width: 33.33333%; }
  .medium-push-4 {
    position: relative;
    left: 33.33333%; }
  .medium-pull-4 {
    position: relative;
    left: -33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    width: 41.66667%; }
  .medium-push-5 {
    position: relative;
    left: 41.66667%; }
  .medium-pull-5 {
    position: relative;
    left: -41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    width: 50%; }
  .medium-push-6 {
    position: relative;
    left: 50%; }
  .medium-pull-6 {
    position: relative;
    left: -50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    width: 58.33333%; }
  .medium-push-7 {
    position: relative;
    left: 58.33333%; }
  .medium-pull-7 {
    position: relative;
    left: -58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    width: 66.66667%; }
  .medium-push-8 {
    position: relative;
    left: 66.66667%; }
  .medium-pull-8 {
    position: relative;
    left: -66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    width: 75%; }
  .medium-push-9 {
    position: relative;
    left: 75%; }
  .medium-pull-9 {
    position: relative;
    left: -75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    width: 83.33333%; }
  .medium-push-10 {
    position: relative;
    left: 83.33333%; }
  .medium-pull-10 {
    position: relative;
    left: -83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    width: 91.66667%; }
  .medium-push-11 {
    position: relative;
    left: 91.66667%; }
  .medium-pull-11 {
    position: relative;
    left: -91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 > .column, .medium-up-1 > .columns {
    float: left;
    width: 100%; }
    .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
      float: left; }
  .medium-up-2 > .column, .medium-up-2 > .columns {
    float: left;
    width: 50%; }
    .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
      float: left; }
  .medium-up-3 > .column, .medium-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
      float: left; }
  .medium-up-4 > .column, .medium-up-4 > .columns {
    float: left;
    width: 25%; }
    .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
      float: left; }
  .medium-up-5 > .column, .medium-up-5 > .columns {
    float: left;
    width: 20%; }
    .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
      float: left; }
  .medium-up-6 > .column, .medium-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
      float: left; }
  .medium-up-7 > .column, .medium-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {
      float: left; }
  .medium-up-8 > .column, .medium-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {
      float: left; }
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .medium-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .medium-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 1rem;
    padding-left: 1rem; }
  .medium-centered {
    margin-right: auto;
    margin-left: auto; }
    .medium-centered, .medium-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .medium-uncentered,
  .medium-push-0,
  .medium-pull-0 {
    position: static;
    margin-right: 0;
    margin-left: 0; }
    .medium-uncentered, .medium-uncentered:last-child:not(:first-child),
    .medium-push-0,
    .medium-push-0:last-child:not(:first-child),
    .medium-pull-0,
    .medium-pull-0:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .medium-uncentered:last-child:not(:first-child),
    .medium-push-0:last-child:not(:first-child),
    .medium-pull-0:last-child:not(:first-child) {
      float: right; } }

@media print, screen and (min-width: 64em) {
  .large-1 {
    width: 8.33333%; }
  .large-push-1 {
    position: relative;
    left: 8.33333%; }
  .large-pull-1 {
    position: relative;
    left: -8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    width: 16.66667%; }
  .large-push-2 {
    position: relative;
    left: 16.66667%; }
  .large-pull-2 {
    position: relative;
    left: -16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    width: 25%; }
  .large-push-3 {
    position: relative;
    left: 25%; }
  .large-pull-3 {
    position: relative;
    left: -25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    width: 33.33333%; }
  .large-push-4 {
    position: relative;
    left: 33.33333%; }
  .large-pull-4 {
    position: relative;
    left: -33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    width: 41.66667%; }
  .large-push-5 {
    position: relative;
    left: 41.66667%; }
  .large-pull-5 {
    position: relative;
    left: -41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    width: 50%; }
  .large-push-6 {
    position: relative;
    left: 50%; }
  .large-pull-6 {
    position: relative;
    left: -50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    width: 58.33333%; }
  .large-push-7 {
    position: relative;
    left: 58.33333%; }
  .large-pull-7 {
    position: relative;
    left: -58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    width: 66.66667%; }
  .large-push-8 {
    position: relative;
    left: 66.66667%; }
  .large-pull-8 {
    position: relative;
    left: -66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    width: 75%; }
  .large-push-9 {
    position: relative;
    left: 75%; }
  .large-pull-9 {
    position: relative;
    left: -75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    width: 83.33333%; }
  .large-push-10 {
    position: relative;
    left: 83.33333%; }
  .large-pull-10 {
    position: relative;
    left: -83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    width: 91.66667%; }
  .large-push-11 {
    position: relative;
    left: 91.66667%; }
  .large-pull-11 {
    position: relative;
    left: -91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 > .column, .large-up-1 > .columns {
    float: left;
    width: 100%; }
    .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
      float: left; }
  .large-up-2 > .column, .large-up-2 > .columns {
    float: left;
    width: 50%; }
    .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
      float: left; }
  .large-up-3 > .column, .large-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
      float: left; }
  .large-up-4 > .column, .large-up-4 > .columns {
    float: left;
    width: 25%; }
    .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
      float: left; }
  .large-up-5 > .column, .large-up-5 > .columns {
    float: left;
    width: 20%; }
    .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
      float: left; }
  .large-up-6 > .column, .large-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
      float: left; }
  .large-up-7 > .column, .large-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {
      float: left; }
  .large-up-8 > .column, .large-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {
      float: left; }
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .large-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .large-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 1rem;
    padding-left: 1rem; }
  .large-centered {
    margin-right: auto;
    margin-left: auto; }
    .large-centered, .large-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .large-uncentered,
  .large-push-0,
  .large-pull-0 {
    position: static;
    margin-right: 0;
    margin-left: 0; }
    .large-uncentered, .large-uncentered:last-child:not(:first-child),
    .large-push-0,
    .large-push-0:last-child:not(:first-child),
    .large-pull-0,
    .large-pull-0:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .large-uncentered:last-child:not(:first-child),
    .large-push-0:last-child:not(:first-child),
    .large-pull-0:last-child:not(:first-child) {
      float: right; } }

@media screen and (min-width: 75em) {
  .xlarge-1 {
    width: 8.33333%; }
  .xlarge-push-1 {
    position: relative;
    left: 8.33333%; }
  .xlarge-pull-1 {
    position: relative;
    left: -8.33333%; }
  .xlarge-offset-0 {
    margin-left: 0%; }
  .xlarge-2 {
    width: 16.66667%; }
  .xlarge-push-2 {
    position: relative;
    left: 16.66667%; }
  .xlarge-pull-2 {
    position: relative;
    left: -16.66667%; }
  .xlarge-offset-1 {
    margin-left: 8.33333%; }
  .xlarge-3 {
    width: 25%; }
  .xlarge-push-3 {
    position: relative;
    left: 25%; }
  .xlarge-pull-3 {
    position: relative;
    left: -25%; }
  .xlarge-offset-2 {
    margin-left: 16.66667%; }
  .xlarge-4 {
    width: 33.33333%; }
  .xlarge-push-4 {
    position: relative;
    left: 33.33333%; }
  .xlarge-pull-4 {
    position: relative;
    left: -33.33333%; }
  .xlarge-offset-3 {
    margin-left: 25%; }
  .xlarge-5 {
    width: 41.66667%; }
  .xlarge-push-5 {
    position: relative;
    left: 41.66667%; }
  .xlarge-pull-5 {
    position: relative;
    left: -41.66667%; }
  .xlarge-offset-4 {
    margin-left: 33.33333%; }
  .xlarge-6 {
    width: 50%; }
  .xlarge-push-6 {
    position: relative;
    left: 50%; }
  .xlarge-pull-6 {
    position: relative;
    left: -50%; }
  .xlarge-offset-5 {
    margin-left: 41.66667%; }
  .xlarge-7 {
    width: 58.33333%; }
  .xlarge-push-7 {
    position: relative;
    left: 58.33333%; }
  .xlarge-pull-7 {
    position: relative;
    left: -58.33333%; }
  .xlarge-offset-6 {
    margin-left: 50%; }
  .xlarge-8 {
    width: 66.66667%; }
  .xlarge-push-8 {
    position: relative;
    left: 66.66667%; }
  .xlarge-pull-8 {
    position: relative;
    left: -66.66667%; }
  .xlarge-offset-7 {
    margin-left: 58.33333%; }
  .xlarge-9 {
    width: 75%; }
  .xlarge-push-9 {
    position: relative;
    left: 75%; }
  .xlarge-pull-9 {
    position: relative;
    left: -75%; }
  .xlarge-offset-8 {
    margin-left: 66.66667%; }
  .xlarge-10 {
    width: 83.33333%; }
  .xlarge-push-10 {
    position: relative;
    left: 83.33333%; }
  .xlarge-pull-10 {
    position: relative;
    left: -83.33333%; }
  .xlarge-offset-9 {
    margin-left: 75%; }
  .xlarge-11 {
    width: 91.66667%; }
  .xlarge-push-11 {
    position: relative;
    left: 91.66667%; }
  .xlarge-pull-11 {
    position: relative;
    left: -91.66667%; }
  .xlarge-offset-10 {
    margin-left: 83.33333%; }
  .xlarge-12 {
    width: 100%; }
  .xlarge-offset-11 {
    margin-left: 91.66667%; }
  .xlarge-up-1 > .column, .xlarge-up-1 > .columns {
    float: left;
    width: 100%; }
    .xlarge-up-1 > .column:nth-of-type(1n), .xlarge-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-1 > .column:nth-of-type(1n+1), .xlarge-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .xlarge-up-1 > .column:last-child, .xlarge-up-1 > .columns:last-child {
      float: left; }
  .xlarge-up-2 > .column, .xlarge-up-2 > .columns {
    float: left;
    width: 50%; }
    .xlarge-up-2 > .column:nth-of-type(1n), .xlarge-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-2 > .column:nth-of-type(2n+1), .xlarge-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .xlarge-up-2 > .column:last-child, .xlarge-up-2 > .columns:last-child {
      float: left; }
  .xlarge-up-3 > .column, .xlarge-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .xlarge-up-3 > .column:nth-of-type(1n), .xlarge-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-3 > .column:nth-of-type(3n+1), .xlarge-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .xlarge-up-3 > .column:last-child, .xlarge-up-3 > .columns:last-child {
      float: left; }
  .xlarge-up-4 > .column, .xlarge-up-4 > .columns {
    float: left;
    width: 25%; }
    .xlarge-up-4 > .column:nth-of-type(1n), .xlarge-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-4 > .column:nth-of-type(4n+1), .xlarge-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .xlarge-up-4 > .column:last-child, .xlarge-up-4 > .columns:last-child {
      float: left; }
  .xlarge-up-5 > .column, .xlarge-up-5 > .columns {
    float: left;
    width: 20%; }
    .xlarge-up-5 > .column:nth-of-type(1n), .xlarge-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-5 > .column:nth-of-type(5n+1), .xlarge-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .xlarge-up-5 > .column:last-child, .xlarge-up-5 > .columns:last-child {
      float: left; }
  .xlarge-up-6 > .column, .xlarge-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .xlarge-up-6 > .column:nth-of-type(1n), .xlarge-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-6 > .column:nth-of-type(6n+1), .xlarge-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .xlarge-up-6 > .column:last-child, .xlarge-up-6 > .columns:last-child {
      float: left; }
  .xlarge-up-7 > .column, .xlarge-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .xlarge-up-7 > .column:nth-of-type(1n), .xlarge-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-7 > .column:nth-of-type(7n+1), .xlarge-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .xlarge-up-7 > .column:last-child, .xlarge-up-7 > .columns:last-child {
      float: left; }
  .xlarge-up-8 > .column, .xlarge-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .xlarge-up-8 > .column:nth-of-type(1n), .xlarge-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-8 > .column:nth-of-type(8n+1), .xlarge-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .xlarge-up-8 > .column:last-child, .xlarge-up-8 > .columns:last-child {
      float: left; }
  .xlarge-collapse > .column, .xlarge-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .xlarge-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .xlarge-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .xlarge-uncollapse > .column, .xlarge-uncollapse > .columns {
    padding-right: 1rem;
    padding-left: 1rem; }
  .xlarge-centered {
    margin-right: auto;
    margin-left: auto; }
    .xlarge-centered, .xlarge-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .xlarge-uncentered,
  .xlarge-push-0,
  .xlarge-pull-0 {
    position: static;
    margin-right: 0;
    margin-left: 0; }
    .xlarge-uncentered, .xlarge-uncentered:last-child:not(:first-child),
    .xlarge-push-0,
    .xlarge-push-0:last-child:not(:first-child),
    .xlarge-pull-0,
    .xlarge-pull-0:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .xlarge-uncentered:last-child:not(:first-child),
    .xlarge-push-0:last-child:not(:first-child),
    .xlarge-pull-0:last-child:not(:first-child) {
      float: right; } }

@media screen and (min-width: 90em) {
  .xxlarge-1 {
    width: 8.33333%; }
  .xxlarge-push-1 {
    position: relative;
    left: 8.33333%; }
  .xxlarge-pull-1 {
    position: relative;
    left: -8.33333%; }
  .xxlarge-offset-0 {
    margin-left: 0%; }
  .xxlarge-2 {
    width: 16.66667%; }
  .xxlarge-push-2 {
    position: relative;
    left: 16.66667%; }
  .xxlarge-pull-2 {
    position: relative;
    left: -16.66667%; }
  .xxlarge-offset-1 {
    margin-left: 8.33333%; }
  .xxlarge-3 {
    width: 25%; }
  .xxlarge-push-3 {
    position: relative;
    left: 25%; }
  .xxlarge-pull-3 {
    position: relative;
    left: -25%; }
  .xxlarge-offset-2 {
    margin-left: 16.66667%; }
  .xxlarge-4 {
    width: 33.33333%; }
  .xxlarge-push-4 {
    position: relative;
    left: 33.33333%; }
  .xxlarge-pull-4 {
    position: relative;
    left: -33.33333%; }
  .xxlarge-offset-3 {
    margin-left: 25%; }
  .xxlarge-5 {
    width: 41.66667%; }
  .xxlarge-push-5 {
    position: relative;
    left: 41.66667%; }
  .xxlarge-pull-5 {
    position: relative;
    left: -41.66667%; }
  .xxlarge-offset-4 {
    margin-left: 33.33333%; }
  .xxlarge-6 {
    width: 50%; }
  .xxlarge-push-6 {
    position: relative;
    left: 50%; }
  .xxlarge-pull-6 {
    position: relative;
    left: -50%; }
  .xxlarge-offset-5 {
    margin-left: 41.66667%; }
  .xxlarge-7 {
    width: 58.33333%; }
  .xxlarge-push-7 {
    position: relative;
    left: 58.33333%; }
  .xxlarge-pull-7 {
    position: relative;
    left: -58.33333%; }
  .xxlarge-offset-6 {
    margin-left: 50%; }
  .xxlarge-8 {
    width: 66.66667%; }
  .xxlarge-push-8 {
    position: relative;
    left: 66.66667%; }
  .xxlarge-pull-8 {
    position: relative;
    left: -66.66667%; }
  .xxlarge-offset-7 {
    margin-left: 58.33333%; }
  .xxlarge-9 {
    width: 75%; }
  .xxlarge-push-9 {
    position: relative;
    left: 75%; }
  .xxlarge-pull-9 {
    position: relative;
    left: -75%; }
  .xxlarge-offset-8 {
    margin-left: 66.66667%; }
  .xxlarge-10 {
    width: 83.33333%; }
  .xxlarge-push-10 {
    position: relative;
    left: 83.33333%; }
  .xxlarge-pull-10 {
    position: relative;
    left: -83.33333%; }
  .xxlarge-offset-9 {
    margin-left: 75%; }
  .xxlarge-11 {
    width: 91.66667%; }
  .xxlarge-push-11 {
    position: relative;
    left: 91.66667%; }
  .xxlarge-pull-11 {
    position: relative;
    left: -91.66667%; }
  .xxlarge-offset-10 {
    margin-left: 83.33333%; }
  .xxlarge-12 {
    width: 100%; }
  .xxlarge-offset-11 {
    margin-left: 91.66667%; }
  .xxlarge-up-1 > .column, .xxlarge-up-1 > .columns {
    float: left;
    width: 100%; }
    .xxlarge-up-1 > .column:nth-of-type(1n), .xxlarge-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-1 > .column:nth-of-type(1n+1), .xxlarge-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .xxlarge-up-1 > .column:last-child, .xxlarge-up-1 > .columns:last-child {
      float: left; }
  .xxlarge-up-2 > .column, .xxlarge-up-2 > .columns {
    float: left;
    width: 50%; }
    .xxlarge-up-2 > .column:nth-of-type(1n), .xxlarge-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-2 > .column:nth-of-type(2n+1), .xxlarge-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .xxlarge-up-2 > .column:last-child, .xxlarge-up-2 > .columns:last-child {
      float: left; }
  .xxlarge-up-3 > .column, .xxlarge-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .xxlarge-up-3 > .column:nth-of-type(1n), .xxlarge-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-3 > .column:nth-of-type(3n+1), .xxlarge-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .xxlarge-up-3 > .column:last-child, .xxlarge-up-3 > .columns:last-child {
      float: left; }
  .xxlarge-up-4 > .column, .xxlarge-up-4 > .columns {
    float: left;
    width: 25%; }
    .xxlarge-up-4 > .column:nth-of-type(1n), .xxlarge-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-4 > .column:nth-of-type(4n+1), .xxlarge-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .xxlarge-up-4 > .column:last-child, .xxlarge-up-4 > .columns:last-child {
      float: left; }
  .xxlarge-up-5 > .column, .xxlarge-up-5 > .columns {
    float: left;
    width: 20%; }
    .xxlarge-up-5 > .column:nth-of-type(1n), .xxlarge-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-5 > .column:nth-of-type(5n+1), .xxlarge-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .xxlarge-up-5 > .column:last-child, .xxlarge-up-5 > .columns:last-child {
      float: left; }
  .xxlarge-up-6 > .column, .xxlarge-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .xxlarge-up-6 > .column:nth-of-type(1n), .xxlarge-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-6 > .column:nth-of-type(6n+1), .xxlarge-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .xxlarge-up-6 > .column:last-child, .xxlarge-up-6 > .columns:last-child {
      float: left; }
  .xxlarge-up-7 > .column, .xxlarge-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .xxlarge-up-7 > .column:nth-of-type(1n), .xxlarge-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-7 > .column:nth-of-type(7n+1), .xxlarge-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .xxlarge-up-7 > .column:last-child, .xxlarge-up-7 > .columns:last-child {
      float: left; }
  .xxlarge-up-8 > .column, .xxlarge-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .xxlarge-up-8 > .column:nth-of-type(1n), .xxlarge-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-8 > .column:nth-of-type(8n+1), .xxlarge-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .xxlarge-up-8 > .column:last-child, .xxlarge-up-8 > .columns:last-child {
      float: left; }
  .xxlarge-collapse > .column, .xxlarge-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .xxlarge-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .xxlarge-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .xxlarge-uncollapse > .column, .xxlarge-uncollapse > .columns {
    padding-right: 1rem;
    padding-left: 1rem; }
  .xxlarge-centered {
    margin-right: auto;
    margin-left: auto; }
    .xxlarge-centered, .xxlarge-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .xxlarge-uncentered,
  .xxlarge-push-0,
  .xxlarge-pull-0 {
    position: static;
    margin-right: 0;
    margin-left: 0; }
    .xxlarge-uncentered, .xxlarge-uncentered:last-child:not(:first-child),
    .xxlarge-push-0,
    .xxlarge-push-0:last-child:not(:first-child),
    .xxlarge-pull-0,
    .xxlarge-pull-0:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .xxlarge-uncentered:last-child:not(:first-child),
    .xxlarge-push-0:last-child:not(:first-child),
    .xxlarge-pull-0:last-child:not(:first-child) {
      float: right; } }

.column-block {
  margin-bottom: 2rem; }
  .column-block > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .column-block {
      margin-bottom: 2rem; }
      .column-block > :last-child {
        margin-bottom: 0; } }

.has-tip {
  position: relative;
  display: inline-block;
  border-bottom: dotted 1px #8a8a8a;
  font-weight: bold;
  cursor: help; }

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 0;
  background-color: #262527;
  font-size: 80%;
  color: #fff; }
  .tooltip::before {
    position: absolute; }
  .tooltip.bottom::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #262527;
    bottom: 100%; }
  .tooltip.bottom.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #262527 transparent transparent;
    top: 100%;
    bottom: auto; }
  .tooltip.top.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #262527;
    left: 100%; }
  .tooltip.left.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #262527 transparent transparent;
    right: 100%;
    left: auto; }
  .tooltip.right.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.align-top::before {
    bottom: auto;
    top: 10%; }
  .tooltip.align-bottom::before {
    bottom: 10%;
    top: auto; }
  .tooltip.align-left::before {
    left: 10%;
    right: auto; }
  .tooltip.align-right::before {
    left: auto;
    right: 10%; }

.tabs {
  margin: 0;
  border: 1px solid #e6e6e6;
  background: #fff;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' '; }
  .tabs::after {
    clear: both; }

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto; }

.tabs.simple > li > a {
  padding: 0; }
  .tabs.simple > li > a:hover {
    background: transparent; }

.tabs.primary {
  background: #1779ba; }
  .tabs.primary > li > a {
    color: #fff; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #1673b1; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 0.75rem;
    line-height: 1;
    color: #1779ba; }
    [data-whatinput='mouse'] .tabs-title > a {
      outline: 0; }
    .tabs-title > a:hover {
      background: #fff;
      color: #1468a0; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #e6e6e6;
      color: #1779ba; }

.tabs-content {
  border: 1px solid #e6e6e6;
  border-top: 0;
  background: #fff;
  color: #262527;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.tabs-content.vertical {
  border: 1px solid #e6e6e6;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 1rem; }
  .tabs-panel.is-active {
    display: block; }

.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: ' '; }

.clearfix::after {
  clear: both; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media 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 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 screen and (min-width: 64em) and (max-width: 74.99875em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 63.99875em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important; } }

@media screen and (min-width: 75em) {
  .hide-for-xlarge {
    display: none !important; } }

@media screen and (max-width: 74.99875em) {
  .show-for-xlarge {
    display: none !important; } }

@media screen and (min-width: 75em) and (max-width: 89.99875em) {
  .hide-for-xlarge-only {
    display: none !important; } }

@media screen and (max-width: 74.99875em), screen and (min-width: 90em) {
  .show-for-xlarge-only {
    display: none !important; } }

@media screen and (min-width: 90em) {
  .hide-for-xxlarge {
    display: none !important; } }

@media screen and (max-width: 89.99875em) {
  .show-for-xxlarge {
    display: none !important; } }

@media screen and (min-width: 90em) {
  .hide-for-xxlarge-only {
    display: none !important; } }

@media screen and (max-width: 89.99875em) {
  .show-for-xxlarge-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal; }

.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; } }

/****************************************************
	Site Styles
****************************************************/
/****************************************************

	Site Styles

****************************************************/
/**************************************
	Global
**************************************/
/****************************************************

	Utilities

****************************************************/
/****************************************************

	Fonts

****************************************************/
/****************************************************

	Typography

****************************************************/
h1, .h1, .panel--feature .panel__title, .navSlider .navSlider__title, .recipeSlider .navSlider__title, h2, .h2, .panel .panel__title, .panel--feature .panel__title, .panel--cta .panel__title, .panel--bubble .panel__title, .form .form__title, h3, .h3, .signup .signup__text {
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.5px;
  color: #031f73;
  margin: 0; }
  @media print, screen and (min-width: 64em) {
    h1, .h1, .panel--feature .panel__title, .navSlider .navSlider__title, .recipeSlider .navSlider__title, h2, .h2, .panel .panel__title, .panel--feature .panel__title, .panel--cta .panel__title, .panel--bubble .panel__title, .form .form__title, h3, .h3, .signup .signup__text {
      letter-spacing: -1px; } }

h4, .h4, .infographic .infographic__title, .form .form__step {
  font-size: 32px;
  font-weight: 600;
  line-height: 1.5;
  color: #031f73;
  margin-bottom: 0; }
  @media print, screen and (min-width: 64em) {
    h4, .h4, .infographic .infographic__title, .form .form__step {
      font-size: 40px;
      line-height: 1.2; } }

h3, .h3, .signup .signup__text {
  font-size: 32px; }
  @media print, screen and (min-width: 64em) {
    h3, .h3, .signup .signup__text {
      font-size: 56px;
      line-height: 1.14; } }

h2, .h2, .panel .panel__title, .panel--feature .panel__title, .panel--cta .panel__title, .panel--bubble .panel__title, .form .form__title {
  font-size: 32px;
  color: #031f73; }
  @media print, screen and (min-width: 64em) {
    h2, .h2, .panel .panel__title, .panel--feature .panel__title, .panel--cta .panel__title, .panel--bubble .panel__title, .form .form__title {
      font-size: 50px;
      line-height: 1.13; } }
  @media screen and (min-width: 75em) {
    h2, .h2, .panel .panel__title, .panel--feature .panel__title, .panel--cta .panel__title, .panel--bubble .panel__title, .form .form__title {
      font-size: 64px; } }

h1, .h1, .panel--feature .panel__title, .navSlider .navSlider__title, .recipeSlider .navSlider__title {
  font-size: 40px;
  color: #031f73; }
  @media print, screen and (min-width: 64em) {
    h1, .h1, .panel--feature .panel__title, .navSlider .navSlider__title, .recipeSlider .navSlider__title {
      font-size: 55px;
      line-height: 1.11; } }
  @media screen and (min-width: 75em) {
    h1, .h1, .panel--feature .panel__title, .navSlider .navSlider__title, .recipeSlider .navSlider__title {
      font-size: 65px; } }
  @media screen and (min-width: 90em) {
    h1, .h1, .panel--feature .panel__title, .navSlider .navSlider__title, .recipeSlider .navSlider__title {
      font-size: 72px; } }

/****************************************************

	Common Styles

****************************************************/
html, body {
  min-width: 360px;
  scroll-behavior: smooth; }

body {
  font-size: 18px;
  line-height: 1.33; }

main {
  position: relative;
  background: #f9f9fa;
  padding-top: 16px; }
  main .main__overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(24, 25, 29, 0.8);
    z-index: 5000;
    opacity: 0;
    display: none; }

@media print, screen and (min-width: 64em) {
  main {
    padding-top: 32px; } }

.has-tip {
  font-weight: 400;
  color: #00c0b5;
  border-bottom: none; }

/****************************************************
	Menu
****************************************************/
.menu, .menu--vertical {
  display: inline-block;
  list-style: none;
  margin: 0; }
  .menu li, .menu--vertical li {
    display: inline-block; }

.menu--vertical li {
  display: block; }

/****************************************************
	Sections
****************************************************/
/*section {
	position: relative;
	padding-top: 16px;
}

@include breakpoint(large) {
	section {
		padding-top: 32px;
	}
}*/
/****************************************************
	Member Area
****************************************************/
.memberArea {
  position: relative;
  padding: 5px 0 19px;
  margin-bottom: 9px;
  border-bottom: 2px solid #00c0b5; }
  .memberArea .memberArea__text {
    font-weight: 600;
    color: #01877c;
    text-transform: uppercase; }
  .memberArea .memberArea__icon {
    position: absolute;
    top: 3px;
    right: 16px;
    width: 28px;
    height: 28px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath fill='%2301877c' stroke='transparent' stroke-width='0' d='M14,0A14,14,0,1,0,28,14,14,14,0,0,0,14,0Zm0,1.19a12.82,12.82,0,0,1,9.48,21.44,10.14,10.14,0,0,0-19,0A12.82,12.82,0,0,1,14,1.19Zm0,3a5.36,5.36,0,1,0,5.36,5.36A5.37,5.37,0,0,0,14,4.17Zm0,1.19A4.17,4.17,0,1,1,9.83,9.53,4.16,4.16,0,0,1,14,5.36Zm0,11.92a8.92,8.92,0,0,1,8.54,6.27,12.82,12.82,0,0,1-17.08,0A8.92,8.92,0,0,1,14,17.28Z' /%3E%3C/svg%3E");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat; }

@media print, screen and (min-width: 64em) {
  .memberArea {
    font-size: 24px;
    line-height: 1.33;
    font-weight: 500;
    padding-bottom: 0;
    margin-bottom: 66px;
    border-bottom: none; } }

/* STOP THE SPREAD */
.StopTheSpreadMain {
  min-height: 495px; }
  .StopTheSpreadMain .button, .StopTheSpreadMain .RegisterButton {
    min-width: unset; }
  .StopTheSpreadMain h2 {
    color: #ffffff;
    font-size: 24px;
    font-weight: 600;
    padding-bottom: 20px; }
  .StopTheSpreadMain .ImgWriteMessage {
    width: 65px; }
  .StopTheSpreadMain .LeaveMessageHolder {
    background-color: #59b0a8;
    width: 100%;
    border-radius: 40px 40px 40px 40px;
    position: relative; }
    .StopTheSpreadMain .LeaveMessageHolder .imageWrite {
      width: 65px;
      position: absolute;
      left: calc(50% - 32px);
      top: -25px; }
  .StopTheSpreadMain .LeaveMessageHolderInner {
    padding: 20px; }
    .StopTheSpreadMain .LeaveMessageHolderInner p {
      padding-top: 10px;
      font-size: 14px; }
    .StopTheSpreadMain .LeaveMessageHolderInner .SpreadInput {
      color: #000000;
      background-color: #ffffff;
      border-color: #ffffff; }
    .StopTheSpreadMain .LeaveMessageHolderInner .button, .StopTheSpreadMain .LeaveMessageHolderInner .RegisterButton {
      color: #59b0a8;
      background-color: #ffffff;
      padding: 7px 50px 12px 50px;
      width: 100%; }

.StopTheSpreadCount {
  background-color: #ffffff;
  padding: 50px;
  color: #00867c; }
  .StopTheSpreadCount h2 {
    color: #00867c;
    font-size: 24px;
    font-weight: 600;
    padding-bottom: 20px; }
  .StopTheSpreadCount .button, .StopTheSpreadCount .RegisterButton {
    padding: 7px 50px 12px 50px;
    min-width: 240px; }
  .StopTheSpreadCount .ReadMessageHolder {
    background-color: #59b0a8;
    width: 100%;
    border-radius: 40px 40px 40px 40px;
    position: relative; }
    .StopTheSpreadCount .ReadMessageHolder .ReadBubble {
      width: 85px;
      position: absolute;
      left: calc(50% - 32px);
      top: -37px; }
  .StopTheSpreadCount .ReadMessageHolderInner {
    padding: 20px;
    color: #ffffff; }
    .StopTheSpreadCount .ReadMessageHolderInner .button, .StopTheSpreadCount .ReadMessageHolderInner .RegisterButton {
      background-color: #ffffff;
      color: #00867c;
      padding: 7px 50px 12px 50px;
      min-width: 240px; }
    .StopTheSpreadCount .ReadMessageHolderInner .closebox {
      text-align: right;
      padding-right: 20px;
      font-size: 25px;
      color: #ffffff; }
    .StopTheSpreadCount .ReadMessageHolderInner .ReadTitle {
      padding-top: 40px;
      font-size: 24px;
      padding-left: 20px; }
    .StopTheSpreadCount .ReadMessageHolderInner .ReadQuote {
      border: 1px solid #add2ce;
      width: 100%;
      border-radius: 40px 40px 40px 40px;
      position: relative; }
      .StopTheSpreadCount .ReadMessageHolderInner .ReadQuote .ReadQuoteContent {
        padding: 30px; }
      .StopTheSpreadCount .ReadMessageHolderInner .ReadQuote .SpeechBubble {
        width: 65px;
        position: absolute;
        left: calc(50% - 32px);
        bottom: -33px; }

.StopTheSpreadCarouselItem {
  height: 300px;
  width: 100%;
  background-size: cover;
  background-position: right center; }

.StopTheSpreadCarouselCopy {
  background-color: rgba(0, 0, 0, 0.2);
  width: 100%;
  color: #ffffff;
  position: absolute;
  bottom: 0px;
  padding: 20px 20px 20px 50px; }

.StopTheSpreadCarouselSub {
  font-size: 14px; }

.LogoAnimation svg {
  max-width: 100%;
  max-height: 400px; }

@media print, screen and (min-width: 64em) {
  .StopTheSpreadCarouselItem {
    height: 300px; } }

/****************************************************
	Plugins
****************************************************/
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

/*!
 * jQuery UI CSS Framework 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/category/theming/
 *
 * To view and modify this theme, visit http://jqueryui.com/themeroller/
 */
/* Component containers
----------------------------------*/
.ui-widget {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em; }

.ui-widget .ui-widget {
  font-size: 1em; }

.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em; }

.ui-widget.ui-widget-content {
  border: 1px solid #c5c5c5; }

.ui-widget-content {
  border: 1px solid #dddddd;
  background: #ffffff;
  color: #333333; }

.ui-widget-content a {
  color: #333333; }

.ui-widget-header {
  border: 1px solid #dddddd;
  background: #e9e9e9;
  color: #333333;
  font-weight: bold; }

.ui-widget-header a {
  color: #333333; }

/* Interaction states
----------------------------------*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active {
  border: 1px solid #c5c5c5;
  background: #f6f6f6;
  font-weight: normal;
  color: #454545; }

.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited,
a.ui-button,
a:link.ui-button,
a:visited.ui-button,
.ui-button {
  color: #454545;
  text-decoration: none; }

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus,
.ui-button:hover,
.ui-button:focus {
  border: 1px solid #cccccc;
  background: #ededed;
  font-weight: normal;
  color: #2b2b2b; }

.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited,
.ui-state-focus a,
.ui-state-focus a:hover,
.ui-state-focus a:link,
.ui-state-focus a:visited,
a.ui-button:hover,
a.ui-button:focus {
  color: #2b2b2b;
  text-decoration: none; }

.ui-visual-focus {
  -webkit-box-shadow: 0 0 3px 1px #5e9ed6;
          box-shadow: 0 0 3px 1px #5e9ed6; }

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
  border: 1px solid #003eff;
  background: #007fff;
  font-weight: normal;
  color: #ffffff; }

.ui-icon-background,
.ui-state-active .ui-icon-background {
  border: #003eff;
  background-color: #ffffff; }

.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
  color: #ffffff;
  text-decoration: none; }

/* Interaction Cues
----------------------------------*/
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
  border: 1px solid #dad55e;
  background: #fffa90;
  color: #777620; }

.ui-state-checked {
  border: 1px solid #dad55e;
  background: #fffa90; }

.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
  color: #777620; }

.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
  border: 1px solid #f1a899;
  background: #fddfdf;
  color: #5f3f3f; }

.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
  color: #5f3f3f; }

.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
  color: #5f3f3f; }

.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
  font-weight: bold; }

.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
  opacity: .7;
  filter: Alpha(Opacity=70);
  /* support: IE8 */
  font-weight: normal; }

.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
  opacity: .35;
  filter: Alpha(Opacity=35);
  /* support: IE8 */
  background-image: none; }

.ui-state-disabled .ui-icon {
  filter: Alpha(Opacity=35);
  /* support: IE8 - See #6059 */ }

/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
  width: 16px;
  height: 16px; }

.ui-icon,
.ui-widget-content .ui-icon {
  background-image: url("images/ui-icons_444444_256x240.png"); }

.ui-widget-header .ui-icon {
  background-image: url("images/ui-icons_444444_256x240.png"); }

.ui-state-hover .ui-icon,
.ui-state-focus .ui-icon,
.ui-button:hover .ui-icon,
.ui-button:focus .ui-icon {
  background-image: url("images/ui-icons_555555_256x240.png"); }

.ui-state-active .ui-icon,
.ui-button:active .ui-icon {
  background-image: url("images/ui-icons_ffffff_256x240.png"); }

.ui-state-highlight .ui-icon,
.ui-button .ui-state-highlight.ui-icon {
  background-image: url("images/ui-icons_777620_256x240.png"); }

.ui-state-error .ui-icon,
.ui-state-error-text .ui-icon {
  background-image: url("images/ui-icons_cc0000_256x240.png"); }

.ui-button .ui-icon {
  background-image: url("images/ui-icons_777777_256x240.png"); }

/* positioning */
.ui-icon-blank {
  background-position: 16px 16px; }

.ui-icon-caret-1-n {
  background-position: 0 0; }

.ui-icon-caret-1-ne {
  background-position: -16px 0; }

.ui-icon-caret-1-e {
  background-position: -32px 0; }

.ui-icon-caret-1-se {
  background-position: -48px 0; }

.ui-icon-caret-1-s {
  background-position: -65px 0; }

.ui-icon-caret-1-sw {
  background-position: -80px 0; }

.ui-icon-caret-1-w {
  background-position: -96px 0; }

.ui-icon-caret-1-nw {
  background-position: -112px 0; }

.ui-icon-caret-2-n-s {
  background-position: -128px 0; }

.ui-icon-caret-2-e-w {
  background-position: -144px 0; }

.ui-icon-triangle-1-n {
  background-position: 0 -16px; }

.ui-icon-triangle-1-ne {
  background-position: -16px -16px; }

.ui-icon-triangle-1-e {
  background-position: -32px -16px; }

.ui-icon-triangle-1-se {
  background-position: -48px -16px; }

.ui-icon-triangle-1-s {
  background-position: -65px -16px; }

.ui-icon-triangle-1-sw {
  background-position: -80px -16px; }

.ui-icon-triangle-1-w {
  background-position: -96px -16px; }

.ui-icon-triangle-1-nw {
  background-position: -112px -16px; }

.ui-icon-triangle-2-n-s {
  background-position: -128px -16px; }

.ui-icon-triangle-2-e-w {
  background-position: -144px -16px; }

.ui-icon-arrow-1-n {
  background-position: 0 -32px; }

.ui-icon-arrow-1-ne {
  background-position: -16px -32px; }

.ui-icon-arrow-1-e {
  background-position: -32px -32px; }

.ui-icon-arrow-1-se {
  background-position: -48px -32px; }

.ui-icon-arrow-1-s {
  background-position: -65px -32px; }

.ui-icon-arrow-1-sw {
  background-position: -80px -32px; }

.ui-icon-arrow-1-w {
  background-position: -96px -32px; }

.ui-icon-arrow-1-nw {
  background-position: -112px -32px; }

.ui-icon-arrow-2-n-s {
  background-position: -128px -32px; }

.ui-icon-arrow-2-ne-sw {
  background-position: -144px -32px; }

.ui-icon-arrow-2-e-w {
  background-position: -160px -32px; }

.ui-icon-arrow-2-se-nw {
  background-position: -176px -32px; }

.ui-icon-arrowstop-1-n {
  background-position: -192px -32px; }

.ui-icon-arrowstop-1-e {
  background-position: -208px -32px; }

.ui-icon-arrowstop-1-s {
  background-position: -224px -32px; }

.ui-icon-arrowstop-1-w {
  background-position: -240px -32px; }

.ui-icon-arrowthick-1-n {
  background-position: 1px -48px; }

.ui-icon-arrowthick-1-ne {
  background-position: -16px -48px; }

.ui-icon-arrowthick-1-e {
  background-position: -32px -48px; }

.ui-icon-arrowthick-1-se {
  background-position: -48px -48px; }

.ui-icon-arrowthick-1-s {
  background-position: -64px -48px; }

.ui-icon-arrowthick-1-sw {
  background-position: -80px -48px; }

.ui-icon-arrowthick-1-w {
  background-position: -96px -48px; }

.ui-icon-arrowthick-1-nw {
  background-position: -112px -48px; }

.ui-icon-arrowthick-2-n-s {
  background-position: -128px -48px; }

.ui-icon-arrowthick-2-ne-sw {
  background-position: -144px -48px; }

.ui-icon-arrowthick-2-e-w {
  background-position: -160px -48px; }

.ui-icon-arrowthick-2-se-nw {
  background-position: -176px -48px; }

.ui-icon-arrowthickstop-1-n {
  background-position: -192px -48px; }

.ui-icon-arrowthickstop-1-e {
  background-position: -208px -48px; }

.ui-icon-arrowthickstop-1-s {
  background-position: -224px -48px; }

.ui-icon-arrowthickstop-1-w {
  background-position: -240px -48px; }

.ui-icon-arrowreturnthick-1-w {
  background-position: 0 -64px; }

.ui-icon-arrowreturnthick-1-n {
  background-position: -16px -64px; }

.ui-icon-arrowreturnthick-1-e {
  background-position: -32px -64px; }

.ui-icon-arrowreturnthick-1-s {
  background-position: -48px -64px; }

.ui-icon-arrowreturn-1-w {
  background-position: -64px -64px; }

.ui-icon-arrowreturn-1-n {
  background-position: -80px -64px; }

.ui-icon-arrowreturn-1-e {
  background-position: -96px -64px; }

.ui-icon-arrowreturn-1-s {
  background-position: -112px -64px; }

.ui-icon-arrowrefresh-1-w {
  background-position: -128px -64px; }

.ui-icon-arrowrefresh-1-n {
  background-position: -144px -64px; }

.ui-icon-arrowrefresh-1-e {
  background-position: -160px -64px; }

.ui-icon-arrowrefresh-1-s {
  background-position: -176px -64px; }

.ui-icon-arrow-4 {
  background-position: 0 -80px; }

.ui-icon-arrow-4-diag {
  background-position: -16px -80px; }

.ui-icon-extlink {
  background-position: -32px -80px; }

.ui-icon-newwin {
  background-position: -48px -80px; }

.ui-icon-refresh {
  background-position: -64px -80px; }

.ui-icon-shuffle {
  background-position: -80px -80px; }

.ui-icon-transfer-e-w {
  background-position: -96px -80px; }

.ui-icon-transferthick-e-w {
  background-position: -112px -80px; }

.ui-icon-folder-collapsed {
  background-position: 0 -96px; }

.ui-icon-folder-open {
  background-position: -16px -96px; }

.ui-icon-document {
  background-position: -32px -96px; }

.ui-icon-document-b {
  background-position: -48px -96px; }

.ui-icon-note {
  background-position: -64px -96px; }

.ui-icon-mail-closed {
  background-position: -80px -96px; }

.ui-icon-mail-open {
  background-position: -96px -96px; }

.ui-icon-suitcase {
  background-position: -112px -96px; }

.ui-icon-comment {
  background-position: -128px -96px; }

.ui-icon-person {
  background-position: -144px -96px; }

.ui-icon-print {
  background-position: -160px -96px; }

.ui-icon-trash {
  background-position: -176px -96px; }

.ui-icon-locked {
  background-position: -192px -96px; }

.ui-icon-unlocked {
  background-position: -208px -96px; }

.ui-icon-bookmark {
  background-position: -224px -96px; }

.ui-icon-tag {
  background-position: -240px -96px; }

.ui-icon-home {
  background-position: 0 -112px; }

.ui-icon-flag {
  background-position: -16px -112px; }

.ui-icon-calendar {
  background-position: -32px -112px; }

.ui-icon-cart {
  background-position: -48px -112px; }

.ui-icon-pencil {
  background-position: -64px -112px; }

.ui-icon-clock {
  background-position: -80px -112px; }

.ui-icon-disk {
  background-position: -96px -112px; }

.ui-icon-calculator {
  background-position: -112px -112px; }

.ui-icon-zoomin {
  background-position: -128px -112px; }

.ui-icon-zoomout {
  background-position: -144px -112px; }

.ui-icon-search {
  background-position: -160px -112px; }

.ui-icon-wrench {
  background-position: -176px -112px; }

.ui-icon-gear {
  background-position: -192px -112px; }

.ui-icon-heart {
  background-position: -208px -112px; }

.ui-icon-star {
  background-position: -224px -112px; }

.ui-icon-link {
  background-position: -240px -112px; }

.ui-icon-cancel {
  background-position: 0 -128px; }

.ui-icon-plus {
  background-position: -16px -128px; }

.ui-icon-plusthick {
  background-position: -32px -128px; }

.ui-icon-minus {
  background-position: -48px -128px; }

.ui-icon-minusthick {
  background-position: -64px -128px; }

.ui-icon-close {
  background-position: -80px -128px; }

.ui-icon-closethick {
  background-position: -96px -128px; }

.ui-icon-key {
  background-position: -112px -128px; }

.ui-icon-lightbulb {
  background-position: -128px -128px; }

.ui-icon-scissors {
  background-position: -144px -128px; }

.ui-icon-clipboard {
  background-position: -160px -128px; }

.ui-icon-copy {
  background-position: -176px -128px; }

.ui-icon-contact {
  background-position: -192px -128px; }

.ui-icon-image {
  background-position: -208px -128px; }

.ui-icon-video {
  background-position: -224px -128px; }

.ui-icon-script {
  background-position: -240px -128px; }

.ui-icon-alert {
  background-position: 0 -144px; }

.ui-icon-info {
  background-position: -16px -144px; }

.ui-icon-notice {
  background-position: -32px -144px; }

.ui-icon-help {
  background-position: -48px -144px; }

.ui-icon-check {
  background-position: -64px -144px; }

.ui-icon-bullet {
  background-position: -80px -144px; }

.ui-icon-radio-on {
  background-position: -96px -144px; }

.ui-icon-radio-off {
  background-position: -112px -144px; }

.ui-icon-pin-w {
  background-position: -128px -144px; }

.ui-icon-pin-s {
  background-position: -144px -144px; }

.ui-icon-play {
  background-position: 0 -160px; }

.ui-icon-pause {
  background-position: -16px -160px; }

.ui-icon-seek-next {
  background-position: -32px -160px; }

.ui-icon-seek-prev {
  background-position: -48px -160px; }

.ui-icon-seek-end {
  background-position: -64px -160px; }

.ui-icon-seek-start {
  background-position: -80px -160px; }

/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first {
  background-position: -80px -160px; }

.ui-icon-stop {
  background-position: -96px -160px; }

.ui-icon-eject {
  background-position: -112px -160px; }

.ui-icon-volume-off {
  background-position: -128px -160px; }

.ui-icon-volume-on {
  background-position: -144px -160px; }

.ui-icon-power {
  background-position: 0 -176px; }

.ui-icon-signal-diag {
  background-position: -16px -176px; }

.ui-icon-signal {
  background-position: -32px -176px; }

.ui-icon-battery-0 {
  background-position: -48px -176px; }

.ui-icon-battery-1 {
  background-position: -64px -176px; }

.ui-icon-battery-2 {
  background-position: -80px -176px; }

.ui-icon-battery-3 {
  background-position: -96px -176px; }

.ui-icon-circle-plus {
  background-position: 0 -192px; }

.ui-icon-circle-minus {
  background-position: -16px -192px; }

.ui-icon-circle-close {
  background-position: -32px -192px; }

.ui-icon-circle-triangle-e {
  background-position: -48px -192px; }

.ui-icon-circle-triangle-s {
  background-position: -64px -192px; }

.ui-icon-circle-triangle-w {
  background-position: -80px -192px; }

.ui-icon-circle-triangle-n {
  background-position: -96px -192px; }

.ui-icon-circle-arrow-e {
  background-position: -112px -192px; }

.ui-icon-circle-arrow-s {
  background-position: -128px -192px; }

.ui-icon-circle-arrow-w {
  background-position: -144px -192px; }

.ui-icon-circle-arrow-n {
  background-position: -160px -192px; }

.ui-icon-circle-zoomin {
  background-position: -176px -192px; }

.ui-icon-circle-zoomout {
  background-position: -192px -192px; }

.ui-icon-circle-check {
  background-position: -208px -192px; }

.ui-icon-circlesmall-plus {
  background-position: 0 -208px; }

.ui-icon-circlesmall-minus {
  background-position: -16px -208px; }

.ui-icon-circlesmall-close {
  background-position: -32px -208px; }

.ui-icon-squaresmall-plus {
  background-position: -48px -208px; }

.ui-icon-squaresmall-minus {
  background-position: -64px -208px; }

.ui-icon-squaresmall-close {
  background-position: -80px -208px; }

.ui-icon-grip-dotted-vertical {
  background-position: 0 -224px; }

.ui-icon-grip-dotted-horizontal {
  background-position: -16px -224px; }

.ui-icon-grip-solid-vertical {
  background-position: -32px -224px; }

.ui-icon-grip-solid-horizontal {
  background-position: -48px -224px; }

.ui-icon-gripsmall-diagonal-se {
  background-position: -64px -224px; }

.ui-icon-grip-diagonal-se {
  background-position: -80px -224px; }

/* Misc visuals
----------------------------------*/
/* Corner radius */
.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
  border-top-left-radius: 3px; }

.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
  border-top-right-radius: 3px; }

.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
  border-bottom-left-radius: 3px; }

.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
  border-bottom-right-radius: 3px; }

/* Overlays */
.ui-widget-overlay {
  background: #aaaaaa;
  opacity: 0.3;
  filter: Alpha(Opacity=30);
  /* support: IE8 */ }

.ui-widget-shadow {
  -webkit-box-shadow: 0 0 5px #666666;
  box-shadow: 0 0 5px #666666; }

/*!
 * jQuery UI Menu 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/menu/#theming
 */
.ui-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: block;
  outline: 0; }

.ui-menu .ui-menu {
  position: absolute; }

.ui-menu .ui-menu-item {
  margin: 0;
  cursor: pointer;
  /* support: IE10, see #8844 */
  list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); }

.ui-menu .ui-menu-item-wrapper {
  position: relative;
  padding: 3px 1em 3px .4em; }

.ui-menu .ui-menu-divider {
  margin: 5px 0;
  height: 0;
  font-size: 0;
  line-height: 0;
  border-width: 1px 0 0 0; }

.ui-menu .ui-state-focus,
.ui-menu .ui-state-active {
  margin: -1px; }

/* icon support */
.ui-menu-icons {
  position: relative; }

.ui-menu-icons .ui-menu-item-wrapper {
  padding-left: 2em; }

/* left-aligned */
.ui-menu .ui-icon {
  position: absolute;
  top: 0;
  bottom: 0;
  left: .2em;
  margin: auto 0; }

/* right-aligned */
.ui-menu .ui-menu-icon {
  left: auto;
  right: 0; }

/*!
 * jQuery UI Autocomplete 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/autocomplete/#theming
 */
.ui-autocomplete {
  position: absolute;
  top: 0;
  left: 0;
  cursor: default; }

/****************************************************
	Components
****************************************************/
/****************************************************

	Mobile Nav

****************************************************/
.mobNav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  line-height: 1.5rem;
  color: #badcf0;
  background: #3e4096;
  background: linear-gradient(60deg, #3e4096, #51bae9);
  z-index: 2000;
  overflow-y: scroll;
  display: none; }
  .mobNav a:hover, .mobNav a:focus {
    opacity: 0.6; }
  .mobNav a:focus {
    outline: none; }
  .mobNav .mobNav__content {
    position: relative;
    max-width: 400px;
    min-height: calc(100vh - 244px - 37px);
    margin: 40px auto 244px;
    opacity: 0; }
  .mobNav .mobNav__menu {
    position: relative;
    padding-bottom: 20px;
    margin-top: 16px;
    overflow-x: hidden; }

/****************************************************
	Mobile Nav Header
****************************************************/
.mobNav .mobNav__close {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 32px;
  height: 32px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 64 64'%3E%3Cpath fill='%23fff' stroke='transparent' stroke-width='0' style='' d='M36.8033009,31.5606602 L55.1213203,49.8786797 L50.8786797,54.1213203 L32.5606602,35.8033009 L14.2426407,54.1213203 L10,49.8786797 L28.3180195,31.5606602 L10,13.2426407 L14.2426407,9 L32.5606602,27.3180195 L50.8786797,9 L55.1213203,13.2426407 L36.8033009,31.5606602 Z' /%3E%3C/svg%3E");
  background-position: center;
  margin-left: auto;
  cursor: pointer; }

.mobNav .mobNav__header {
  padding-top: 37px; }

/****************************************************
	Main Menu
****************************************************/
.mobNav .mobNav__menuList {
  position: relative;
  display: block;
  max-width: 400px;
  font-size: 0;
  list-style: none;
  padding: 0 30px 0 0;
  margin: 0; }

.mobNav .mobNav__menuItem {
  display: block;
  font-size: 24px;
  font-weight: bold;
  line-height: 2;
  margin-left: 0;
  margin-bottom: 5px; }
  .mobNav .mobNav__menuItem:last-child {
    margin-bottom: 0; }

.mobNav .mobNav__menuLink {
  position: relative;
  display: block;
  color: #fff;
  padding-bottom: 2px;
  border-bottom: 2px solid #a5d1eb;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear; }

/****************************************************
	Sub Menu
****************************************************/
.mobNav .mobNav__subMenuList {
  position: absolute;
  top: 0;
  left: 100%;
  width: 100%;
  list-style: none;
  padding: 0 30px 0 0;
  margin: 0;
  visibility: hidden; }
  .mobNav .mobNav__subMenuList.open {
    visibility: visible; }
  .mobNav .mobNav__subMenuList + .mobNav__menuLink:after {
    content: "";
    position: absolute;
    top: 15px;
    right: 0;
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='31.49' height='31.49' viewBox='0 0 31.49 31.49'%3E%3Cpath fill='%23fff' stroke='transparent' stroke-width='0' d='M21.205,5.007c-0.429-0.444-1.143-0.444-1.587,0c-0.429,0.429-0.429,1.143,0,1.571l8.047,8.047H1.111  C0.492,14.626,0,15.118,0,15.737c0,0.619,0.492,1.127,1.111,1.127h26.554l-8.047,8.032c-0.429,0.444-0.429,1.159,0,1.587  c0.444,0.444,1.159,0.444,1.587,0l9.952-9.952c0.444-0.429,0.444-1.143,0-1.571L21.205,5.007z' /%3E%3C/svg%3E");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.6; }

.mobNav .mobNav__subMenuItem {
  font-size: 20px;
  font-weight: 400;
  line-height: 2.5rem; }
  .mobNav .mobNav__subMenuItem:last-child {
    font-size: 24px;
    font-weight: 600;
    line-height: 3rem;
    margin-top: 34px;
    border-top: 2px solid #a5d1eb; }
    .mobNav .mobNav__subMenuItem:last-child:before {
      content: "";
      display: inline-block;
      width: 20px;
      height: 20px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='31.49' height='31.49' viewBox='0 0 31.49 31.49'%3E%3Cpath fill='%23fff' stroke='transparent' stroke-width='0' d='M21.205,5.007c-0.429-0.444-1.143-0.444-1.587,0c-0.429,0.429-0.429,1.143,0,1.571l8.047,8.047H1.111  C0.492,14.626,0,15.118,0,15.737c0,0.619,0.492,1.127,1.111,1.127h26.554l-8.047,8.032c-0.429,0.444-0.429,1.159,0,1.587  c0.444,0.444,1.159,0.444,1.587,0l9.952-9.952c0.444-0.429,0.444-1.143,0-1.571L21.205,5.007z' /%3E%3C/svg%3E");
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
      margin-right: 5px;
      vertical-align: middle;
      opacity: 0.6; }
    .mobNav .mobNav__subMenuItem:last-child .mobNav__subMenuLink, .mobNav .mobNav__subMenuItem:last-child .mobNav__subMenuLink--back {
      display: inline-block;
      vertical-align: middle; }

.mobNav .mobNav__subMenuLink, .mobNav .mobNav__subMenuLink--back {
  display: block;
  color: #fff; }

.mobNav .mobNav__subMenuLink--back {
  color: #00c0b5; }

.mobNav .mobNav__subMenuList.open .mobNav__subMenuItem {
  visibility: visible; }

/****************************************************
	Mob Nav Footer
****************************************************/
.mobNav__footer {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 244px; }

/****************************************************
	Footer Menu
****************************************************/
.mobNav .mobNav__footerMenuList {
  display: block;
  max-width: 400px;
  list-style: none;
  font-size: 0;
  margin: 0 0 40px; }

.mobNav .SignOutbuttonMobile {
  position: absolute;
  top: 40px; }

.mobNav .mobNav__footerMenuItem {
  display: block;
  font-size: 18px;
  line-height: 2.125rem;
  margin-left: 0; }
  .mobNav .mobNav__footerMenuItem:before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-right: 5px;
    vertical-align: middle; }
  .mobNav .mobNav__footerMenuItem:first-child:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24'%3E%3Cpath fill='%2300c2b7' stroke='transparent' stroke-width='0' d='M21.43,21.2a2.29,2.29,0,0,0,0-3.4l-2.75-2.74a2.29,2.29,0,0,0-1.7-.77,2.39,2.39,0,0,0-1.7.77l-1.59,1.58c-.13-.08-.26-.13-.39-.21s-.35-.19-.51-.27a16.92,16.92,0,0,1-4.11-3.72,9.27,9.27,0,0,1-1.35-2.13c.4-.37.8-.77,1.17-1.14l.42-.42A2.45,2.45,0,0,0,9.72,7a2.42,2.42,0,0,0-.8-1.71L7.57,4c-.16-.16-.32-.32-.45-.48-.29-.31-.61-.63-.93-.92a2.38,2.38,0,0,0-1.67-.74,2.48,2.48,0,0,0-1.69.74L1.1,4.27A3.6,3.6,0,0,0,0,6.56a9,9,0,0,0,.63,3.69,21.38,21.38,0,0,0,3.82,6.36,23.57,23.57,0,0,0,7.82,6.1A12,12,0,0,0,16.69,24H17a3.72,3.72,0,0,0,2.86-1.24l0,0a9.08,9.08,0,0,1,.87-.89,5,5,0,0,0,.66-.64Zm-1.58-.35a13,13,0,0,0-1,1,2.35,2.35,0,0,1-1.88.79h-.23a11.67,11.67,0,0,1-3.91-1.18,22.23,22.23,0,0,1-7.35-5.73,20.4,20.4,0,0,1-3.6-5.94,6.87,6.87,0,0,1-.55-3.1,2.36,2.36,0,0,1,.69-1.47L3.76,3.54a1.08,1.08,0,0,1,.76-.37,1.11,1.11,0,0,1,.77.37c.32.29.58.58.9.89l.47.47L8,6.24a1.18,1.18,0,0,1,.4.79,1.14,1.14,0,0,1-.4.79l-.42.42c-.43.42-.82.82-1.24,1.21l0,0a1,1,0,0,0-.27,1.1s0,0,0,.05a10.24,10.24,0,0,0,1.61,2.6,18.25,18.25,0,0,0,4.42,4c.21.13.42.23.61.34s.34.18.5.26,0,0,0,0a1,1,0,0,0,1.22-.21l1.71-1.71a1.17,1.17,0,0,1,.77-.37,1.15,1.15,0,0,1,.74.37l2.75,2.73a1,1,0,0,1,0,1.58,5.38,5.38,0,0,1-.58.6ZM12.24,5.08A.65.65,0,0,1,13,4.54a7.56,7.56,0,0,1,4.23,2.22A8.08,8.08,0,0,1,19.46,11a.66.66,0,0,1-.53.78h-.11a.7.7,0,0,1-.68-.56A6.27,6.27,0,0,0,16.31,7.7a6.66,6.66,0,0,0-3.5-1.84.64.64,0,0,1-.57-.78Zm10.44,5.7a11.66,11.66,0,0,0-3.22-6.23,11.52,11.52,0,0,0-6.23-3.22.64.64,0,0,1-.54-.78A.65.65,0,0,1,13.47,0,12.62,12.62,0,0,1,20.4,3.59a12.74,12.74,0,0,1,3.59,7,.67.67,0,0,1-.53.78h-.11a.64.64,0,0,1-.67-.54Z' /%3E%3C/svg%3E"); }
  .mobNav .mobNav__footerMenuItem:last-child:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 28 28'%3E%3Cpath fill='%2300c2b7' stroke='transparent' stroke-width='0' d='M14,0A14,14,0,1,0,28,14,14,14,0,0,0,14,0Zm0,1.19a12.82,12.82,0,0,1,9.48,21.44,10.14,10.14,0,0,0-19,0A12.82,12.82,0,0,1,14,1.19Zm0,3a5.36,5.36,0,1,0,5.36,5.36A5.37,5.37,0,0,0,14,4.17Zm0,1.19A4.17,4.17,0,1,1,9.83,9.53,4.16,4.16,0,0,1,14,5.36Zm0,11.92a8.92,8.92,0,0,1,8.54,6.27,12.82,12.82,0,0,1-17.08,0A8.92,8.92,0,0,1,14,17.28Z' /%3E%3C/svg%3E"); }
  .mobNav .mobNav__footerMenuItem .SignOutbutton {
    display: inline; }
    .mobNav .mobNav__footerMenuItem .SignOutbutton a {
      color: #badcf0;
      vertical-align: middle; }

.mobNav .mobNav__footerMenuLink {
  color: #badcf0;
  vertical-align: middle; }

/****************************************************
	Search
****************************************************/
.mobNav .mobNav__searchBox {
  position: relative;
  margin-top: 12px; }

.mobNav .mobNav__searchTerm {
  font-size: 24px;
  line-height: 1.875rem;
  padding: 12px 50px 14px 15px;
  margin: 0;
  border: none; }
  .mobNav .mobNav__searchTerm:focus {
    border: none; }

.mobNav .mobNav__searchButton {
  position: absolute;
  top: 14px;
  right: 18px;
  width: 28px;
  height: 28px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath fill='%2300c0b5' stroke='transparent' stroke-width='0' d='M28,25.85A2.19,2.19,0,0,1,25.85,28a2,2,0,0,1-1.52-.64l-5.77-5.75a11.53,11.53,0,0,1-6.71,2.08,11.72,11.72,0,0,1-4.61-.93,11.83,11.83,0,0,1-3.78-2.53A12,12,0,0,1,.93,16.45a11.87,11.87,0,0,1,0-9.21A11.7,11.7,0,0,1,7.24.93a11.87,11.87,0,0,1,9.21,0,12,12,0,0,1,3.78,2.53,11.83,11.83,0,0,1,2.53,3.78,11.72,11.72,0,0,1,.93,4.61,11.53,11.53,0,0,1-2.08,6.71l5.77,5.77A2.09,2.09,0,0,1,28,25.85Zm-8.62-14a7.25,7.25,0,0,0-2.21-5.33,7.27,7.27,0,0,0-5.32-2.21A7.27,7.27,0,0,0,6.52,6.52a7.29,7.29,0,0,0-2.21,5.33,7.27,7.27,0,0,0,2.21,5.32,7.23,7.23,0,0,0,5.33,2.21,7.23,7.23,0,0,0,5.32-2.21,7.23,7.23,0,0,0,2.21-5.32Z' /%3E%3C/svg%3E");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat; }
  .mobNav .mobNav__searchButton:hover, .mobNav .mobNav__searchButton:focus {
    opacity: 0.6;
    outline: none; }

/****************************************************

	Header

****************************************************/
header {
  position: relative;
  height: 96px;
  padding-top: 15px;
  padding-bottom: 15px;
  border-top: 4px solid #00877c; }
  header:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 1px;
    background: rgba(0, 0, 0, 0.05);
    -webkit-box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1);
            box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1);
    z-index: 5020; }
  header.landing {
    height: 112px;
    padding-top: 20px;
    border: none; }
    header.landing:before {
      display: none; }
    header.landing + main {
      background: #fff; }
  header .header__logo {
    display: block;
    width: 248px;
    float: left; }
  header .header__menuIcon {
    width: 40px;
    height: 40px;
    background-color: #00c0b5;
    padding: 9px;
    border-radius: 50%;
    margin-top: 11px;
    margin-right: 4px;
    float: right; }
  header .header__back {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.33;
    letter-spacing: normal;
    color: #00877c;
    text-transform: uppercase;
    margin-top: 36px;
    margin-right: 8px;
    float: right; }
    header .header__back svg {
      vertical-align: middle; }
    header .header__back span {
      display: inline-block;
      vertical-align: middle;
      margin-left: 6px; }

@media print, screen and (min-width: 64em) {
  header {
    height: auto;
    padding-top: 24px; }
    header.landing {
      height: 194px;
      padding-top: 42px; }
    header .header__logo {
      display: inline-block;
      height: 117px;
      width: auto;
      float: none; } }

/****************************************************
	Main menu
****************************************************/
.mainNav .mainNav__list {
  margin-top: 26px; }

.mainNav .mainNav__list--icon {
  display: inline-block; }
  .mainNav .mainNav__list--icon a {
    content: "";
    display: inline-block;
    width: 28px;
    height: 28px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath fill='%2300c0b5' stroke='transparent' stroke-width='0' d='M13.41.18.39,9.52a.94.94,0,0,0-.39.75v16.8A1,1,0,0,0,1,28H27a1,1,0,0,0,1-.93V10.27a.94.94,0,0,0-.39-.75L14.59.18A1.06,1.06,0,0,0,13.41.18ZM14,4l11,7.54V25H3V11.54Z' /%3E%3C/svg%3E");
    vertical-align: middle; }

.mainNav .mainNav__item {
  margin: 0 5px;
  vertical-align: middle; }

.mainNav .mainNav__link {
  position: relative;
  font-size: 26px;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.5px;
  color: #031f73; }
  .mainNav .mainNav__link.active:after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 2px;
    background: #00877c; }

@media screen and (min-width: 75em) {
  .mainNav .mainNav__item {
    margin: 0 10px; }
  .mainNav .mainNav__link {
    font-size: 28px; } }

@media screen and (min-width: 90em) {
  .mainNav .mainNav__link {
    font-size: 32px; } }

/****************************************************
	Phone call
****************************************************/
.header__call {
  font-size: 24px;
  line-height: 1.63;
  letter-spacing: -0.5px;
  margin-top: 11px;
  margin-bottom: 14px; }
  .header__call:before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%2300c0b5' stroke='transparent' stroke-width='0' d='M21.43,21.2a2.29,2.29,0,0,0,0-3.4l-2.75-2.74a2.29,2.29,0,0,0-1.7-.77,2.39,2.39,0,0,0-1.7.77l-1.59,1.58c-.13-.08-.26-.13-.39-.21s-.35-.19-.51-.27a16.92,16.92,0,0,1-4.11-3.72,9.27,9.27,0,0,1-1.35-2.13c.4-.37.8-.77,1.17-1.14l.42-.42A2.45,2.45,0,0,0,9.72,7a2.42,2.42,0,0,0-.8-1.71L7.57,4c-.16-.16-.32-.32-.45-.48-.29-.31-.61-.63-.93-.92a2.38,2.38,0,0,0-1.67-.74,2.48,2.48,0,0,0-1.69.74L1.1,4.27A3.6,3.6,0,0,0,0,6.56a9,9,0,0,0,.63,3.69,21.38,21.38,0,0,0,3.82,6.36,23.57,23.57,0,0,0,7.82,6.1A12,12,0,0,0,16.69,24H17a3.72,3.72,0,0,0,2.86-1.24l0,0a9.08,9.08,0,0,1,.87-.89,5,5,0,0,0,.66-.64Zm-1.58-.35a13,13,0,0,0-1,1,2.35,2.35,0,0,1-1.88.79h-.23a11.67,11.67,0,0,1-3.91-1.18,22.23,22.23,0,0,1-7.35-5.73,20.4,20.4,0,0,1-3.6-5.94,6.87,6.87,0,0,1-.55-3.1,2.36,2.36,0,0,1,.69-1.47L3.76,3.54a1.08,1.08,0,0,1,.76-.37,1.11,1.11,0,0,1,.77.37c.32.29.58.58.9.89l.47.47L8,6.24a1.18,1.18,0,0,1,.4.79,1.14,1.14,0,0,1-.4.79l-.42.42c-.43.42-.82.82-1.24,1.21l0,0a1,1,0,0,0-.27,1.1s0,0,0,.05a10.24,10.24,0,0,0,1.61,2.6,18.25,18.25,0,0,0,4.42,4c.21.13.42.23.61.34s.34.18.5.26,0,0,0,0a1,1,0,0,0,1.22-.21l1.71-1.71a1.17,1.17,0,0,1,.77-.37,1.15,1.15,0,0,1,.74.37l2.75,2.73a1,1,0,0,1,0,1.58,5.38,5.38,0,0,1-.58.6ZM12.24,5.08A.65.65,0,0,1,13,4.54a7.56,7.56,0,0,1,4.23,2.22A8.08,8.08,0,0,1,19.46,11a.66.66,0,0,1-.53.78h-.11a.7.7,0,0,1-.68-.56A6.27,6.27,0,0,0,16.31,7.7a6.66,6.66,0,0,0-3.5-1.84.64.64,0,0,1-.57-.78Zm10.44,5.7a11.66,11.66,0,0,0-3.22-6.23,11.52,11.52,0,0,0-6.23-3.22.64.64,0,0,1-.54-.78A.65.65,0,0,1,13.47,0,12.62,12.62,0,0,1,20.4,3.59a12.74,12.74,0,0,1,3.59,7,.67.67,0,0,1-.53.78h-.11a.64.64,0,0,1-.67-.54Z' /%3E%3C/svg%3E");
    margin-right: 4px;
    vertical-align: middle; }
  .header__call .header__callText, .header__call .header__callLink {
    color: #3e4096;
    vertical-align: middle; }

/****************************************************
	CTA
****************************************************/
.header__cta {
  font-size: 0;
  margin-bottom: 28px; }
  .header__cta .button + .button, .header__cta .RegisterButton + .button, .header__cta .button + .RegisterButton, .header__cta .RegisterButton + .RegisterButton {
    margin-left: 15px; }

@media screen and (min-width: 75em) {
  .header__cta {
    margin-bottom: 30px; }
    .header__cta .button + .button, .header__cta .RegisterButton + .button, .header__cta .button + .RegisterButton, .header__cta .RegisterButton + .RegisterButton {
      margin-left: 25px; } }

/****************************************************
	SubMenu
****************************************************/
.subNav {
  display: inline-block; }
  .subNav .subNav__item {
    position: relative; }
    .subNav .subNav__item + .subNav__item {
      margin-left: 30px; }
  .subNav .subNav__link {
    line-height: 2;
    color: #031f73; }

.subNav a {
  position: relative; }
  .subNav a span {
    position: absolute;
    padding: 0 0.5rem;
    left: 24px;
    top: 8px;
    height: 1.5rem;
    line-height: 1.3;
    font-size: 0.9rem;
    text-align: center;
    -webkit-transition: all 0.35s ease-out;
    transition: all 0.35s ease-out; }

.checkout__icon a {
  /* position: absolute;
        top: -25px;
        left: 100px;*/ }

.header__signout {
  display: inline-block;
  position: relative; }
  .header__signout :hover {
    cursor: pointer; }

.logon-password-retrieval-result {
  display: inline-block; }

.signoutButton {
  background-image: url("../images/sign-out.png");
  background-color: transparent;
  display: inline-block;
  position: absolute;
  top: -21px;
  border: none;
  height: 26px;
  width: 105px;
  font-size: 0px;
  background-size: cover; }

.RegisterButton {
  padding-right: 22px !important;
  margin-top: 50px;
  margin-bottom: 50px; }

.article__content {
  position: relative;
  padding-bottom: 80px; }

@media print, screen and (min-width: 64em) {
  .subNav .subNav__item + .subNav__item {
    margin-left: 20px; } }

@media screen and (min-width: 75em) {
  .subNav .subNav__link {
    font-size: 20px; }
  .subNav .subNav__item + .subNav__item {
    margin-left: 15px; } }

@media screen and (min-width: 90em) {
  .subNav .subNav__item + .subNav__item {
    margin-left: 20px; } }

/****************************************************
	Search
****************************************************/
.header__search {
  display: inline-block;
  text-align: right;
  margin-top: -3px;
  float: right; }
  .header__search .header__searchOpen, .header__search .header__searchClose {
    display: inline-block;
    font-size: 0;
    cursor: pointer; }
    .header__search .header__searchOpen:after, .header__search .header__searchClose:after {
      content: "";
      display: inline-block;
      width: 28px;
      height: 28px;
      margin-left: 12px;
      vertical-align: middle; }
  .header__search .header__searchOpen:after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath fill='%2300c0b5' stroke='transparent' stroke-width='0' d='M28,25.85A2.19,2.19,0,0,1,25.85,28a2,2,0,0,1-1.52-.64l-5.77-5.75a11.53,11.53,0,0,1-6.71,2.08,11.72,11.72,0,0,1-4.61-.93,11.83,11.83,0,0,1-3.78-2.53A12,12,0,0,1,.93,16.45a11.87,11.87,0,0,1,0-9.21A11.7,11.7,0,0,1,7.24.93a11.87,11.87,0,0,1,9.21,0,12,12,0,0,1,3.78,2.53,11.83,11.83,0,0,1,2.53,3.78,11.72,11.72,0,0,1,.93,4.61,11.53,11.53,0,0,1-2.08,6.71l5.77,5.77A2.09,2.09,0,0,1,28,25.85Zm-8.62-14a7.25,7.25,0,0,0-2.21-5.33,7.27,7.27,0,0,0-5.32-2.21A7.27,7.27,0,0,0,6.52,6.52a7.29,7.29,0,0,0-2.21,5.33,7.27,7.27,0,0,0,2.21,5.32,7.23,7.23,0,0,0,5.33,2.21,7.23,7.23,0,0,0,5.32-2.21,7.23,7.23,0,0,0,2.21-5.32Z' /%3E%3C/svg%3E"); }
  .header__search .header__searchClose {
    display: none; }
    .header__search .header__searchClose:after {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 64 64'%3E%3Cpath fill='%2300c0b5' stroke='transparent' stroke-width='0' style='' d='M36.8033009,31.5606602 L55.1213203,49.8786797 L50.8786797,54.1213203 L32.5606602,35.8033009 L14.2426407,54.1213203 L10,49.8786797 L28.3180195,31.5606602 L10,13.2426407 L14.2426407,9 L32.5606602,27.3180195 L50.8786797,9 L55.1213203,13.2426407 L36.8033009,31.5606602 Z' /%3E%3C/svg%3E");
      margin-top: 6px; }
    .header__search .header__searchClose .header__searchText {
      color: #00c0b5; }
  .header__search .header__searchText {
    font-size: 26px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.5px;
    color: #031f73;
    vertical-align: middle; }

@media screen and (min-width: 75em) {
  .header__search {
    margin-top: -5px; }
    .header__search .header__searchText {
      font-size: 32px; } }

/****************************************************

	Footer

****************************************************/
footer {
  font-size: 16px;
  line-height: 1.75;
  color: #18191d;
  text-align: center;
  padding-top: 34px;
  padding-bottom: 35px;
  border-top: 4px solid #72dcd4; }
  footer .footer__linkItem + .footer__linkItem {
    margin-top: 5px; }
  footer .footer__link {
    font-size: 18px;
    color: #262527; }
    footer .footer__link:hover, footer .footer__link:focus {
      color: #262527;
      text-decoration: underline; }

@media print, screen and (min-width: 40em) {
  footer {
    text-align: left;
    padding-top: 78px;
    padding-bottom: 29px; } }

/****************************************************
	Social
****************************************************/
footer .footer__socialTitle {
  font-size: 24px;
  font-weight: 800;
  text-align: center;
  margin-bottom: 26px; }

footer .footer__socialList {
  list-style: none;
  text-align: center;
  margin-left: 0;
  margin-bottom: 47px; }

footer .footer__socialItem {
  display: inline-block;
  margin: 0 13px;
  vertical-align: middle; }

footer .footer__socialLink {
  display: block;
  width: 48px;
  height: 48px; }

@media print, screen and (min-width: 64em) {
  footer .footer__socialList {
    margin-bottom: 73px; } }

/****************************************************
	Image
****************************************************/
footer .footer__img {
  margin: 0 auto 44px; }

/****************************************************
	Box
****************************************************/
footer .footer__box {
  line-height: 1.78;
  margin: 13px 0 32px;
  position: relative; }

footer .footer__boxTitle {
  color: #3aab48;
  font-weight: 600;
  text-transform: uppercase; }

footer .footer__boxImg {
  margin-top: 13px; }

@media print, screen and (min-width: 64em) {
  footer .footer__box {
    margin: 0; }
  footer .meal__logo img {
    position: absolute;
    top: -353px;
    left: -130px; } }

@media screen and (min-width: 75em) {
  footer .meal__logo img {
    position: relative;
    top: 0px;
    left: 0px; } }

/****************************************************
	Baseline
****************************************************/
footer .footer__baseLine {
  font-size: 18px;
  line-height: 2;
  text-align: center;
  margin-top: 14px; }
  footer .footer__baseLine .footer__copy {
    display: inline; }
  footer .footer__baseLine .footer__links {
    margin-bottom: 20px; }
  footer .footer__baseLine .footer__linkItem {
    margin: 0 8px; }

@media print, screen and (min-width: 40em) {
  footer .footer__baseLine {
    margin-top: 60px; } }

@media print, screen and (min-width: 64em) {
  footer .footer__baseLine {
    margin-top: 96px;
    font-size: 16px; }
    footer .footer__baseLine .footer__link {
      font-size: 16px; } }

.goog-te-gadget-simple {
  padding: 6px 6px !important;
  border-left: 1px solid #d5d5d5;
  border-top: 1px solid #d5d5d5;
  border-bottom: 1px solid #d5d5d5;
  border-right: 1px solid #d5d5d5; }

.goog-te-menu-value {
  font-size: 18px; }

#google_translate_element {
  margin-bottom: 30px; }

/****************************************************

	Search

****************************************************/
.search {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background-color: #72dcd4;
  display: none;
  z-index: 5010; }
  .search .search__box {
    position: relative;
    padding: 35px 165px; }
  .search .search__term {
    font-size: 40px;
    font-weight: 600;
    line-height: 1;
    color: #fff;
    text-align: center;
    background: transparent;
    padding: 0;
    margin: 0;
    border: none; }
    .search .search__term::-webkit-input-placeholder {
      color: #9df1ea; }
    .search .search__term:-ms-input-placeholder {
      color: #9df1ea; }
    .search .search__term::-moz-placeholder {
      color: #9df1ea; }
    .search .search__term::-ms-input-placeholder {
      color: #9df1ea; }
    .search .search__term::placeholder {
      color: #9df1ea; }
    .search .search__term:focus {
      border: none; }
  .search .search__button {
    position: absolute;
    top: 50%;
    right: 0;
    font-size: 32px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.5px;
    color: #fff;
    cursor: pointer;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear; }
    .search .search__button:after {
      content: "";
      display: inline-block;
      width: 28px;
      height: 28px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath fill='%23fff' stroke='transparent' stroke-width='0' d='M28,25.85A2.19,2.19,0,0,1,25.85,28a2,2,0,0,1-1.52-.64l-5.77-5.75a11.53,11.53,0,0,1-6.71,2.08,11.72,11.72,0,0,1-4.61-.93,11.83,11.83,0,0,1-3.78-2.53A12,12,0,0,1,.93,16.45a11.87,11.87,0,0,1,0-9.21A11.7,11.7,0,0,1,7.24.93a11.87,11.87,0,0,1,9.21,0,12,12,0,0,1,3.78,2.53,11.83,11.83,0,0,1,2.53,3.78,11.72,11.72,0,0,1,.93,4.61,11.53,11.53,0,0,1-2.08,6.71l5.77,5.77A2.09,2.09,0,0,1,28,25.85Zm-8.62-14a7.25,7.25,0,0,0-2.21-5.33,7.27,7.27,0,0,0-5.32-2.21A7.27,7.27,0,0,0,6.52,6.52a7.29,7.29,0,0,0-2.21,5.33,7.27,7.27,0,0,0,2.21,5.32,7.23,7.23,0,0,0,5.33,2.21,7.23,7.23,0,0,0,5.32-2.21,7.23,7.23,0,0,0,2.21-5.32Z' /%3E%3C/svg%3E");
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
      margin-top: -8px;
      margin-left: 12px;
      vertical-align: middle; }
    .search .search__button:hover, .search .search__button:focus {
      opacity: 0.6;
      outline: none; }

/****************************************************

	Hero

****************************************************/
.hero {
  padding-bottom: 40px; }
  .hero .hero__img {
    height: 0;
    background-color: #fff;
    background-size: cover;
    background-position: center;
    padding-top: 56.22%; }
  .hero .hero__box {
    position: relative;
    margin-top: 25px; }
  .hero .hero__content {
    margin: 0 auto; }
  .hero .hero__title {
    position: relative;
    font-size: 40px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.5px;
    color: #031f73;
    margin-bottom: 13px; }
  .hero .hero__text {
    font-size: 20px;
    line-height: 1.6; }

@media print, screen and (min-width: 40em) {
  .hero .hero__img {
    border-radius: 10px; }
  .hero .hero__box {
    background-color: #fff;
    padding: 43px 30px 80px;
    margin-top: -100px;
    border-radius: 10px;
    -webkit-box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1);
            box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1); }
  .hero .hero__text {
    line-height: 1.33; } }

@media print, screen and (min-width: 64em) {
  .hero {
    padding-bottom: 87px; }
    .hero .hero__box {
      margin-top: -176px; }
    .hero .hero__content {
      max-width: 928px; }
    .hero .hero__title {
      font-size: 50px;
      line-height: 1.13;
      letter-spacing: -1px;
      margin-bottom: 28px; }
    .hero .hero__text {
      font-size: 24px;
      line-height: 1.33; } }

@media screen and (min-width: 75em) {
  .hero .hero__title {
    font-size: 64px; } }

/****************************************************

	Content

****************************************************/
.content, .article .article__content {
  line-height: 1.75rem; }
  .content h1, .article .article__content h1, .content .h1, .article .article__content .h1, .content .panel--feature .panel__title, .panel--feature .content .panel__title, .article .article__content .panel--feature .panel__title, .panel--feature .article .article__content .panel__title, .content .navSlider .navSlider__title, .navSlider .content .navSlider__title, .article .article__content .navSlider .navSlider__title, .navSlider .article .article__content .navSlider__title, .content .recipeSlider .navSlider__title, .recipeSlider .content .navSlider__title, .article .article__content .recipeSlider .navSlider__title, .recipeSlider .article .article__content .navSlider__title, .content h2, .article .article__content h2, .content .h2, .article .article__content .h2, .content .panel .panel__title, .panel .content .panel__title, .article .article__content .panel .panel__title, .panel .article .article__content .panel__title, .content .panel--feature .panel__title, .panel--feature .content .panel__title, .article .article__content .panel--feature .panel__title, .panel--feature .article .article__content .panel__title, .content .panel--cta .panel__title, .panel--cta .content .panel__title, .article .article__content .panel--cta .panel__title, .panel--cta .article .article__content .panel__title, .content .panel--bubble .panel__title, .panel--bubble .content .panel__title, .article .article__content .panel--bubble .panel__title, .panel--bubble .article .article__content .panel__title, .content .form .form__title, .form .content .form__title, .article .article__content .form .form__title, .form .article .article__content .form__title, .content h3, .article .article__content h3, .content .h3, .article .article__content .h3, .content .signup .signup__text, .signup .content .signup__text, .article .article__content .signup .signup__text, .signup .article .article__content .signup__text, .content h4, .article .article__content h4, .content .h4, .article .article__content .h4, .content .infographic .infographic__title, .infographic .content .infographic__title, .article .article__content .infographic .infographic__title, .infographic .article .article__content .infographic__title, .content .form .form__step, .form .content .form__step, .article .article__content .form .form__step, .form .article .article__content .form__step {
    margin-bottom: 16px; }
  .content h2, .article .article__content h2, .content .h2, .article .article__content .h2, .content .panel .panel__title, .panel .content .panel__title, .article .article__content .panel .panel__title, .panel .article .article__content .panel__title, .content .panel--feature .panel__title, .panel--feature .content .panel__title, .article .article__content .panel--feature .panel__title, .panel--feature .article .article__content .panel__title, .content .panel--cta .panel__title, .panel--cta .content .panel__title, .article .article__content .panel--cta .panel__title, .panel--cta .article .article__content .panel__title, .content .panel--bubble .panel__title, .panel--bubble .content .panel__title, .article .article__content .panel--bubble .panel__title, .panel--bubble .article .article__content .panel__title, .content .form .form__title, .form .content .form__title, .article .article__content .form .form__title, .form .article .article__content .form__title, .content h3, .article .article__content h3, .content .h3, .article .article__content .h3, .content .signup .signup__text, .signup .content .signup__text, .article .article__content .signup .signup__text, .signup .article .article__content .signup__text, .content h4, .article .article__content h4, .content .h4, .article .article__content .h4, .content .infographic .infographic__title, .infographic .content .infographic__title, .article .article__content .infographic .infographic__title, .infographic .article .article__content .infographic__title, .content .form .form__step, .form .content .form__step, .article .article__content .form .form__step, .form .article .article__content .form__step {
    font-weight: 600; }
  .content p, .article .article__content p {
    line-height: inherit;
    margin-bottom: 1.75em; }
  .content img, .article .article__content img {
    margin-bottom: 40px; }
  .content p:last-child, .article .article__content p:last-child, .content img:last-child, .article .article__content img:last-child {
    margin-bottom: 0; }
  .content a, .article .article__content a {
    color: #00c0b5;
    text-decoration: underline; }
  .content a.button, .article .article__content a.button, .content a.RegisterButton, .article .article__content a.RegisterButton {
    color: #ffffff !important; }
  .content .button-fix, .article .article__content .button-fix {
    color: #ffffff !important;
    text-decoration: none !important; }

@media print, screen and (min-width: 64em) {
  .content, .article .article__content {
    font-size: 20px;
    line-height: 1.6; }
    .content h1, .article .article__content h1, .content .h1, .article .article__content .h1, .content .panel--feature .panel__title, .panel--feature .content .panel__title, .article .article__content .panel--feature .panel__title, .panel--feature .article .article__content .panel__title, .content .navSlider .navSlider__title, .navSlider .content .navSlider__title, .article .article__content .navSlider .navSlider__title, .navSlider .article .article__content .navSlider__title, .content .recipeSlider .navSlider__title, .recipeSlider .content .navSlider__title, .article .article__content .recipeSlider .navSlider__title, .recipeSlider .article .article__content .navSlider__title, .content h2, .article .article__content h2, .content .h2, .article .article__content .h2, .content .panel .panel__title, .panel .content .panel__title, .article .article__content .panel .panel__title, .panel .article .article__content .panel__title, .content .panel--feature .panel__title, .panel--feature .content .panel__title, .article .article__content .panel--feature .panel__title, .panel--feature .article .article__content .panel__title, .content .panel--cta .panel__title, .panel--cta .content .panel__title, .article .article__content .panel--cta .panel__title, .panel--cta .article .article__content .panel__title, .content .panel--bubble .panel__title, .panel--bubble .content .panel__title, .article .article__content .panel--bubble .panel__title, .panel--bubble .article .article__content .panel__title, .content .form .form__title, .form .content .form__title, .article .article__content .form .form__title, .form .article .article__content .form__title, .content h3, .article .article__content h3, .content .h3, .article .article__content .h3, .content .signup .signup__text, .signup .content .signup__text, .article .article__content .signup .signup__text, .signup .article .article__content .signup__text, .content h4, .article .article__content h4, .content .h4, .article .article__content .h4, .content .infographic .infographic__title, .infographic .content .infographic__title, .article .article__content .infographic .infographic__title, .infographic .article .article__content .infographic__title, .content .form .form__step, .form .content .form__step, .article .article__content .form .form__step, .form .article .article__content .form__step {
      margin-bottom: 37px; } }

/****************************************************
	Mobile Side Nav
****************************************************/
.mobSideNav {
  margin-bottom: 46px; }
  .mobSideNav .mobSideNav__title {
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 5px; }

/****************************************************
	Desktop Side Nav
****************************************************/
.dskSideNav .dskSideNav__member {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.33;
  color: #00877c;
  text-transform: uppercase;
  margin-bottom: 11px; }

.dskSideNav .dskSideNav__list {
  list-style: none;
  margin-left: 0; }

.dskSideNav .dskSideNav__item {
  font-weight: 600;
  line-height: 1.78;
  color: #3aab48;
  text-transform: uppercase; }

.dskSideNav .dskSideNav__link {
  display: block;
  font-weight: 400;
  line-height: 1.78;
  color: #262527;
  text-transform: none;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear; }
  .dskSideNav .dskSideNav__link:hover, .dskSideNav .dskSideNav__link:focus {
    color: #00c0b5; }

main.ContentRefresh {
  padding-top: 0;
  background-color: #ffffff; }
  main.ContentRefresh .hero__img {
    min-height: 514px;
    width: 100%;
    background-color: #fff;
    background-size: cover;
    background-position: center;
    position: relative; }
    main.ContentRefresh .hero__img .hero_content {
      padding-left: 25px;
      padding-right: 25px;
      margin: 0;
      position: absolute;
      top: 50%;
      -ms-transform: translateY(-50%);
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
      main.ContentRefresh .hero__img .hero_content h1 {
        color: #ffffff; }
      main.ContentRefresh .hero__img .hero_content .hero_introduction {
        color: #ffffff;
        max-width: 580px; }
      main.ContentRefresh .hero__img .hero_content .button, main.ContentRefresh .hero__img .hero_content .RegisterButton {
        text-decoration: none; }
      main.ContentRefresh .hero__img .hero_content .hero_button {
        padding-top: 25px; }
    main.ContentRefresh .hero__img .Dark h1 {
      color: #000000; }
    main.ContentRefresh .hero__img .Dark .hero_introduction {
      color: #000000; }
    @media print, screen and (min-width: 64em) {
      main.ContentRefresh .hero__img .hero_content {
        padding-left: 170px;
        padding-right: 170px; } }
  main.ContentRefresh .tileThreeAcross {
    padding-left: 2rem;
    padding-right: 2rem; }
    main.ContentRefresh .tileThreeAcross .column, main.ContentRefresh .tileThreeAcross .columns {
      margin-top: 2rem; }
      main.ContentRefresh .tileThreeAcross .column .ImageDiv, main.ContentRefresh .tileThreeAcross .columns .ImageDiv {
        -webkit-box-shadow: inset 0 0 0 1000px rgba(196, 196, 196, 0.8);
                box-shadow: inset 0 0 0 1000px rgba(196, 196, 196, 0.8);
        position: relative;
        text-align: center;
        left: 0;
        top: 0;
        padding-top: 82.21%;
        width: 100%;
        background-color: #C4C4C4;
        background-size: cover;
        background-position: center; }
        main.ContentRefresh .tileThreeAcross .column .ImageDiv .TileTitle, main.ContentRefresh .tileThreeAcross .columns .ImageDiv .TileTitle {
          color: #ffffff;
          font-size: 36px; }
      main.ContentRefresh .tileThreeAcross .column .ImageDiv:hover, main.ContentRefresh .tileThreeAcross .columns .ImageDiv:hover {
        -webkit-box-shadow: none;
                box-shadow: none; }
  main.ContentRefresh .tileFourAcross {
    padding-left: 2.5rem;
    padding-right: 2.5rem; }
    main.ContentRefresh .tileFourAcross .column, main.ContentRefresh .tileFourAcross .columns {
      margin-top: 0.5rem;
      padding-left: 0.5rem;
      padding-right: 0.5rem; }
      main.ContentRefresh .tileFourAcross .column .ImageDiv, main.ContentRefresh .tileFourAcross .columns .ImageDiv {
        -webkit-box-shadow: none;
                box-shadow: none;
        position: relative;
        text-align: center;
        left: 0;
        top: 0;
        padding-top: 82.37%;
        width: 100%;
        background-color: #C4C4C4;
        background-size: cover;
        background-position: center; }
        main.ContentRefresh .tileFourAcross .column .ImageDiv .TileTitle, main.ContentRefresh .tileFourAcross .columns .ImageDiv .TileTitle {
          color: #ffffff;
          font-size: 36px; }
  main.ContentRefresh .tileCopyUnder {
    padding-left: 2.5rem;
    padding-right: 2.5rem; }
    main.ContentRefresh .tileCopyUnder .column, main.ContentRefresh .tileCopyUnder .columns {
      margin-top: 0.5rem;
      padding-left: 0.5rem;
      padding-right: 0.5rem; }
      main.ContentRefresh .tileCopyUnder .column .ImageDiv, main.ContentRefresh .tileCopyUnder .columns .ImageDiv {
        -webkit-box-shadow: none;
                box-shadow: none;
        position: relative;
        text-align: center;
        left: 0;
        top: 0;
        padding-top: 82.37%;
        width: 100%;
        background-color: #C4C4C4;
        background-size: cover;
        background-position: center; }
      main.ContentRefresh .tileCopyUnder .column .TileTitle, main.ContentRefresh .tileCopyUnder .columns .TileTitle {
        color: #000000;
        font-size: 24px; }
      main.ContentRefresh .tileCopyUnder .column .CtaTileTitle, main.ContentRefresh .tileCopyUnder .columns .CtaTileTitle {
        color: #00C0B5;
        font-size: 22px;
        padding-left: 10px;
        padding-right: 10px; }
      @media print, screen and (min-width: 64em) {
        main.ContentRefresh .tileCopyUnder .column .TileTitle, main.ContentRefresh .tileCopyUnder .columns .TileTitle {
          font-size: 36px; }
        main.ContentRefresh .tileCopyUnder .column .CtaTileTitle, main.ContentRefresh .tileCopyUnder .columns .CtaTileTitle {
          font-size: 32px; } }
    main.ContentRefresh .tileCopyUnder .TileCtaColumn {
      width: 100% !important;
      height: 318px; }
    @media print, screen and (min-width: 40em) {
      main.ContentRefresh .tileCopyUnder .TileCtaColumn {
        width: 50% !important;
        height: 215px; } }
    @media print, screen and (min-width: 64em) {
      main.ContentRefresh .tileCopyUnder .TileCtaColumn {
        width: 50% !important;
        height: 260px; } }
  main.ContentRefresh .tileIcon {
    padding-left: 4rem;
    padding-right: 4rem; }
    main.ContentRefresh .tileIcon .column, main.ContentRefresh .tileIcon .columns {
      margin-top: 3rem;
      padding-left: 2rem;
      padding-right: 2rem; }
      main.ContentRefresh .tileIcon .column .TileImage, main.ContentRefresh .tileIcon .columns .TileImage {
        width: 100px; }
      main.ContentRefresh .tileIcon .column .TileImageHolder, main.ContentRefresh .tileIcon .columns .TileImageHolder {
        text-align: center; }
      main.ContentRefresh .tileIcon .column .TileTitle, main.ContentRefresh .tileIcon .columns .TileTitle {
        color: #5F5C5C;
        font-size: 24px;
        padding-top: 7px; }
      main.ContentRefresh .tileIcon .column .TileCopy, main.ContentRefresh .tileIcon .columns .TileCopy {
        color: #706C6C;
        font-size: 14px;
        padding-top: 7px; }
      @media print, screen and (min-width: 64em) {
        main.ContentRefresh .tileIcon .column .TileIcon, main.ContentRefresh .tileIcon .columns .TileIcon {
          padding-left: 15%;
          padding-right: 15%; } }

/****************************************************

	Buttons

****************************************************/
.button, .RegisterButton, .AddToCartButton, .payment-page-content .btn-primary, .checkoutButtonNext, .payment-page-content .btn-default, .coupon-codes .btn-primary {
  position: relative;
  display: inline-block;
  min-width: 328px;
  font-size: 22px;
  line-height: 1.32;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background-color: #00c0b5;
  padding: 7px 50px 12px 22px;
  border: none;
  border-radius: 24px;
  cursor: pointer;
  outline: none;
  -webkit-transition: opacity 0.1s linear;
  transition: opacity 0.1s linear;
  -webkit-box-shadow: inset 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
          box-shadow: inset 0px 1px 0px 0px rgba(0, 0, 0, 0.1); }
  .button:before, .RegisterButton:before, .AddToCartButton:before, .payment-page-content .btn-primary:before, .checkoutButtonNext:before, .payment-page-content .btn-default:before, .coupon-codes .btn-primary:before {
    content: "";
    position: absolute;
    top: 11px;
    right: 20px;
    width: 17px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16.89' height='23.9' viewBox='0 0 16.89 23.9'%3E%3Cpath fill='%23fff' stroke='transparent' stroke-width='0' d='M16.73,11.64.61.07A.41.41,0,0,0,.12.1.39.39,0,0,0,.06.59L7,12,.06,23.31a.38.38,0,0,0,.07.49.35.35,0,0,0,.26.1.34.34,0,0,0,.22-.07L16.72,12.27a.39.39,0,0,0,.17-.32.37.37,0,0,0-.17-.31Z' /%3E%3C/svg%3E"); }
  .button:after, .RegisterButton:after, .AddToCartButton:after, .payment-page-content .btn-primary:after, .checkoutButtonNext:after, .payment-page-content .btn-default:after, .coupon-codes .btn-primary:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 24px;
    -webkit-box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.1);
            box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.1); }
  .button:hover, .RegisterButton:hover, .button:focus, .RegisterButton:focus, .AddToCartButton:hover, .AddToCartButton:focus, .payment-page-content .btn-primary:hover, .payment-page-content .btn-primary:focus, .checkoutButtonNext:hover, .checkoutButtonNext:focus, .payment-page-content .btn-default:hover, .payment-page-content .btn-default:focus, .coupon-codes .btn-primary:hover, .coupon-codes .btn-primary:focus {
    color: #fff;
    opacity: 0.8; }
  .button.action, .action.RegisterButton, .AddToCartButton.action, .payment-page-content .btn-primary.action, .checkoutButtonNext.action, .payment-page-content .btn-default.action, .coupon-codes .btn-primary.action {
    background-color: #ff5338; }

@media print, screen and (min-width: 40em) {
  .button, .RegisterButton, .AddToCartButton {
    min-width: 0; }
  .mealcategorybutton {
    min-width: 229px; } }

/****************************************************

	Panels

****************************************************/
.panel, .panel--feature, .panel--cta, .panel--bubble {
  position: relative;
  display: block;
  max-width: 700px;
  padding-bottom: 24px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px; }
  .panel .panel__link, .panel--feature .panel__link, .panel--cta .panel__link, .panel--bubble .panel__link {
    display: block; }
  .panel .panel__imgWrap, .panel--feature .panel__imgWrap, .panel--cta .panel__imgWrap, .panel--bubble .panel__imgWrap {
    position: relative; }
  .panel .panel__img, .panel--feature .panel__img, .panel--cta .panel__img, .panel--bubble .panel__img {
    position: relative;
    background-size: cover;
    background-position: center;
    border-radius: 10px;
    z-index: 2; }
    .panel .panel__img:before, .panel--feature .panel__img:before, .panel--cta .panel__img:before, .panel--bubble .panel__img:before {
      content: "";
      display: block;
      height: 0;
      padding-top: 74.939024%; }
  .panel .panel__content, .panel--feature .panel__content, .panel--cta .panel__content, .panel--bubble .panel__content {
    margin-top: 15px; }
  .panel .panel__tag, .panel--feature .panel__tag, .panel--cta .panel__tag, .panel--bubble .panel__tag {
    font-weight: 500;
    color: #01877c;
    text-transform: uppercase;
    margin-bottom: 6px; }
  .panel .panel__text, .panel--feature .panel__text, .panel--cta .panel__text, .panel--bubble .panel__text {
    font-size: 20px;
    line-height: 1.4;
    color: #262527;
    margin-top: 16px; }
  .panel .panel__cta, .panel--feature .panel__cta, .panel--cta .panel__cta, .panel--bubble .panel__cta {
    text-align: center;
    margin-top: 30px;
    display: none; }

@media print, screen and (min-width: 40em) {
  .panel .panel__tag, .panel--feature .panel__tag, .panel--cta .panel__tag, .panel--bubble .panel__tag {
    font-size: 20px; } }

@media print, screen and (min-width: 64em) {
  .panel, .panel--feature, .panel--cta, .panel--bubble {
    max-width: none;
    margin-bottom: 50px; }
    .panel:last-child, .panel--feature:last-child, .panel--cta:last-child, .panel--bubble:last-child {
      margin-bottom: 0; }
    .panel .panel__imgWrap:before, .panel--feature .panel__imgWrap:before, .panel--cta .panel__imgWrap:before, .panel--bubble .panel__imgWrap:before {
      position: absolute;
      top: 12%;
      left: -83%;
      width: 100%;
      height: 100%;
      background: rgba(114, 220, 212, 0.5);
      border-radius: 10px; }
    .panel .panel__tag, .panel--feature .panel__tag, .panel--cta .panel__tag, .panel--bubble .panel__tag {
      font-size: 24px;
      line-height: 1.33;
      margin-bottom: 20px; }
    .panel .panel__text, .panel--feature .panel__text, .panel--cta .panel__text, .panel--bubble .panel__text {
      max-width: 500px;
      font-size: 24px;
      line-height: 1.33;
      margin-top: 44px; }
    .panel .panel__text_hero_hidden, .panel--feature .panel__text_hero_hidden, .panel--cta .panel__text_hero_hidden, .panel--bubble .panel__text_hero_hidden {
      max-width: 100%;
      padding-top: 30px; }
    .panel .panel__cta, .panel--feature .panel__cta, .panel--cta .panel__cta, .panel--bubble .panel__cta {
      text-align: left; } }

/****************************************************
	Feature Panel
****************************************************/
.panel--feature .panel__text {
  display: none; }

.panel__content .panel__text {
  display: block; }

.panel_legal_cta {
  font-size: 24px;
  line-height: 1.33; }

/****************************************************
	CTA Panel
****************************************************/
.panel--cta .panel__tag, .panel--bubble .panel__tag {
  display: none; }

.panel--cta .panel__text, .panel--bubble .panel__text {
  font-size: 24px;
  line-height: 1.875rem;
  color: #031f73;
  margin-top: 16px;
  display: none; }

.panel--cta .panel__cta, .panel--bubble .panel__cta {
  display: block; }

@media print, screen and (min-width: 64em) {
  .panel--cta, .panel--bubble {
    background-color: #fff;
    padding-top: 40px;
    padding-bottom: 100px; }
    .panel--cta .panel__imgWrap:before, .panel--bubble .panel__imgWrap:before {
      content: ""; }
    .panel--cta .panel__title, .panel--bubble .panel__title {
      max-width: 580px;
      margin-top: 18px; }
    .panel--cta .panel__text, .panel--bubble .panel__text {
      font-size: 32px;
      line-height: 2.5rem;
      margin-top: 37px; } }

/****************************************************

	Cards

****************************************************/
.card, .card--video {
  position: relative;
  margin: 0 auto 24px;
  -webkit-box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1);
  overflow: hidden; }
  .card .card__img, .card--video .card__img {
    height: 0;
    padding-top: 60%;
    background-size: cover;
    background-position: center; }
  .card .card__content, .card--video .card__content {
    background-color: #fff;
    padding: 12px 16px 18px;
    -webkit-box-shadow: inset 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
            box-shadow: inset 0px 1px 0px 0px rgba(0, 0, 0, 0.1); }
  .card .card__text, .card--video .card__text {
    font-size: 16px;
    line-height: 1.5rem;
    color: #262527; }
  .card .card__tag, .card--video .card__tag {
    font-size: 14px;
    line-height: 1.71;
    color: #3e4096;
    margin-top: 1px; }

@media print, screen and (min-width: 40em) {
  .card, .card--video {
    max-width: 558px;
    margin: 0 20px 0 0;
    border-radius: 10px; }
    .card .card__content, .card--video .card__content {
      padding: 19px 30px 35px; }
    .card .card__tag, .card--video .card__tag {
      font-size: 18px;
      line-height: 1.33;
      margin-top: 10px; } }

@media print, screen and (min-width: 64em) {
  .card, .card--video {
    max-width: 450px; } }

@media screen and (min-width: 75em) {
  .card, .card--video {
    max-width: 558px; } }

/****************************************************
	Video Card
****************************************************/
.card--video .card__img {
  position: relative; }
  .card--video .card__img:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='69' height='69' viewBox='0 0 69 69'%3E%3Cpath fill='%23fff' stroke='transparent' stroke-width='0' d='M34.5,0A34.5,34.5,0,1,0,69,34.5,34.53,34.53,0,0,0,34.5,0ZM45.61,36.24,29.34,47.07a2.11,2.11,0,0,1-3.27-1.75V23.68a2.1,2.1,0,0,1,3.27-1.74L45.61,32.76a2.09,2.09,0,0,1,0,3.48Z' /%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.9; }

/****************************************************
	Card List
****************************************************/
.cardList {
  position: relative; }
  .cardList .cardList__title {
    font-size: 32px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.5px;
    color: #031f73;
    margin-bottom: 21px; }
  .cardList .cardList__sliderWrapper {
    position: relative; }
  .cardList .cardList__cta {
    text-align: center;
    padding: 0 16px 80px; }
    .cardList .cardList__cta .button, .cardList .cardList__cta .RegisterButton {
      width: 100%;
      max-width: 360px; }

@media screen and (max-width: 63.99875em) {
  .cardList .card:nth-child(n+4), .cardList .card--video:nth-child(n+4) {
    display: none; } }

@media print, screen and (min-width: 40em) {
  .cardList .cardList__sliderWrapper {
    padding-right: 0; }
  .cardList .slick-dots {
    padding-right: 16px; }
  .cardList .cardList__cta {
    margin-top: 44px; }
    .cardList .cardList__cta .button, .cardList .cardList__cta .RegisterButton {
      width: auto; } }

@media print, screen and (min-width: 64em) {
  .cardList {
    padding-bottom: 110px; }
    .cardList .cardList__title {
      font-size: 50px;
      line-height: 1.13;
      letter-spacing: -1px; }
    .cardList .cardList__cta {
      position: absolute;
      bottom: -13px;
      left: 16px;
      width: auto;
      text-align: center;
      padding: 0;
      margin: 0; } }

@media screen and (min-width: 75em) {
  .cardList .cardList__title {
    font-size: 64px; } }

/****************************************************

	Sliders

****************************************************/
/****************************************************
	Nav Slider
****************************************************/
.navSlider, .recipeSlider {
  max-width: 1856px;
  margin: 0 auto 24px; }
  .navSlider .navSlider__title, .recipeSlider .navSlider__title {
    text-align: center;
    margin-top: 30px;
    margin-bottom: 30px; }
  .navSlider .navSlider__wrapper, .recipeSlider .navSlider__wrapper {
    position: relative;
    height: 243px;
    overflow: hidden; }
  .navSlider .navSlider__scroll, .recipeSlider .navSlider__scroll {
    position: absolute;
    width: 1856px;
    height: 240px;
    z-index: 1;
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    -ms-touch-action: none;
        touch-action: none; }
  .navSlider .navSlider__slides, .recipeSlider .navSlider__slides {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    text-align: center; }
  .navSlider .navSlider__slide, .recipeSlider .navSlider__slide {
    display: inline-block;
    width: 212px;
    margin-left: 16px;
    float: left;
    border-radius: 0 0 10px 10px;
    -webkit-box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1);
            box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1);
    overflow: hidden; }
  .navSlider .navSlider__link, .recipeSlider .navSlider__link {
    display: block; }
  .navSlider .navSlider__img, .recipeSlider .navSlider__img {
    height: 0;
    padding-top: 79.245283%;
    background-size: cover;
    background-position: center;
    border-radius: 10px 10px 0 0; }
  .navSlider .navSlider__content, .recipeSlider .navSlider__content {
    position: relative;
    display: table;
    width: 100%;
    height: 72px;
    background: #fff;
    padding: 10px;
    -webkit-box-shadow: inset 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
            box-shadow: inset 0px 1px 0px 0px rgba(0, 0, 0, 0.1); }
  .navSlider .navSlider__text, .recipeSlider .navSlider__text {
    display: table-cell;
    font-weight: 500;
    line-height: 1.375rem;
    color: #031f73;
    text-align: center;
    vertical-align: middle; }

@media print, screen and (min-width: 64em) {
  .navSlider, .recipeSlider {
    max-width: 2352px; }
    .navSlider .navSlider__wrapper, .recipeSlider .navSlider__wrapper {
      height: 298px; }
    .navSlider .navSlider__scroll, .recipeSlider .navSlider__scroll {
      width: 2352px;
      height: 296px; }
    .navSlider .navSlider__slide, .recipeSlider .navSlider__slide {
      width: 225px;
      margin: 0 16px; }
    .navSlider .navSlider__content, .recipeSlider .navSlider__content {
      height: 88px; }
    .navSlider .navSlider__text, .recipeSlider .navSlider__text {
      font-size: 24px;
      line-height: 2rem; } }

/****************************************************
	Nav Slider With Smaller Text
****************************************************/
.navSlider.smallText .navSlider__wrapper, .smallText.recipeSlider .navSlider__wrapper {
  height: 298px; }

.navSlider.smallText .navSlider__scroll, .smallText.recipeSlider .navSlider__scroll {
  height: 296px; }

.navSlider.smallText .navSlider__content, .smallText.recipeSlider .navSlider__content {
  height: 88px; }

@media print, screen and (min-width: 64em) {
  .navSlider.smallText .navSlider__text, .smallText.recipeSlider .navSlider__text {
    font-size: 21px;
    line-height: 1.8125rem; } }

/****************************************************
	Slick Slider
****************************************************/
.slick-dotted.slick-slider {
  padding-bottom: 30px;
  margin-bottom: 20px; }

.slick-dots {
  bottom: -18px;
  font-size: 0; }
  .slick-dots li {
    width: 18px;
    height: 18px;
    margin: 0 6px;
    background-color: #72dcd4;
    opacity: 0.4;
    border-radius: 50%;
    -webkit-transition: background-color 0.2s linear, opacity 0.2s linear;
    transition: background-color 0.2s linear, opacity 0.2s linear; }
    .slick-dots li.slick-active {
      background-color: #00c0b5;
      opacity: 1; }
    .slick-dots li button:before {
      display: none; }

@media print, screen and (min-width: 64em) {
  .slick-dotted.slick-slider {
    padding-bottom: 60px; } }

.slick-slide {
  opacity: 0.3;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear; }
  .slick-slide.slick-active {
    opacity: 1; }

/****************************************************
	Nav Slider
****************************************************/
.navSlider .card__container, .recipeSlider .card__container {
  position: relative; }
  .navSlider .card__container .navSlider__slides, .recipeSlider .card__container .navSlider__slides {
    display: block; }
  .navSlider .card__container .navSlider__slide, .recipeSlider .card__container .navSlider__slide {
    float: none;
    margin: 0px 16px 30px 16px !important; }

/****************************************************

	Banners

****************************************************/
/****************************************************
	Sign Up
****************************************************/
.signup {
  background-color: #0d877d; }
  .signup .signup__content {
    max-width: 700px;
    padding: 40px 0 48px;
    margin-left: auto;
    margin-right: auto; }
  .signup .signup__text {
    color: #fff;
    text-align: center;
    margin-bottom: 30px; }
  .signup .signup__form {
    position: relative;
    max-width: 670px; }
  .signup .signup__email {
    position: relative;
    background: #fff;
    padding: 10px 10px 12px 63px;
    border-radius: 10px;
    margin-bottom: 16px; }
    .signup .signup__email:before {
      content: "";
      position: absolute;
      top: 16px;
      left: 16px;
      width: 34px;
      height: 24px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='33.39' height='24' viewBox='0 0 33.39 24'%3E%3Cpath fill='%2300c0b5' stroke='transparent' stroke-width='0' d='M4.17,0A4.19,4.19,0,0,0,0,4.17V19.83A4.19,4.19,0,0,0,4.17,24h25a4.19,4.19,0,0,0,4.17-4.17V4.17A4.19,4.19,0,0,0,29.22,0Zm0,2.09h25A2.05,2.05,0,0,1,31.3,4.17V19.83a2.05,2.05,0,0,1-2.08,2.08h-25a2.05,2.05,0,0,1-2.08-2.08V4.17A2.05,2.05,0,0,1,4.17,2.09ZM6.67,5.2a1,1,0,0,0-.89.7A1,1,0,0,0,6.05,7l5.25,5.22L6.08,17a1,1,0,1,0,1.4,1.55l5.3-4.83,1.58,1.56a3.31,3.31,0,0,0,4.65,0l1.58-1.56,5.32,4.83a1.07,1.07,0,0,0,.75.27,1.08,1.08,0,0,0,.73-.35,1.07,1.07,0,0,0,.27-.75,1,1,0,0,0-.35-.72L22.08,12.2,27.34,7a1,1,0,0,0,.33-.74,1.09,1.09,0,0,0-.3-.75,1.05,1.05,0,0,0-1.5,0l-8.34,8.25a1.41,1.41,0,0,1-1.7,0L7.52,5.51a1,1,0,0,0-.85-.31Z' /%3E%3C/svg%3E"); }
    .signup .signup__email input {
      height: auto;
      font-size: 20px;
      line-height: 34px;
      background: transparent;
      padding: 0;
      margin: 0;
      border: none; }

@media print, screen and (min-width: 40em) {
  .signup .signup__form {
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
    border-radius: 10px; }
  .signup .signup__email {
    margin-bottom: 0; }
    .signup .signup__email input {
      width: 270px; }
  .signup .button, .signup .RegisterButton {
    position: absolute;
    top: 0;
    right: 0;
    height: 56px;
    background-color: #72dcd4;
    padding: 12px 20px 15px;
    border-radius: 0;
    -webkit-box-shadow: none;
            box-shadow: none; }
    .signup .button:before, .signup .RegisterButton:before, .signup .button:after, .signup .RegisterButton:after {
      display: none; } }

@media print, screen and (min-width: 64em) {
  .signup .signup__content {
    max-width: none;
    padding: 66px 16px 80px; }
  .signup .signup__text {
    text-align: left; }
  .signup .signup__form {
    margin-left: 0; }
  .signup .signup__email input {
    width: 295px; }
  .signup .button, .signup .RegisterButton {
    padding: 12px 38px 15px; } }

/****************************************************
	Friends
****************************************************/
.panel--bubble {
  max-width: 100%; }
  .panel--bubble .bubble__banner {
    background-image: url("../images/friends-banner-background.png");
    max-width: 1400px;
    display: block;
    margin: 0 auto;
    padding-top: 40px;
    background-position: center;
    background-size: cover; }
  .panel--bubble .bubble__banner--imageLeft {
    position: relative;
    height: 200px; }
    .panel--bubble .bubble__banner--imageLeft img {
      position: absolute;
      right: 5%; }
  .panel--bubble .bubble__banner--image {
    margin-top: 30px;
    position: relative;
    height: 200px; }
    .panel--bubble .bubble__banner--image img {
      display: block;
      margin: 0 auto;
      /*position: absolute;
			right: 24%;*/ }
  .panel--bubble .bubble__banner--imageRight {
    position: relative;
    height: 200px; }
    .panel--bubble .bubble__banner--imageRight img {
      position: absolute;
      left: 5%; }

/****************************************************
	Cuppa for a cause
****************************************************/
.cuppa_cards {
  padding-bottom: 40px; }
  .cuppa_cards .banner__content .banner__card {
    margin: 15px 0px; }
  .cuppa_cards .banner__content a img {
    display: block;
    margin: 0 auto; }
  .cuppa_cards .banner__content a .title {
    margin: 15px 1px;
    text-align: center;
    font-size: 40px;
    font-weight: 600; }

/****************************************************

	Infographic
	
****************************************************/
.infographic {
  font-size: 0;
  text-align: center; }
  .infographic .infographic__title {
    text-align: center;
    margin-bottom: 30px; }
  .infographic .infographic__tileWrap, .infographic .product__wrap {
    max-width: 328px;
    margin: 0 auto 16px;
    vertical-align: top; }
    .infographic .infographic__tileWrap:last-child, .infographic .product__wrap:last-child {
      margin-bottom: 40px; }
  .infographic .infographic__tile, .infographic .product__tile {
    position: relative;
    /*height: 528px;*/
    text-align: left;
    background-color: #fff;
    padding: 2px;
    border: 2px solid #eaf1fb;
    border-radius: 10px; }
    .infographic .infographic__tile .infographic__title, .infographic .product__tile .infographic__title {
      text-align: left;
      margin-bottom: 0; }
  .infographic .infographic__img {
    height: 200px;
    line-height: 200px;
    text-align: center;
    max-width: 100%;
    width: 150px;
    margin: 55px 20px 0; }
    .infographic .infographic__img img {
      max-height: 200px; }
  .infographic .infographic__content {
    padding: 30px 24px 60px; }
  .infographic .infographic__text {
    font-size: 20px;
    line-height: 1.4; }
  .infographic .infographic__cta {
    display: inline-block;
    width: 56px;
    height: 56px;
    background-color: #3e4096;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='31.49' height='31.49' viewBox='0 0 31.49 31.49'%3E%3Cpath fill='%23fff' stroke='transparent' stroke-width='0' d='M21.205,5.007c-0.429-0.444-1.143-0.444-1.587,0c-0.429,0.429-0.429,1.143,0,1.571l8.047,8.047H1.111  C0.492,14.626,0,15.118,0,15.737c0,0.619,0.492,1.127,1.111,1.127h26.554l-8.047,8.032c-0.429,0.444-0.429,1.159,0,1.587  c0.444,0.444,1.159,0.444,1.587,0l9.952-9.952c0.444-0.429,0.444-1.143,0-1.571L21.205,5.007z' /%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 50%;
    margin-top: 22px; }
  .infographic .grid-sizer {
    width: 100%; }

@media screen and (min-width: 48em) {
  .infographic .infographic__tileWrap, .infographic .product__wrap {
    display: inline-block;
    width: 50%;
    max-width: 596px;
    padding: 0 14px;
    margin-bottom: 40px; }
    .infographic .infographic__tileWrap:nth-child(odd), .infographic .product__wrap:nth-child(odd) {
      text-align: right;
      /*margin-top: -297px;*/ }
    .infographic .infographic__tileWrap:first-child, .infographic .product__wrap:first-child {
      margin-top: 0; }
    .infographic .infographic__tileWrap:nth-child(2), .infographic .product__wrap:nth-child(2) {
      margin-top: 297px; }
    .infographic .infographic__tileWrap:last-child, .infographic .product__wrap:last-child {
      margin-bottom: 80px; } }

@media (max-width: 767px) {
  .grid-item {
    position: static !important; } }

@media print, screen and (min-width: 64em) {
  .grid-sizer {
    width: 50%; }
  .infographic .infographic__title {
    margin-bottom: 78px; }
  .infographic .infographic__tileWrap, .infographic .product__wrap {
    padding: 0 28px; }
  .infographic .infographic__tile, .infographic .product__tile {
    /*height: 760px;*/ }
    .infographic .infographic__tile .infographic__title, .infographic .product__tile .infographic__title {
      margin-bottom: 16px; }
  .infographic .infographic__img {
    width: 288px;
    margin-top: 108px; }
  .infographic .infographic__content {
    padding: 50px 40px 100px; }
  .infographic .infographic__text {
    line-height: 1.6; } }

/****************************************************

	Store Product Infographic Tiles
	
****************************************************/
.product__tile .infographic__img {
  margin-top: 0px;
  width: 200px; }

.product__tile .infographic__content {
  padding: 30px 40px 30px; }
  .product__tile .infographic__content .infographic__title {
    font-size: 26px !important; }

@media print, screen and (min-width: 40em) {
  .product__tile {
    /* max-width: 350px;*/ }
    .product__tile .infographic__img {
      margin-top: 0px;
      width: 200px;
      height: 200px; }
      .product__tile .infographic__img img {
        max-height: 200px; }
    .product__tile .infographic__content {
      padding: 30px 30px 30px; }
      .product__tile .infographic__content .infographic__title {
        font-size: 30px !important; }
      .product__tile .infographic__content .infographic__text {
        /*height: 95px;*/ } }

@media print, screen and (min-width: 64em) {
  .product__tile {
    /* max-width: 350px;*/ }
    .product__tile .infographic__img {
      float: left; } }

.product__wrap {
  max-width: 358px;
  padding: 0 18px !important;
  margin-top: 0px !important; }

/****************************************************

	Tile Hub Styles
	
****************************************************/
.tileGrid--outer {
  font-size: 0;
  text-align: center; }
  .tileGrid--outer .grid-item {
    position: static !important; }
  .tileGrid--outer .tileGrid--tileWrap {
    display: inline-block;
    padding: 0px 20px;
    max-width: 430px;
    margin: 20px 0px;
    vertical-align: top; }
  .tileGrid--outer .tileGrid--tile {
    position: relative;
    height: 528px;
    text-align: left;
    background-color: #33CDC4;
    padding: 2px;
    border: 2px solid #eaf1fb;
    border-radius: 10px; }
  .tileGrid--outer .tileGrid--tileAlt {
    background-color: #031F73; }
  .tileGrid--outer .tileGridHollow--tile {
    position: relative;
    height: 400px;
    text-align: left;
    background-color: #ffffff;
    border: 2px solid #33CDC4;
    border-radius: 10px; }
  .tileGrid--outer .tileGridHollow--tileAlt {
    border: 2px solid #031F73; }
  .tileGrid--outer .tileGrid--content {
    padding: 0px 20px 20px 20px;
    height: 100%;
    color: #fff; }
  .tileGrid--outer .tileGridHollow--content {
    padding: 0px;
    height: 100%;
    color: #000000; }
  .tileGrid--outer .tileGrid--title {
    margin-bottom: 16px;
    text-align: left;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 600; }
  .tileGrid--outer .tileGrid--text {
    line-height: 1.6;
    font-size: 20px; }
  .tileGrid--outer .tileGridHollow--title {
    margin-bottom: 0px;
    text-align: left;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 600;
    padding: 20px;
    color: #ffffff;
    position: absolute;
    bottom: 0px;
    width: 100%;
    min-height: 106px; }
  .tileGrid--outer .tileGridHollow--tile .tileGridHollow--title {
    background-color: #33CDC4; }
  .tileGrid--outer .tileGridHollow--tileAlt .tileGridHollow--title {
    background-color: #031F73; }
  .tileGrid--outer .tileGridHollow--text {
    line-height: 1.6;
    font-size: 20px;
    padding: 20px 20px 20px; }
  .tileGrid--outer .tileGrid--cta {
    display: inline-block;
    width: 56px;
    height: 56px;
    background-color: #ffffff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='31.49' height='31.49' viewBox='0 0 31.49 31.49'%3E%3Cpath fill='%233e4096' stroke='transparent' stroke-width='0' d='M21.205,5.007c-0.429-0.444-1.143-0.444-1.587,0c-0.429,0.429-0.429,1.143,0,1.571l8.047,8.047H1.111  C0.492,14.626,0,15.118,0,15.737c0,0.619,0.492,1.127,1.111,1.127h26.554l-8.047,8.032c-0.429,0.444-0.429,1.159,0,1.587  c0.444,0.444,1.159,0.444,1.587,0l9.952-9.952c0.444-0.429,0.444-1.143,0-1.571L21.205,5.007z' /%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 50%;
    position: absolute;
    bottom: 20px; }

@media print, screen and (min-width: 40em) {
  .tileGrid--outer .tileGrid--tile {
    height: 478px; } }

/****************************************************

	Articles

****************************************************/
.article {
  padding-bottom: 62px; }
  .article .article__title, .article .article__content {
    max-width: 790px; }
  .article .article__title {
    margin-bottom: 20px; }
  .article .article__tag {
    font-weight: 500;
    color: #01877c;
    text-transform: uppercase;
    margin-bottom: 36px; }
  .article .article__img, .article .article__video {
    min-height: 56.25%;
    margin-left: -16px;
    margin-right: -16px;
    margin-bottom: 36px; }
  .article .article__img {
    height: 0;
    padding-top: 56.25%;
    background-color: #fff;
    background-size: cover;
    background-position: center; }
  .article .article__content .button, .article .article__content .RegisterButton {
    color: #ffffff;
    text-decoration: none; }
  .article .article__cta {
    margin-top: 40px; }

@media print, screen and (min-width: 40em) {
  .article .article__tag {
    font-size: 20px; }
  .article .article__img, .article .article__video {
    margin-left: 0;
    margin-right: 0; } }

@media print, screen and (min-width: 64em) {
  .article .article__title {
    margin-bottom: 28px; }
  .article .article__tag {
    font-size: 24px;
    line-height: 1.33; }
  .article .article__content {
    font-size: 20px;
    line-height: 1.6; } }

/****************************************************
	Quote
****************************************************/
.quote {
  background-color: #031f73;
  padding-top: 30px;
  padding-bottom: 56px; }
  .quote .quote__text {
    font-size: 40px;
    font-weight: 400;
    line-height: 1.2;
    color: #fff; }
    .quote .quote__text:before {
      content: "";
      position: absolute;
      top: 12px;
      right: 100%;
      width: 70.5px;
      height: 46.5px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='94' height='62' viewBox='0 0 94 62'%3E%3Cpath fill='%2372dcd4' stroke='transparent' stroke-width='0' d='M91.06,5.9A35.22,35.22,0,0,0,59.15,26.42a18.85,18.85,0,0,1,9.91-2.8A19.19,19.19,0,1,1,50,42.81c0-.38,0-.75,0-1.12a2.09,2.09,0,0,1,0-.35A41.24,41.24,0,0,1,91.06,0,2.93,2.93,0,0,1,94,2.94a2.93,2.93,0,0,1-2.94,3Zm-50,0A35.22,35.22,0,0,0,9.14,26.43a18.86,18.86,0,0,1,9.92-2.81A19.19,19.19,0,1,1,0,42.81c0-.38,0-.75,0-1.12a2.09,2.09,0,0,1,0-.35A41.24,41.24,0,0,1,41.06,0a3,3,0,0,1,0,5.9Z' /%3E%3C/svg%3E");
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat; }
  .quote .quote__source {
    font-size: 20px;
    line-height: 1.6;
    color: #76d4ee;
    margin-top: 9px; }

@media screen and (min-width: 75em) {
  .quote .quote__text:before {
    width: 94px;
    height: 62px; } }

/****************************************************
	Quote text widget wrapper styles
****************************************************/
.quote--smallText .quote .quote__text {
  font-size: 28px; }

.PaymentCCExpiry .select {
  width: 40%;
  float: left; }

.PaymentCCExpiry .dateSeperator {
  padding: 5px;
  float: left; }

.CartCCPaymentTable {
  margin-top: 20px; }
  .CartCCPaymentTable th {
    text-align: left;
    padding-right: 20px; }
    .CartCCPaymentTable th h3 {
      margin-bottom: 0px;
      font-size: 40px; }
  .CartCCPaymentTable .PaymentCCV input {
    width: 40%; }

.coupon-codes .btn {
  min-width: 0;
  padding-left: 20px;
  padding-right: 20px; }

.coupon-codes .btn-primary {
  margin-top: 4px; }

.coupon-codes .btn-default {
  background: none;
  border: none;
  margin: 0px;
  text-decoration: underline;
  cursor: pointer;
  padding: 0px; }

.coupon-codes .form-control {
  width: 30%;
  float: left;
  margin-right: 20px; }

.coupon-codes .cart-coupon-code {
  clear: both; }

/****************************************************

	Products

****************************************************/
.product-filter .button-group.round {
  margin-bottom: 20px; }
  .product-filter .button-group.round .filter-simple-button.hollow {
    padding-left: 1em;
    padding-right: 1em;
    background-color: white;
    color: #031f73;
    border: 1px solid #031f73;
    margin-left: 1px;
    cursor: pointer; }
    .product-filter .button-group.round .filter-simple-button.hollow.is-active, .product-filter .button-group.round .filter-simple-button.hollow:focus, .product-filter .button-group.round .filter-simple-button.hollow:active {
      background-color: #00c0b5;
      color: #fff; }
    .product-filter .button-group.round .filter-simple-button.hollow:before {
      display: none; }
    .product-filter .button-group.round .filter-simple-button.hollow:after {
      display: none; }
  .product-filter .button-group.round button {
    border-radius: 0; }
  .product-filter .button-group.round :first-child {
    border-radius: 5000px 0 0 5000px; }
  .product-filter .button-group.round :last-child {
    border-radius: 0 5000px 5000px 0; }
  .product-filter .button-group.round .mealcategorybutton:first-child, .product-filter .button-group.round .mealcategorybutton:last-child {
    border-radius: 0 !important; }

.product-filter .mealcategorylink {
  color: #031f73;
  text-decoration: none; }

.product-filter .ListingAddToCart {
  padding-top: 50px;
  padding-left: 25px;
  padding-bottom: 25px;
  height: 160px; }
  .product-filter .ListingAddToCart .product__qty {
    float: left; }
  .product-filter .ListingAddToCart input[type=text] {
    width: 100px; }
  .product-filter .ListingAddToCart input[type=submit] {
    margin-left: 20px;
    margin-top: 38px; }

.product-filter .ListingAddToCart {
  height: 270px; }

@media print, screen and (min-width: 40em) {
  .product-filter .ListingAddToCart {
    height: 270px; } }

@media print, screen and (min-width: 64em) {
  .product-filter .ListingAddToCart {
    height: 160px; } }

.button-group.round :first-child {
  border-radius: 5000px 0 0 5000px; }

.button-group.round :last-child {
  border-radius: 0 5000px 5000px 0; }

.product {
  max-width: 700px;
  margin-top: 21px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 80px; }
  .product .product__title {
    line-height: 1;
    margin-bottom: 8px; }
  .product .product__price {
    font-size: 32px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -1px;
    margin-bottom: 17px; }
  .product .product__qty, .product .AddToCartTextBox {
    font-size: 20px;
    line-height: 1.6;
    margin-bottom: 32px; }
    .product .product__qty input, .product .AddToCartTextBox input {
      display: inline-block;
      width: 100%;
      max-width: 140px;
      height: 48px;
      padding: 10px;
      margin-left: 10px;
      margin-bottom: 0;
      border: 2px solid #eaf1fb;
      border-radius: 10px; }
  .product .UnitsLabel {
    font-size: 20px;
    line-height: 1.6;
    margin-bottom: 32px;
    display: inline-block; }
  .product .product__add {
    margin-bottom: 30px; }
  .product .product__image {
    margin-bottom: 30px; }
  .product .product__description {
    font-weight: 600;
    line-height: 1.78;
    color: #3aab48;
    text-transform: uppercase;
    margin-bottom: 10px; }

@media print, screen and (min-width: 64em) {
  .product {
    max-width: none;
    padding-bottom: 65px; }
    .product .product__title {
      margin-bottom: 16px; }
    .product .product__add {
      margin-bottom: 57px; }
    .product .product__text {
      font-size: 20px;
      line-height: 1.6; }
    .product .product__image {
      margin-right: 70px;
      margin-bottom: 0; } }

p.firstLine {
  background-color: #ffffff;
  color: #3e4096;
  font-weight: 600; }

.CartContent a img {
  margin-bottom: 8px; }

.col1 {
  width: 20%;
  display: inline-block;
  margin-right: 10px; }

/*.col2 {
    width: 20%;
    display: inline-block;
    margin-right: 10px;
}*/
/*.col2 .UnitCountButton, #ctl00_ContentPlaceHolder1_plcContentZone_lt_zoneContent_ShoppingCartContent_shoppingCartUniView_ctl00_ctl00_ctl00_unitCountFormControl {*/
.col2 {
  width: 20%;
  margin-right: 10px;
  display: inline-block; }
  .col2 div {
    width: 100%;
    display: inline-block; }
    .col2 div div {
      width: 70%; }
    .col2 div .UnitCountButton {
      width: 20%; }
    .col2 div .UnitCountControl {
      min-width: 42px; }

.col3 {
  width: 15%;
  display: inline-block;
  margin-right: 10px; }

.col4 {
  width: 15%;
  display: inline-block;
  margin-right: 10px; }

.col5 {
  width: 5%;
  display: inline-block;
  margin-left: 10px; }

.Availability {
  display: none; }

#field_AccountType label {
  font-size: 20px;
  line-height: 1.6; }

@media print, screen and (min-width: 40em) {
  .col1 {
    width: 32%; } }

.tinyBox {
  margin-bottom: 30px; }
  .tinyBox h2 {
    margin-bottom: 15px; }
  .tinyBox input {
    font-size: 20px;
    line-height: 1.6; }
  .tinyBox label {
    font-size: 20px;
    line-height: 1.6; }
  .tinyBox .select {
    font-size: 18px; }

.ImageCol img {
  display: none;
  margin-right: 15px; }

.ProductPriceDetailLink {
  display: none; }

.TotalViewer {
  margin-top: 10px;
  margin-bottom: 5px;
  clear: both; }
  .TotalViewer .Label {
    font-size: 24px;
    font-weight: 600; }
  .TotalViewer .Value {
    font-size: 24px;
    font-weight: 600; }

@media print, screen and (min-width: 40em) {
  .ImageCol img {
    display: inline-block; } }

/****************************************************

	Map

****************************************************/
/****************************************************
	Map Header
****************************************************/
.mapHeader {
  padding-bottom: 32px; }
  .mapHeader .map__title {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5rem;
    text-transform: uppercase;
    color: #00877c;
    margin-bottom: 13px; }
  .mapHeader .map__location, .mapHeader .map_distanceTitle {
    font-size: 24px;
    line-height: 2.5rem;
    color: #031f73;
    margin-bottom: 6px; }
    .mapHeader .map__location svg, .mapHeader .map_distanceTitle svg {
      margin-left: 5px;
      margin-bottom: -2px; }
  @media screen and (max-width: 63.99875em) {
    .mapHeader .map__location svg {
      width: 13px;
      height: 23.4px; } }
  @media screen and (max-width: 63.99875em) {
    .mapHeader .map_distanceTitle svg {
      width: 28px;
      height: 29.5px; } }
  .mapHeader .map__search {
    position: relative;
    max-width: 450px;
    margin-bottom: 21px;
    border: 1px solid #72dcd4;
    border-radius: 10px;
    overflow: hidden; }
    .mapHeader .map__search .map__searchField {
      background: #fff;
      padding: 6px 10px 8px 15px;
      border-radius: 10px; }
      .mapHeader .map__search .map__searchField input {
        width: 295px;
        height: auto;
        font-size: 18px;
        line-height: 34px;
        background: transparent;
        padding: 0;
        margin: 0;
        border: none; }
    .mapHeader .map__search .button, .mapHeader .map__search .RegisterButton {
      position: absolute;
      top: 0;
      right: 0;
      width: 125px;
      height: 56px;
      font-size: 20px;
      padding: 12px 10px 15px;
      background-color: #72dcd4;
      border-radius: 0;
      -webkit-box-shadow: none;
              box-shadow: none;
      display: none; }
      .mapHeader .map__search .button:before, .mapHeader .map__search .RegisterButton:before, .mapHeader .map__search .button:after, .mapHeader .map__search .RegisterButton:after {
        display: none; }
  .mapHeader .map__state {
    margin-top: 3px;
    margin-bottom: 19px; }
    .mapHeader .map__state .map__stateList {
      display: inline-block;
      list-style: none;
      margin: 0 0 0 9px; }
    .mapHeader .map__state .map__stateItem {
      display: inline-block; }
      .mapHeader .map__state .map__stateItem:after {
        content: "|";
        padding: 0 8px; }
      .mapHeader .map__state .map__stateItem:last-child:after {
        display: none; }
    .mapHeader .map__state .map__stateLink {
      color: #00c0b5; }
  .mapHeader .map__distance .formCards--text {
    text-align: center; }
  .mapHeader .map__distance label {
    font-size: 20px;
    font-weight: 600;
    line-height: 40px;
    letter-spacing: -0.63px; }
  .mapHeader .map__distance .formCard__text {
    height: 44px; }
  .mapHeader .map__distance input:checked + label {
    color: #fff;
    background: #ff5338;
    border-color: #ff5338; }

@media print, screen and (min-width: 40em) {
  .mapHeader .map__search .button, .mapHeader .map__search .RegisterButton {
    display: block; }
  .mapHeader .map__distance .formCards--text {
    text-align: left; } }

@media print, screen and (min-width: 64em) {
  .mapHeader .map__title {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.33;
    margin-bottom: 25px; }
  .mapHeader .map__location, .mapHeader .map_distanceTitle {
    font-size: 32px;
    line-height: 1.25;
    margin-bottom: 17px; }
    .mapHeader .map__location svg, .mapHeader .map_distanceTitle svg {
      margin-left: 10px; }
  .mapHeader .map__search {
    margin-bottom: 0; }
    .mapHeader .map__search .map__searchField {
      padding: 10px 10px 12px 15px; }
      .mapHeader .map__search .map__searchField input {
        width: 295px;
        font-size: 20px; }
    .mapHeader .map__search .button, .mapHeader .map__search .RegisterButton {
      width: 125px;
      height: 56px;
      font-size: 20px;
      padding: 12px 10px 15px; }
  .mapHeader .map__state .map__stateItem:after {
    padding: 0 6px; }
  .mapHeader .map__distance label {
    min-width: 100px;
    font-size: 24px;
    line-height: 56px;
    letter-spacing: -0.75px; }
  .mapHeader .map__distance .formCard__text {
    height: 56px; } }

@media screen and (min-width: 75em) {
  .mapHeader .map__state .map__stateItem:after {
    padding: 0 8px; }
  .mapHeader .map__distance label {
    min-width: 110px; } }

/****************************************************
	Map
****************************************************/
.mapWrapper {
  position: relative;
  padding-bottom: 30px; }
  .mapWrapper .map {
    display: none; }

@media print, screen and (min-width: 64em) {
  .mapWrapper {
    padding-bottom: 80px; }
    .mapWrapper .map {
      display: block;
      height: 850px;
      margin-right: 634px; } }

/****************************************************
	Google Map Markers
****************************************************/
.gmMarker {
  max-width: 250px;
  font-family: neue-haas-unica, sans-serif;
  padding-bottom: 5px; }
  .gmMarker .gmMarker__title {
    font-size: 20px;
    line-height: 1.6;
    margin-bottom: 7px; }
  .gmMarker .gmMarker__content {
    font-size: 16px;
    line-height: 1.5; }
    .gmMarker .gmMarker__content a {
      color: #00c0b5; }

/****************************************************
	Map Panel
****************************************************/
.mapInfo__icon {
  max-height: 70px;
  margin-bottom: 20px;
  display: inline-block;
  padding-right: 15px;
  height: 45px;
  width: auto; }

.mapInfo__icons-wrapper {
  padding-top: 20px; }

.map_services .map_services_label {
  font-size: 24px;
  line-height: 60px;
  /*padding-left: 10px;
	padding-right: 10px;*/
  display: inline-block;
  /*margin-right: 14px;*/
  margin-bottom: 8px;
  /*margin-left: 0;*/
  cursor: pointer;
  width: auto;
  min-width: 110px;
  font-weight: 400;
  color: #262527;
  text-align: center;
  /*background: #fff;*/
  margin: 0;
  border: 2px solid rgba(114, 220, 212, 0.7);
  border-radius: 12px;
  -webkit-box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear; }

.map_services_label_CHSP {
  background-image: url(../images/CHSPlandscape.png);
  background-repeat: no-repeat;
  background-size: 95% auto;
  height: 50px !important;
  width: 224px !important; }

.map_services_label_NDISSelfManaged {
  background-image: url(../images/NDISselfmanagedlandscape.png);
  background-repeat: no-repeat;
  background-size: 95% auto;
  height: 50px !important;
  width: 227px !important; }

.map_services_label_NDIS {
  background-image: url(../images/NDISlandscape.png);
  background-repeat: no-repeat;
  background-size: 95% auto;
  height: 50px !important;
  width: 225px !important; }

.map_services_label_FullFeeMeals {
  background-image: url(../images/Fullfeelandscape.png);
  background-repeat: no-repeat;
  background-size: 95% auto;
  height: 50px !important;
  width: 130px !important; }

.map_services_label_HCP {
  background-image: url(../images/HCPlandscape.png);
  background-repeat: no-repeat;
  background-size: 95% auto;
  height: 50px !important;
  width: 174px !important; }

.map_services_input:checked + label {
  /*color: #fff;
		background: #00c0b5;
		border-color: #00c0b5;*/
  border-color: #ff5338; }

.map_services_input {
  position: absolute;
  opacity: 0;
  top: 0;
  left: 0; }

.mapPanel {
  max-width: 634px;
  padding: 0 15px;
  -ms-touch-action: none;
      touch-action: none; }
  .mapPanel a {
    color: #00c0b5; }
  .mapPanel .mapPanel__text {
    padding: 15px 0; }

.mapScroll {
  position: relative;
  padding-top: 10px;
  padding-bottom: 10px;
  margin-bottom: 10px; }

.mapInfoCards {
  -ms-touch-action: none;
      touch-action: none; }
  .mapInfoCards .mapInfo {
    font-size: 18px;
    line-height: 1.5rem;
    background: #fff;
    padding: 22px 20px 28px;
    border-radius: 5px;
    border: 1px solid #eaf1fb;
    display: none; }
    @media screen and (max-width: 63.99875em) {
      .mapInfoCards .mapInfo {
        display: block !important; } }
    .mapInfoCards .mapInfo + .mapInfo {
      margin-top: 16px; }
    .mapInfoCards .mapInfo.highlight svg > path {
      fill: #0d877d; }
  .mapInfoCards .mapInfo__title {
    position: relative;
    font-size: 20px;
    line-height: 1.5rem;
    margin-bottom: 17px; }
    .mapInfoCards .mapInfo__title svg {
      display: none; }
  .mapInfoCards .mapInfo__content {
    margin-bottom: 16px; }
  .mapInfoCards .mapInfo__detailsCTA {
    display: block;
    color: #00c0b5;
    cursor: pointer; }
    .mapInfoCards .mapInfo__detailsCTA .mapInfo__detailsCTA--close {
      position: relative;
      display: none; }
  .mapInfoCards .mapInfo__link {
    position: relative;
    display: inline-block;
    float: right; }
  .mapInfoCards .mapInfo__details {
    padding-top: 18px;
    display: none; }

@media print, screen and (min-width: 40em) {
  .mapInfoCards .mapInfo {
    padding: 22px 48px 17px 70px; }
  .mapInfoCards .mapInfo__title svg {
    position: absolute;
    top: 2px;
    left: -37px;
    display: block; }
  .mapInfoCards .mapInfo__detailsCTA .mapInfo__detailsCTA--close:before {
    content: "";
    position: absolute;
    top: 5px;
    left: -35px;
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17.43 17.43' fill='%2300c0b5'%3E%3Cpath stroke='transparent' stroke-width='0' d='M10,8.72l7.07-7.11a.92.92,0,0,0,0-1.33.92.92,0,0,0-1.32,0L8.72,7.39,1.61.28A.94.94,0,0,0,.28,1.61L7.36,8.72.28,15.82a.94.94,0,0,0,0,1.33,1,1,0,0,0,.67.28,1,1,0,0,0,.66-.28L8.72,10l7.1,7.11a.93.93,0,0,0,1.33,0,.92.92,0,0,0,0-1.33Z' /%3E%3C/svg%3E");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat; }
  .mapInfoCards .mapInfo__download {
    position: relative;
    display: inline-block;
    opacity: 100; }
  .mapInfoCards .mapInfo__link:after, .mapInfoCards .mapInfo__download:after {
    content: "";
    position: absolute;
    top: 3px;
    right: -29px;
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17.81 17.82' fill='%2300c0b5'%3E%3Cpath stroke='transparent' stroke-width='0' d='M15.67,1.27H12.06a.62.62,0,0,1-.22-.1.63.63,0,0,1-.26-.54.47.47,0,0,1,0-.17.4.4,0,0,1,.1-.18A.55.55,0,0,1,11.9.11.68.68,0,0,1,12.1,0h.07q2.51-.06,5,0h.05a.18.18,0,0,1,.1,0h.08l.09.05a.53.53,0,0,1,.14.12l.05.07h0a.26.26,0,0,1,0,.09.56.56,0,0,1,0,.12h0v0a.09.09,0,0,0,0,.05c0,1.67,0,3.33,0,5a.17.17,0,0,1,0,.07.66.66,0,0,1-.06.2.52.52,0,0,1-.14.19.56.56,0,0,1-.15.1.63.63,0,0,1-.62,0A.71.71,0,0,1,16.66,6a.76.76,0,0,1-.11-.26V2.15l-8,8a.24.24,0,0,1-.08.06.42.42,0,0,1-.16.09.45.45,0,0,1-.23,0,.61.61,0,0,1-.5-.28.61.61,0,0,1-.07-.17.41.41,0,0,1,0-.19.59.59,0,0,1,.09-.31l.09-.1,8-8Z' /%3E %3Cpath stroke='transparent' stroke-width='0' d='M8.12,1.69l.12,0a.64.64,0,0,1,.29.19.65.65,0,0,1,.1.15.84.84,0,0,1,0,.17.62.62,0,0,1-.15.49.65.65,0,0,1-.18.15.62.62,0,0,1-.23.07H6.76c-.7,0-1.41,0-2.11,0a11.11,11.11,0,0,0-1.16.11l-.32.06L3,3.2a2,2,0,0,0-.9.43l-.14.13a1.92,1.92,0,0,0-.29.5,5.27,5.27,0,0,0-.19.68,8,8,0,0,0-.12,1c0,.55-.06,1.11-.07,1.66s0,1,0,1.5v1.35c0,.63,0,1.26,0,1.89s0,1.11.1,1.66l.06.43a3.73,3.73,0,0,0,.2.78,1.93,1.93,0,0,0,.33.57,2.07,2.07,0,0,0,1.13.57l.26.06.33.05a16.38,16.38,0,0,0,1.71.12l2,0H8.74l1.63,0c.54,0,1.08,0,1.63-.07.31,0,.63-.07.95-.13a3.18,3.18,0,0,0,.77-.26,1.7,1.7,0,0,0,.39-.27,2.19,2.19,0,0,0,.53-1.05c0-.07,0-.15,0-.22l.06-.32c0-.15,0-.31,0-.46.05-.49.07-1,.08-1.46,0-.86,0-1.71,0-2.57V9.69a.13.13,0,0,0,0-.06A.78.78,0,0,1,15,9.42a.53.53,0,0,1,.12-.14.61.61,0,0,1,.49-.14.48.48,0,0,1,.17,0,.64.64,0,0,1,.19.13.66.66,0,0,1,.16.31.53.53,0,0,1,0,.12v1.31c0,.43,0,.86,0,1.29s0,.58,0,.87,0,.46,0,.68,0,.28-.05.42,0,.19,0,.29a4.18,4.18,0,0,1-.65,1.74,1.84,1.84,0,0,1-.17.22,1.93,1.93,0,0,1-.33.31,2.44,2.44,0,0,1-.55.35,5,5,0,0,1-1.41.41c-.35.05-.71.09-1.06.11s-.74,0-1.11.05l-1.6,0H7.39l-1.92,0c-.58,0-1.17,0-1.76-.11l-.4-.05A4.21,4.21,0,0,1,1.47,17a1.84,1.84,0,0,1-.22-.17A2.54,2.54,0,0,1,1,16.52l-.18-.23A4.34,4.34,0,0,1,.2,14.62l-.06-.4c0-.14,0-.28-.05-.42s0-.46,0-.69,0-.69,0-1,0-.89,0-1.33V9.08c0-.6,0-1.2,0-1.79,0-.34,0-.68,0-1s0-.45.05-.68l.06-.52a2.74,2.74,0,0,1,0-.28A4,4,0,0,1,.83,3.15,1.24,1.24,0,0,1,1,2.93a1.87,1.87,0,0,1,.32-.31,2.78,2.78,0,0,1,.59-.37A4.71,4.71,0,0,1,3.2,1.88c.31,0,.62-.09.93-.11l1-.05c.45,0,.91,0,1.37,0H8.12Z' /%3E%3C/svg%3E");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat; } }

@media print, screen and (min-width: 64em) {
  .mapPanel {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 20px;
    line-height: 2rem;
    background: #fff;
    padding: 0 15px; }
    .mapPanel .mapPanel__text {
      padding: 15px 23px; }
  .mapScroll {
    height: 850px;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom: 10px;
    overflow: hidden; }
  .mapInfoCards {
    padding: 5px 23px 20px; }
    .mapInfoCards .mapInfo__title {
      font-size: 24px;
      line-height: 1.33;
      margin-bottom: 40px; }
    .mapInfoCards .mapInfo__link {
      float: right; } }

/****************************************************

	Services Component Styling

****************************************************/
.sponsors_panel {
  max-width: 1200px;
  font-size: 0;
  text-align: center;
  display: block;
  margin-left: auto;
  margin-right: auto;
  /*display: flex;
    justify-content: center;*/ }
  .sponsors_panel .sponsors_image {
    margin: 1rem;
    width: 250px;
    display: inline-block;
    text-align: center; }
    .sponsors_panel .sponsors_image img {
      margin-top: 1em;
      margin-bottom: 1em; }

.RecipeIconsListing {
  margin-top: 20px; }
  .RecipeIconsListing img {
    padding-right: 10px;
    margin-bottom: 0px; }

.service__cards {
  max-width: 550px; }
  .service__cards .serviceCard__title {
    margin-bottom: 15px; }
  .service__cards .serviceCard__copy {
    margin-bottom: 15px; }
  .service__cards .serviceCard__card {
    margin-bottom: 30px;
    max-width: 585px;
    display: inline-block;
    background-color: #F9F9FA;
    /*height: 380px;*/ }
    .service__cards .serviceCard__card img {
      width: auto;
      border-radius: 10px 10px 0 0; }
  .service__cards .serviceCard__textArea {
    background-color: #FFFFFF;
    min-height: 165px;
    padding: 20px;
    /*.serviceCard__title {
            font-size: 40px;
            font-weight: bold;
            font-stretch: normal;
            font-style: normal;
            line-height: 1.2;
            color: #031f73;
        }*/ }

@media (min-width: 1024px) {
  .service__cards {
    max-width: 1200px; } }

.service__map {
  max-width: 1200px; }
  .service__map .mapPanel {
    position: initial; }

.serviceMap {
  height: 400px;
  border-radius: 10px 10px 10px 10px; }

/*.service__map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}*/
.AcceptedVolunteers .VolunteerHolder {
  margin: 50px 0px; }

.AcceptedVolunteers .VolunteerHeader {
  margin-bottom: 12px;
  font-weight: 700; }
  .AcceptedVolunteers .VolunteerHeader .MainText {
    font-size: 21px; }

.AcceptedVolunteers .DescText {
  margin-left: 15px;
  font-weight: 400;
  font-style: italic; }

.AcceptedVolunteers .VolunteerLabel {
  margin-right: 15px;
  margin-bottom: 10px;
  font-weight: 700; }

#ctl00_ContentPlaceHolder1_plcZones_lt_zoneCenter_ReportTable_ucTable_reportGrid {
  width: 100%;
  margin-bottom: 100px; }
  #ctl00_ContentPlaceHolder1_plcZones_lt_zoneCenter_ReportTable_ucTable_reportGrid tbody tr td {
    text-align: center; }

/****************************************************

	Training Modules

****************************************************/
.training-module td {
  position: relative; }

.training-module a {
  color: #ffffff !important;
  text-decoration: none; }

.training-module label {
  position: relative;
  margin-left: 70px;
  margin-bottom: 30px; }

.training-module input[type=radio] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: -1; }
  .training-module input[type=radio] + :before {
    position: absolute;
    left: -70px;
    top: -6px;
    display: inline-block;
    content: "";
    height: 50px;
    min-width: 50px;
    color: #fff;
    background: #fff;
    border-color: #00c0b5;
    border: 2px solid rgba(114, 220, 212, 0.7);
    border-radius: 12px;
    -webkit-box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.1);
            box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.1);
    overflow: hidden;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear; }
  .training-module input[type=radio]:checked + :before {
    color: #fff;
    background: #00c0b5;
    border-color: #00c0b5; }

@media print, screen and (min-width: 64em) {
  .training-module h3 {
    font-size: 40px; } }

/****************************************************

	Forms

****************************************************/
.form {
  font-size: 20px;
  line-height: 1.625rem; }
  .form .form__title {
    margin-bottom: 25px; }
  .form .form__step {
    margin-bottom: 15px; }
  .form .form__cta {
    margin-top: 40px;
    margin-bottom: 80px; }
  .form p {
    margin-bottom: 21px; }
  .form hr {
    margin: 40px 0 20px;
    border-width: 4px;
    border-color: #76d4ee; }

.form__doubleColumn .editing-form-value-cell {
  line-height: 1.1; }
  .form__doubleColumn .editing-form-value-cell span.sr-only {
    color: #00c0b5;
    text-decoration: underline;
    cursor: pointer; }

@media print, screen and (min-width: 64em) {
  .form {
    font-size: 24px;
    line-height: 2rem; }
    .form .form__title {
      margin-bottom: 45px; }
    .form .form__step {
      margin-bottom: 22px; }
    .form hr {
      margin: 76px 0 40px; } }

/****************************************************
	Buttons
****************************************************/
.form .button, .form .RegisterButton {
  width: 309px;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.25;
  padding: 12px 22px 16px;
  border-radius: 34px; }
  .form .button:before, .form .RegisterButton:before {
    display: none; }
  .form .button:after, .form .RegisterButton:after {
    border-radius: 34px; }

/****************************************************
	Labels
****************************************************/
.form label {
  font-size: 18px;
  line-height: 32px; }
  .form label + .formCards, .form label + .formCards--text {
    margin-top: 15px; }
  .form label + .select {
    margin-top: 4px; }

@media print, screen and (min-width: 64em) {
  .form label {
    font-size: 20px; } }

/****************************************************
	Inputs
****************************************************/
/****************************************************

	Inputs

****************************************************/
[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 {
  height: auto;
  font-size: 18px;
  background-color: #fff;
  padding: 9px 10px 10px;
  margin-top: 4px;
  margin-bottom: 16px;
  border: 1px solid #eaf1fb;
  border-radius: 5px;
  -webkit-box-shadow: none;
          box-shadow: 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 {
    border: 1px solid #ccc;
    -webkit-box-shadow: none;
            box-shadow: none;
    outline: none; }

@media print, screen and (min-width: 64em) {
  [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 {
    font-size: 20px;
    line-height: 1.6;
    padding: 9px 10px; } }

/**************************************
	Checkboxes
**************************************/
.checkbox {
  display: block;
  margin-top: 6px; }
  .checkbox input[type='checkbox'] {
    position: absolute;
    opacity: 0; }
    .checkbox input[type='checkbox'] + label {
      position: relative;
      font-size: 20px;
      line-height: 32px;
      padding-left: 47px;
      margin-left: 0;
      margin-bottom: 16px;
      cursor: pointer; }
      .checkbox input[type='checkbox'] + label:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 32px;
        height: 32px;
        background-color: #fff;
        border: 1px solid #eaf1fb;
        border-radius: 5px; }
    .checkbox input[type='checkbox']:checked + label:before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%2300c0b5' stroke='transparent' stroke-width='0' d='M235.1,386.3c-5.7,0-11.1-2.4-14.9-6.6l-104.1-116c-7.4-8.2-6.7-20.9,1.5-28.2c8.2-7.4,20.9-6.7,28.2,1.5 l86.8,96.8l131.6-199.1c6.1-9.2,18.5-11.7,27.7-5.7c9.2,6.1,11.7,18.5,5.7,27.7L251.8,377.4c-3.4,5.2-9,8.5-15.2,8.9 C236.1,386.3,235.6,386.3,235.1,386.3z' /%3E%3C/svg%3E");
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat; }

/**************************************
	Select Boxes
**************************************/
.select-hidden {
  display: none;
  visibility: hidden;
  padding-right: 10px; }

.select {
  position: relative;
  display: block;
  width: 100%;
  max-width: 370px;
  height: 52px;
  font-size: 20px;
  line-height: 1.5;
  color: #262527;
  vertical-align: middle;
  cursor: pointer; }
  .select:focus {
    border: 1px solid #ccc;
    -webkit-box-shadow: none;
            box-shadow: none;
    outline: none; }
  .select select[disabled] + .select-styled {
    background: #e6e6e6; }
    .select select[disabled] + .select-styled + .select-options {
      display: none !important; }

.select-styled {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #fff;
  padding: 10px 32px 12px 15px;
  border: 1px solid #eaf1fb;
  border-radius: 10px;
  -webkit-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in; }
  .select-styled span {
    display: inline-block; }
  .select-styled:after {
    content: "";
    position: absolute;
    top: 12px;
    right: 10px;
    width: 25px;
    height: 25px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%2300c0b5' stroke='transparent' stroke-width='0' d='M36.74,42.88,32.5,47.13,9.87,24.5l4.24-4.24L32.5,38.64,50.88,20.26l4.24,4.24Z' /%3E%3C/svg%3E");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden; }
  .select-styled:hover span, .select-styled:focus span, .select-styled:active span, .select-styled.active span {
    border-bottom: none; }

.select-options {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background-color: #fff;
  padding: 0;
  margin: 0;
  border: 1px solid #eaf1fb;
  border-radius: 10px;
  list-style: none;
  z-index: 999; }
  .select-options li {
    padding: 10px 18px 12px;
    margin: 0;
    border-top: 1px solid rgba(0, 0, 0, 0);
    -webkit-transition: all 0.15s ease-in;
    transition: all 0.15s ease-in; }
    .select-options li:hover, .select-options li:focus {
      background: #eaf1fb;
      background: #f9f9fa; }
    .select-options li[rel="hide"] {
      display: none; }

.error {
  color: red; }

input.error {
  border: 1px solid red;
  margin-bottom: 0px; }

.inline-month {
  display: inline;
  width: 60px; }

.inline-year {
  display: inline;
  width: 70px; }

/**************************************
	Form Cards
**************************************/
.formCards, .formCards--text {
  font-size: 0;
  margin-bottom: 3px; }
  .formCards .formCard__group, .formCards--text .formCard__group {
    max-width: 760px; }
  .formCards .formCard, .formCards--text .formCard {
    position: relative;
    display: inline-block;
    margin-right: 30px; }
    .formCards .formCard:last-child, .formCards--text .formCard:last-child {
      margin-right: 0; }
  .formCards label, .formCards--text label {
    display: inline-block;
    width: 262px;
    font-size: 20px;
    font-weight: 400;
    line-height: 60px;
    color: #262527;
    text-align: center;
    background: #fff;
    margin: 0;
    border: 2px solid rgba(114, 220, 212, 0.7);
    border-radius: 12px;
    -webkit-box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.1);
            box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear; }
  .formCards .formCard__img, .formCards--text .formCard__img {
    display: block;
    padding-top: 80%;
    background-color: #f9f9fa;
    background-size: cover;
    background-position: center;
    display: none; }
  .formCards .formCard__text, .formCards--text .formCard__text {
    display: block;
    height: 64px;
    padding: 0 20px; }
  .formCards input, .formCards--text input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    z-index: -1; }
    .formCards input:checked + label, .formCards--text input:checked + label {
      color: #fff;
      background: #00c0b5;
      border-color: #00c0b5; }

@media print, screen and (min-width: 40em) {
  .formCards .formCard, .formCards--text .formCard {
    margin-bottom: 12px; }
  .formCards .formCard__img, .formCards--text .formCard__img {
    display: block; } }

@media print, screen and (min-width: 64em) {
  .formCards label, .formCards--text label {
    font-size: 24px; } }

/**************************************
	Form Cards - Text Only
**************************************/
.formCards--text .formCard {
  margin-right: 14px;
  margin-bottom: 8px; }

.formCards--text label {
  width: auto;
  min-width: 110px; }

.formCards--text .formCard__img {
  display: none; }

/**************************************
	Form Cards - Text Only
**************************************/
.formCards--text tr {
  position: relative;
  display: inline-block;
  margin-right: 30px;
  margin-right: 14px;
  margin-bottom: 8px; }
  .formCards--text tr:last-child {
    margin-right: 0; }
  .formCards--text tr label {
    width: auto;
    min-width: 110px; }
  .formCards--text tr input[type='checkbox'] {
    position: absolute;
    opacity: 0; }
    .formCards--text tr input[type='checkbox'] + label {
      display: inline-block;
      font-size: 20px;
      font-weight: 400;
      line-height: 20px;
      color: #262527;
      text-align: center;
      margin: 0;
      padding: 20px 10px;
      border: 2px solid rgba(114, 220, 212, 0.7);
      border-radius: 12px;
      -webkit-box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.1);
              box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.1);
      overflow: hidden;
      -webkit-transition: all 0.2s linear;
      transition: all 0.2s linear; }
      .formCards--text tr input[type='checkbox'] + label:before {
        display: contents;
        position: absolute;
        top: 0;
        left: 0;
        width: 32px;
        height: 32px;
        background-color: #fff;
        border: 1px solid #eaf1fb;
        border-radius: 5px; }
    .formCards--text tr input[type='checkbox']:checked + label {
      color: #fff; }
      .formCards--text tr input[type='checkbox']:checked + label:before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%2300c0b5' stroke='transparent' stroke-width='0' d='M235.1,386.3c-5.7,0-11.1-2.4-14.9-6.6l-104.1-116c-7.4-8.2-6.7-20.9,1.5-28.2c8.2-7.4,20.9-6.7,28.2,1.5 l86.8,96.8l131.6-199.1c6.1-9.2,18.5-11.7,27.7-5.7c9.2,6.1,11.7,18.5,5.7,27.7L251.8,377.4c-3.4,5.2-9,8.5-15.2,8.9 C236.1,386.3,235.6,386.3,235.1,386.3z' /%3E%3C/svg%3E");
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        color: #fff;
        background: #00c0b5;
        border-color: #00c0b5; }

.formCards--text label {
  width: auto;
  min-width: 110px; }

.formCards--text .formCard__img {
  display: none; }

/**************************************
	header button
**************************************/
.form [type='text'], .form [type='password'], .form [type='date'], .form [type='datetime'], .form [type='datetime-local'],
.form [type='month'], .form [type='week'], .form [type='email'], .form [type='number'], .form [type='search'], .form [type='tel'],
.form [type='time'], .form [type='url'], .form [type='color'] {
  max-width: 442px; }

.form textarea {
  width: 100%;
  max-width: 673px;
  min-height: 116px; }

.form .select {
  margin-bottom: 30px; }

/****************************************************
	Specific Forms
****************************************************/
/****************************************************

	Donate Form

****************************************************/
.donateForm {
  max-width: 700px;
  margin: 0 auto; }
  .donateForm .form__section {
    font-size: 24px;
    line-height: 40px;
    color: #031f73;
    margin-top: 34px;
    margin-bottom: 14px; }
    .donateForm .form__section:first-child {
      margin-top: 30px; }
  .donateForm .form__sideText {
    font-size: 28px;
    line-height: 32px;
    color: #031f73;
    text-align: center;
    margin: 14px 0 52px; }

@media print, screen and (min-width: 64em) {
  .donateForm {
    max-width: none; }
    .donateForm .donateForm__title {
      font-size: 64px;
      line-height: 1.13;
      margin-bottom: 68px; }
    .donateForm .form__section {
      font-size: 32px;
      margin-top: 45px;
      margin-bottom: 25px; }
      .donateForm .form__section:first-child {
        margin-top: -9px; } }

@media screen and (min-width: 75em) {
  .donateForm .form__sideText {
    max-width: 85%;
    font-size: 32px;
    line-height: 40px;
    margin: 23px auto; } }

/****************************************************
	Donation Amount
****************************************************/
.donateForm .donateForm__amt .formCard__group {
  display: inline-block; }
  .donateForm .donateForm__amt .formCard__group:last-of-type {
    display: block;
    /*margin-left: 14px;*/ }
    .donateForm .donateForm__amt .formCard__group:last-of-type .formCard {
      /*margin-right: 0;*/ }

.donateForm .donateForm__amt .formCard {
  margin-right: 14px; }
  .donateForm .donateForm__amt .formCard label {
    width: 100px;
    min-width: 0;
    height: 48px;
    font-size: 24px;
    font-weight: 600;
    line-height: 40px;
    letter-spacing: -1px; }

.donateForm .form__dollarsign {
  display: inline-block;
  margin-right: 5px; }

.donateForm .form__dollarInput {
  display: inline-block;
  width: 90%; }

@media screen and (min-width: 30.5em) {
  .donateForm .donateForm__amt .formCard__group:last-of-type {
    display: inline-block; } }

@media print, screen and (min-width: 40em) {
  .donateForm .donateForm__amt .formCard__group {
    display: inline-block; }
    .donateForm .donateForm__amt .formCard__group:nth-child(2) {
      /*margin: 0;*/ }
      .donateForm .donateForm__amt .formCard__group:nth-child(2) .formCard {
        margin-right: 14px; }
        .donateForm .donateForm__amt .formCard__group:nth-child(2) .formCard:nth-child(2) {
          display: inline-block; }
  .donateForm .donateForm__amt .formCard {
    margin-right: 14px; } }

@media print, screen and (min-width: 64em) {
  .donateForm .donateForm__amt .formCard label {
    width: 120px;
    height: 64px;
    font-size: 32px;
    font-weight: 600;
    line-height: 60px;
    letter-spacing: -1px; }
  .donateForm .donateForm__amt + input {
    font-size: 24px; } }

@media screen and (min-width: 90em) {
  .donateForm .donateForm__amt .formCard__group:nth-child(2) .formCard {
    margin-right: 20px; }
  .donateForm .donateForm__amt .formCard {
    margin-right: 20px; }
    .donateForm .donateForm__amt .formCard label {
      width: 140px; } }

/****************************************************
	Donation Type
****************************************************/
.donateForm .donateForm__type label {
  width: 156px;
  font-weight: 600;
  letter-spacing: -0.63px; }

@media print, screen and (min-width: 64em) {
  .donateForm .donateForm__type .formCard label {
    width: 140px;
    height: 64px;
    font-weight: 500;
    letter-spacing: -0.75px; } }

@media screen and (min-width: 90em) {
  .donateForm .donateForm__type .formCard__group {
    display: inline-block; }
  .donateForm .donateForm__type .formCard {
    margin-right: 20px; }
    .donateForm .donateForm__type .formCard label {
      width: 140px;
      height: 64px;
      font-weight: 500;
      letter-spacing: -0.75px; } }

/****************************************************
	Payment Tabs
****************************************************/
.paymentTabs .form__payLogos {
  font-size: 0;
  margin-bottom: 40px; }
  .paymentTabs .form__payLogos svg {
    display: inline-block;
    margin: 0 14px; }
    .paymentTabs .form__payLogos svg:first-child {
      margin-left: 0; }
    .paymentTabs .form__payLogos svg:last-child {
      margin-right: 0; }
    @media screen and (max-width: 39.99875em) {
      .paymentTabs .form__payLogos svg {
        margin: 0 1px;
        -webkit-transform: scale(0.75);
            -ms-transform: scale(0.75);
                transform: scale(0.75); } }

.paymentTabs .tabs {
  margin-top: 7px; }

.paymentTabs .tabs, .paymentTabs .tabs-content {
  border: none; }

.paymentTabs .tabs-title a {
  width: 156px;
  height: 64px;
  font-size: 20px;
  font-weight: 600;
  line-height: 60px;
  letter-spacing: -0.63px;
  color: #262527;
  text-align: center;
  background: #fff;
  padding: 0;
  margin: 0 0 16px 0;
  border: 2px solid rgba(114, 220, 212, 0.7);
  border-radius: 12px;
  -webkit-box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.1);
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear; }

.paymentTabs .tabs-title:nth-child(odd) {
  margin-left: 14px; }

.paymentTabs .tabs-title:first-child {
  margin-left: 0;
  float: none; }
  .paymentTabs .tabs-title:first-child a {
    width: 328px; }

.paymentTabs .tabs-title.is-active a {
  color: #fff;
  background: #00c0b5;
  border-color: #00c0b5; }

.paymentTabs .tabs-panel {
  padding: 0; }

@media print, screen and (min-width: 40em) {
  .paymentTabs .tabs-title {
    margin-left: 14px; }
    .paymentTabs .tabs-title:first-child {
      float: left; }
      .paymentTabs .tabs-title:first-child a {
        width: 180px; } }

/****************************************************
	Donate CTA
****************************************************/
.donateForm .donateForm__footer {
  margin-top: 34px;
  margin-bottom: 23px; }

.donateForm .donateForm__cta {
  vertical-align: middle; }
  .donateForm .donateForm__cta .button, .donateForm .donateForm__cta .RegisterButton {
    width: 309px;
    font-size: 32px;
    font-weight: 500;
    line-height: 1.25;
    padding: 12px 22px 16px;
    border-radius: 34px; }
    .donateForm .donateForm__cta .button:before, .donateForm .donateForm__cta .RegisterButton:before {
      display: none; }
    .donateForm .donateForm__cta .button:after, .donateForm .donateForm__cta .RegisterButton:after {
      border-radius: 34px; }
    .donateForm .donateForm__cta .button span:before, .donateForm .donateForm__cta .RegisterButton span:before {
      content: "";
      display: inline-block;
      width: 20px;
      height: 25px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19.57 25'%3E%3Cpath fill='%23fff' stroke='transparent' stroke-width='0' d='M17.12,8.33H15.9V6A6,6,0,0,0,9.78,0,6,6,0,0,0,3.67,6V8.33H2.45A2.42,2.42,0,0,0,0,10.71V22.62A2.42,2.42,0,0,0,2.45,25H17.12a2.43,2.43,0,0,0,2.45-2.38V10.71a2.43,2.43,0,0,0-2.45-2.38ZM9.78,19.05a2.38,2.38,0,1,1,2.45-2.38,2.42,2.42,0,0,1-2.45,2.38ZM13.57,8.33H6V6a3.79,3.79,0,0,1,7.58,0V8.33Z' /%3E%3C/svg%3E");
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
      margin-right: 10px; }

.donateForm .form__secure {
  font-size: 0;
  text-align: center;
  margin-top: 42px;
  vertical-align: middle; }
  .donateForm .form__secure span {
    display: block;
    font-size: 16px;
    line-height: 32px;
    margin-top: -5px; }

@media print, screen and (min-width: 40em) {
  .donateForm .donateForm__footer {
    margin-top: 40px;
    margin-bottom: 80px; }
  .donateForm .donateForm__cta {
    display: inline-block;
    margin-right: 38px; }
  .donateForm .form__secure {
    display: inline-block;
    margin: 0; } }

/****************************************************
	Form Overrides
****************************************************/
/* hide the CMS form field header */
.editing-form-category h4.anchor {
  display: none; }

h4.manual__formField {
  margin-bottom: 5px; }

.calendar-action {
  margin-left: 10px; }

.editing-form-category-fields .editing-form-label {
  font-size: 20px; }

.editing-form-value-cell {
  margin-bottom: 30px; }
  .editing-form-value-cell input, .editing-form-value-cell textarea {
    border: 1px solid rgba(114, 220, 212, 0.4); }
  .editing-form-value-cell input:focus, .editing-form-value-cell textarea:focus {
    border: 2px solid rgba(114, 220, 212, 0.7);
    -webkit-box-shadow: 0 1px 3px 0rgba 0, 0, 0, 0.09;
            box-shadow: 0 1px 3px 0rgba 0, 0, 0, 0.09; }
  .editing-form-value-cell em {
    font-size: 20px; }

.select-styled {
  border: 1px solid rgba(114, 220, 212, 0.4);
  border-radius: 5px; }

.select-styled.active {
  border: 2px solid rgba(114, 220, 212, 0.7);
  border-radius: 5px; }

.select-options li:hover {
  background-color: #c7f1ee; }

.form-group-submit, #ctl00_ContentPlaceHolder1_plcZones_lt_zoneCenter_VolunteerApplicationStep2_VolunteerBiz_btnOK {
  margin-top: 40px;
  margin-bottom: 80px;
  width: 309px;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.25;
  padding: 12px 22px 16px;
  border-radius: 34px;
  /*input:after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        border-radius: 24px;
    }*/ }

.form-group-submit, #ctl00_ContentPlaceHolder1_plcZones_lt_zoneCenter_VolunteerApplicationStep2_VolunteerBiz_btnOK {
  font-size: 22px;
  line-height: 1.32;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background-color: #00c0b5;
  -webkit-transition: opacity 0.1s linear;
  transition: opacity 0.1s linear;
  -webkit-box-shadow: inset 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
          box-shadow: inset 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
  margin-top: 40px;
  margin-bottom: 80px;
  width: 309px;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.25;
  padding: 12px 22px 16px;
  border-radius: 34px; }
  .form-group-submit:hover, #ctl00_ContentPlaceHolder1_plcZones_lt_zoneCenter_VolunteerApplicationStep2_VolunteerBiz_btnOK:hover, .form-group-submit:focus, #ctl00_ContentPlaceHolder1_plcZones_lt_zoneCenter_VolunteerApplicationStep2_VolunteerBiz_btnOK:focus {
    color: #fff;
    opacity: 0.8; }
  .form-group-submit input, #ctl00_ContentPlaceHolder1_plcZones_lt_zoneCenter_VolunteerApplicationStep2_VolunteerBiz_btnOK input {
    color: #fff;
    background-color: transparent;
    border: none;
    width: 100%; }
    .form-group-submit input:hover, #ctl00_ContentPlaceHolder1_plcZones_lt_zoneCenter_VolunteerApplicationStep2_VolunteerBiz_btnOK input:hover, .form-group-submit input:focus, #ctl00_ContentPlaceHolder1_plcZones_lt_zoneCenter_VolunteerApplicationStep2_VolunteerBiz_btnOK input:focus {
      color: #fff;
      opacity: 0.8; }

/*  input {
        color: #fff;
        background-color: transparent;
        border: none;
    }

    &:before {
        content: "";
        position: absolute;
        top: 11px;
        right: 20px;
        width: 17px;
        height: 24px;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16.89' height='23.9' viewBox='0 0 16.89 23.9'%3E%3Cpath fill='" + str-replace('#fff', '#', '%23') + "' stroke='transparent' stroke-width='0' d='M16.73,11.64.61.07A.41.41,0,0,0,.12.1.39.39,0,0,0,.06.59L7,12,.06,23.31a.38.38,0,0,0,.07.49.35.35,0,0,0,.26.1.34.34,0,0,0,.22-.07L16.72,12.27a.39.39,0,0,0,.17-.32.37.37,0,0,0-.17-.31Z' /%3E%3C/svg%3E");
    }

    &:after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        border-radius: 24px;
        box-shadow: 0px 4px 6px 0px rgba(0,0,0,0.1);
    }

    &:hover, &:focus {
        color: #fff;
        opacity: 0.8;
    }

    &.action {
        background-color: $action-color;
    }
}

@include breakpoint(medium) {
    .button {
        min-width: 0;
    }
}*/
/****************************************************
	Overrides - Form fixes
****************************************************/
.paymentTabs .donate__label {
  display: inline;
  font-size: 18px;
  line-height: 32px; }

@media print, screen and (min-width: 40em) {
  .paymentTabs .donate__label {
    font-size: 20px; } }

/****************************************************
	Overrides - Form fixes
****************************************************/
#overlay {
  position: fixed;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(0, 0, 0, 0.6); }

.cv-spinner {
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.spinner {
  width: 200px;
  height: 200px;
  border: 4px #ddd solid;
  border-top: 4px #2e93e6 solid;
  border-radius: 50%;
  -webkit-animation: sp-anime 0.8s infinite linear;
          animation: sp-anime 0.8s infinite linear; }

@-webkit-keyframes sp-anime {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes sp-anime {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.is-hide {
  display: none; }

/****************************************************

	Volunteer Form

****************************************************/
.volunteerForm .guardianPanel {
  padding: 10px 0;
  margin-bottom: 16px;
  border-top: 1px solid #eaf1fb;
  border-bottom: 1px solid #eaf1fb;
  display: none; }

.volunteerForm .locationSelector {
  max-width: 442px;
  display: none; }
  .volunteerForm .locationSelector.show {
    display: block; }
  .volunteerForm .locationSelector.selected .locationSelector__optional {
    display: none; }
  .volunteerForm .locationSelector.selected .locationSelector__clear {
    display: block; }
  .volunteerForm .locationSelector.selected .locationSelector__input {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    opacity: 0; }
  .volunteerForm .locationSelector.selected .locationSelector__selection {
    display: block; }
  .volunteerForm .locationSelector label {
    position: relative; }

.volunteerForm .SameAsStreet {
  margin-top: 50px; }

.volunteerForm .locationSelector__optional {
  color: #8f8e8f; }

.volunteerForm .locationSelector__clear {
  font-size: 18px;
  line-height: 32px;
  color: #00c0b5;
  cursor: pointer;
  float: right;
  display: none; }

.volunteerForm .locationSelector__selection {
  font-size: 20px;
  line-height: 1.6;
  padding: 10px 17px 14px;
  margin-bottom: 24px;
  border-radius: 5px;
  border: solid 1px rgba(114, 220, 212, 0.4);
  display: none; }

.ui-widget.ui-autocomplete {
  border: solid 1px #c7f1ee;
  border-radius: 3px;
  margin-top: 12px; }

.ui-menu .ui-menu-item {
  font-size: 18px;
  line-height: 1.78;
  color: #262527;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent; }
  .ui-menu .ui-menu-item .ui-state-active {
    color: #262527;
    background-color: #eaf1fb;
    border-color: rgba(206, 205, 206, 0.2); }

/*** AUTO COMPLETE ****/
.ac_results {
  padding: 0px;
  border: 1px solid black;
  background-color: white;
  overflow: hidden;
  z-index: 99999; }

.ac_results ul {
  width: 100%;
  list-style-position: outside;
  list-style: none;
  padding: 0;
  margin: 0; }

.ac_results li {
  margin: 0px;
  padding: 2px 5px;
  cursor: default;
  display: block;
  /* 
	if width will be 100% horizontal scrollbar will apear 
	when scroll mode will be used
	*/
  /*width: 100%;*/
  font: Arial, Helvetica, sans-serif;
  font-size: 12px;
  color: #000000;
  /* 
	it is very important, if line-height not setted or setted 
	in relative units scroll will be broken in firefox
	*/
  line-height: 16px;
  overflow: hidden; }

/*.ac_loading {
	background: white url('indicator.gif') right center no-repeat;
}*/
.ac_odd {
  background-color: #eee; }

.ac_over {
  background-color: #7ed5f1;
  color: #FFFFFF !important; }

label {
  font-size: 20px;
  font-weight: 400; }

.EditingFormErrorLabel {
  color: red;
  font-size: 18px;
  font-weight: 600; }

.form__cta .button .FormButton, .form__cta .RegisterButton .FormButton {
  background-color: inherit;
  color: #fff;
  border: none; }

.volunteerRoles .formCards .checkbox input[type='checkbox'] + label, .volunteerRoles .formCards--text .checkbox input[type='checkbox'] + label {
  padding-left: 0px; }

.volunteerRoles .formCards .checkbox input[type='checkbox'] + label:before, .volunteerRoles .formCards--text .checkbox input[type='checkbox'] + label:before {
  content: none !important; }

.volunteerRoles .formCards tr, .volunteerRoles .formCards--text tr {
  position: relative;
  display: inline-block;
  margin-right: 20px; }

.volunteerForm .WatermarkText {
  color: #D3D3D3; }

.volunteerForm .desc__optional {
  color: #D3D3D3; }

.volunteerForm span {
  font-size: 20px; }

.volunteerForm .form__cta {
  margin-top: 10px; }

.volunteerChecklist {
  margin-top: 8px; }
  .volunteerChecklist .formCards--text {
    position: relative; }
    .volunteerChecklist .formCards--text .checkbox input[type='checkbox'] + label {
      font-size: 24px;
      line-height: 60px;
      padding-left: 10px;
      padding-right: 10px;
      display: inline-block;
      margin-right: 14px;
      margin-bottom: 8px; }
    .volunteerChecklist .formCards--text input[type='radio'] + label {
      font-size: 24px;
      line-height: 60px;
      padding-left: 10px;
      padding-right: 10px;
      display: inline-block;
      margin-right: 14px;
      margin-bottom: 8px; }
    .volunteerChecklist .formCards--text br {
      display: none; }
    .volunteerChecklist .formCards--text .checkbox input[type='checkbox'] + label:before {
      content: none !important; }

.RequestContent .Request {
  display: block;
  margin-bottom: 15px; }
  .RequestContent .Request .RequestLabel {
    font-weight: 600;
    display: inline-block;
    margin-right: 10px; }

.RequestContent .RequestButtons {
  margin-bottom: 80px; }
  .RequestContent .RequestButtons .button, .RequestContent .RequestButtons .RegisterButton {
    text-decoration: none;
    color: #fff; }

.RequestContent .reject-button {
  margin: 10px 0px; }
  .RequestContent .reject-button [type='submit'] {
    color: #fff;
    background-color: #00c0b5;
    -webkit-box-shadow: none;
            box-shadow: none;
    border: none; }

.RequestContent .decline-panel {
  margin-top: 20px; }

.VolunteerRequests .MainText {
  font-size: 2rem;
  font-weight: 500;
  margin: 10px 0px; }

.VolunteerRequests .DescText {
  font-size: 1rem;
  font-weight: 500;
  margin-left: 20px; }

@media print, screen and (min-width: 64em) {
  .RequestContent .Request {
    display: block;
    margin-left: 300px;
    margin-bottom: 15px; }
    .RequestContent .Request .RequestLabel {
      font-weight: 400;
      display: inline-block;
      min-width: 290px;
      margin-left: -300px; }
  .RequestContent .SpanReject {
    display: none; } }

.logon-page-background .form-control-error {
  color: red; }

.logon-page-background .button, .logon-page-background .RegisterButton {
  padding: 7px 22px 12px 22px;
  margin-bottom: 30px; }

#ctl00_ContentPlaceHolder1_plcZones_lt_zoneCenter_VolunteerApplicationStep2_VolunteerBiz_btnOK {
  border-bottom: none;
  border-right: none; }

/****************************************************

	Referral Form

****************************************************/
.form__doubleColumn {
  /*.column {
		float: left;
		width: 47%;
	}

	.row:after {
		content: "";
		display: table;
		clear: both;
	}*/ }
  .form__doubleColumn .editing-form-value-cell {
    margin-bottom: 0px; }
    .form__doubleColumn .editing-form-value-cell .select {
      margin-bottom: 30px;
      max-width: 100%; }
    .form__doubleColumn .editing-form-value-cell .select-styled {
      overflow-y: hidden; }
    .form__doubleColumn .editing-form-value-cell .EditingFormErrorLabel {
      margin-top: -32px; }
    .form__doubleColumn .editing-form-value-cell .form-control {
      margin-bottom: 30px; }
    .form__doubleColumn .editing-form-value-cell .radio-list-vertical {
      display: inline-block;
      margin-bottom: 30px; }
    .form__doubleColumn .editing-form-value-cell .date-time-picker {
      margin-bottom: 20px; }
      .form__doubleColumn .editing-form-value-cell .date-time-picker .form-control {
        margin-bottom: 10px; }
  .form__doubleColumn .FormButton {
    width: 309px;
    font-size: 32px;
    font-weight: 500;
    line-height: 1.25;
    margin-top: 20px;
    padding: 12px 22px 16px;
    border-radius: 34px;
    position: relative;
    display: inline-block;
    color: #fff;
    text-align: center;
    text-decoration: none;
    background-color: #00c0b5;
    -webkit-transition: opacity 0.1s linear;
    transition: opacity 0.1s linear;
    -webkit-box-shadow: inset 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
            box-shadow: inset 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
    outline: none; }
  .form__doubleColumn .referralChecklist {
    margin-top: 8px; }
    .form__doubleColumn .referralChecklist .form-group .checkbox-list-vertical br {
      display: none; }
    .form__doubleColumn .referralChecklist .form-group .checkbox input [type='checkbox'] {
      color: blue; }
      .form__doubleColumn .referralChecklist .form-group .checkbox input [type='checkbox'] + label {
        padding-left: 10px !important;
        padding-right: 10px !important; }
    .form__doubleColumn .referralChecklist .form-group .radio-list-vertical, .form__doubleColumn .referralChecklist .form-group .checkbox-list-vertical {
      position: relative; }
      .form__doubleColumn .referralChecklist .form-group .radio-list-vertical .checkbox input[type='checkbox'] + label, .form__doubleColumn .referralChecklist .form-group .checkbox-list-vertical .checkbox input[type='checkbox'] + label {
        font-size: 24px;
        line-height: 60px;
        padding-left: 10px;
        padding-right: 10px;
        display: inline-block;
        margin-right: 14px;
        margin-bottom: 8px; }
      .form__doubleColumn .referralChecklist .form-group .radio-list-vertical input[type='radio'] + label, .form__doubleColumn .referralChecklist .form-group .checkbox-list-vertical input[type='radio'] + label {
        font-size: 24px;
        line-height: 60px;
        padding-left: 10px;
        padding-right: 10px;
        display: inline-block;
        margin-right: 14px;
        margin-bottom: 8px; }
      .form__doubleColumn .referralChecklist .form-group .radio-list-vertical label, .form__doubleColumn .referralChecklist .form-group .checkbox-list-vertical label {
        display: inline-block;
        font-size: 20px;
        font-weight: 400;
        line-height: 60px;
        color: #262527;
        text-align: center;
        background: #fff;
        margin: 0;
        border: 2px solid rgba(114, 220, 212, 0.7);
        border-radius: 12px;
        -webkit-box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.1);
                box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.1);
        overflow: hidden;
        -webkit-transition: all 0.2s linear;
        transition: all 0.2s linear;
        width: auto;
        min-width: 110px; }
        .form__doubleColumn .referralChecklist .form-group .radio-list-vertical label:before, .form__doubleColumn .referralChecklist .form-group .checkbox-list-vertical label:before {
          width: 0px;
          height: 0px; }
      .form__doubleColumn .referralChecklist .form-group .radio-list-vertical input, .form__doubleColumn .referralChecklist .form-group .checkbox-list-vertical input {
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        z-index: -1; }
        .form__doubleColumn .referralChecklist .form-group .radio-list-vertical input:checked + label, .form__doubleColumn .referralChecklist .form-group .checkbox-list-vertical input:checked + label {
          color: #fff;
          background: #00c0b5;
          border-color: #00c0b5; }
      .form__doubleColumn .referralChecklist .form-group .radio-list-vertical br, .form__doubleColumn .referralChecklist .form-group .checkbox-list-vertical br {
        display: none; }
      .form__doubleColumn .referralChecklist .form-group .radio-list-vertical .checkbox input[type='checkbox'] + label:before, .form__doubleColumn .referralChecklist .form-group .checkbox-list-vertical .checkbox input[type='checkbox'] + label:before {
        content: none !important; }
    .form__doubleColumn .referralChecklist .form-group .checkbox-list-vertical br {
      display: none; }
    .form__doubleColumn .referralChecklist .form-group .checkbox-list-vertical label {
      padding-left: 10px !important;
      padding-right: 10px !important;
      margin-right: 14px;
      margin-bottom: 8px; }

@media print, screen and (min-width: 64em) {
  .form__doubleColumn .column, .form__doubleColumn .columns {
    float: left;
    width: 47%; }
  .form__doubleColumn .row:after {
    content: "";
    display: table;
    clear: both; } }

.recipeSlider {
  max-width: 1440px; }
  .recipeSlider .recipeSlider__slides {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    text-align: center; }
  .recipeSlider .recipe__slide {
    display: inline-block;
    float: none;
    width: 322px;
    margin: 0px 8px 32px 8px;
    border-radius: 0 0 10px 10px;
    -webkit-box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1);
            box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1);
    overflow: hidden; }
  .recipeSlider .recipeSlider__content {
    position: relative;
    display: table;
    width: 100%;
    height: 166px;
    background: #fff;
    padding: 22px;
    -webkit-box-shadow: inset 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
    box-shadow: inset 0px 1px 0px 0px rgba(0, 0, 0, 0.1); }
  .recipeSlider .recipeSlider__text {
    height: 94px;
    font-size: 18px;
    font-weight: 400;
    text-align: left;
    color: #262527; }
  .recipeSlider .recipeSlider__category {
    font-size: 16px;
    text-align: left;
    font-weight: 500;
    color: #01877c;
    text-transform: uppercase; }
  .recipeSlider .recipeSlider__link {
    display: block;
    background-color: #f9f9fa; }

.recipeFilter {
  position: relative;
  display: block;
  max-width: 700px;
  padding-bottom: 24px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px; }
  .recipeFilter .filterTitle {
    font-size: 20px;
    margin-bottom: 10px; }
  .recipeFilter .recipeCheckbox label {
    font-size: 20px;
    line-height: 50px;
    padding-left: 60px;
    padding-right: 24px;
    display: inline-block;
    margin-right: 14px;
    margin-bottom: 8px;
    background: #fff;
    border: 1px solid rgba(114, 220, 212, 0.7);
    border-radius: 25px;
    -webkit-box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.1);
            box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.1);
    overflow: hidden;
    -webkit-transition: all .2s linear;
    transition: all .2s linear;
    /*background-image: url("../img/icons/recipe-icons/gluten-free.png");*/
    background-repeat: no-repeat;
    background-size: 38px;
    background-position-x: 6px;
    background-position-y: 6px; }
  .recipeFilter .recipeCheckbox #lblvegetarian {
    background-image: url("../images/vegan.jpg"); }
  .recipeFilter .recipeCheckbox #lbllactose-free {
    background-image: url("../images/lactose-free.jpg"); }
  .recipeFilter .recipeCheckbox #lblvegan {
    background-image: url("../images/vegetarian.jpg"); }
  .recipeFilter .recipeCheckbox #lblglutenfree {
    background-image: url("../images/gluten-free.jpg"); }
  .recipeFilter .recipeCheckbox #lblentree {
    background-image: url("../images/entree.jpg"); }
  .recipeFilter .recipeCheckbox #lblmain {
    background-image: url("../images/mains.jpg"); }
  .recipeFilter .recipeCheckbox #lbldessert {
    background-image: url("../images/desserts.jpg"); }
  .recipeFilter .recipeCheckbox input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    z-index: -1; }
    .recipeFilter .recipeCheckbox input:checked + label {
      color: #fff;
      background: #00c0b5;
      border-color: #00c0b5;
      background-image: none;
      padding-left: 24px;
      padding-right: 24px;
      background-image: none !important; }
  .recipeFilter .recipeDropdown select {
    position: relative;
    display: block;
    width: 100%;
    max-width: 370px;
    height: 52px;
    font-size: 20px;
    line-height: 1.5;
    color: #262527;
    vertical-align: middle;
    cursor: pointer;
    border: 1px solid rgba(114, 220, 212, 0.7); }
    .recipeFilter .recipeDropdown select:after {
      content: "";
      position: absolute;
      top: 12px;
      right: 10px;
      width: 25px;
      height: 25px;
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
      overflow: hidden; }

@media print, screen and (min-width: 64em) {
  .recipeFilter {
    max-width: none; } }

/****************************************************

	Recipe Styles

****************************************************/
.recipe__details {
  margin-bottom: 10px; }
  .recipe__details .difficulty__title {
    display: inline-block; }
  .recipe__details .dietry__icons {
    display: block; }
  .recipe__details .prepTime__text {
    font-size: 32px;
    font-weight: 600;
    color: #031F73; }

.hero__recipeSource {
  margin-top: 10px; }

.recipe__method {
  margin-bottom: 40px; }
  .recipe__method .method ul, .recipe__method .method ol {
    list-style: none;
    margin-left: 0; }
  .recipe__method .method li {
    position: relative;
    min-height: 50px; }
    .recipe__method .method li:before {
      content: "Step " attr(data-step) " ";
      color: #00837B;
      font-weight: 700;
      display: block; }
    .recipe__method .method li.step:before {
      visibility: visible; }

@media print, screen and (min-width: 40em) {
  .recipe__method h4 {
    margin-bottom: 20px; }
  .recipe__details {
    margin-bottom: 40px; }
  .hero__recipeSource {
    bottom: 18px;
    position: absolute; } }

@media print, screen and (min-width: 64em) {
  .dietry__icons {
    display: inline-block;
    float: right;
    margin-top: 15px; }
    .dietry__icons img {
      margin: 0px 5px;
      max-width: 50px; } }

/****************************************************
	Pages
****************************************************/
/****************************************************

	Hompage Styles

****************************************************/
.homepage main {
  /*padding-bottom: 15px;*/ }

/****************************************************
	Feature Panel
****************************************************/
.homepage .panel--feature .panel__imgWrap:before {
  content: "";
  top: 22%;
  left: -6%;
  width: 85%;
  height: 85%; }

.homepage .panel--feature .panel__tag {
  display: none; }

.homepage .panel--feature .panel__cta {
  display: block; }

@media print, screen and (min-width: 64em) {
  .homepage .panel--feature {
    margin-bottom: 126px; }
    .homepage .panel--feature .panel__content {
      max-width: 500px;
      margin-top: 26px; } }

/****************************************************
	CTA Panel
****************************************************/
.homepage .panel--cta, .homepage .panel--bubble {
  margin-bottom: 15px; }
  .homepage .panel--cta:last-child, .homepage .panel--bubble:last-child {
    margin-bottom: 0; }
  .homepage .panel--cta .panel__imgWrap:before, .homepage .panel--bubble .panel__imgWrap:before {
    top: 9%;
    left: -6%; }
  .homepage .panel--cta .panel__title, .homepage .panel--bubble .panel__title {
    margin-top: 15px; }
  .homepage .panel--cta .panel__text, .homepage .panel--bubble .panel__text {
    display: block; }
  .homepage .panel--cta .panel__cta, .homepage .panel--bubble .panel__cta {
    margin-top: 30px; }

@media print, screen and (min-width: 64em) {
  .homepage .panel--cta .panel__title, .homepage .panel--bubble .panel__title {
    margin-top: 40px; }
  .homepage .panel--cta .panel__cta, .homepage .panel--bubble .panel__cta {
    margin-top: 50px; } }

@media print, screen and (min-width: 64em) {
  .homepage .navSlider .navSlider__wrapper, .homepage .recipeSlider .navSlider__wrapper {
    height: 338px; }
  .homepage .navSlider .navSlider__scroll, .homepage .recipeSlider .navSlider__scroll {
    height: 336px; }
  .homepage .navSlider .navSlider__content, .homepage .recipeSlider .navSlider__content {
    height: 128px;
    padding: 10px 20px; } }

/****************************************************
	Overrides
****************************************************/
/****************************************************

	Component Spacing

****************************************************/
section + section.dark {
  padding-top: 130px; }

.panel + .cardList, .panel--feature + .cardList, .panel--cta + .cardList, .panel--bubble + .cardList {
  margin-top: 51px; }

@media print, screen and (min-width: 64em) {
  .navSlider + .panel--cta, .recipeSlider + .panel--cta, .navSlider + .panel--bubble, .recipeSlider + .panel--bubble {
    margin-top: 96px; } }

.content + .quote, .article .article__content + .quote {
  margin-top: 50px; }

.content + .cardList, .article .article__content + .cardList {
  margin-top: 45px; }
  @media print, screen and (min-width: 64em) {
    .content + .cardList, .article .article__content + .cardList {
      margin-top: 90px; } }

.quote + .content, .article .quote + .article__content {
  margin-top: 40px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJhcHAuc2NzcyIsImdsb2JhbC9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdmVuZG9yL25vcm1hbGl6ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19zaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIl9zdHlsZS5zY3NzIiwiZ2xvYmFsL191dGlscy5zY3NzIiwiZ2xvYmFsL19mb250cy5zY3NzIiwiZ2xvYmFsL190eXBvZ3JhcGh5LnNjc3MiLCJnbG9iYWwvX2NvbW1vbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2stdGhlbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9qcXVlcnktdWkvdGhlbWVzL2Jhc2UvdGhlbWUuY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2pxdWVyeS11aS90aGVtZXMvYmFzZS9tZW51LmNzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9qcXVlcnktdWkvdGhlbWVzL2Jhc2UvYXV0b2NvbXBsZXRlLmNzcyIsImNvbXBvbmVudHMvX21vYk5hdi5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX3NlYXJjaC5zY3NzIiwiY29tcG9uZW50cy9faGVyby5zY3NzIiwiY29tcG9uZW50cy9fY29udGVudC5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy9fcGFuZWxzLnNjc3MiLCJjb21wb25lbnRzL19jYXJkcy5zY3NzIiwiY29tcG9uZW50cy9fc2xpZGVycy5zY3NzIiwiY29tcG9uZW50cy9fYmFubmVycy5zY3NzIiwiY29tcG9uZW50cy9faW5mb2dyYXBoaWMuc2NzcyIsImNvbXBvbmVudHMvX2FydGljbGVzLnNjc3MiLCJjb21wb25lbnRzL19wcm9kdWN0cy5zY3NzIiwiY29tcG9uZW50cy9fbWFwLnNjc3MiLCJjb21wb25lbnRzL19zZXJ2aWNlcy5zY3NzIiwiY29tcG9uZW50cy9fdHJhaW5pbmdNb2R1bGUuc2NzcyIsImNvbXBvbmVudHMvZm9ybXMvX2Zvcm1zLnNjc3MiLCJjb21wb25lbnRzL2Zvcm1zL19pbnB1dHMuc2NzcyIsImNvbXBvbmVudHMvZm9ybXMvX2RvbmF0ZUZvcm0uc2NzcyIsImNvbXBvbmVudHMvZm9ybXMvX3ZvbHVudGVlckZvcm0uc2NzcyIsImNvbXBvbmVudHMvZm9ybXMvX3JlZmVycmFsRm9ybS5zY3NzIiwiY29tcG9uZW50cy9fcmVjaXBlSHViLnNjc3MiLCJjb21wb25lbnRzL19yZWNpcGVzLnNjc3MiLCJwYWdlcy9faG9tZXBhZ2Uuc2NzcyIsIm92ZXJyaWRlcy9fY29tcG9uZW50U3BhY2luZy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0loQjs7MENERDBDO0FFRDFDOzs7O29ERk1vRDtBRUNwRDs7b0RGRW9EO0FFS3BEOztvREZGb0Q7QUVnQnBEOztvREZib0Q7QUV3QnBEOztvREZyQm9EO0FFZ0NwRDs7b0RGN0JvRDtBQ2JwRCwwQ0FBQTtBRVZBOzs7OztFSDhCRTtBSTdCQSwyRUFBQTtBQVFBO0VBQ0UsaUJBQWlCO0VBQ2pCLDhCQUE4QixFQUFBOztBQVFoQztFQUNFLFNBQVMsRUFBQTs7QUFNWDtFQUNFLGNBQWM7RUFDZCxnQkFBZ0IsRUFBQTs7QUFTbEI7RUFDRSwrQkFBdUI7VUFBdkIsdUJBQXVCO0VBQ3ZCLFNBQVM7RUFDVCxpQkFBaUIsRUFBQTs7QUFNbkI7RUFDRSxpQ0FBaUM7RUFDakMsY0FBYyxFQUFBOztBQVFoQjtFQUNFLDZCQUE2QixFQUFBOztBQU0vQjtFQUNFLG1CQUFtQjtFQUNuQiwwQkFBMEI7RUFDMUIseUNBQWlDO1VBQWpDLGlDQUFpQyxFQUFBOztBQUtuQzs7RUFFRSxtQkFBbUIsRUFBQTs7QUFNckI7OztFQUdFLGlDQUFpQztFQUNqQyxjQUFjLEVBQUE7O0FBS2hCO0VBQ0UsY0FBYyxFQUFBOztBQU1oQjs7RUFFRSxjQUFjO0VBQ2QsY0FBYztFQUNkLGtCQUFrQjtFQUNsQix3QkFBd0IsRUFBQTs7QUFHMUI7RUFDRSxlQUFlLEVBQUE7O0FBR2pCO0VBQ0UsV0FBVyxFQUFBOztBQVFiO0VBQ0Usa0JBQWtCLEVBQUE7O0FBU3BCOzs7OztFQUtFLG9CQUFvQjtFQUNwQixlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLFNBQVMsRUFBQTs7QUFNWDs7RUFFRSxpQkFBaUIsRUFBQTs7QUFNbkI7O0VBRUUsb0JBQW9CLEVBQUE7O0FBS3RCOzs7O0VBSUUsMEJBQTBCLEVBQUE7O0FBSzVCOzs7O0VBSUUsa0JBQWtCO0VBQ2xCLFVBQVUsRUFBQTs7QUFLWjs7OztFQUlFLDhCQUE4QixFQUFBOztBQUtoQztFQUNFLDhCQUE4QixFQUFBOztBQVFoQztFQUNFLDhCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsY0FBYztFQUNkLGNBQWM7RUFDZCxlQUFlO0VBQ2YsVUFBVTtFQUNWLG1CQUFtQixFQUFBOztBQUtyQjtFQUNFLHdCQUF3QixFQUFBOztBQUsxQjtFQUNFLGNBQWMsRUFBQTs7QUpuRWxCOztFSTJFSSw4QkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLFVBQVUsRUFBQTs7QUp2RWQ7O0VJOEVJLFlBQVksRUFBQTs7QUoxRWhCO0VJaUZJLDZCQUE2QjtFQUM3QixvQkFBb0IsRUFBQTs7QUo5RXhCO0VJb0ZJLHdCQUF3QixFQUFBOztBQU0xQjtFQUNFLDBCQUEwQjtFQUMxQixhQUFhLEVBQUE7O0FBUWY7RUFDRSxjQUFjLEVBQUE7O0FBS2hCO0VBQ0Usa0JBQWtCLEVBQUE7O0FBUXBCO0VBQ0UsYUFBYSxFQUFBOztBSnBHakI7RUkwR0ksYUFBYSxFQUFBOztBQzNJZjtFQUNFLHdFQUFnRCxFQUFBOztBRG5JbEQ7RUN1SUUsOEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0QixlQzlFbUIsRUFBQTs7QURrRnJCOzs7RUFHRSwyQkFBbUI7VUFBbkIsbUJBQW1CLEVBQUE7O0FEcklyQjtFQzBJRSxTQUFTO0VBQ1QsVUFBVTtFQUVWLGdCQzdFUTtFRCtFUix3Q0h0SjRDO0VHdUo1QyxtQkN2RXlCO0VEd0V6QixnQkMvRm1CO0VEZ0duQixjSG5JZ0I7RUdzSWQsbUNBQW1DO0VBQ25DLGtDQUFrQyxFQUFBOztBRHJEdEM7RUMyREUscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUd0QixlQUFlO0VBQ2YsWUFBWTtFQUNaLCtCQUErQixFQUFBOztBRDRCakM7RUN2QkUsWUFBWTtFQUNaLGdCQUFnQjtFQUNoQixnQkM5RmEsRUFBQTs7QURrR2Y7RUFDRSw4QkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLFdBQVc7RUFDWCxnQkNyR2EsRUFBQTs7QUQwR2Y7Ozs7OztFQUtJLDBCQUEwQixFQUFBOztBQUs5QjtFQUVFLFVBQVU7RUFDVix3QkFBZ0I7S0FBaEIscUJBQWdCO1VBQWhCLGdCQUFnQjtFQUNoQixTQUFTO0VBQ1QsZ0JDekhhO0VEMEhiLHVCQUF1QjtFQUN2QixjQUFjO0VBQ2QsWUN0SHVCLEVBQUE7RU5tSXpCO0lPN0JFLFVBQVUsRUFBQTs7QUg1Slo7RUNpTEUsY0FBYyxFQUFBOztBRGpHaEI7Ozs7O0VDMEdFLG9CQUFvQixFQUFBOztBQUl0QjtFQUNFLHlCQUF5QixFQUFBOztBQUczQjtFQUNFLHdCQUF3QixFQUFBOztBTFM1Qjs7RVFuS0UsY0FBYztFQUNkLDhCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsV0FBVztFQUNYLGlCQUxzSjtFQU10SixnQkNIdUQ7RURJdkQsZUZrVytCO0VFaFcvQix5QkZoQm1CO0VFaUJuQixnQkZEZTtFRUVmLHNCRmJVO0VFY1YseUROL0RrQjtVTStEbEIsaUROL0RrQjtFTWlFbEIsb0JGa1Z5QjtFRWpWekIsZUNadUQ7RURhdkQsbUJGVDJCO0VFVTNCLGdCRmpDcUI7RUVrQ3JCLGNOckVrQjtFTXdFaEIsMkVGd1Y4RDtFRXhWOUQsbUVGd1Y4RDtFRXhWOUQsMkRGd1Y4RDtFRXhWOUQsb0ZGd1Y4RDtFRW5VOUQsd0JBQWdCO0tBQWhCLHFCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQTtFUjhJbEI7O0lROUpFLGFBQWE7SUFDYix5QkZqQ2U7SUVrQ2Ysc0JGOUJRO0lFK0JSLG1DRnBDaUI7WUVvQ2pCLDJCRnBDaUI7SUV1Q2YsMkVGNlU0RDtJRTdVNUQsbUVGNlU0RDtJRTdVNUQsMkRGNlU0RDtJRTdVNUQsb0ZGNlU0RCxFQUFBOztBRmpQaEU7RUk3RUUsZUFBZSxFQUFBO0VBRGpCO0lBSUksWUFBWSxFQUFBOztBQUloQjs7O0VBS0kseUJGbkVjO0VFb0VkLG1CRmdUNkIsRUFBQTs7QU5qS25DOztFUXhJSSx3QkFBZ0I7S0FBaEIscUJBQWdCO1VBQWhCLGdCQUFnQjtFQUNoQixnQkYzRGEsRUFBQTs7QUUrRGY7RUFDRSw4QkFBc0I7VUFBdEIsc0JBQXNCLEVBQUE7O0FBaUJ4QjtFQUNFLGNGbEdpQixFQUFBOztBRWlHbkI7RUFDRSxjRmxHaUIsRUFBQTs7QUVpR25CO0VBQ0UsY0ZsR2lCLEVBQUE7O0FFaUduQjtFQUNFLGNGbEdpQixFQUFBOztBRWlHbkI7RUFDRSxjRmxHaUIsRUFBQTs7QU42TnJCOzs7RVUvUkksZ0JENEVxRCxFQUFBOztBVHdOekQ7O0VVOVJJLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFFeEIsbUJBQWtEO0VBQ2xELGtCRGtFcUQ7RUNqRXJELGdCQUFnQixFQUFBO0VWZ1NsQjs7SVU3UkksZUFBZSxFQUFBOztBQUtuQjs7RUFFRSxvQkFBbUQsRUFBQTs7QVY4UnZEO0VVelJJLFdBQVcsRUFBQTs7QUNJYjtFQWpCQSxjQUFjO0VBQ2QsU0FBUztFQUVULG1CRjREdUQ7RUUzRHZELG1CTCtEMkI7RUs5RDNCLGdCTGlaMEI7RUtoWjFCLGNUR2tCLEVBQUE7RVNRbEI7SUFMQSxnQkZtRHVEO0lFbER2RCxvQkFBOEQsRUFBQTs7QUNqQjlEO0VBR0UsbUJBRnVDO0VBR3ZDLG9CSCtEcUQ7RUc5RHJELGtCTjZZd0I7RU01WXhCLGNWT2dCLEVBQUE7O0FXUmxCO0VBQ0UsY0FBd0M7RUFDeEMsV0FBVztFQUNYLG1CSjJEcUQsRUFBQTtFSTlEdkQ7SUFXTSxzQlB5RFMsRUFBQTtFT3BFZjtJQWlCTSxzQkFBaUgsRUFBQTs7QUFLdkg7Ozs7RUFDRSxTQUFTO0VBQ1QsbUJBQW1CO0VBR2pCLG1CQUFtQjtFQUNuQixzQkFBc0IsRUFBQTs7QUFJMUI7RUFFRSxlUCtXdUI7RU85V3ZCLHlCUGlCaUI7RU9oQmpCLG1CUGVnQjtFT2JoQixjWDlCZ0I7RVcrQmhCLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFRakIsU0FBUztFQUNULFlBQVksRUFBQTtFQWpCaEI7SUFzQk0sZUFBaUMsRUFBQTtFQXRCdkM7SUEwQk0sY0FBZ0MsRUFBQTs7QUFLdEM7RUFFRSxnQkFBZ0IsRUFBQTs7QUFRbEI7RUFFRSxjQUFjO0VBQ2QsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQU9oQixTQUFTO0VBQ1QsWUFBWSxFQUFBO0VBWmhCOzs7O0lBMEJNLGlCQXJHaUk7SUF1R25JLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsZUp6Q21ELEVBQUE7O0FJK0NyRDtFQUVJLG1CQUFtQixFQUFBOztBVDhDekI7RVVoSkUsU0FBUztFQUNULFVBQVU7RUFDVixTQUFTLEVBQUE7O0FWdUpYO0VVbkpFLGVBQWU7RUFDZixxQkFBa0MsRUFBQTs7QUFHcEM7RUF4QkEsa0JMb0VXO0VLbkVYLGdCTDhEdUQ7RUs3RHZELHlCUm1EbUIsRUFBQTtFUWpEbkI7SUFFRSxTQUFTO0lBQ1QsdUJMd0RxRDtJS3ZEckQsb0JMdURxRCxFQUFBOztBSndHdkQ7RVV6S0EsaUJBRnNKO0VBR3RKLGdCTmdFdUQ7RU0vRHZELGVUcWErQjtFU25hL0Isd0JBQWdCO0tBQWhCLHFCQUFnQjtVQUFoQixnQkFBZ0I7RUFDaEIseUJUa0RtQjtFU2pEbkIsZ0JUaUVlO0VTaEVmLHNCVHFEVTtFU25EVixvQlRxWnlCO0VTcFp6QixlTnVEdUQ7RU10RHZELG1CVDBEMkI7RVN6RDNCLGdCVGtDcUI7RVNqQ3JCLGNiRmtCO0VLb0hsQix3T0FBeU47RVE5R3ZOLDhCQUE4QjtFQUM5Qix1Q0FBMEQ7RUFDMUQsNEJBQTRCO0VBQzVCLHdCQUF3QjtFQUV4QixxQkFBdUQ7RUFJdkQsMkVUaVo4RDtFU2paOUQsbUVUaVo4RDtFU2paOUQsMkRUaVo4RDtFU2paOUQsb0ZUaVo4RCxFQUFBO0VDMVNoRTtJRndDQTtNRXJDSSx1V0FBdVcsRUFBQSxFUXZFMVc7RUEvQkQ7SUFDRSxhQUFhO0lBQ2IseUJUd0JlO0lTdkJmLHNCVDJCUTtJUzFCUixtQ1RxQmlCO1lTckJqQiwyQlRxQmlCO0lTbEJmLDJFVHNZNEQ7SVN0WTVELG1FVHNZNEQ7SVN0WTVELDJEVHNZNEQ7SVN0WTVELG9GVHNZNEQsRUFBQTtFU2pZaEU7SUFDRSx5QlRXZ0I7SVNWaEIsbUJUOFgrQixFQUFBO0VTMVhqQztJQUNFLGFBQWEsRUFBQTtFQUdmO0lBQ0UsWUFBWTtJQUNaLHNCQUFzQixFQUFBOztBQ2pDeEI7RUFDRSxxQlY4Qlk7RVU3QloseUJBQStELEVBQUE7RUFFL0Q7SUFDRSxjVjBCVSxFQUFBO0VVM0JaO0lBQ0UsY1YwQlUsRUFBQTtFVTNCWjtJQUNFLGNWMEJVLEVBQUE7RVUzQlo7SUFDRSxjVjBCVSxFQUFBO0VVM0JaO0lBQ0UsY1YwQlUsRUFBQTs7QVVBWjtFQUNFLGNWRFUsRUFBQTs7QVVNZDtFQXpCQSxhQUFhO0VBQ2IsbUJBQWdDO0VBQ2hDLG1CUDhCdUQ7RU81QnZELGtCUDRCdUQ7RU8zQnZELGlCVmdDdUI7RVUvQnZCLGNWYWMsRUFBQTtFVU1kO0lBSUksY0FBYyxFQUFBOztBQzBLbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkUsU0FBUztFQUNULFVBQVUsRUFBQTs7QUFJWjtFQUNFLG1CWG5IMEI7RVdxSDFCLGtCQUFrQjtFQUNsQixnQlh2SHNCO0VXd0h0QixrQ1h0SHlDLEVBQUE7O0FXMEgzQzs7RUFFRSxrQkFBa0I7RUFDbEIsb0JBQW9CLEVBQUE7O0FBSXRCOztFQUVFLGlCWDVNcUI7RVc2TXJCLG9CQUFvQixFQUFBOztBYmxOdEI7RWF1TkUsY1g3SWlCO0VXOElqQixvQkFBb0IsRUFBQTs7QUFJdEI7Ozs7OztFQU1FLHdDZjlTNEM7RWUrUzVDLGtCWGpMc0I7RVdrTHRCLG1CWGhPeUI7RVdpT3pCLGNYakxrQjtFV2tMbEIsa0NYN0pzQyxFQUFBO0VXbUp4Qzs7Ozs7O0lBYUksY0FBYztJQUNkLGNYcFBlLEVBQUE7O0FXNlBiO0VBSUksaUJSdlA2QztFUW1RN0MsZ0JYOU1XO0VXc05YLGFBQWE7RUFPYixxQlg1TmlCLEVBQUE7O0FXNkxyQjtFQUlJLGVSdlA2QztFUW1RN0MsZ0JYOU1XO0VXc05YLGFBQWE7RUFPYixxQlg1TmlCLEVBQUE7O0FXNkxyQjtFQUlJLGlCUnZQNkM7RVFtUTdDLGdCWDlNVztFV3NOWCxhQUFhO0VBT2IscUJYNU5pQixFQUFBOztBVzZMckI7RUFJSSxtQlJ2UDZDO0VRbVE3QyxnQlg5TVc7RVdzTlgsYUFBYTtFQU9iLHFCWDVOaUIsRUFBQTs7QVc2THJCO0VBSUksb0JSdlA2QztFUW1RN0MsZ0JYOU1XO0VXc05YLGFBQWE7RUFPYixxQlg1TmlCLEVBQUE7O0FXNkxyQjtFQUlJLGVSdlA2QztFUW1RN0MsZ0JYOU1XO0VXc05YLGFBQWE7RUFPYixxQlg1TmlCLEVBQUE7O0FZd0J2QjtFRHFLRTtJQUlJLGVSdlA2QyxFQUFBO0VRbVBqRDtJQUlJLGlCUnZQNkMsRUFBQTtFUW1QakQ7SUFJSSxvQlJ2UDZDLEVBQUE7RVFtUGpEO0lBSUksb0JSdlA2QyxFQUFBO0VRbVBqRDtJQUlJLGtCUnZQNkMsRUFBQTtFUW1QakQ7SUFJSSxlUnZQNkMsRUFBQSxFUW9SaEQ7O0FicFRQO0VhMlRFLG9CQUFvQjtFQUNwQixjZmpWZ0I7RWVrVmhCLHFCWHJNeUI7RVd1TXpCLGVBQWUsRUFBQTtFQUxqQjtJQVNJLGNYNU0yRCxFQUFBO0VXbU0vRDtJQWdCSSxTQUFTLEVBQUE7O0FiN1ZiO0VhbVdFLFdBQVc7RUFFWCxrQlJsVHFEO0VRbVRyRCxTQUFTO0VBQ1Qsb0JYeE55QjtFVzBOekIsYUFBYTtFQUNiLGVBQWU7RUFDZixnQ1hsVWlCO0VXbVVqQixjQUFjLEVBQUE7O0FBSWhCOzs7RUFHRSxtQlhuUDBCO0VXb1AxQiw0QlhqT3lCO0VXa096QixnQlh0UHNCLEVBQUE7O0FXMFB4QjtFQUNFLGtCQUFrQixFQUFBOztBQUlwQjtFQUNFLG9CWDNPc0I7RVc0T3RCLHFCWDlPa0IsRUFBQTs7QVdrUHBCO0VBQ0Usb0JYalBzQixFQUFBOztBV3FQeEI7RUFFSSxvQlh0UDJCO0VXdVAzQixnQkFBZ0IsRUFBQTs7QUFLcEI7RUFDRSxtQlg1UHlCLEVBQUE7RVcyUDNCO0lBSUkscUJYN1A4QjtJVzhQOUIsaUJYOVZtQixFQUFBOztBV21XdkI7RUFDRSxnQlg1UjBCO0VXNlIxQixzQ1IxV3FEO0VRMldyRCw4QlhyWGlCLEVBQUE7RVdrWG5CO0lBTUksZ0JYbFNvQjtJV21TcEIsY1h4WGEsRUFBQTs7QVc2WGpCO0VBQ0UsY0FBYztFQUNkLG9CUnRYcUQ7RVF1WHJELGNYaFllLEVBQUE7RVc2WGpCO0lBTUksYVgvUWdCLEVBQWE7O0FXb1JqQztFQUNFLGlDZnRiZ0I7RWV1YmhCLFlBQVk7RUFDWixxQkFBcUIsRUFBQTs7QUFJdkI7RUFDRSxTQUFTLEVBQUE7O0FBSVg7RUFDRSxxQ1I1WXFEO0VROFlyRCx5Qlh4WmlCO0VXeVpqQix5QlgxWmdCO0VXNFpoQiw0RFg5Vm1FO0VXK1ZuRSxtQlg5WXlCO0VXK1l6QixjZnpjZ0IsRUFBQTs7QWU2Y2xCO0VBQ0UsU0FBUztFQUNULDJCUnBaUztFUXNaVCx5Qlh0YWdCO0VXd2FoQiw0RFgxV21FO0VXMlduRSxjZnBkZ0IsRUFBQTs7QWlCYWxCO0VBQ0Usa0JibUt5QjtFYWxLekIscUJibUs0QjtFYWpLNUIsbUJieUN5QjtFYXhDekIsZ0JiNEpzQjtFYTNKdEIsY2IwQmUsRUFBQTs7QWF0QmpCO0VBQ0UsZWJvSnFDO0VhbkpyQyxnQmJvSmlCLEVBQUE7O0FhaEpuQjtFQUNFLGlCYnFKbUI7RWFwSm5CLGNBQWMsRUFBQTtFQUVkO0lB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SixrQkFBa0I7RUFDbEIsU0FIbUQsRUFBQTs7QUw4RS9DO0VLNUVKLGtCQUFrQjtFQUNsQixVQUhtRCxFQUFBOztBTHNGakQ7RUt0REosc0JEckNxRCxFQUFBOztBSnlFakQ7RUd4RkosZ0JDZXFELEVBQUE7O0FKK0UvQztFS3hFSixrQkFBa0I7RUFDbEIsZUFIbUQsRUFBQTs7QUw4RS9DO0VLNUVKLGtCQUFrQjtFQUNsQixnQkFIbUQsRUFBQTs7QUxzRmpEO0VLdERKLGdCRHJDcUQsRUFBQTs7QUp5RWpEO0VHeEZKLGdCQ2VxRCxFQUFBOztBSitFL0M7RUt4RUosa0JBQWtCO0VBQ2xCLGVBSG1ELEVBQUE7O0FMOEUvQztFSzVFSixrQkFBa0I7RUFDbEIsZ0JBSG1ELEVBQUE7O0FMc0ZqRDtFS3RESixzQkRyQ3FELEVBQUE7O0FKeUVqRDtFR3hGSixVQ2VxRCxFQUFBOztBSitFL0M7RUt4RUosa0JBQWtCO0VBQ2xCLFNBSG1ELEVBQUE7O0FMOEUvQztFSzVFSixrQkFBa0I7RUFDbEIsVUFIbUQsRUFBQTs7QUxzRmpEO0VLdERKLHNCRHJDcUQsRUFBQTs7QUp5RWpEO0VHeEZKLGdCQ2VxRCxFQUFBOztBSitFL0M7RUt4RUosa0JBQWtCO0VBQ2xCLGVBSG1ELEVBQUE7O0FMOEUvQztFSzVFSixrQkFBa0I7RUFDbEIsZ0JBSG1ELEVBQUE7O0FMc0ZqRDtFS3RESixnQkRyQ3FELEVBQUE7O0FKeUVqRDtFR3hGSixnQkNlcUQsRUFBQTs7QUorRS9DO0VLeEVKLGtCQUFrQjtFQUNsQixlQUhtRCxFQUFBOztBTDhFL0M7RUs1RUosa0JBQWtCO0VBQ2xCLGdCQUhtRCxFQUFBOztBTHNGakQ7RUt0REosc0JEckNxRCxFQUFBOztBSnlFakQ7RUd4RkosV0NlcUQsRUFBQTs7QUoyRmpEO0VLdERKLHNCRHJDcUQsRUFBQTs7QUprR2pEO0VNekdGLFd2Qm9HdUQ7RXVCbkd2RCxXQUF1QixFQUFBO0VOd0dyQjtJTWpGQSxXQUFXLEVBQUE7RU5pRlg7SU03RUEsV0FBVyxFQUFBO0VONkVYO0lNekVBLFd2Qm9FcUQsRUFBQTs7QWlCS3JEO0VNekdGLFd2Qm9HdUQ7RXVCbkd2RCxVQUF1QixFQUFBO0VOd0dyQjtJTWpGQSxXQUFXLEVBQUE7RU5pRlg7SU03RUEsV0FBVyxFQUFBO0VONkVYO0lNekVBLFd2Qm9FcUQsRUFBQTs7QWlCS3JEO0VNekdGLFd2Qm9HdUQ7RXVCbkd2RCxnQkFBdUIsRUFBQTtFTndHckI7SU1qRkEsV0FBVyxFQUFBO0VOaUZYO0lNN0VBLFdBQVcsRUFBQTtFTjZFWDtJTXpFQSxXdkJvRXFELEVBQUE7O0FpQktyRDtFTXpHRixXdkJvR3VEO0V1Qm5HdkQsVUFBdUIsRUFBQTtFTndHckI7SU1qRkEsV0FBVyxFQUFBO0VOaUZYO0lNN0VBLFdBQVcsRUFBQTtFTjZFWDtJTXpFQSxXdkJvRXFELEVBQUE7O0FpQktyRDtFTXpHRixXdkJvR3VEO0V1Qm5HdkQsVUFBdUIsRUFBQTtFTndHckI7SU1qRkEsV0FBVyxFQUFBO0VOaUZYO0lNN0VBLFdBQVcsRUFBQTtFTjZFWDtJTXpFQSxXdkJvRXFELEVBQUE7O0FpQktyRDtFTXpHRixXdkJvR3VEO0V1Qm5HdkQsZ0JBQXVCLEVBQUE7RU53R3JCO0lNakZBLFdBQVcsRUFBQTtFTmlGWDtJTTdFQSxXQUFXLEVBQUE7RU42RVg7SU16RUEsV3ZCb0VxRCxFQUFBOztBaUJLckQ7RU16R0YsV3ZCb0d1RDtFdUJuR3ZELGdCQUF1QixFQUFBO0VOd0dyQjtJTWpGQSxXQUFXLEVBQUE7RU5pRlg7SU03RUEsV0FBVyxFQUFBO0VONkVYO0lNekVBLFd2Qm9FcUQsRUFBQTs7QWlCS3JEO0VNekdGLFd2Qm9HdUQ7RXVCbkd2RCxZQUF1QixFQUFBO0VOd0dyQjtJTWpGQSxXQUFXLEVBQUE7RU5pRlg7SU03RUEsV0FBVyxFQUFBO0VONkVYO0lNekVBLFd2Qm9FcUQsRUFBQTs7QWlCV3ZEO0VFL0dBLGdCZnVFUztFZXRFVCxlZnNFUyxFQUFBOztBYXdDVDtFQUlJLGVBQWU7RUFDZixjQUFjLEVBQUE7O0FBSWxCO0VBQ0UsZUFBZTtFQUNmLGNBQWMsRUFBQTs7QUFHaEI7RUU3SEEsbUJBRnFDO0VBR3JDLGtCQUhxQyxFQUFBOztBRm9JckM7RUsxR0Esa0JBQWtCO0VBQ2xCLGlCQUFpQixFQUFBO0VBTGpCO0lBQ0UsV0FBVztJQUNYLFdBQVcsRUFBQTs7QUxpSGI7OztFS25HRixnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLGNBQWMsRUFBQTtFQXpDWjs7Ozs7SUFDRSxXdEJzR3FEO0lzQnJHckQsV0FBVyxFQUFBO0VBS1g7OztJQUNFLFl0QmdHb0QsRUFBQTs7QWEyQ3REO0VJaEVBO0lHeEZKLGVDZXFELEVBQUE7RUorRS9DO0lLeEVKLGtCQUFrQjtJQUNsQixjQUhtRCxFQUFBO0VMOEUvQztJSzVFSixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFTHNGakQ7SUt0REosZUR4Q2dDLEVBQUE7RUo0RTVCO0lHeEZKLGdCQ2VxRCxFQUFBO0VKK0UvQztJS3hFSixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFTDhFL0M7SUs1RUosa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VMc0ZqRDtJS3RESixxQkRyQ3FELEVBQUE7RUp5RWpEO0lHeEZKLFVDZXFELEVBQUE7RUorRS9DO0lLeEVKLGtCQUFrQjtJQUNsQixTQUhtRCxFQUFBO0VMOEUvQztJSzVFSixrQkFBa0I7SUFDbEIsVUFIbUQsRUFBQTtFTHNGakQ7SUt0REosc0JEckNxRCxFQUFBO0VKeUVqRDtJR3hGSixnQkNlcUQsRUFBQTtFSitFL0M7SUt4RUosa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RUw4RS9DO0lLNUVKLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFTHNGakQ7SUt0REosZ0JEckNxRCxFQUFBO0VKeUVqRDtJR3hGSixnQkNlcUQsRUFBQTtFSitFL0M7SUt4RUosa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RUw4RS9DO0lLNUVKLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFTHNGakQ7SUt0REosc0JEckNxRCxFQUFBO0VKeUVqRDtJR3hGSixVQ2VxRCxFQUFBO0VKK0UvQztJS3hFSixrQkFBa0I7SUFDbEIsU0FIbUQsRUFBQTtFTDhFL0M7SUs1RUosa0JBQWtCO0lBQ2xCLFVBSG1ELEVBQUE7RUxzRmpEO0lLdERKLHNCRHJDcUQsRUFBQTtFSnlFakQ7SUd4RkosZ0JDZXFELEVBQUE7RUorRS9DO0lLeEVKLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VMOEUvQztJSzVFSixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RUxzRmpEO0lLdERKLGdCRHJDcUQsRUFBQTtFSnlFakQ7SUd4RkosZ0JDZXFELEVBQUE7RUorRS9DO0lLeEVKLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VMOEUvQztJSzVFSixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RUxzRmpEO0lLdERKLHNCRHJDcUQsRUFBQTtFSnlFakQ7SUd4RkosVUNlcUQsRUFBQTtFSitFL0M7SUt4RUosa0JBQWtCO0lBQ2xCLFNBSG1ELEVBQUE7RUw4RS9DO0lLNUVKLGtCQUFrQjtJQUNsQixVQUhtRCxFQUFBO0VMc0ZqRDtJS3RESixzQkRyQ3FELEVBQUE7RUp5RWpEO0lHeEZKLGdCQ2VxRCxFQUFBO0VKK0UvQztJS3hFSixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFTDhFL0M7SUs1RUosa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VMc0ZqRDtJS3RESixnQkRyQ3FELEVBQUE7RUp5RWpEO0lHeEZKLGdCQ2VxRCxFQUFBO0VKK0UvQztJS3hFSixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFTDhFL0M7SUs1RUosa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VMc0ZqRDtJS3RESixzQkRyQ3FELEVBQUE7RUp5RWpEO0lHeEZKLFdDZXFELEVBQUE7RUoyRmpEO0lLdERKLHNCRHJDcUQsRUFBQTtFSmtHakQ7SU16R0YsV3ZCb0d1RDtJdUJuR3ZELFdBQXVCLEVBQUE7SU53R3JCO01NakZBLFdBQVcsRUFBQTtJTmlGWDtNTTdFQSxXQUFXLEVBQUE7SU42RVg7TU16RUEsV3ZCb0VxRCxFQUFBO0VpQktyRDtJTXpHRixXdkJvR3VEO0l1Qm5HdkQsVUFBdUIsRUFBQTtJTndHckI7TU1qRkEsV0FBVyxFQUFBO0lOaUZYO01NN0VBLFdBQVcsRUFBQTtJTjZFWDtNTXpFQSxXdkJvRXFELEVBQUE7RWlCS3JEO0lNekdGLFd2Qm9HdUQ7SXVCbkd2RCxnQkFBdUIsRUFBQTtJTndHckI7TU1qRkEsV0FBVyxFQUFBO0lOaUZYO01NN0VBLFdBQVcsRUFBQTtJTjZFWDtNTXpFQSxXdkJvRXFELEVBQUE7RWlCS3JEO0lNekdGLFd2Qm9HdUQ7SXVCbkd2RCxVQUF1QixFQUFBO0lOd0dyQjtNTWpGQSxXQUFXLEVBQUE7SU5pRlg7TU03RUEsV0FBVyxFQUFBO0lONkVYO01NekVBLFd2Qm9FcUQsRUFBQTtFaUJLckQ7SU16R0YsV3ZCb0d1RDtJdUJuR3ZELFVBQXVCLEVBQUE7SU53R3JCO01NakZBLFdBQVcsRUFBQTtJTmlGWDtNTTdFQSxXQUFXLEVBQUE7SU42RVg7TU16RUEsV3ZCb0VxRCxFQUFBO0VpQktyRDtJTXpHRixXdkJvR3VEO0l1Qm5HdkQsZ0JBQXVCLEVBQUE7SU53R3JCO01NakZBLFdBQVcsRUFBQTtJTmlGWDtNTTdFQSxXQUFXLEVBQUE7SU42RVg7TU16RUEsV3ZCb0VxRCxFQUFBO0VpQktyRDtJTXpHRixXdkJvR3VEO0l1Qm5HdkQsZ0JBQXVCLEVBQUE7SU53R3JCO01NakZBLFdBQVcsRUFBQTtJTmlGWDtNTTdFQSxXQUFXLEVBQUE7SU42RVg7TU16RUEsV3ZCb0VxRCxFQUFBO0VpQktyRDtJTXpHRixXdkJvR3VEO0l1Qm5HdkQsWUFBdUIsRUFBQTtJTndHckI7TU1qRkEsV0FBVyxFQUFBO0lOaUZYO01NN0VBLFdBQVcsRUFBQTtJTjZFWDtNTXpFQSxXdkJvRXFELEVBQUE7RWlCV3ZEO0lFL0dBLGdCZnVFUztJZXRFVCxlZnNFUyxFQUFBO0Vhd0NUO0lBSUksZUFBZTtJQUNmLGNBQWMsRUFBQTtFQUlsQjtJQUNFLGVBQWU7SUFDZixjQUFjLEVBQUE7RUFHaEI7SUU3SEEsbUJBRnFDO0lBR3JDLGtCQUhxQyxFQUFBO0VGb0lyQztJSzFHQSxrQkFBa0I7SUFDbEIsaUJBQWlCLEVBQUE7SUFMakI7TUFDRSxXQUFXO01BQ1gsV0FBVyxFQUFBO0VMaUhiOzs7SUtuR0YsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixjQUFjLEVBQUE7SUF6Q1o7Ozs7O01BQ0UsV3RCc0dxRDtNc0JyR3JELFdBQVcsRUFBQTtJQUtYOzs7TUFDRSxZdEJnR29ELEVBQUEsRXNCL0ZyRDs7QVQwSUQ7RUloRUE7SUd4RkosZUNlcUQsRUFBQTtFSitFL0M7SUt4RUosa0JBQWtCO0lBQ2xCLGNBSG1ELEVBQUE7RUw4RS9DO0lLNUVKLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VMc0ZqRDtJS3RESixlRHhDZ0MsRUFBQTtFSjRFNUI7SUd4RkosZ0JDZXFELEVBQUE7RUorRS9DO0lLeEVKLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VMOEUvQztJSzVFSixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RUxzRmpEO0lLdERKLHFCRHJDcUQsRUFBQTtFSnlFakQ7SUd4RkosVUNlcUQsRUFBQTtFSitFL0M7SUt4RUosa0JBQWtCO0lBQ2xCLFNBSG1ELEVBQUE7RUw4RS9DO0lLNUVKLGtCQUFrQjtJQUNsQixVQUhtRCxFQUFBO0VMc0ZqRDtJS3RESixzQkRyQ3FELEVBQUE7RUp5RWpEO0lHeEZKLGdCQ2VxRCxFQUFBO0VKK0UvQztJS3hFSixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFTDhFL0M7SUs1RUosa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VMc0ZqRDtJS3RESixnQkRyQ3FELEVBQUE7RUp5RWpEO0lHeEZKLGdCQ2VxRCxFQUFBO0VKK0UvQztJS3hFSixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFTDhFL0M7SUs1RUosa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VMc0ZqRDtJS3RESixzQkRyQ3FELEVBQUE7RUp5RWpEO0lHeEZKLFVDZXFELEVBQUE7RUorRS9DO0lLeEVKLGtCQUFrQjtJQUNsQixTQUhtRCxFQUFBO0VMOEUvQztJSzVFSixrQkFBa0I7SUFDbEIsVUFIbUQsRUFBQTtFTHNGakQ7SUt0REosc0JEckNxRCxFQUFBO0VKeUVqRDtJR3hGSixnQkNlcUQsRUFBQTtFSitFL0M7SUt4RUosa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RUw4RS9DO0lLNUVKLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFTHNGakQ7SUt0REosZ0JEckNxRCxFQUFBO0VKeUVqRDtJR3hGSixnQkNlcUQsRUFBQTtFSitFL0M7SUt4RUosa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RUw4RS9DO0lLNUVKLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFTHNGakQ7SUt0REosc0JEckNxRCxFQUFBO0VKeUVqRDtJR3hGSixVQ2VxRCxFQUFBO0VKK0UvQztJS3hFSixrQkFBa0I7SUFDbEIsU0FIbUQsRUFBQTtFTDhFL0M7SUs1RUosa0JBQWtCO0lBQ2xCLFVBSG1ELEVBQUE7RUxzRmpEO0lLdERKLHNCRHJDcUQsRUFBQTtFSnlFakQ7SUd4RkosZ0JDZXFELEVBQUE7RUorRS9DO0lLeEVKLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VMOEUvQztJSzVFSixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RUxzRmpEO0lLdERKLGdCRHJDcUQsRUFBQTtFSnlFakQ7SUd4RkosZ0JDZXFELEVBQUE7RUorRS9DO0lLeEVKLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VMOEUvQztJSzVFSixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RUxzRmpEO0lLdERKLHNCRHJDcUQsRUFBQTtFSnlFakQ7SUd4RkosV0NlcUQsRUFBQTtFSjJGakQ7SUt0REosc0JEckNxRCxFQUFBO0VKa0dqRDtJTXpHRixXdkJvR3VEO0l1Qm5HdkQsV0FBdUIsRUFBQTtJTndHckI7TU1qRkEsV0FBVyxFQUFBO0lOaUZYO01NN0VBLFdBQVcsRUFBQTtJTjZFWDtNTXpFQSxXdkJvRXFELEVBQUE7RWlCS3JEO0lNekdGLFd2Qm9HdUQ7SXVCbkd2RCxVQUF1QixFQUFBO0lOd0dyQjtNTWpGQSxXQUFXLEVBQUE7SU5pRlg7TU03RUEsV0FBVyxFQUFBO0lONkVYO01NekVBLFd2Qm9FcUQsRUFBQTtFaUJLckQ7SU16R0YsV3ZCb0d1RDtJdUJuR3ZELGdCQUF1QixFQUFBO0lOd0dyQjtNTWpGQSxXQUFXLEVBQUE7SU5pRlg7TU03RUEsV0FBVyxFQUFBO0lONkVYO01NekVBLFd2Qm9FcUQsRUFBQTtFaUJLckQ7SU16R0YsV3ZCb0d1RDtJdUJuR3ZELFVBQXVCLEVBQUE7SU53R3JCO01NakZBLFdBQVcsRUFBQTtJTmlGWDtNTTdFQSxXQUFXLEVBQUE7SU42RVg7TU16RUEsV3ZCb0VxRCxFQUFBO0VpQktyRDtJTXpHRixXdkJvR3VEO0l1Qm5HdkQsVUFBdUIsRUFBQTtJTndHckI7TU1qRkEsV0FBVyxFQUFBO0lOaUZYO01NN0VBLFdBQVcsRUFBQTtJTjZFWDtNTXpFQSxXdkJvRXFELEVBQUE7RWlCS3JEO0lNekdGLFd2Qm9HdUQ7SXVCbkd2RCxnQkFBdUIsRUFBQTtJTndHckI7TU1qRkEsV0FBVyxFQUFBO0lOaUZYO01NN0VBLFdBQVcsRUFBQTtJTjZFWDtNTXpFQSxXdkJvRXFELEVBQUE7RWlCS3JEO0lNekdGLFd2Qm9HdUQ7SXVCbkd2RCxnQkFBdUIsRUFBQTtJTndHckI7TU1qRkEsV0FBVyxFQUFBO0lOaUZYO01NN0VBLFdBQVcsRUFBQTtJTjZFWDtNTXpFQSxXdkJvRXFELEVBQUE7RWlCS3JEO0lNekdGLFd2Qm9HdUQ7SXVCbkd2RCxZQUF1QixFQUFBO0lOd0dyQjtNTWpGQSxXQUFXLEVBQUE7SU5pRlg7TU03RUEsV0FBVyxFQUFBO0lONkVYO01NekVBLFd2Qm9FcUQsRUFBQTtFaUJXdkQ7SUUvR0EsZ0JmdUVTO0lldEVULGVmc0VTLEVBQUE7RWF3Q1Q7SUFJSSxlQUFlO0lBQ2YsY0FBYyxFQUFBO0VBSWxCO0lBQ0UsZUFBZTtJQUNmLGNBQWMsRUFBQTtFQUdoQjtJRTdIQSxtQkFGcUM7SUFHckMsa0JBSHFDLEVBQUE7RUZvSXJDO0lLMUdBLGtCQUFrQjtJQUNsQixpQkFBaUIsRUFBQTtJQUxqQjtNQUNFLFdBQVc7TUFDWCxXQUFXLEVBQUE7RUxpSGI7OztJS25HRixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLGNBQWMsRUFBQTtJQXpDWjs7Ozs7TUFDRSxXdEJzR3FEO01zQnJHckQsV0FBVyxFQUFBO0lBS1g7OztNQUNFLFl0QmdHb0QsRUFBQSxFc0IvRnJEOztBVCtJRDtFSXJFQTtJR3hGSixlQ2VxRCxFQUFBO0VKK0UvQztJS3hFSixrQkFBa0I7SUFDbEIsY0FIbUQsRUFBQTtFTDhFL0M7SUs1RUosa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RUxzRmpEO0lLdERKLGVEeENnQyxFQUFBO0VKNEU1QjtJR3hGSixnQkNlcUQsRUFBQTtFSitFL0M7SUt4RUosa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RUw4RS9DO0lLNUVKLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFTHNGakQ7SUt0REoscUJEckNxRCxFQUFBO0VKeUVqRDtJR3hGSixVQ2VxRCxFQUFBO0VKK0UvQztJS3hFSixrQkFBa0I7SUFDbEIsU0FIbUQsRUFBQTtFTDhFL0M7SUs1RUosa0JBQWtCO0lBQ2xCLFVBSG1ELEVBQUE7RUxzRmpEO0lLdERKLHNCRHJDcUQsRUFBQTtFSnlFakQ7SUd4RkosZ0JDZXFELEVBQUE7RUorRS9DO0lLeEVKLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VMOEUvQztJSzVFSixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RUxzRmpEO0lLdERKLGdCRHJDcUQsRUFBQTtFSnlFakQ7SUd4RkosZ0JDZXFELEVBQUE7RUorRS9DO0lLeEVKLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VMOEUvQztJSzVFSixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RUxzRmpEO0lLdERKLHNCRHJDcUQsRUFBQTtFSnlFakQ7SUd4RkosVUNlcUQsRUFBQTtFSitFL0M7SUt4RUosa0JBQWtCO0lBQ2xCLFNBSG1ELEVBQUE7RUw4RS9DO0lLNUVKLGtCQUFrQjtJQUNsQixVQUhtRCxFQUFBO0VMc0ZqRDtJS3RESixzQkRyQ3FELEVBQUE7RUp5RWpEO0lHeEZKLGdCQ2VxRCxFQUFBO0VKK0UvQztJS3hFSixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFTDhFL0M7SUs1RUosa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VMc0ZqRDtJS3RESixnQkRyQ3FELEVBQUE7RUp5RWpEO0lHeEZKLGdCQ2VxRCxFQUFBO0VKK0UvQztJS3hFSixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFTDhFL0M7SUs1RUosa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VMc0ZqRDtJS3RESixzQkRyQ3FELEVBQUE7RUp5RWpEO0lHeEZKLFVDZXFELEVBQUE7RUorRS9DO0lLeEVKLGtCQUFrQjtJQUNsQixTQUhtRCxFQUFBO0VMOEUvQztJSzVFSixrQkFBa0I7SUFDbEIsVUFIbUQsRUFBQTtFTHNGakQ7SUt0REosc0JEckNxRCxFQUFBO0VKeUVqRDtJR3hGSixnQkNlcUQsRUFBQTtFSitFL0M7SUt4RUosa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RUw4RS9DO0lLNUVKLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFTHNGakQ7SUt0REosZ0JEckNxRCxFQUFBO0VKeUVqRDtJR3hGSixnQkNlcUQsRUFBQTtFSitFL0M7SUt4RUosa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RUw4RS9DO0lLNUVKLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFTHNGakQ7SUt0REosc0JEckNxRCxFQUFBO0VKeUVqRDtJR3hGSixXQ2VxRCxFQUFBO0VKMkZqRDtJS3RESixzQkRyQ3FELEVBQUE7RUprR2pEO0lNekdGLFd2Qm9HdUQ7SXVCbkd2RCxXQUF1QixFQUFBO0lOd0dyQjtNTWpGQSxXQUFXLEVBQUE7SU5pRlg7TU03RUEsV0FBVyxFQUFBO0lONkVYO01NekVBLFd2Qm9FcUQsRUFBQTtFaUJLckQ7SU16R0YsV3ZCb0d1RDtJdUJuR3ZELFVBQXVCLEVBQUE7SU53R3JCO01NakZBLFdBQVcsRUFBQTtJTmlGWDtNTTdFQSxXQUFXLEVBQUE7SU42RVg7TU16RUEsV3ZCb0VxRCxFQUFBO0VpQktyRDtJTXpHRixXdkJvR3VEO0l1Qm5HdkQsZ0JBQXVCLEVBQUE7SU53R3JCO01NakZBLFdBQVcsRUFBQTtJTmlGWDtNTTdFQSxXQUFXLEVBQUE7SU42RVg7TU16RUEsV3ZCb0VxRCxFQUFBO0VpQktyRDtJTXpHRixXdkJvR3VEO0l1Qm5HdkQsVUFBdUIsRUFBQTtJTndHckI7TU1qRkEsV0FBVyxFQUFBO0lOaUZYO01NN0VBLFdBQVcsRUFBQTtJTjZFWDtNTXpFQSxXdkJvRXFELEVBQUE7RWlCS3JEO0lNekdGLFd2Qm9HdUQ7SXVCbkd2RCxVQUF1QixFQUFBO0lOd0dyQjtNTWpGQSxXQUFXLEVBQUE7SU5pRlg7TU03RUEsV0FBVyxFQUFBO0lONkVYO01NekVBLFd2Qm9FcUQsRUFBQTtFaUJLckQ7SU16R0YsV3ZCb0d1RDtJdUJuR3ZELGdCQUF1QixFQUFBO0lOd0dyQjtNTWpGQSxXQUFXLEVBQUE7SU5pRlg7TU03RUEsV0FBVyxFQUFBO0lONkVYO01NekVBLFd2Qm9FcUQsRUFBQTtFaUJLckQ7SU16R0YsV3ZCb0d1RDtJdUJuR3ZELGdCQUF1QixFQUFBO0lOd0dyQjtNTWpGQSxXQUFXLEVBQUE7SU5pRlg7TU03RUEsV0FBVyxFQUFBO0lONkVYO01NekVBLFd2Qm9FcUQsRUFBQTtFaUJLckQ7SU16R0YsV3ZCb0d1RDtJdUJuR3ZELFlBQXVCLEVBQUE7SU53R3JCO01NakZBLFdBQVcsRUFBQTtJTmlGWDtNTTdFQSxXQUFXLEVBQUE7SU42RVg7TU16RUEsV3ZCb0VxRCxFQUFBO0VpQld2RDtJRS9HQSxnQmZ1RVM7SWV0RVQsZWZzRVMsRUFBQTtFYXdDVDtJQUlJLGVBQWU7SUFDZixjQUFjLEVBQUE7RUFJbEI7SUFDRSxlQUFlO0lBQ2YsY0FBYyxFQUFBO0VBR2hCO0lFN0hBLG1CQUZxQztJQUdyQyxrQkFIcUMsRUFBQTtFRm9JckM7SUsxR0Esa0JBQWtCO0lBQ2xCLGlCQUFpQixFQUFBO0lBTGpCO01BQ0UsV0FBVztNQUNYLFdBQVcsRUFBQTtFTGlIYjs7O0lLbkdGLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsY0FBYyxFQUFBO0lBekNaOzs7OztNQUNFLFd0QnNHcUQ7TXNCckdyRCxXQUFXLEVBQUE7SUFLWDs7O01BQ0UsWXRCZ0dvRCxFQUFBLEVzQi9GckQ7O0FUK0lEO0VJckVBO0lHeEZKLGVDZXFELEVBQUE7RUorRS9DO0lLeEVKLGtCQUFrQjtJQUNsQixjQUhtRCxFQUFBO0VMOEUvQztJSzVFSixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFTHNGakQ7SUt0REosZUR4Q2dDLEVBQUE7RUo0RTVCO0lHeEZKLGdCQ2VxRCxFQUFBO0VKK0UvQztJS3hFSixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFTDhFL0M7SUs1RUosa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VMc0ZqRDtJS3RESixxQkRyQ3FELEVBQUE7RUp5RWpEO0lHeEZKLFVDZXFELEVBQUE7RUorRS9DO0lLeEVKLGtCQUFrQjtJQUNsQixTQUhtRCxFQUFBO0VMOEUvQztJSzVFSixrQkFBa0I7SUFDbEIsVUFIbUQsRUFBQTtFTHNGakQ7SUt0REosc0JEckNxRCxFQUFBO0VKeUVqRDtJR3hGSixnQkNlcUQsRUFBQTtFSitFL0M7SUt4RUosa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RUw4RS9DO0lLNUVKLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFTHNGakQ7SUt0REosZ0JEckNxRCxFQUFBO0VKeUVqRDtJR3hGSixnQkNlcUQsRUFBQTtFSitFL0M7SUt4RUosa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RUw4RS9DO0lLNUVKLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFTHNGakQ7SUt0REosc0JEckNxRCxFQUFBO0VKeUVqRDtJR3hGSixVQ2VxRCxFQUFBO0VKK0UvQztJS3hFSixrQkFBa0I7SUFDbEIsU0FIbUQsRUFBQTtFTDhFL0M7SUs1RUosa0JBQWtCO0lBQ2xCLFVBSG1ELEVBQUE7RUxzRmpEO0lLdERKLHNCRHJDcUQsRUFBQTtFSnlFakQ7SUd4RkosZ0JDZXFELEVBQUE7RUorRS9DO0lLeEVKLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VMOEUvQztJSzVFSixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RUxzRmpEO0lLdERKLGdCRHJDcUQsRUFBQTtFSnlFakQ7SUd4RkosZ0JDZXFELEVBQUE7RUorRS9DO0lLeEVKLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VMOEUvQztJSzVFSixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RUxzRmpEO0lLdERKLHNCRHJDcUQsRUFBQTtFSnlFakQ7SUd4RkosVUNlcUQsRUFBQTtFSitFL0M7SUt4RUosa0JBQWtCO0lBQ2xCLFNBSG1ELEVBQUE7RUw4RS9DO0lLNUVKLGtCQUFrQjtJQUNsQixVQUhtRCxFQUFBO0VMc0ZqRDtJS3RESixzQkRyQ3FELEVBQUE7RUp5RWpEO0lHeEZKLGdCQ2VxRCxFQUFBO0VKK0UvQztJS3hFSixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFTDhFL0M7SUs1RUosa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VMc0ZqRDtJS3RESixnQkRyQ3FELEVBQUE7RUp5RWpEO0lHeEZKLGdCQ2VxRCxFQUFBO0VKK0UvQztJS3hFSixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFTDhFL0M7SUs1RUosa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VMc0ZqRDtJS3RESixzQkRyQ3FELEVBQUE7RUp5RWpEO0lHeEZKLFdDZXFELEVBQUE7RUoyRmpEO0lLdERKLHNCRHJDcUQsRUFBQTtFSmtHakQ7SU16R0YsV3ZCb0d1RDtJdUJuR3ZELFdBQXVCLEVBQUE7SU53R3JCO01NakZBLFdBQVcsRUFBQTtJTmlGWDtNTTdFQSxXQUFXLEVBQUE7SU42RVg7TU16RUEsV3ZCb0VxRCxFQUFBO0VpQktyRDtJTXpHRixXdkJvR3VEO0l1Qm5HdkQsVUFBdUIsRUFBQTtJTndHckI7TU1qRkEsV0FBVyxFQUFBO0lOaUZYO01NN0VBLFdBQVcsRUFBQTtJTjZFWDtNTXpFQSxXdkJvRXFELEVBQUE7RWlCS3JEO0lNekdGLFd2Qm9HdUQ7SXVCbkd2RCxnQkFBdUIsRUFBQTtJTndHckI7TU1qRkEsV0FBVyxFQUFBO0lOaUZYO01NN0VBLFdBQVcsRUFBQTtJTjZFWDtNTXpFQSxXdkJvRXFELEVBQUE7RWlC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LEVBQUEsRUFFakI7O0FBSUY7RUFFRSxnQkFBZ0IsRUFBQTs7QUFGbEI7RUFNRSxnQkFBZ0IsRUFBQTtFbkRtSVo7SW1EeklOO01BU0csZ0JBQWdCLEVBQUEsRUFFakI7O0FBSUY7RUFFRSxnQkFBZ0IsRUFBQSIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICBQcmUgRm91bmRhdGlvbiBDU1NcclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcblx0VmFyaWFibGVzXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRGb250c1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRDb2xvcnNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0VHlwb2dyYXBoeVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRCdXR0b25zXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdE90aGVyXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi41LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IH1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBtYXJnaW46IDA7IH1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtOyB9XG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwOyB9XG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IH1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBmb250OiBpbmhlcml0OyB9XG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgZm9udC1mYW1pbHk6IG5ldWUtaGFhcy11bmljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMyNjI1Mjc7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMzgsIDM3LCAzOSwgMC4xKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMyNjI1Mjc7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2FjYWNhOyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMjYyNTI3OyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMyNjI1Mjc7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCwgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzI2MjUyNztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMSU7XG4gIGhlaWdodDogMTAwJTsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4gIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICAgIGhlaWdodDogMi40Mzc1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uZmllbGRzZXQge1xuICBtYXJnaW46IDEuMTI1cmVtIDA7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgLmZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMjYyNTI3O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODEzOCwgMTM4LCAxMzglMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M0YjM3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFlZGViOyB9XG4gIC5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsIC5oMSwgLnBhbmVsLS1mZWF0dXJlIC5wYW5lbF9fdGl0bGUsIC5uYXZTbGlkZXIgLm5hdlNsaWRlcl9fdGl0bGUsIC5yZWNpcGVTbGlkZXIgLm5hdlNsaWRlcl9fdGl0bGUsXG5oMiwgLmgyLCAucGFuZWwgLnBhbmVsX190aXRsZSwgLnBhbmVsLS1mZWF0dXJlIC5wYW5lbF9fdGl0bGUsIC5wYW5lbC0tY3RhIC5wYW5lbF9fdGl0bGUsIC5wYW5lbC0tYnViYmxlIC5wYW5lbF9fdGl0bGUsIC5mb3JtIC5mb3JtX190aXRsZSxcbmgzLCAuaDMsIC5zaWdudXAgLnNpZ251cF9fdGV4dCxcbmg0LCAuaDQsIC5pbmZvZ3JhcGhpYyAuaW5mb2dyYXBoaWNfX3RpdGxlLCAuZm9ybSAuZm9ybV9fc3RlcCxcbmg1LCAuaDUsXG5oNiwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IG5ldWUtaGFhcy11bmljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCwgLmgxIHNtYWxsLCAucGFuZWwtLWZlYXR1cmUgLnBhbmVsX190aXRsZSBzbWFsbCwgLm5hdlNsaWRlciAubmF2U2xpZGVyX190aXRsZSBzbWFsbCwgLnJlY2lwZVNsaWRlciAubmF2U2xpZGVyX190aXRsZSBzbWFsbCxcbiAgaDIgc21hbGwsIC5oMiBzbWFsbCwgLnBhbmVsIC5wYW5lbF9fdGl0bGUgc21hbGwsIC5wYW5lbC0tZmVhdHVyZSAucGFuZWxfX3RpdGxlIHNtYWxsLCAucGFuZWwtLWN0YSAucGFuZWxfX3RpdGxlIHNtYWxsLCAucGFuZWwtLWJ1YmJsZSAucGFuZWxfX3RpdGxlIHNtYWxsLCAuZm9ybSAuZm9ybV9fdGl0bGUgc21hbGwsXG4gIGgzIHNtYWxsLCAuaDMgc21hbGwsIC5zaWdudXAgLnNpZ251cF9fdGV4dCBzbWFsbCxcbiAgaDQgc21hbGwsIC5oNCBzbWFsbCwgLmluZm9ncmFwaGljIC5pbmZvZ3JhcGhpY19fdGl0bGUgc21hbGwsIC5mb3JtIC5mb3JtX19zdGVwIHNtYWxsLFxuICBoNSBzbWFsbCwgLmg1IHNtYWxsLFxuICBoNiBzbWFsbCwgLmg2IHNtYWxsIHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogI2NhY2FjYTsgfVxuXG5oMSwgLmgxLCAucGFuZWwtLWZlYXR1cmUgLnBhbmVsX190aXRsZSwgLm5hdlNsaWRlciAubmF2U2xpZGVyX190aXRsZSwgLnJlY2lwZVNsaWRlciAubmF2U2xpZGVyX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDIsIC5oMiwgLnBhbmVsIC5wYW5lbF9fdGl0bGUsIC5wYW5lbC0tZmVhdHVyZSAucGFuZWxfX3RpdGxlLCAucGFuZWwtLWN0YSAucGFuZWxfX3RpdGxlLCAucGFuZWwtLWJ1YmJsZSAucGFuZWxfX3RpdGxlLCAuZm9ybSAuZm9ybV9fdGl0bGUge1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMywgLmgzLCAuc2lnbnVwIC5zaWdudXBfX3RleHQge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg0LCAuaDQsIC5pbmZvZ3JhcGhpYyAuaW5mb2dyYXBoaWNfX3RpdGxlLCAuZm9ybSAuZm9ybV9fc3RlcCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDEsIC5oMSwgLnBhbmVsLS1mZWF0dXJlIC5wYW5lbF9fdGl0bGUsIC5uYXZTbGlkZXIgLm5hdlNsaWRlcl9fdGl0bGUsIC5yZWNpcGVTbGlkZXIgLm5hdlNsaWRlcl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiwgLmgyLCAucGFuZWwgLnBhbmVsX190aXRsZSwgLnBhbmVsLS1mZWF0dXJlIC5wYW5lbF9fdGl0bGUsIC5wYW5lbC0tY3RhIC5wYW5lbF9fdGl0bGUsIC5wYW5lbC0tYnViYmxlIC5wYW5lbF9fdGl0bGUsIC5mb3JtIC5mb3JtX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgaDMsIC5oMywgLnNpZ251cCAuc2lnbnVwX190ZXh0IHtcbiAgICBmb250LXNpemU6IDEuOTM3NXJlbTsgfVxuICBoNCwgLmg0LCAuaW5mb2dyYXBoaWMgLmluZm9ncmFwaGljX190aXRsZSwgLmZvcm0gLmZvcm1fX3N0ZXAge1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9XG4gIGg1LCAuaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBoNiwgLmg2IHtcbiAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjM2U0MDk2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzM1Mzc4MTsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogODcuNXJlbTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzhhOGE4YTsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzhhOGE4YTsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJQgXCI7IH1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMyNjI1Mjc7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5jb2RlIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMjYyNTI3OyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMyNjI1Mjc7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzhhOGE4YTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueGxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC54bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAueGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC54eGxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC54eGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnh4bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICBhW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bzsgfSB9XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IDg3LjVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnJvdzo6YmVmb3JlLCAucm93OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5yb3c6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucm93IC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTFyZW07IH0gfVxuICAgIC5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAucm93LmV4cGFuZGVkIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgICAucm93LmV4cGFuZGVkIC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnJvdzpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLnJvdy5ndXR0ZXItc21hbGwgPiAuY29sdW1uLCAucm93Lmd1dHRlci1zbWFsbCA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAucm93Lmd1dHRlci1tZWRpdW0gPiAuY29sdW1uLCAucm93Lmd1dHRlci1tZWRpdW0gPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cblxuLmNvbHVtbiwgLmNvbHVtbnMge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuICAuY29sdW1uLCAuY29sdW1ucywgLmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAuY29sdW1uczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuY29sdW1uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuY29sdW1uLmVuZDpsYXN0LWNoaWxkOmxhc3QtY2hpbGQsIC5lbmQuY29sdW1uczpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lOyB9XG5cbi5yb3cgLmNvbHVtbi5yb3cucm93LCAucm93IC5yb3cucm93LmNvbHVtbnMge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0xNi42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtcHVzaC0zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAyNSU7IH1cblxuLnNtYWxsLXB1bGwtMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTI1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTMzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC01IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTQxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtcHVzaC02IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7IH1cblxuLnNtYWxsLXB1bGwtNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTUwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC03IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTU4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC04IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtOCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTY2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uc21hbGwtcHVzaC05IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA3NSU7IH1cblxuLnNtYWxsLXB1bGwtOSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTc1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMTAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC0xMCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTgzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC0xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTIgPiAuY29sdW1uLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTUgPiAuY29sdW1uLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyMCU7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTggPiAuY29sdW1uLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMi41JTsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uc21hbGwtY29sbGFwc2UgLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmV4cGFuZGVkLnJvdyAuc21hbGwtY29sbGFwc2Uucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cblxuLnNtYWxsLWNlbnRlcmVkIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAuc21hbGwtY2VudGVyZWQsIC5zbWFsbC1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4uc21hbGwtdW5jZW50ZXJlZCxcbi5zbWFsbC1wdXNoLTAsXG4uc21hbGwtcHVsbC0wIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtdW5jZW50ZXJlZCwgLnNtYWxsLXVuY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgLnNtYWxsLXB1c2gtMCxcbiAgLnNtYWxsLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAuc21hbGwtcHVsbC0wLFxuICAuc21hbGwtcHVsbC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11bmNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gIC5zbWFsbC1wdXNoLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgLnNtYWxsLXB1bGwtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlOyB9XG4gIC5tZWRpdW0tcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlOyB9XG4gIC5tZWRpdW0tcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTIgPiAuY29sdW1uLCAubWVkaXVtLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTMgPiAuY29sdW1uLCAubWVkaXVtLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTQgPiAuY29sdW1uLCAubWVkaXVtLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTUgPiAuY29sdW1uLCAubWVkaXVtLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTYgPiAuY29sdW1uLCAubWVkaXVtLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTcgPiAuY29sdW1uLCAubWVkaXVtLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTggPiAuY29sdW1uLCAubWVkaXVtLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5tZWRpdW0tY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLm1lZGl1bS1jb2xsYXBzZS5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgLm1lZGl1bS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLm1lZGl1bS1jZW50ZXJlZCwgLm1lZGl1bS1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS11bmNlbnRlcmVkLFxuICAubWVkaXVtLXB1c2gtMCxcbiAgLm1lZGl1bS1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS11bmNlbnRlcmVkLCAubWVkaXVtLXVuY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAubWVkaXVtLXB1c2gtMCxcbiAgICAubWVkaXVtLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgIC5tZWRpdW0tcHVsbC0wLFxuICAgIC5tZWRpdW0tcHVsbC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdW5jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgIC5tZWRpdW0tcHVzaC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgLm1lZGl1bS1wdWxsLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC5sYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC5sYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY29sdW1uLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubGFyZ2UtY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLmxhcmdlLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgLmxhcmdlLWNlbnRlcmVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAubGFyZ2UtY2VudGVyZWQsIC5sYXJnZS1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLXVuY2VudGVyZWQsXG4gIC5sYXJnZS1wdXNoLTAsXG4gIC5sYXJnZS1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLXVuY2VudGVyZWQsIC5sYXJnZS11bmNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgLmxhcmdlLXB1c2gtMCxcbiAgICAubGFyZ2UtcHVzaC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgLmxhcmdlLXB1bGwtMCxcbiAgICAubGFyZ2UtcHVsbC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11bmNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgLmxhcmdlLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgIC5sYXJnZS1wdWxsLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAueGxhcmdlLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAueGxhcmdlLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTguMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAueGxhcmdlLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODMuMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLXVwLTEgPiAuY29sdW1uLCAueGxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAueGxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnhsYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnhsYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLnhsYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueGxhcmdlLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54bGFyZ2UtdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnhsYXJnZS11cC0yID4gLmNvbHVtbiwgLnhsYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAueGxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnhsYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnhsYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLnhsYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueGxhcmdlLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54bGFyZ2UtdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnhsYXJnZS11cC0zID4gLmNvbHVtbiwgLnhsYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAueGxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnhsYXJnZS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnhsYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLnhsYXJnZS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueGxhcmdlLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54bGFyZ2UtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnhsYXJnZS11cC00ID4gLmNvbHVtbiwgLnhsYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgICAueGxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnhsYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnhsYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLnhsYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueGxhcmdlLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54bGFyZ2UtdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnhsYXJnZS11cC01ID4gLmNvbHVtbiwgLnhsYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgICAueGxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnhsYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnhsYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLnhsYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueGxhcmdlLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54bGFyZ2UtdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnhsYXJnZS11cC02ID4gLmNvbHVtbiwgLnhsYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAueGxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnhsYXJnZS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnhsYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLnhsYXJnZS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueGxhcmdlLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54bGFyZ2UtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnhsYXJnZS11cC03ID4gLmNvbHVtbiwgLnhsYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgICAueGxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnhsYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnhsYXJnZS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLnhsYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueGxhcmdlLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54bGFyZ2UtdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnhsYXJnZS11cC04ID4gLmNvbHVtbiwgLnhsYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAgIC54bGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueGxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueGxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAueGxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54bGFyZ2UtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnhsYXJnZS11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLnhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAueGxhcmdlLWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZXhwYW5kZWQucm93IC54bGFyZ2UtY29sbGFwc2Uucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC54bGFyZ2UtY2VudGVyZWQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC54bGFyZ2UtY2VudGVyZWQsIC54bGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC54bGFyZ2UtdW5jZW50ZXJlZCxcbiAgLnhsYXJnZS1wdXNoLTAsXG4gIC54bGFyZ2UtcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54bGFyZ2UtdW5jZW50ZXJlZCwgLnhsYXJnZS11bmNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgLnhsYXJnZS1wdXNoLTAsXG4gICAgLnhsYXJnZS1wdXNoLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAueGxhcmdlLXB1bGwtMCxcbiAgICAueGxhcmdlLXB1bGwtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueGxhcmdlLXVuY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAueGxhcmdlLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgIC54bGFyZ2UtcHVsbC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlOyB9XG4gIC54eGxhcmdlLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlOyB9XG4gIC54eGxhcmdlLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlOyB9XG4gIC54eGxhcmdlLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLXB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLXVwLTEgPiAuY29sdW1uLCAueHhsYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnh4bGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueHhsYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnh4bGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC54eGxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54eGxhcmdlLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54eGxhcmdlLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC54eGxhcmdlLXVwLTIgPiAuY29sdW1uLCAueHhsYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAueHhsYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC54eGxhcmdlLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueHhsYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLnh4bGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnh4bGFyZ2UtdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnh4bGFyZ2UtdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnh4bGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC54eGxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnh4bGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC54eGxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAueHhsYXJnZS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueHhsYXJnZS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAueHhsYXJnZS11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueHhsYXJnZS11cC00ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLnh4bGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueHhsYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnh4bGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC54eGxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54eGxhcmdlLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54eGxhcmdlLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC54eGxhcmdlLXVwLTUgPiAuY29sdW1uLCAueHhsYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgICAueHhsYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC54eGxhcmdlLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueHhsYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLnh4bGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnh4bGFyZ2UtdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnh4bGFyZ2UtdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnh4bGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC54eGxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnh4bGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC54eGxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAueHhsYXJnZS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueHhsYXJnZS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAueHhsYXJnZS11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueHhsYXJnZS11cC03ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLnh4bGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueHhsYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnh4bGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC54eGxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54eGxhcmdlLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54eGxhcmdlLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC54eGxhcmdlLXVwLTggPiAuY29sdW1uLCAueHhsYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAgIC54eGxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnh4bGFyZ2UtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC54eGxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAueHhsYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueHhsYXJnZS11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAueHhsYXJnZS11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueHhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC54eGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC54eGxhcmdlLWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZXhwYW5kZWQucm93IC54eGxhcmdlLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC54eGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAueHhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC54eGxhcmdlLWNlbnRlcmVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAueHhsYXJnZS1jZW50ZXJlZCwgLnh4bGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC54eGxhcmdlLXVuY2VudGVyZWQsXG4gIC54eGxhcmdlLXB1c2gtMCxcbiAgLnh4bGFyZ2UtcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54eGxhcmdlLXVuY2VudGVyZWQsIC54eGxhcmdlLXVuY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAueHhsYXJnZS1wdXNoLTAsXG4gICAgLnh4bGFyZ2UtcHVzaC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgLnh4bGFyZ2UtcHVsbC0wLFxuICAgIC54eGxhcmdlLXB1bGwtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueHhsYXJnZS11bmNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgLnh4bGFyZ2UtcHVzaC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgLnh4bGFyZ2UtcHVsbC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLmNvbHVtbi1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbHVtbi1ibG9jayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgICAuY29sdW1uLWJsb2NrID4gOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLmhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjOGE4YThhO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDAuNjQ5NXJlbSk7XG4gIHotaW5kZXg6IDEyMDA7XG4gIG1heC13aWR0aDogMTByZW07XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNjI1Mjc7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBjb2xvcjogI2ZmZjsgfVxuICAudG9vbHRpcDo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLnRvb2x0aXAuYm90dG9tOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMyNjI1Mjc7XG4gICAgYm90dG9tOiAxMDAlOyB9XG4gIC50b29sdGlwLmJvdHRvbS5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzI2MjUyNyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvOyB9XG4gIC50b29sdGlwLnRvcC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC5sZWZ0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMyNjI1Mjc7XG4gICAgbGVmdDogMTAwJTsgfVxuICAudG9vbHRpcC5sZWZ0LmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC50b29sdGlwLnJpZ2h0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyNjI1MjcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAudG9vbHRpcC5yaWdodC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlOyB9XG4gIC50b29sdGlwLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87IH1cbiAgLnRvb2x0aXAuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnRvb2x0aXAuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLnRhYnM6OmJlZm9yZSwgLnRhYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnRhYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4udGFicy52ZXJ0aWNhbCA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bzsgfVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLnNpbXBsZSA+IGxpID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMxNzc5YmE7IH1cbiAgLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxNjczYjE7IH1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDsgfVxuICAudGFicy10aXRsZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAudGFicy10aXRsZSA+IGEge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgY29sb3I6ICMxNDY4YTA7IH1cbiAgICAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgICAgIGNvbG9yOiAjMTc3OWJhOyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzI2MjUyNztcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsgfVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4uY2xlYXJmaXg6OmJlZm9yZSwgLmNsZWFyZml4OjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7IH1cblxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtYXgtd2lkdGg6IDg5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45OTg3NWVtKSB7XG4gIC5zaG93LWZvci14eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0U2l0ZSBTdHlsZXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG5cdFNpdGUgU3R5bGVzXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0R2xvYmFsXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcblx0VXRpbGl0aWVzXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcblx0Rm9udHNcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRUeXBvZ3JhcGh5XHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuaDEsIC5oMSwgLnBhbmVsLS1mZWF0dXJlIC5wYW5lbF9fdGl0bGUsIC5uYXZTbGlkZXIgLm5hdlNsaWRlcl9fdGl0bGUsIC5yZWNpcGVTbGlkZXIgLm5hdlNsaWRlcl9fdGl0bGUsIGgyLCAuaDIsIC5wYW5lbCAucGFuZWxfX3RpdGxlLCAucGFuZWwtLWZlYXR1cmUgLnBhbmVsX190aXRsZSwgLnBhbmVsLS1jdGEgLnBhbmVsX190aXRsZSwgLnBhbmVsLS1idWJibGUgLnBhbmVsX190aXRsZSwgLmZvcm0gLmZvcm1fX3RpdGxlLCBoMywgLmgzLCAuc2lnbnVwIC5zaWdudXBfX3RleHQge1xuICBmb250LXdlaWdodDogODAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjVweDtcbiAgY29sb3I6ICMwMzFmNzM7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGgxLCAuaDEsIC5wYW5lbC0tZmVhdHVyZSAucGFuZWxfX3RpdGxlLCAubmF2U2xpZGVyIC5uYXZTbGlkZXJfX3RpdGxlLCAucmVjaXBlU2xpZGVyIC5uYXZTbGlkZXJfX3RpdGxlLCBoMiwgLmgyLCAucGFuZWwgLnBhbmVsX190aXRsZSwgLnBhbmVsLS1mZWF0dXJlIC5wYW5lbF9fdGl0bGUsIC5wYW5lbC0tY3RhIC5wYW5lbF9fdGl0bGUsIC5wYW5lbC0tYnViYmxlIC5wYW5lbF9fdGl0bGUsIC5mb3JtIC5mb3JtX190aXRsZSwgaDMsIC5oMywgLnNpZ251cCAuc2lnbnVwX190ZXh0IHtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMXB4OyB9IH1cblxuaDQsIC5oNCwgLmluZm9ncmFwaGljIC5pbmZvZ3JhcGhpY19fdGl0bGUsIC5mb3JtIC5mb3JtX19zdGVwIHtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzAzMWY3MztcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGg0LCAuaDQsIC5pbmZvZ3JhcGhpYyAuaW5mb2dyYXBoaWNfX3RpdGxlLCAuZm9ybSAuZm9ybV9fc3RlcCB7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4yOyB9IH1cblxuaDMsIC5oMywgLnNpZ251cCAuc2lnbnVwX190ZXh0IHtcbiAgZm9udC1zaXplOiAzMnB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgaDMsIC5oMywgLnNpZ251cCAuc2lnbnVwX190ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogNTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE0OyB9IH1cblxuaDIsIC5oMiwgLnBhbmVsIC5wYW5lbF9fdGl0bGUsIC5wYW5lbC0tZmVhdHVyZSAucGFuZWxfX3RpdGxlLCAucGFuZWwtLWN0YSAucGFuZWxfX3RpdGxlLCAucGFuZWwtLWJ1YmJsZSAucGFuZWxfX3RpdGxlLCAuZm9ybSAuZm9ybV9fdGl0bGUge1xuICBmb250LXNpemU6IDMycHg7XG4gIGNvbG9yOiAjMDMxZjczOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgaDIsIC5oMiwgLnBhbmVsIC5wYW5lbF9fdGl0bGUsIC5wYW5lbC0tZmVhdHVyZSAucGFuZWxfX3RpdGxlLCAucGFuZWwtLWN0YSAucGFuZWxfX3RpdGxlLCAucGFuZWwtLWJ1YmJsZSAucGFuZWxfX3RpdGxlLCAuZm9ybSAuZm9ybV9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTM7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgaDIsIC5oMiwgLnBhbmVsIC5wYW5lbF9fdGl0bGUsIC5wYW5lbC0tZmVhdHVyZSAucGFuZWxfX3RpdGxlLCAucGFuZWwtLWN0YSAucGFuZWxfX3RpdGxlLCAucGFuZWwtLWJ1YmJsZSAucGFuZWxfX3RpdGxlLCAuZm9ybSAuZm9ybV9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiA2NHB4OyB9IH1cblxuaDEsIC5oMSwgLnBhbmVsLS1mZWF0dXJlIC5wYW5lbF9fdGl0bGUsIC5uYXZTbGlkZXIgLm5hdlNsaWRlcl9fdGl0bGUsIC5yZWNpcGVTbGlkZXIgLm5hdlNsaWRlcl9fdGl0bGUge1xuICBmb250LXNpemU6IDQwcHg7XG4gIGNvbG9yOiAjMDMxZjczOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgaDEsIC5oMSwgLnBhbmVsLS1mZWF0dXJlIC5wYW5lbF9fdGl0bGUsIC5uYXZTbGlkZXIgLm5hdlNsaWRlcl9fdGl0bGUsIC5yZWNpcGVTbGlkZXIgLm5hdlNsaWRlcl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiA1NXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTE7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgaDEsIC5oMSwgLnBhbmVsLS1mZWF0dXJlIC5wYW5lbF9fdGl0bGUsIC5uYXZTbGlkZXIgLm5hdlNsaWRlcl9fdGl0bGUsIC5yZWNpcGVTbGlkZXIgLm5hdlNsaWRlcl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiA2NXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIGgxLCAuaDEsIC5wYW5lbC0tZmVhdHVyZSAucGFuZWxfX3RpdGxlLCAubmF2U2xpZGVyIC5uYXZTbGlkZXJfX3RpdGxlLCAucmVjaXBlU2xpZGVyIC5uYXZTbGlkZXJfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogNzJweDsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG5cdENvbW1vbiBTdHlsZXNcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5odG1sLCBib2R5IHtcbiAgbWluLXdpZHRoOiAzNjBweDtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7IH1cblxuYm9keSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzM7IH1cblxubWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2Y5ZjlmYTtcbiAgcGFkZGluZy10b3A6IDE2cHg7IH1cbiAgbWFpbiAubWFpbl9fb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0LCAyNSwgMjksIDAuOCk7XG4gICAgei1pbmRleDogNTAwMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDMycHg7IH0gfVxuXG4uaGFzLXRpcCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDBjMGI1O1xuICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0TWVudVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLm1lbnUsIC5tZW51LS12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwOyB9XG4gIC5tZW51IGxpLCAubWVudS0tdmVydGljYWwgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ubWVudS0tdmVydGljYWwgbGkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdFNlY3Rpb25zXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKnNlY3Rpb24ge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRwYWRkaW5nLXRvcDogMTZweDtcclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdHNlY3Rpb24ge1xyXG5cdFx0cGFkZGluZy10b3A6IDMycHg7XHJcblx0fVxyXG59Ki9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0TWVtYmVyIEFyZWFcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5tZW1iZXJBcmVhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA1cHggMCAxOXB4O1xuICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDBjMGI1OyB9XG4gIC5tZW1iZXJBcmVhIC5tZW1iZXJBcmVhX190ZXh0IHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMDE4NzdjO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLm1lbWJlckFyZWEgLm1lbWJlckFyZWFfX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDNweDtcbiAgICByaWdodDogMTZweDtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyOCAyOCclM0UlM0NwYXRoIGZpbGw9JyUyMzAxODc3Yycgc3Ryb2tlPSd0cmFuc3BhcmVudCcgc3Ryb2tlLXdpZHRoPScwJyBkPSdNMTQsMEExNCwxNCwwLDEsMCwyOCwxNCwxNCwxNCwwLDAsMCwxNCwwWm0wLDEuMTlhMTIuODIsMTIuODIsMCwwLDEsOS40OCwyMS40NCwxMC4xNCwxMC4xNCwwLDAsMC0xOSwwQTEyLjgyLDEyLjgyLDAsMCwxLDE0LDEuMTlabTAsM2E1LjM2LDUuMzYsMCwxLDAsNS4zNiw1LjM2QTUuMzcsNS4zNywwLDAsMCwxNCw0LjE3Wm0wLDEuMTlBNC4xNyw0LjE3LDAsMSwxLDkuODMsOS41Myw0LjE2LDQuMTYsMCwwLDEsMTQsNS4zNlptMCwxMS45MmE4LjkyLDguOTIsMCwwLDEsOC41NCw2LjI3LDEyLjgyLDEyLjgyLDAsMCwxLTE3LjA4LDBBOC45Miw4LjkyLDAsMCwxLDE0LDE3LjI4WicgLyUzRSUzQy9zdmclM0VcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tZW1iZXJBcmVhIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzM7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tYm90dG9tOiA2NnB4O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH0gfVxuXG4vKiBTVE9QIFRIRSBTUFJFQUQgKi9cbi5TdG9wVGhlU3ByZWFkTWFpbiB7XG4gIG1pbi1oZWlnaHQ6IDQ5NXB4OyB9XG4gIC5TdG9wVGhlU3ByZWFkTWFpbiAuYnV0dG9uLCAuU3RvcFRoZVNwcmVhZE1haW4gLlJlZ2lzdGVyQnV0dG9uIHtcbiAgICBtaW4td2lkdGg6IHVuc2V0OyB9XG4gIC5TdG9wVGhlU3ByZWFkTWFpbiBoMiB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgLlN0b3BUaGVTcHJlYWRNYWluIC5JbWdXcml0ZU1lc3NhZ2Uge1xuICAgIHdpZHRoOiA2NXB4OyB9XG4gIC5TdG9wVGhlU3ByZWFkTWFpbiAuTGVhdmVNZXNzYWdlSG9sZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTliMGE4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDQwcHggNDBweCA0MHB4IDQwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLlN0b3BUaGVTcHJlYWRNYWluIC5MZWF2ZU1lc3NhZ2VIb2xkZXIgLmltYWdlV3JpdGUge1xuICAgICAgd2lkdGg6IDY1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDMycHgpO1xuICAgICAgdG9wOiAtMjVweDsgfVxuICAuU3RvcFRoZVNwcmVhZE1haW4gLkxlYXZlTWVzc2FnZUhvbGRlcklubmVyIHtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgLlN0b3BUaGVTcHJlYWRNYWluIC5MZWF2ZU1lc3NhZ2VIb2xkZXJJbm5lciBwIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgLlN0b3BUaGVTcHJlYWRNYWluIC5MZWF2ZU1lc3NhZ2VIb2xkZXJJbm5lciAuU3ByZWFkSW5wdXQge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLlN0b3BUaGVTcHJlYWRNYWluIC5MZWF2ZU1lc3NhZ2VIb2xkZXJJbm5lciAuYnV0dG9uLCAuU3RvcFRoZVNwcmVhZE1haW4gLkxlYXZlTWVzc2FnZUhvbGRlcklubmVyIC5SZWdpc3RlckJ1dHRvbiB7XG4gICAgICBjb2xvcjogIzU5YjBhODtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBwYWRkaW5nOiA3cHggNTBweCAxMnB4IDUwcHg7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuXG4uU3RvcFRoZVNwcmVhZENvdW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgcGFkZGluZzogNTBweDtcbiAgY29sb3I6ICMwMDg2N2M7IH1cbiAgLlN0b3BUaGVTcHJlYWRDb3VudCBoMiB7XG4gICAgY29sb3I6ICMwMDg2N2M7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgLlN0b3BUaGVTcHJlYWRDb3VudCAuYnV0dG9uLCAuU3RvcFRoZVNwcmVhZENvdW50IC5SZWdpc3RlckJ1dHRvbiB7XG4gICAgcGFkZGluZzogN3B4IDUwcHggMTJweCA1MHB4O1xuICAgIG1pbi13aWR0aDogMjQwcHg7IH1cbiAgLlN0b3BUaGVTcHJlYWRDb3VudCAuUmVhZE1lc3NhZ2VIb2xkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1OWIwYTg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogNDBweCA0MHB4IDQwcHggNDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuU3RvcFRoZVNwcmVhZENvdW50IC5SZWFkTWVzc2FnZUhvbGRlciAuUmVhZEJ1YmJsZSB7XG4gICAgICB3aWR0aDogODVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMzJweCk7XG4gICAgICB0b3A6IC0zN3B4OyB9XG4gIC5TdG9wVGhlU3ByZWFkQ291bnQgLlJlYWRNZXNzYWdlSG9sZGVySW5uZXIge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuU3RvcFRoZVNwcmVhZENvdW50IC5SZWFkTWVzc2FnZUhvbGRlcklubmVyIC5idXR0b24sIC5TdG9wVGhlU3ByZWFkQ291bnQgLlJlYWRNZXNzYWdlSG9sZGVySW5uZXIgLlJlZ2lzdGVyQnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBjb2xvcjogIzAwODY3YztcbiAgICAgIHBhZGRpbmc6IDdweCA1MHB4IDEycHggNTBweDtcbiAgICAgIG1pbi13aWR0aDogMjQwcHg7IH1cbiAgICAuU3RvcFRoZVNwcmVhZENvdW50IC5SZWFkTWVzc2FnZUhvbGRlcklubmVyIC5jbG9zZWJveCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5TdG9wVGhlU3ByZWFkQ291bnQgLlJlYWRNZXNzYWdlSG9sZGVySW5uZXIgLlJlYWRUaXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuICAgIC5TdG9wVGhlU3ByZWFkQ291bnQgLlJlYWRNZXNzYWdlSG9sZGVySW5uZXIgLlJlYWRRdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWRkMmNlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiA0MHB4IDQwcHggNDBweCA0MHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuU3RvcFRoZVNwcmVhZENvdW50IC5SZWFkTWVzc2FnZUhvbGRlcklubmVyIC5SZWFkUXVvdGUgLlJlYWRRdW90ZUNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAzMHB4OyB9XG4gICAgICAuU3RvcFRoZVNwcmVhZENvdW50IC5SZWFkTWVzc2FnZUhvbGRlcklubmVyIC5SZWFkUXVvdGUgLlNwZWVjaEJ1YmJsZSB7XG4gICAgICAgIHdpZHRoOiA2NXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMzJweCk7XG4gICAgICAgIGJvdHRvbTogLTMzcHg7IH1cblxuLlN0b3BUaGVTcHJlYWRDYXJvdXNlbEl0ZW0ge1xuICBoZWlnaHQ6IDMwMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyOyB9XG5cbi5TdG9wVGhlU3ByZWFkQ2Fyb3VzZWxDb3B5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwcHg7XG4gIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDUwcHg7IH1cblxuLlN0b3BUaGVTcHJlYWRDYXJvdXNlbFN1YiB7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4uTG9nb0FuaW1hdGlvbiBzdmcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDQwMHB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5TdG9wVGhlU3ByZWFkQ2Fyb3VzZWxJdGVtIHtcbiAgICBoZWlnaHQ6IDMwMHB4OyB9IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRQbHVnaW5zXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBTbGlkZXIgKi9cbi5zbGljay1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnNsaWNrLWxpc3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLnNsaWNrLWxpc3QuZHJhZ2dpbmcge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjdXJzb3I6IGhhbmQ7IH1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zbGljay10cmFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuc2xpY2stdHJhY2s6YmVmb3JlLCAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2sge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpY2stc2xpZGUge1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuc2xpY2stc2xpZGUgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZyB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLWxpc3Qge1xuICBiYWNrZ3JvdW5kOiAjZmZmIHVybChcIi4vYWpheC1sb2FkZXIuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0OyB9XG5cbi8qIEljb25zICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgc3JjOiB1cmwoXCIuL2ZvbnRzL3NsaWNrLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuL2ZvbnRzL3NsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4vZm9udHMvc2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuL2ZvbnRzL3NsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi9mb250cy9zbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLyogQXJyb3dzICovXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDBweDtcbiAgZm9udC1zaXplOiAwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stcHJldjpob3ZlciwgLnNsaWNrLXByZXY6Zm9jdXMsXG4gIC5zbGljay1uZXh0OmhvdmVyLFxuICAuc2xpY2stbmV4dDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuc2xpY2stcHJldjpob3ZlcjpiZWZvcmUsIC5zbGljay1wcmV2OmZvY3VzOmJlZm9yZSxcbiAgICAuc2xpY2stbmV4dDpob3ZlcjpiZWZvcmUsXG4gICAgLnNsaWNrLW5leHQ6Zm9jdXM6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLnNsaWNrLXByZXYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlLFxuICAuc2xpY2stbmV4dC5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDAuMjU7IH1cbiAgLnNsaWNrLXByZXY6YmVmb3JlLFxuICAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBvcGFjaXR5OiAwLjc1O1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLnNsaWNrLXByZXYge1xuICBsZWZ0OiAtMjVweDsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAtMjVweDsgfVxuICAuc2xpY2stcHJldjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oaQXCI7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5zbGljay1wcmV2OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIuKGklwiOyB9XG5cbi5zbGljay1uZXh0IHtcbiAgcmlnaHQ6IC0yNXB4OyB9XG4gIFtkaXI9XCJydGxcIl0gLnNsaWNrLW5leHQge1xuICAgIGxlZnQ6IC0yNXB4O1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLihpJcIjsgfVxuICAgIFtkaXI9XCJydGxcIl0gLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi4oaQXCI7IH1cblxuLyogRG90cyAqL1xuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5zbGljay1kb3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0yNXB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zbGljay1kb3RzIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgZm9udC1zaXplOiAwcHg7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlciwgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgICAgICAuc2xpY2stZG90cyBsaSBidXR0b246aG92ZXI6YmVmb3JlLCAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXM6YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6IFwi4oCiXCI7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG4gICAgLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgb3BhY2l0eTogMC43NTsgfVxuXG4vKiFcbiAqIGpRdWVyeSBVSSBDU1MgRnJhbWV3b3JrIDEuMTIuMVxuICogaHR0cDovL2pxdWVyeXVpLmNvbVxuICpcbiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlXG4gKlxuICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vY2F0ZWdvcnkvdGhlbWluZy9cbiAqXG4gKiBUbyB2aWV3IGFuZCBtb2RpZnkgdGhpcyB0aGVtZSwgdmlzaXQgaHR0cDovL2pxdWVyeXVpLmNvbS90aGVtZXJvbGxlci9cbiAqL1xuLyogQ29tcG9uZW50IGNvbnRhaW5lcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXdpZGdldCB7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4udWktd2lkZ2V0IC51aS13aWRnZXQge1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4udWktd2lkZ2V0IGlucHV0LFxuLnVpLXdpZGdldCBzZWxlY3QsXG4udWktd2lkZ2V0IHRleHRhcmVhLFxuLnVpLXdpZGdldCBidXR0b24ge1xuICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuLnVpLXdpZGdldC51aS13aWRnZXQtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjNWM1YzU7IH1cblxuLnVpLXdpZGdldC1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgY29sb3I6ICMzMzMzMzM7IH1cblxuLnVpLXdpZGdldC1jb250ZW50IGEge1xuICBjb2xvcjogIzMzMzMzMzsgfVxuXG4udWktd2lkZ2V0LWhlYWRlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7XG4gIGJhY2tncm91bmQ6ICNlOWU5ZTk7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4udWktd2lkZ2V0LWhlYWRlciBhIHtcbiAgY29sb3I6ICMzMzMzMzM7IH1cblxuLyogSW50ZXJhY3Rpb24gc3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1zdGF0ZS1kZWZhdWx0LFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1kZWZhdWx0LFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRlZmF1bHQsXG4udWktYnV0dG9uLFxuaHRtbCAudWktYnV0dG9uLnVpLXN0YXRlLWRpc2FibGVkOmhvdmVyLFxuaHRtbCAudWktYnV0dG9uLnVpLXN0YXRlLWRpc2FibGVkOmFjdGl2ZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjNWM1YzU7XG4gIGJhY2tncm91bmQ6ICNmNmY2ZjY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjNDU0NTQ1OyB9XG5cbi51aS1zdGF0ZS1kZWZhdWx0IGEsXG4udWktc3RhdGUtZGVmYXVsdCBhOmxpbmssXG4udWktc3RhdGUtZGVmYXVsdCBhOnZpc2l0ZWQsXG5hLnVpLWJ1dHRvbixcbmE6bGluay51aS1idXR0b24sXG5hOnZpc2l0ZWQudWktYnV0dG9uLFxuLnVpLWJ1dHRvbiB7XG4gIGNvbG9yOiAjNDU0NTQ1O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1ob3Zlcixcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3Zlcixcbi51aS1zdGF0ZS1mb2N1cyxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZm9jdXMsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXMsXG4udWktYnV0dG9uOmhvdmVyLFxuLnVpLWJ1dHRvbjpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XG4gIGJhY2tncm91bmQ6ICNlZGVkZWQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMmIyYjJiOyB9XG5cbi51aS1zdGF0ZS1ob3ZlciBhLFxuLnVpLXN0YXRlLWhvdmVyIGE6aG92ZXIsXG4udWktc3RhdGUtaG92ZXIgYTpsaW5rLFxuLnVpLXN0YXRlLWhvdmVyIGE6dmlzaXRlZCxcbi51aS1zdGF0ZS1mb2N1cyBhLFxuLnVpLXN0YXRlLWZvY3VzIGE6aG92ZXIsXG4udWktc3RhdGUtZm9jdXMgYTpsaW5rLFxuLnVpLXN0YXRlLWZvY3VzIGE6dmlzaXRlZCxcbmEudWktYnV0dG9uOmhvdmVyLFxuYS51aS1idXR0b246Zm9jdXMge1xuICBjb2xvcjogIzJiMmIyYjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi51aS12aXN1YWwtZm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgM3B4IDFweCAjNWU5ZWQ2OyB9XG5cbi51aS1zdGF0ZS1hY3RpdmUsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWFjdGl2ZSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1hY3RpdmUsXG5hLnVpLWJ1dHRvbjphY3RpdmUsXG4udWktYnV0dG9uOmFjdGl2ZSxcbi51aS1idXR0b24udWktc3RhdGUtYWN0aXZlOmhvdmVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwM2VmZjtcbiAgYmFja2dyb3VuZDogIzAwN2ZmZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuLnVpLWljb24tYmFja2dyb3VuZCxcbi51aS1zdGF0ZS1hY3RpdmUgLnVpLWljb24tYmFja2dyb3VuZCB7XG4gIGJvcmRlcjogIzAwM2VmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4udWktc3RhdGUtYWN0aXZlIGEsXG4udWktc3RhdGUtYWN0aXZlIGE6bGluayxcbi51aS1zdGF0ZS1hY3RpdmUgYTp2aXNpdGVkIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBJbnRlcmFjdGlvbiBDdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1zdGF0ZS1oaWdobGlnaHQsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhpZ2hsaWdodCxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1oaWdobGlnaHQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGFkNTVlO1xuICBiYWNrZ3JvdW5kOiAjZmZmYTkwO1xuICBjb2xvcjogIzc3NzYyMDsgfVxuXG4udWktc3RhdGUtY2hlY2tlZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYWQ1NWU7XG4gIGJhY2tncm91bmQ6ICNmZmZhOTA7IH1cblxuLnVpLXN0YXRlLWhpZ2hsaWdodCBhLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQgYSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1oaWdobGlnaHQgYSB7XG4gIGNvbG9yOiAjNzc3NjIwOyB9XG5cbi51aS1zdGF0ZS1lcnJvcixcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3IsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3Ige1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjFhODk5O1xuICBiYWNrZ3JvdW5kOiAjZmRkZmRmO1xuICBjb2xvcjogIzVmM2YzZjsgfVxuXG4udWktc3RhdGUtZXJyb3IgYSxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3IgYSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvciBhIHtcbiAgY29sb3I6ICM1ZjNmM2Y7IH1cblxuLnVpLXN0YXRlLWVycm9yLXRleHQsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLXRleHQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3ItdGV4dCB7XG4gIGNvbG9yOiAjNWYzZjNmOyB9XG5cbi51aS1wcmlvcml0eS1wcmltYXJ5LFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1wcmltYXJ5LFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXByaW1hcnkge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4udWktcHJpb3JpdHktc2Vjb25kYXJ5LFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1zZWNvbmRhcnksXG4udWktd2lkZ2V0LWhlYWRlciAudWktcHJpb3JpdHktc2Vjb25kYXJ5IHtcbiAgb3BhY2l0eTogLjc7XG4gIGZpbHRlcjogQWxwaGEoT3BhY2l0eT03MCk7XG4gIC8qIHN1cHBvcnQ6IElFOCAqL1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi51aS1zdGF0ZS1kaXNhYmxlZCxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGlzYWJsZWQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGlzYWJsZWQge1xuICBvcGFjaXR5OiAuMzU7XG4gIGZpbHRlcjogQWxwaGEoT3BhY2l0eT0zNSk7XG4gIC8qIHN1cHBvcnQ6IElFOCAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi51aS1zdGF0ZS1kaXNhYmxlZCAudWktaWNvbiB7XG4gIGZpbHRlcjogQWxwaGEoT3BhY2l0eT0zNSk7XG4gIC8qIHN1cHBvcnQ6IElFOCAtIFNlZSAjNjA1OSAqLyB9XG5cbi8qIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIHN0YXRlcyBhbmQgaW1hZ2VzICovXG4udWktaWNvbiB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7IH1cblxuLnVpLWljb24sXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfNDQ0NDQ0XzI1NngyNDAucG5nXCIpOyB9XG5cbi51aS13aWRnZXQtaGVhZGVyIC51aS1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3VpLWljb25zXzQ0NDQ0NF8yNTZ4MjQwLnBuZ1wiKTsgfVxuXG4udWktc3RhdGUtaG92ZXIgLnVpLWljb24sXG4udWktc3RhdGUtZm9jdXMgLnVpLWljb24sXG4udWktYnV0dG9uOmhvdmVyIC51aS1pY29uLFxuLnVpLWJ1dHRvbjpmb2N1cyAudWktaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy91aS1pY29uc181NTU1NTVfMjU2eDI0MC5wbmdcIik7IH1cblxuLnVpLXN0YXRlLWFjdGl2ZSAudWktaWNvbixcbi51aS1idXR0b246YWN0aXZlIC51aS1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3VpLWljb25zX2ZmZmZmZl8yNTZ4MjQwLnBuZ1wiKTsgfVxuXG4udWktc3RhdGUtaGlnaGxpZ2h0IC51aS1pY29uLFxuLnVpLWJ1dHRvbiAudWktc3RhdGUtaGlnaGxpZ2h0LnVpLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfNzc3NjIwXzI1NngyNDAucG5nXCIpOyB9XG5cbi51aS1zdGF0ZS1lcnJvciAudWktaWNvbixcbi51aS1zdGF0ZS1lcnJvci10ZXh0IC51aS1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3VpLWljb25zX2NjMDAwMF8yNTZ4MjQwLnBuZ1wiKTsgfVxuXG4udWktYnV0dG9uIC51aS1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3VpLWljb25zXzc3Nzc3N18yNTZ4MjQwLnBuZ1wiKTsgfVxuXG4vKiBwb3NpdGlvbmluZyAqL1xuLnVpLWljb24tYmxhbmsge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNnB4IDE2cHg7IH1cblxuLnVpLWljb24tY2FyZXQtMS1uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG5cbi51aS1pY29uLWNhcmV0LTEtbmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAwOyB9XG5cbi51aS1pY29uLWNhcmV0LTEtZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IDA7IH1cblxuLnVpLWljb24tY2FyZXQtMS1zZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IDA7IH1cblxuLnVpLWljb24tY2FyZXQtMS1zIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY1cHggMDsgfVxuXG4udWktaWNvbi1jYXJldC0xLXN3IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggMDsgfVxuXG4udWktaWNvbi1jYXJldC0xLXcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAwOyB9XG5cbi51aS1pY29uLWNhcmV0LTEtbncge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggMDsgfVxuXG4udWktaWNvbi1jYXJldC0yLW4tcyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAwOyB9XG5cbi51aS1pY29uLWNhcmV0LTItZS13IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IDA7IH1cblxuLnVpLWljb24tdHJpYW5nbGUtMS1uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTZweDsgfVxuXG4udWktaWNvbi10cmlhbmdsZS0xLW5lIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE2cHg7IH1cblxuLnVpLWljb24tdHJpYW5nbGUtMS1lIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE2cHg7IH1cblxuLnVpLWljb24tdHJpYW5nbGUtMS1zZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNnB4OyB9XG5cbi51aS1pY29uLXRyaWFuZ2xlLTEtcyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC02NXB4IC0xNnB4OyB9XG5cbi51aS1pY29uLXRyaWFuZ2xlLTEtc3cge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTZweDsgfVxuXG4udWktaWNvbi10cmlhbmdsZS0xLXcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTZweDsgfVxuXG4udWktaWNvbi10cmlhbmdsZS0xLW53IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNnB4OyB9XG5cbi51aS1pY29uLXRyaWFuZ2xlLTItbi1zIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNnB4OyB9XG5cbi51aS1pY29uLXRyaWFuZ2xlLTItZS13IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNnB4OyB9XG5cbi51aS1pY29uLWFycm93LTEtbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTMycHg7IH1cblxuLnVpLWljb24tYXJyb3ctMS1uZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0zMnB4OyB9XG5cbi51aS1pY29uLWFycm93LTEtZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0zMnB4OyB9XG5cbi51aS1pY29uLWFycm93LTEtc2Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMzJweDsgfVxuXG4udWktaWNvbi1hcnJvdy0xLXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjVweCAtMzJweDsgfVxuXG4udWktaWNvbi1hcnJvdy0xLXN3IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTMycHg7IH1cblxuLnVpLWljb24tYXJyb3ctMS13IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTMycHg7IH1cblxuLnVpLWljb24tYXJyb3ctMS1udyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMzJweDsgfVxuXG4udWktaWNvbi1hcnJvdy0yLW4tcyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMzJweDsgfVxuXG4udWktaWNvbi1hcnJvdy0yLW5lLXN3IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0zMnB4OyB9XG5cbi51aS1pY29uLWFycm93LTItZS13IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0zMnB4OyB9XG5cbi51aS1pY29uLWFycm93LTItc2Utbncge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTMycHg7IH1cblxuLnVpLWljb24tYXJyb3dzdG9wLTEtbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMzJweDsgfVxuXG4udWktaWNvbi1hcnJvd3N0b3AtMS1lIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0zMnB4OyB9XG5cbi51aS1pY29uLWFycm93c3RvcC0xLXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTMycHg7IH1cblxuLnVpLWljb24tYXJyb3dzdG9wLTEtdyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtMzJweDsgfVxuXG4udWktaWNvbi1hcnJvd3RoaWNrLTEtbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDFweCAtNDhweDsgfVxuXG4udWktaWNvbi1hcnJvd3RoaWNrLTEtbmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtNDhweDsgfVxuXG4udWktaWNvbi1hcnJvd3RoaWNrLTEtZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC00OHB4OyB9XG5cbi51aS1pY29uLWFycm93dGhpY2stMS1zZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC00OHB4OyB9XG5cbi51aS1pY29uLWFycm93dGhpY2stMS1zIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTQ4cHg7IH1cblxuLnVpLWljb24tYXJyb3d0aGljay0xLXN3IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTQ4cHg7IH1cblxuLnVpLWljb24tYXJyb3d0aGljay0xLXcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNDhweDsgfVxuXG4udWktaWNvbi1hcnJvd3RoaWNrLTEtbncge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTQ4cHg7IH1cblxuLnVpLWljb24tYXJyb3d0aGljay0yLW4tcyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtNDhweDsgfVxuXG4udWktaWNvbi1hcnJvd3RoaWNrLTItbmUtc3cge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTQ4cHg7IH1cblxuLnVpLWljb24tYXJyb3d0aGljay0yLWUtdyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtNDhweDsgfVxuXG4udWktaWNvbi1hcnJvd3RoaWNrLTItc2Utbncge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTQ4cHg7IH1cblxuLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC00OHB4OyB9XG5cbi51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtNDhweDsgfVxuXG4udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTQ4cHg7IH1cblxuLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS13IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC00OHB4OyB9XG5cbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS13IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjRweDsgfVxuXG4udWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC02NHB4OyB9XG5cbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1lIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTY0cHg7IH1cblxuLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtNjRweDsgfVxuXG4udWktaWNvbi1hcnJvd3JldHVybi0xLXcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtNjRweDsgfVxuXG4udWktaWNvbi1hcnJvd3JldHVybi0xLW4ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNjRweDsgfVxuXG4udWktaWNvbi1hcnJvd3JldHVybi0xLWUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNjRweDsgfVxuXG4udWktaWNvbi1hcnJvd3JldHVybi0xLXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTY0cHg7IH1cblxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtdyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtNjRweDsgfVxuXG4udWktaWNvbi1hcnJvd3JlZnJlc2gtMS1uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC02NHB4OyB9XG5cbi51aS1pY29uLWFycm93cmVmcmVzaC0xLWUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTY0cHg7IH1cblxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtcyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtNjRweDsgfVxuXG4udWktaWNvbi1hcnJvdy00IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtODBweDsgfVxuXG4udWktaWNvbi1hcnJvdy00LWRpYWcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtODBweDsgfVxuXG4udWktaWNvbi1leHRsaW5rIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTgwcHg7IH1cblxuLnVpLWljb24tbmV3d2luIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTgwcHg7IH1cblxuLnVpLWljb24tcmVmcmVzaCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC04MHB4OyB9XG5cbi51aS1pY29uLXNodWZmbGUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtODBweDsgfVxuXG4udWktaWNvbi10cmFuc2Zlci1lLXcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtODBweDsgfVxuXG4udWktaWNvbi10cmFuc2ZlcnRoaWNrLWUtdyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtODBweDsgfVxuXG4udWktaWNvbi1mb2xkZXItY29sbGFwc2VkIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTZweDsgfVxuXG4udWktaWNvbi1mb2xkZXItb3BlbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC05NnB4OyB9XG5cbi51aS1pY29uLWRvY3VtZW50IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTk2cHg7IH1cblxuLnVpLWljb24tZG9jdW1lbnQtYiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC05NnB4OyB9XG5cbi51aS1pY29uLW5vdGUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtOTZweDsgfVxuXG4udWktaWNvbi1tYWlsLWNsb3NlZCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC05NnB4OyB9XG5cbi51aS1pY29uLW1haWwtb3BlbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC05NnB4OyB9XG5cbi51aS1pY29uLXN1aXRjYXNlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC05NnB4OyB9XG5cbi51aS1pY29uLWNvbW1lbnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTk2cHg7IH1cblxuLnVpLWljb24tcGVyc29uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC05NnB4OyB9XG5cbi51aS1pY29uLXByaW50IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC05NnB4OyB9XG5cbi51aS1pY29uLXRyYXNoIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC05NnB4OyB9XG5cbi51aS1pY29uLWxvY2tlZCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtOTZweDsgfVxuXG4udWktaWNvbi11bmxvY2tlZCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtOTZweDsgfVxuXG4udWktaWNvbi1ib29rbWFyayB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtOTZweDsgfVxuXG4udWktaWNvbi10YWcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTk2cHg7IH1cblxuLnVpLWljb24taG9tZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTExMnB4OyB9XG5cbi51aS1pY29uLWZsYWcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTEycHg7IH1cblxuLnVpLWljb24tY2FsZW5kYXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTEycHg7IH1cblxuLnVpLWljb24tY2FydCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xMTJweDsgfVxuXG4udWktaWNvbi1wZW5jaWwge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTEycHg7IH1cblxuLnVpLWljb24tY2xvY2sge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTEycHg7IH1cblxuLnVpLWljb24tZGlzayB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xMTJweDsgfVxuXG4udWktaWNvbi1jYWxjdWxhdG9yIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xMTJweDsgfVxuXG4udWktaWNvbi16b29taW4ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTExMnB4OyB9XG5cbi51aS1pY29uLXpvb21vdXQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTExMnB4OyB9XG5cbi51aS1pY29uLXNlYXJjaCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMTEycHg7IH1cblxuLnVpLWljb24td3JlbmNoIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xMTJweDsgfVxuXG4udWktaWNvbi1nZWFyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0xMTJweDsgfVxuXG4udWktaWNvbi1oZWFydCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTEycHg7IH1cblxuLnVpLWljb24tc3RhciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtMTEycHg7IH1cblxuLnVpLWljb24tbGluayB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtMTEycHg7IH1cblxuLnVpLWljb24tY2FuY2VsIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTI4cHg7IH1cblxuLnVpLWljb24tcGx1cyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xMjhweDsgfVxuXG4udWktaWNvbi1wbHVzdGhpY2sge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTI4cHg7IH1cblxuLnVpLWljb24tbWludXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTI4cHg7IH1cblxuLnVpLWljb24tbWludXN0aGljayB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xMjhweDsgfVxuXG4udWktaWNvbi1jbG9zZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xMjhweDsgfVxuXG4udWktaWNvbi1jbG9zZXRoaWNrIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTEyOHB4OyB9XG5cbi51aS1pY29uLWtleSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTI4cHg7IH1cblxuLnVpLWljb24tbGlnaHRidWxiIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xMjhweDsgfVxuXG4udWktaWNvbi1zY2lzc29ycyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTI4cHg7IH1cblxuLnVpLWljb24tY2xpcGJvYXJkIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xMjhweDsgfVxuXG4udWktaWNvbi1jb3B5IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xMjhweDsgfVxuXG4udWktaWNvbi1jb250YWN0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0xMjhweDsgfVxuXG4udWktaWNvbi1pbWFnZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTI4cHg7IH1cblxuLnVpLWljb24tdmlkZW8ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTEyOHB4OyB9XG5cbi51aS1pY29uLXNjcmlwdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtMTI4cHg7IH1cblxuLnVpLWljb24tYWxlcnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDRweDsgfVxuXG4udWktaWNvbi1pbmZvIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE0NHB4OyB9XG5cbi51aS1pY29uLW5vdGljZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNDRweDsgfVxuXG4udWktaWNvbi1oZWxwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE0NHB4OyB9XG5cbi51aS1pY29uLWNoZWNrIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE0NHB4OyB9XG5cbi51aS1pY29uLWJ1bGxldCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNDRweDsgfVxuXG4udWktaWNvbi1yYWRpby1vbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNDRweDsgfVxuXG4udWktaWNvbi1yYWRpby1vZmYge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE0NHB4OyB9XG5cbi51aS1pY29uLXBpbi13IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNDRweDsgfVxuXG4udWktaWNvbi1waW4tcyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTQ0cHg7IH1cblxuLnVpLWljb24tcGxheSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE2MHB4OyB9XG5cbi51aS1pY29uLXBhdXNlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE2MHB4OyB9XG5cbi51aS1pY29uLXNlZWstbmV4dCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNjBweDsgfVxuXG4udWktaWNvbi1zZWVrLXByZXYge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTYwcHg7IH1cblxuLnVpLWljb24tc2Vlay1lbmQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTYwcHg7IH1cblxuLnVpLWljb24tc2Vlay1zdGFydCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNjBweDsgfVxuXG4vKiB1aS1pY29uLXNlZWstZmlyc3QgaXMgZGVwcmVjYXRlZCwgdXNlIHVpLWljb24tc2Vlay1zdGFydCBpbnN0ZWFkICovXG4udWktaWNvbi1zZWVrLWZpcnN0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE2MHB4OyB9XG5cbi51aS1pY29uLXN0b3Age1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTYwcHg7IH1cblxuLnVpLWljb24tZWplY3Qge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE2MHB4OyB9XG5cbi51aS1pY29uLXZvbHVtZS1vZmYge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE2MHB4OyB9XG5cbi51aS1pY29uLXZvbHVtZS1vbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTYwcHg7IH1cblxuLnVpLWljb24tcG93ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNzZweDsgfVxuXG4udWktaWNvbi1zaWduYWwtZGlhZyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNzZweDsgfVxuXG4udWktaWNvbi1zaWduYWwge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTc2cHg7IH1cblxuLnVpLWljb24tYmF0dGVyeS0wIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE3NnB4OyB9XG5cbi51aS1pY29uLWJhdHRlcnktMSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNzZweDsgfVxuXG4udWktaWNvbi1iYXR0ZXJ5LTIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTc2cHg7IH1cblxuLnVpLWljb24tYmF0dGVyeS0zIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE3NnB4OyB9XG5cbi51aS1pY29uLWNpcmNsZS1wbHVzIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTkycHg7IH1cblxuLnVpLWljb24tY2lyY2xlLW1pbnVzIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE5MnB4OyB9XG5cbi51aS1pY29uLWNpcmNsZS1jbG9zZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xOTJweDsgfVxuXG4udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xOTJweDsgfVxuXG4udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtcyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xOTJweDsgfVxuXG4udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtdyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xOTJweDsgfVxuXG4udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xOTJweDsgfVxuXG4udWktaWNvbi1jaXJjbGUtYXJyb3ctZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTkycHg7IH1cblxuLnVpLWljb24tY2lyY2xlLWFycm93LXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE5MnB4OyB9XG5cbi51aS1pY29uLWNpcmNsZS1hcnJvdy13IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xOTJweDsgfVxuXG4udWktaWNvbi1jaXJjbGUtYXJyb3ctbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMTkycHg7IH1cblxuLnVpLWljb24tY2lyY2xlLXpvb21pbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTkycHg7IH1cblxuLnVpLWljb24tY2lyY2xlLXpvb21vdXQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTE5MnB4OyB9XG5cbi51aS1pY29uLWNpcmNsZS1jaGVjayB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTkycHg7IH1cblxuLnVpLWljb24tY2lyY2xlc21hbGwtcGx1cyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwOHB4OyB9XG5cbi51aS1pY29uLWNpcmNsZXNtYWxsLW1pbnVzIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTIwOHB4OyB9XG5cbi51aS1pY29uLWNpcmNsZXNtYWxsLWNsb3NlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTIwOHB4OyB9XG5cbi51aS1pY29uLXNxdWFyZXNtYWxsLXBsdXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMjA4cHg7IH1cblxuLnVpLWljb24tc3F1YXJlc21hbGwtbWludXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMjA4cHg7IH1cblxuLnVpLWljb24tc3F1YXJlc21hbGwtY2xvc2Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjA4cHg7IH1cblxuLnVpLWljb24tZ3JpcC1kb3R0ZWQtdmVydGljYWwge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMjRweDsgfVxuXG4udWktaWNvbi1ncmlwLWRvdHRlZC1ob3Jpem9udGFsIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTIyNHB4OyB9XG5cbi51aS1pY29uLWdyaXAtc29saWQtdmVydGljYWwge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMjI0cHg7IH1cblxuLnVpLWljb24tZ3JpcC1zb2xpZC1ob3Jpem9udGFsIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTIyNHB4OyB9XG5cbi51aS1pY29uLWdyaXBzbWFsbC1kaWFnb25hbC1zZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0yMjRweDsgfVxuXG4udWktaWNvbi1ncmlwLWRpYWdvbmFsLXNlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTIyNHB4OyB9XG5cbi8qIE1pc2MgdmlzdWFsc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBDb3JuZXIgcmFkaXVzICovXG4udWktY29ybmVyLWFsbCxcbi51aS1jb3JuZXItdG9wLFxuLnVpLWNvcm5lci1sZWZ0LFxuLnVpLWNvcm5lci10bCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDsgfVxuXG4udWktY29ybmVyLWFsbCxcbi51aS1jb3JuZXItdG9wLFxuLnVpLWNvcm5lci1yaWdodCxcbi51aS1jb3JuZXItdHIge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4OyB9XG5cbi51aS1jb3JuZXItYWxsLFxuLnVpLWNvcm5lci1ib3R0b20sXG4udWktY29ybmVyLWxlZnQsXG4udWktY29ybmVyLWJsIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4OyB9XG5cbi51aS1jb3JuZXItYWxsLFxuLnVpLWNvcm5lci1ib3R0b20sXG4udWktY29ybmVyLXJpZ2h0LFxuLnVpLWNvcm5lci1iciB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7IH1cblxuLyogT3ZlcmxheXMgKi9cbi51aS13aWRnZXQtb3ZlcmxheSB7XG4gIGJhY2tncm91bmQ6ICNhYWFhYWE7XG4gIG9wYWNpdHk6IDAuMztcbiAgZmlsdGVyOiBBbHBoYShPcGFjaXR5PTMwKTtcbiAgLyogc3VwcG9ydDogSUU4ICovIH1cblxuLnVpLXdpZGdldC1zaGFkb3cge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCA1cHggIzY2NjY2NjtcbiAgYm94LXNoYWRvdzogMCAwIDVweCAjNjY2NjY2OyB9XG5cbi8qIVxuICogalF1ZXJ5IFVJIE1lbnUgMS4xMi4xXG4gKiBodHRwOi8vanF1ZXJ5dWkuY29tXG4gKlxuICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2VcbiAqXG4gKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9tZW51LyN0aGVtaW5nXG4gKi9cbi51aS1tZW51IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3V0bGluZTogMDsgfVxuXG4udWktbWVudSAudWktbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4udWktbWVudSAudWktbWVudS1pdGVtIHtcbiAgbWFyZ2luOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIHN1cHBvcnQ6IElFMTAsIHNlZSAjODg0NCAqL1xuICBsaXN0LXN0eWxlLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTdcIik7IH1cblxuLnVpLW1lbnUgLnVpLW1lbnUtaXRlbS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAzcHggMWVtIDNweCAuNGVtOyB9XG5cbi51aS1tZW51IC51aS1tZW51LWRpdmlkZXIge1xuICBtYXJnaW46IDVweCAwO1xuICBoZWlnaHQ6IDA7XG4gIGZvbnQtc2l6ZTogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMCAwOyB9XG5cbi51aS1tZW51IC51aS1zdGF0ZS1mb2N1cyxcbi51aS1tZW51IC51aS1zdGF0ZS1hY3RpdmUge1xuICBtYXJnaW46IC0xcHg7IH1cblxuLyogaWNvbiBzdXBwb3J0ICovXG4udWktbWVudS1pY29ucyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udWktbWVudS1pY29ucyAudWktbWVudS1pdGVtLXdyYXBwZXIge1xuICBwYWRkaW5nLWxlZnQ6IDJlbTsgfVxuXG4vKiBsZWZ0LWFsaWduZWQgKi9cbi51aS1tZW51IC51aS1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogLjJlbTtcbiAgbWFyZ2luOiBhdXRvIDA7IH1cblxuLyogcmlnaHQtYWxpZ25lZCAqL1xuLnVpLW1lbnUgLnVpLW1lbnUtaWNvbiB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi8qIVxuICogalF1ZXJ5IFVJIEF1dG9jb21wbGV0ZSAxLjEyLjFcbiAqIGh0dHA6Ly9qcXVlcnl1aS5jb21cbiAqXG4gKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZVxuICpcbiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2F1dG9jb21wbGV0ZS8jdGhlbWluZ1xuICovXG4udWktYXV0b2NvbXBsZXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdENvbXBvbmVudHNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG5cdE1vYmlsZSBOYXZcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ubW9iTmF2IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIGNvbG9yOiAjYmFkY2YwO1xuICBiYWNrZ3JvdW5kOiAjM2U0MDk2O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNjBkZWcsICMzZTQwOTYsICM1MWJhZTkpO1xuICB6LWluZGV4OiAyMDAwO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1vYk5hdiBhOmhvdmVyLCAubW9iTmF2IGE6Zm9jdXMge1xuICAgIG9wYWNpdHk6IDAuNjsgfVxuICAubW9iTmF2IGE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLm1vYk5hdiAubW9iTmF2X19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjQ0cHggLSAzN3B4KTtcbiAgICBtYXJnaW46IDQwcHggYXV0byAyNDRweDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5tb2JOYXYgLm1vYk5hdl9fbWVudSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0TW9iaWxlIE5hdiBIZWFkZXJcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5tb2JOYXYgLm1vYk5hdl9fY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTVweDtcbiAgcmlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzInIGhlaWdodD0nMzInIHZpZXdCb3g9JzAgMCA2NCA2NCclM0UlM0NwYXRoIGZpbGw9JyUyM2ZmZicgc3Ryb2tlPSd0cmFuc3BhcmVudCcgc3Ryb2tlLXdpZHRoPScwJyBzdHlsZT0nJyBkPSdNMzYuODAzMzAwOSwzMS41NjA2NjAyIEw1NS4xMjEzMjAzLDQ5Ljg3ODY3OTcgTDUwLjg3ODY3OTcsNTQuMTIxMzIwMyBMMzIuNTYwNjYwMiwzNS44MDMzMDA5IEwxNC4yNDI2NDA3LDU0LjEyMTMyMDMgTDEwLDQ5Ljg3ODY3OTcgTDI4LjMxODAxOTUsMzEuNTYwNjYwMiBMMTAsMTMuMjQyNjQwNyBMMTQuMjQyNjQwNyw5IEwzMi41NjA2NjAyLDI3LjMxODAxOTUgTDUwLjg3ODY3OTcsOSBMNTUuMTIxMzIwMywxMy4yNDI2NDA3IEwzNi44MDMzMDA5LDMxLjU2MDY2MDIgWicgLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ubW9iTmF2IC5tb2JOYXZfX2hlYWRlciB7XG4gIHBhZGRpbmctdG9wOiAzN3B4OyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0TWFpbiBNZW51XHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ubW9iTmF2IC5tb2JOYXZfX21lbnVMaXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgZm9udC1zaXplOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwIDMwcHggMCAwO1xuICBtYXJnaW46IDA7IH1cblxuLm1vYk5hdiAubW9iTmF2X19tZW51SXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMjtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAubW9iTmF2IC5tb2JOYXZfX21lbnVJdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm1vYk5hdiAubW9iTmF2X19tZW51TGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2E1ZDFlYjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdFN1YiBNZW51XHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ubW9iTmF2IC5tb2JOYXZfX3N1Yk1lbnVMaXN0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwIDMwcHggMCAwO1xuICBtYXJnaW46IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAubW9iTmF2IC5tb2JOYXZfX3N1Yk1lbnVMaXN0Lm9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLm1vYk5hdiAubW9iTmF2X19zdWJNZW51TGlzdCArIC5tb2JOYXZfX21lbnVMaW5rOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE1cHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzEuNDknIGhlaWdodD0nMzEuNDknIHZpZXdCb3g9JzAgMCAzMS40OSAzMS40OSclM0UlM0NwYXRoIGZpbGw9JyUyM2ZmZicgc3Ryb2tlPSd0cmFuc3BhcmVudCcgc3Ryb2tlLXdpZHRoPScwJyBkPSdNMjEuMjA1LDUuMDA3Yy0wLjQyOS0wLjQ0NC0xLjE0My0wLjQ0NC0xLjU4NywwYy0wLjQyOSwwLjQyOS0wLjQyOSwxLjE0MywwLDEuNTcxbDguMDQ3LDguMDQ3SDEuMTExICBDMC40OTIsMTQuNjI2LDAsMTUuMTE4LDAsMTUuNzM3YzAsMC42MTksMC40OTIsMS4xMjcsMS4xMTEsMS4xMjdoMjYuNTU0bC04LjA0Nyw4LjAzMmMtMC40MjksMC40NDQtMC40MjksMS4xNTksMCwxLjU4NyAgYzAuNDQ0LDAuNDQ0LDEuMTU5LDAuNDQ0LDEuNTg3LDBsOS45NTItOS45NTJjMC40NDQtMC40MjksMC40NDQtMS4xNDMsMC0xLjU3MUwyMS4yMDUsNS4wMDd6JyAvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgb3BhY2l0eTogMC42OyB9XG5cbi5tb2JOYXYgLm1vYk5hdl9fc3ViTWVudUl0ZW0ge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyLjVyZW07IH1cbiAgLm1vYk5hdiAubW9iTmF2X19zdWJNZW51SXRlbTpsYXN0LWNoaWxkIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogM3JlbTtcbiAgICBtYXJnaW4tdG9wOiAzNHB4O1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjYTVkMWViOyB9XG4gICAgLm1vYk5hdiAubW9iTmF2X19zdWJNZW51SXRlbTpsYXN0LWNoaWxkOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMxLjQ5JyBoZWlnaHQ9JzMxLjQ5JyB2aWV3Qm94PScwIDAgMzEuNDkgMzEuNDknJTNFJTNDcGF0aCBmaWxsPSclMjNmZmYnIHN0cm9rZT0ndHJhbnNwYXJlbnQnIHN0cm9rZS13aWR0aD0nMCcgZD0nTTIxLjIwNSw1LjAwN2MtMC40MjktMC40NDQtMS4xNDMtMC40NDQtMS41ODcsMGMtMC40MjksMC40MjktMC40MjksMS4xNDMsMCwxLjU3MWw4LjA0Nyw4LjA0N0gxLjExMSAgQzAuNDkyLDE0LjYyNiwwLDE1LjExOCwwLDE1LjczN2MwLDAuNjE5LDAuNDkyLDEuMTI3LDEuMTExLDEuMTI3aDI2LjU1NGwtOC4wNDcsOC4wMzJjLTAuNDI5LDAuNDQ0LTAuNDI5LDEuMTU5LDAsMS41ODcgIGMwLjQ0NCwwLjQ0NCwxLjE1OSwwLjQ0NCwxLjU4NywwbDkuOTUyLTkuOTUyYzAuNDQ0LTAuNDI5LDAuNDQ0LTEuMTQzLDAtMS41NzFMMjEuMjA1LDUuMDA3eicgLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgb3BhY2l0eTogMC42OyB9XG4gICAgLm1vYk5hdiAubW9iTmF2X19zdWJNZW51SXRlbTpsYXN0LWNoaWxkIC5tb2JOYXZfX3N1Yk1lbnVMaW5rLCAubW9iTmF2IC5tb2JOYXZfX3N1Yk1lbnVJdGVtOmxhc3QtY2hpbGQgLm1vYk5hdl9fc3ViTWVudUxpbmstLWJhY2sge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ubW9iTmF2IC5tb2JOYXZfX3N1Yk1lbnVMaW5rLCAubW9iTmF2IC5tb2JOYXZfX3N1Yk1lbnVMaW5rLS1iYWNrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5tb2JOYXYgLm1vYk5hdl9fc3ViTWVudUxpbmstLWJhY2sge1xuICBjb2xvcjogIzAwYzBiNTsgfVxuXG4ubW9iTmF2IC5tb2JOYXZfX3N1Yk1lbnVMaXN0Lm9wZW4gLm1vYk5hdl9fc3ViTWVudUl0ZW0ge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0TW9iIE5hdiBGb290ZXJcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5tb2JOYXZfX2Zvb3RlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyNDRweDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdEZvb3RlciBNZW51XHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ubW9iTmF2IC5tb2JOYXZfX2Zvb3Rlck1lbnVMaXN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMDtcbiAgbWFyZ2luOiAwIDAgNDBweDsgfVxuXG4ubW9iTmF2IC5TaWduT3V0YnV0dG9uTW9iaWxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDQwcHg7IH1cblxuLm1vYk5hdiAubW9iTmF2X19mb290ZXJNZW51SXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyLjEyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1vYk5hdiAubW9iTmF2X19mb290ZXJNZW51SXRlbTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubW9iTmF2IC5tb2JOYXZfX2Zvb3Rlck1lbnVJdGVtOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMCcgaGVpZ2h0PScyMCcgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggZmlsbD0nJTIzMDBjMmI3JyBzdHJva2U9J3RyYW5zcGFyZW50JyBzdHJva2Utd2lkdGg9JzAnIGQ9J00yMS40MywyMS4yYTIuMjksMi4yOSwwLDAsMCwwLTMuNGwtMi43NS0yLjc0YTIuMjksMi4yOSwwLDAsMC0xLjctLjc3LDIuMzksMi4zOSwwLDAsMC0xLjcuNzdsLTEuNTksMS41OGMtLjEzLS4wOC0uMjYtLjEzLS4zOS0uMjFzLS4zNS0uMTktLjUxLS4yN2ExNi45MiwxNi45MiwwLDAsMS00LjExLTMuNzIsOS4yNyw5LjI3LDAsMCwxLTEuMzUtMi4xM2MuNC0uMzcuOC0uNzcsMS4xNy0xLjE0bC40Mi0uNDJBMi40NSwyLjQ1LDAsMCwwLDkuNzIsN2EyLjQyLDIuNDIsMCwwLDAtLjgtMS43MUw3LjU3LDRjLS4xNi0uMTYtLjMyLS4zMi0uNDUtLjQ4LS4yOS0uMzEtLjYxLS42My0uOTMtLjkyYTIuMzgsMi4zOCwwLDAsMC0xLjY3LS43NCwyLjQ4LDIuNDgsMCwwLDAtMS42OS43NEwxLjEsNC4yN0EzLjYsMy42LDAsMCwwLDAsNi41NmE5LDksMCwwLDAsLjYzLDMuNjksMjEuMzgsMjEuMzgsMCwwLDAsMy44Miw2LjM2LDIzLjU3LDIzLjU3LDAsMCwwLDcuODIsNi4xQTEyLDEyLDAsMCwwLDE2LjY5LDI0SDE3YTMuNzIsMy43MiwwLDAsMCwyLjg2LTEuMjRsMCwwYTkuMDgsOS4wOCwwLDAsMSwuODctLjg5LDUsNSwwLDAsMCwuNjYtLjY0Wm0tMS41OC0uMzVhMTMsMTMsMCwwLDAtMSwxLDIuMzUsMi4zNSwwLDAsMS0xLjg4Ljc5aC0uMjNhMTEuNjcsMTEuNjcsMCwwLDEtMy45MS0xLjE4LDIyLjIzLDIyLjIzLDAsMCwxLTcuMzUtNS43MywyMC40LDIwLjQsMCwwLDEtMy42LTUuOTQsNi44Nyw2Ljg3LDAsMCwxLS41NS0zLjEsMi4zNiwyLjM2LDAsMCwxLC42OS0xLjQ3TDMuNzYsMy41NGExLjA4LDEuMDgsMCwwLDEsLjc2LS4zNywxLjExLDEuMTEsMCwwLDEsLjc3LjM3Yy4zMi4yOS41OC41OC45Ljg5bC40Ny40N0w4LDYuMjRhMS4xOCwxLjE4LDAsMCwxLC40Ljc5LDEuMTQsMS4xNCwwLDAsMS0uNC43OWwtLjQyLjQyYy0uNDMuNDItLjgyLjgyLTEuMjQsMS4yMWwwLDBhMSwxLDAsMCwwLS4yNywxLjFzMCwwLDAsLjA1YTEwLjI0LDEwLjI0LDAsMCwwLDEuNjEsMi42LDE4LjI1LDE4LjI1LDAsMCwwLDQuNDIsNGMuMjEuMTMuNDIuMjMuNjEuMzRzLjM0LjE4LjUuMjYsMCwwLDAsMGExLDEsMCwwLDAsMS4yMi0uMjFsMS43MS0xLjcxYTEuMTcsMS4xNywwLDAsMSwuNzctLjM3LDEuMTUsMS4xNSwwLDAsMSwuNzQuMzdsMi43NSwyLjczYTEsMSwwLDAsMSwwLDEuNTgsNS4zOCw1LjM4LDAsMCwxLS41OC42Wk0xMi4yNCw1LjA4QS42NS42NSwwLDAsMSwxMyw0LjU0YTcuNTYsNy41NiwwLDAsMSw0LjIzLDIuMjJBOC4wOCw4LjA4LDAsMCwxLDE5LjQ2LDExYS42Ni42NiwwLDAsMS0uNTMuNzhoLS4xMWEuNy43LDAsMCwxLS42OC0uNTZBNi4yNyw2LjI3LDAsMCwwLDE2LjMxLDcuN2E2LjY2LDYuNjYsMCwwLDAtMy41LTEuODQuNjQuNjQsMCwwLDEtLjU3LS43OFptMTAuNDQsNS43YTExLjY2LDExLjY2LDAsMCwwLTMuMjItNi4yMywxMS41MiwxMS41MiwwLDAsMC02LjIzLTMuMjIuNjQuNjQsMCwwLDEtLjU0LS43OEEuNjUuNjUsMCwwLDEsMTMuNDcsMCwxMi42MiwxMi42MiwwLDAsMSwyMC40LDMuNTlhMTIuNzQsMTIuNzQsMCwwLDEsMy41OSw3LC42Ny42NywwLDAsMS0uNTMuNzhoLS4xMWEuNjQuNjQsMCwwLDEtLjY3LS41NFonIC8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG4gIC5tb2JOYXYgLm1vYk5hdl9fZm9vdGVyTWVudUl0ZW06bGFzdC1jaGlsZDpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjAnIGhlaWdodD0nMjAnIHZpZXdCb3g9JzAgMCAyOCAyOCclM0UlM0NwYXRoIGZpbGw9JyUyMzAwYzJiNycgc3Ryb2tlPSd0cmFuc3BhcmVudCcgc3Ryb2tlLXdpZHRoPScwJyBkPSdNMTQsMEExNCwxNCwwLDEsMCwyOCwxNCwxNCwxNCwwLDAsMCwxNCwwWm0wLDEuMTlhMTIuODIsMTIuODIsMCwwLDEsOS40OCwyMS40NCwxMC4xNCwxMC4xNCwwLDAsMC0xOSwwQTEyLjgyLDEyLjgyLDAsMCwxLDE0LDEuMTlabTAsM2E1LjM2LDUuMzYsMCwxLDAsNS4zNiw1LjM2QTUuMzcsNS4zNywwLDAsMCwxNCw0LjE3Wm0wLDEuMTlBNC4xNyw0LjE3LDAsMSwxLDkuODMsOS41Myw0LjE2LDQuMTYsMCwwLDEsMTQsNS4zNlptMCwxMS45MmE4LjkyLDguOTIsMCwwLDEsOC41NCw2LjI3LDEyLjgyLDEyLjgyLDAsMCwxLTE3LjA4LDBBOC45Miw4LjkyLDAsMCwxLDE0LDE3LjI4WicgLyUzRSUzQy9zdmclM0VcIik7IH1cbiAgLm1vYk5hdiAubW9iTmF2X19mb290ZXJNZW51SXRlbSAuU2lnbk91dGJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgLm1vYk5hdiAubW9iTmF2X19mb290ZXJNZW51SXRlbSAuU2lnbk91dGJ1dHRvbiBhIHtcbiAgICAgIGNvbG9yOiAjYmFkY2YwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ubW9iTmF2IC5tb2JOYXZfX2Zvb3Rlck1lbnVMaW5rIHtcbiAgY29sb3I6ICNiYWRjZjA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRTZWFyY2hcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5tb2JOYXYgLm1vYk5hdl9fc2VhcmNoQm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAxMnB4OyB9XG5cbi5tb2JOYXYgLm1vYk5hdl9fc2VhcmNoVGVybSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICBwYWRkaW5nOiAxMnB4IDUwcHggMTRweCAxNXB4O1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogbm9uZTsgfVxuICAubW9iTmF2IC5tb2JOYXZfX3NlYXJjaFRlcm06Zm9jdXMge1xuICAgIGJvcmRlcjogbm9uZTsgfVxuXG4ubW9iTmF2IC5tb2JOYXZfX3NlYXJjaEJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNHB4O1xuICByaWdodDogMThweDtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMjhweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOCcgaGVpZ2h0PScyOCcgdmlld0JveD0nMCAwIDI4IDI4JyUzRSUzQ3BhdGggZmlsbD0nJTIzMDBjMGI1JyBzdHJva2U9J3RyYW5zcGFyZW50JyBzdHJva2Utd2lkdGg9JzAnIGQ9J00yOCwyNS44NUEyLjE5LDIuMTksMCwwLDEsMjUuODUsMjhhMiwyLDAsMCwxLTEuNTItLjY0bC01Ljc3LTUuNzVhMTEuNTMsMTEuNTMsMCwwLDEtNi43MSwyLjA4LDExLjcyLDExLjcyLDAsMCwxLTQuNjEtLjkzLDExLjgzLDExLjgzLDAsMCwxLTMuNzgtMi41M0ExMiwxMiwwLDAsMSwuOTMsMTYuNDVhMTEuODcsMTEuODcsMCwwLDEsMC05LjIxQTExLjcsMTEuNywwLDAsMSw3LjI0LjkzYTExLjg3LDExLjg3LDAsMCwxLDkuMjEsMCwxMiwxMiwwLDAsMSwzLjc4LDIuNTMsMTEuODMsMTEuODMsMCwwLDEsMi41MywzLjc4LDExLjcyLDExLjcyLDAsMCwxLC45Myw0LjYxLDExLjUzLDExLjUzLDAsMCwxLTIuMDgsNi43MWw1Ljc3LDUuNzdBMi4wOSwyLjA5LDAsMCwxLDI4LDI1Ljg1Wm0tOC42Mi0xNGE3LjI1LDcuMjUsMCwwLDAtMi4yMS01LjMzLDcuMjcsNy4yNywwLDAsMC01LjMyLTIuMjFBNy4yNyw3LjI3LDAsMCwwLDYuNTIsNi41MmE3LjI5LDcuMjksMCwwLDAtMi4yMSw1LjMzLDcuMjcsNy4yNywwLDAsMCwyLjIxLDUuMzIsNy4yMyw3LjIzLDAsMCwwLDUuMzMsMi4yMSw3LjIzLDcuMjMsMCwwLDAsNS4zMi0yLjIxLDcuMjMsNy4yMywwLDAsMCwyLjIxLTUuMzJaJyAvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLm1vYk5hdiAubW9iTmF2X19zZWFyY2hCdXR0b246aG92ZXIsIC5tb2JOYXYgLm1vYk5hdl9fc2VhcmNoQnV0dG9uOmZvY3VzIHtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRIZWFkZXJcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogOTZweDtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBib3JkZXItdG9wOiA0cHggc29saWQgIzAwODc3YzsgfVxuICBoZWFkZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgei1pbmRleDogNTAyMDsgfVxuICBoZWFkZXIubGFuZGluZyB7XG4gICAgaGVpZ2h0OiAxMTJweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgICBoZWFkZXIubGFuZGluZzpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIGhlYWRlci5sYW5kaW5nICsgbWFpbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIGhlYWRlciAuaGVhZGVyX19sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjQ4cHg7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgaGVhZGVyIC5oZWFkZXJfX21lbnVJY29uIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYzBiNTtcbiAgICBwYWRkaW5nOiA5cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG1hcmdpbi10b3A6IDExcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIGhlYWRlciAuaGVhZGVyX19iYWNrIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zMztcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIGNvbG9yOiAjMDA4NzdjO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLXRvcDogMzZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBoZWFkZXIgLmhlYWRlcl9fYmFjayBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIGhlYWRlciAuaGVhZGVyX19iYWNrIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgaGVhZGVyIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDI0cHg7IH1cbiAgICBoZWFkZXIubGFuZGluZyB7XG4gICAgICBoZWlnaHQ6IDE5NHB4O1xuICAgICAgcGFkZGluZy10b3A6IDQycHg7IH1cbiAgICBoZWFkZXIgLmhlYWRlcl9fbG9nbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDExN3B4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbG9hdDogbm9uZTsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0TWFpbiBtZW51XHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ubWFpbk5hdiAubWFpbk5hdl9fbGlzdCB7XG4gIG1hcmdpbi10b3A6IDI2cHg7IH1cblxuLm1haW5OYXYgLm1haW5OYXZfX2xpc3QtLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm1haW5OYXYgLm1haW5OYXZfX2xpc3QtLWljb24gYSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjgnIGhlaWdodD0nMjgnIHZpZXdCb3g9JzAgMCAyOCAyOCclM0UlM0NwYXRoIGZpbGw9JyUyMzAwYzBiNScgc3Ryb2tlPSd0cmFuc3BhcmVudCcgc3Ryb2tlLXdpZHRoPScwJyBkPSdNMTMuNDEuMTguMzksOS41MmEuOTQuOTQsMCwwLDAtLjM5Ljc1djE2LjhBMSwxLDAsMCwwLDEsMjhIMjdhMSwxLDAsMCwwLDEtLjkzVjEwLjI3YS45NC45NCwwLDAsMC0uMzktLjc1TDE0LjU5LjE4QTEuMDYsMS4wNiwwLDAsMCwxMy40MS4xOFpNMTQsNGwxMSw3LjU0VjI1SDNWMTEuNTRaJyAvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5tYWluTmF2IC5tYWluTmF2X19pdGVtIHtcbiAgbWFyZ2luOiAwIDVweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ubWFpbk5hdiAubWFpbk5hdl9fbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBmb250LXdlaWdodDogODAwO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjVweDtcbiAgY29sb3I6ICMwMzFmNzM7IH1cbiAgLm1haW5OYXYgLm1haW5OYXZfX2xpbmsuYWN0aXZlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0xcHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMDA4NzdjOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLm1haW5OYXYgLm1haW5OYXZfX2l0ZW0ge1xuICAgIG1hcmdpbjogMCAxMHB4OyB9XG4gIC5tYWluTmF2IC5tYWluTmF2X19saW5rIHtcbiAgICBmb250LXNpemU6IDI4cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5tYWluTmF2IC5tYWluTmF2X19saW5rIHtcbiAgICBmb250LXNpemU6IDMycHg7IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdFBob25lIGNhbGxcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5oZWFkZXJfX2NhbGwge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjYzO1xuICBsZXR0ZXItc3BhY2luZzogLTAuNXB4O1xuICBtYXJnaW4tdG9wOiAxMXB4O1xuICBtYXJnaW4tYm90dG9tOiAxNHB4OyB9XG4gIC5oZWFkZXJfX2NhbGw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggZmlsbD0nJTIzMDBjMGI1JyBzdHJva2U9J3RyYW5zcGFyZW50JyBzdHJva2Utd2lkdGg9JzAnIGQ9J00yMS40MywyMS4yYTIuMjksMi4yOSwwLDAsMCwwLTMuNGwtMi43NS0yLjc0YTIuMjksMi4yOSwwLDAsMC0xLjctLjc3LDIuMzksMi4zOSwwLDAsMC0xLjcuNzdsLTEuNTksMS41OGMtLjEzLS4wOC0uMjYtLjEzLS4zOS0uMjFzLS4zNS0uMTktLjUxLS4yN2ExNi45MiwxNi45MiwwLDAsMS00LjExLTMuNzIsOS4yNyw5LjI3LDAsMCwxLTEuMzUtMi4xM2MuNC0uMzcuOC0uNzcsMS4xNy0xLjE0bC40Mi0uNDJBMi40NSwyLjQ1LDAsMCwwLDkuNzIsN2EyLjQyLDIuNDIsMCwwLDAtLjgtMS43MUw3LjU3LDRjLS4xNi0uMTYtLjMyLS4zMi0uNDUtLjQ4LS4yOS0uMzEtLjYxLS42My0uOTMtLjkyYTIuMzgsMi4zOCwwLDAsMC0xLjY3LS43NCwyLjQ4LDIuNDgsMCwwLDAtMS42OS43NEwxLjEsNC4yN0EzLjYsMy42LDAsMCwwLDAsNi41NmE5LDksMCwwLDAsLjYzLDMuNjksMjEuMzgsMjEuMzgsMCwwLDAsMy44Miw2LjM2LDIzLjU3LDIzLjU3LDAsMCwwLDcuODIsNi4xQTEyLDEyLDAsMCwwLDE2LjY5LDI0SDE3YTMuNzIsMy43MiwwLDAsMCwyLjg2LTEuMjRsMCwwYTkuMDgsOS4wOCwwLDAsMSwuODctLjg5LDUsNSwwLDAsMCwuNjYtLjY0Wm0tMS41OC0uMzVhMTMsMTMsMCwwLDAtMSwxLDIuMzUsMi4zNSwwLDAsMS0xLjg4Ljc5aC0uMjNhMTEuNjcsMTEuNjcsMCwwLDEtMy45MS0xLjE4LDIyLjIzLDIyLjIzLDAsMCwxLTcuMzUtNS43MywyMC40LDIwLjQsMCwwLDEtMy42LTUuOTQsNi44Nyw2Ljg3LDAsMCwxLS41NS0zLjEsMi4zNiwyLjM2LDAsMCwxLC42OS0xLjQ3TDMuNzYsMy41NGExLjA4LDEuMDgsMCwwLDEsLjc2LS4zNywxLjExLDEuMTEsMCwwLDEsLjc3LjM3Yy4zMi4yOS41OC41OC45Ljg5bC40Ny40N0w4LDYuMjRhMS4xOCwxLjE4LDAsMCwxLC40Ljc5LDEuMTQsMS4xNCwwLDAsMS0uNC43OWwtLjQyLjQyYy0uNDMuNDItLjgyLjgyLTEuMjQsMS4yMWwwLDBhMSwxLDAsMCwwLS4yNywxLjFzMCwwLDAsLjA1YTEwLjI0LDEwLjI0LDAsMCwwLDEuNjEsMi42LDE4LjI1LDE4LjI1LDAsMCwwLDQuNDIsNGMuMjEuMTMuNDIuMjMuNjEuMzRzLjM0LjE4LjUuMjYsMCwwLDAsMGExLDEsMCwwLDAsMS4yMi0uMjFsMS43MS0xLjcxYTEuMTcsMS4xNywwLDAsMSwuNzctLjM3LDEuMTUsMS4xNSwwLDAsMSwuNzQuMzdsMi43NSwyLjczYTEsMSwwLDAsMSwwLDEuNTgsNS4zOCw1LjM4LDAsMCwxLS41OC42Wk0xMi4yNCw1LjA4QS42NS42NSwwLDAsMSwxMyw0LjU0YTcuNTYsNy41NiwwLDAsMSw0LjIzLDIuMjJBOC4wOCw4LjA4LDAsMCwxLDE5LjQ2LDExYS42Ni42NiwwLDAsMS0uNTMuNzhoLS4xMWEuNy43LDAsMCwxLS42OC0uNTZBNi4yNyw2LjI3LDAsMCwwLDE2LjMxLDcuN2E2LjY2LDYuNjYsMCwwLDAtMy41LTEuODQuNjQuNjQsMCwwLDEtLjU3LS43OFptMTAuNDQsNS43YTExLjY2LDExLjY2LDAsMCwwLTMuMjItNi4yMywxMS41MiwxMS41MiwwLDAsMC02LjIzLTMuMjIuNjQuNjQsMCwwLDEtLjU0LS43OEEuNjUuNjUsMCwwLDEsMTMuNDcsMCwxMi42MiwxMi42MiwwLDAsMSwyMC40LDMuNTlhMTIuNzQsMTIuNzQsMCwwLDEsMy41OSw3LC42Ny42NywwLDAsMS0uNTMuNzhoLS4xMWEuNjQuNjQsMCwwLDEtLjY3LS41NFonIC8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmhlYWRlcl9fY2FsbCAuaGVhZGVyX19jYWxsVGV4dCwgLmhlYWRlcl9fY2FsbCAuaGVhZGVyX19jYWxsTGluayB7XG4gICAgY29sb3I6ICMzZTQwOTY7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdENUQVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmhlYWRlcl9fY3RhIHtcbiAgZm9udC1zaXplOiAwO1xuICBtYXJnaW4tYm90dG9tOiAyOHB4OyB9XG4gIC5oZWFkZXJfX2N0YSAuYnV0dG9uICsgLmJ1dHRvbiwgLmhlYWRlcl9fY3RhIC5SZWdpc3RlckJ1dHRvbiArIC5idXR0b24sIC5oZWFkZXJfX2N0YSAuYnV0dG9uICsgLlJlZ2lzdGVyQnV0dG9uLCAuaGVhZGVyX19jdGEgLlJlZ2lzdGVyQnV0dG9uICsgLlJlZ2lzdGVyQnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMTVweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5oZWFkZXJfX2N0YSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgIC5oZWFkZXJfX2N0YSAuYnV0dG9uICsgLmJ1dHRvbiwgLmhlYWRlcl9fY3RhIC5SZWdpc3RlckJ1dHRvbiArIC5idXR0b24sIC5oZWFkZXJfX2N0YSAuYnV0dG9uICsgLlJlZ2lzdGVyQnV0dG9uLCAuaGVhZGVyX19jdGEgLlJlZ2lzdGVyQnV0dG9uICsgLlJlZ2lzdGVyQnV0dG9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4OyB9IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRTdWJNZW51XHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uc3ViTmF2IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5zdWJOYXYgLnN1Yk5hdl9faXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnN1Yk5hdiAuc3ViTmF2X19pdGVtICsgLnN1Yk5hdl9faXRlbSB7XG4gICAgICBtYXJnaW4tbGVmdDogMzBweDsgfVxuICAuc3ViTmF2IC5zdWJOYXZfX2xpbmsge1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgIGNvbG9yOiAjMDMxZjczOyB9XG5cbi5zdWJOYXYgYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc3ViTmF2IGEgc3BhbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBhZGRpbmc6IDAgMC41cmVtO1xuICAgIGxlZnQ6IDI0cHg7XG4gICAgdG9wOiA4cHg7XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zNXMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2Utb3V0OyB9XG5cbi5jaGVja291dF9faWNvbiBhIHtcbiAgLyogcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogLTI1cHg7XHJcbiAgICAgICAgbGVmdDogMTAwcHg7Ki8gfVxuXG4uaGVhZGVyX19zaWdub3V0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmhlYWRlcl9fc2lnbm91dCA6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ubG9nb24tcGFzc3dvcmQtcmV0cmlldmFsLXJlc3VsdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uc2lnbm91dEJ1dHRvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2Fzc2V0cy9pbWcvaWNvbnMvc2lnbi1vdXQucG5nXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTIxcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgaGVpZ2h0OiAyNnB4O1xuICB3aWR0aDogMTA1cHg7XG4gIGZvbnQtc2l6ZTogMHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5SZWdpc3RlckJ1dHRvbiB7XG4gIHBhZGRpbmctcmlnaHQ6IDIycHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogNTBweDtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuXG4uYXJ0aWNsZV9fY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDgwcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnN1Yk5hdiAuc3ViTmF2X19pdGVtICsgLnN1Yk5hdl9faXRlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zdWJOYXYgLnN1Yk5hdl9fbGluayB7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG4gIC5zdWJOYXYgLnN1Yk5hdl9faXRlbSArIC5zdWJOYXZfX2l0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuc3ViTmF2IC5zdWJOYXZfX2l0ZW0gKyAuc3ViTmF2X19pdGVtIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0U2VhcmNoXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uaGVhZGVyX19zZWFyY2gge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiAtM3B4O1xuICBmbG9hdDogcmlnaHQ7IH1cbiAgLmhlYWRlcl9fc2VhcmNoIC5oZWFkZXJfX3NlYXJjaE9wZW4sIC5oZWFkZXJfX3NlYXJjaCAuaGVhZGVyX19zZWFyY2hDbG9zZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuaGVhZGVyX19zZWFyY2ggLmhlYWRlcl9fc2VhcmNoT3BlbjphZnRlciwgLmhlYWRlcl9fc2VhcmNoIC5oZWFkZXJfX3NlYXJjaENsb3NlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMjhweDtcbiAgICAgIGhlaWdodDogMjhweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuaGVhZGVyX19zZWFyY2ggLmhlYWRlcl9fc2VhcmNoT3BlbjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOCcgaGVpZ2h0PScyOCcgdmlld0JveD0nMCAwIDI4IDI4JyUzRSUzQ3BhdGggZmlsbD0nJTIzMDBjMGI1JyBzdHJva2U9J3RyYW5zcGFyZW50JyBzdHJva2Utd2lkdGg9JzAnIGQ9J00yOCwyNS44NUEyLjE5LDIuMTksMCwwLDEsMjUuODUsMjhhMiwyLDAsMCwxLTEuNTItLjY0bC01Ljc3LTUuNzVhMTEuNTMsMTEuNTMsMCwwLDEtNi43MSwyLjA4LDExLjcyLDExLjcyLDAsMCwxLTQuNjEtLjkzLDExLjgzLDExLjgzLDAsMCwxLTMuNzgtMi41M0ExMiwxMiwwLDAsMSwuOTMsMTYuNDVhMTEuODcsMTEuODcsMCwwLDEsMC05LjIxQTExLjcsMTEuNywwLDAsMSw3LjI0LjkzYTExLjg3LDExLjg3LDAsMCwxLDkuMjEsMCwxMiwxMiwwLDAsMSwzLjc4LDIuNTMsMTEuODMsMTEuODMsMCwwLDEsMi41MywzLjc4LDExLjcyLDExLjcyLDAsMCwxLC45Myw0LjYxLDExLjUzLDExLjUzLDAsMCwxLTIuMDgsNi43MWw1Ljc3LDUuNzdBMi4wOSwyLjA5LDAsMCwxLDI4LDI1Ljg1Wm0tOC42Mi0xNGE3LjI1LDcuMjUsMCwwLDAtMi4yMS01LjMzLDcuMjcsNy4yNywwLDAsMC01LjMyLTIuMjFBNy4yNyw3LjI3LDAsMCwwLDYuNTIsNi41MmE3LjI5LDcuMjksMCwwLDAtMi4yMSw1LjMzLDcuMjcsNy4yNywwLDAsMCwyLjIxLDUuMzIsNy4yMyw3LjIzLDAsMCwwLDUuMzMsMi4yMSw3LjIzLDcuMjMsMCwwLDAsNS4zMi0yLjIxLDcuMjMsNy4yMywwLDAsMCwyLjIxLTUuMzJaJyAvJTNFJTNDL3N2ZyUzRVwiKTsgfVxuICAuaGVhZGVyX19zZWFyY2ggLmhlYWRlcl9fc2VhcmNoQ2xvc2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuaGVhZGVyX19zZWFyY2ggLmhlYWRlcl9fc2VhcmNoQ2xvc2U6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOCcgaGVpZ2h0PScyOCcgdmlld0JveD0nMCAwIDY0IDY0JyUzRSUzQ3BhdGggZmlsbD0nJTIzMDBjMGI1JyBzdHJva2U9J3RyYW5zcGFyZW50JyBzdHJva2Utd2lkdGg9JzAnIHN0eWxlPScnIGQ9J00zNi44MDMzMDA5LDMxLjU2MDY2MDIgTDU1LjEyMTMyMDMsNDkuODc4Njc5NyBMNTAuODc4Njc5Nyw1NC4xMjEzMjAzIEwzMi41NjA2NjAyLDM1LjgwMzMwMDkgTDE0LjI0MjY0MDcsNTQuMTIxMzIwMyBMMTAsNDkuODc4Njc5NyBMMjguMzE4MDE5NSwzMS41NjA2NjAyIEwxMCwxMy4yNDI2NDA3IEwxNC4yNDI2NDA3LDkgTDMyLjU2MDY2MDIsMjcuMzE4MDE5NSBMNTAuODc4Njc5Nyw5IEw1NS4xMjEzMjAzLDEzLjI0MjY0MDcgTDM2LjgwMzMwMDksMzEuNTYwNjYwMiBaJyAvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgIG1hcmdpbi10b3A6IDZweDsgfVxuICAgIC5oZWFkZXJfX3NlYXJjaCAuaGVhZGVyX19zZWFyY2hDbG9zZSAuaGVhZGVyX19zZWFyY2hUZXh0IHtcbiAgICAgIGNvbG9yOiAjMDBjMGI1OyB9XG4gIC5oZWFkZXJfX3NlYXJjaCAuaGVhZGVyX19zZWFyY2hUZXh0IHtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuNXB4O1xuICAgIGNvbG9yOiAjMDMxZjczO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuaGVhZGVyX19zZWFyY2gge1xuICAgIG1hcmdpbi10b3A6IC01cHg7IH1cbiAgICAuaGVhZGVyX19zZWFyY2ggLmhlYWRlcl9fc2VhcmNoVGV4dCB7XG4gICAgICBmb250LXNpemU6IDMycHg7IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRGb290ZXJcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5mb290ZXIge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICBjb2xvcjogIzE4MTkxZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMzRweDtcbiAgcGFkZGluZy1ib3R0b206IDM1cHg7XG4gIGJvcmRlci10b3A6IDRweCBzb2xpZCAjNzJkY2Q0OyB9XG4gIGZvb3RlciAuZm9vdGVyX19saW5rSXRlbSArIC5mb290ZXJfX2xpbmtJdGVtIHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7IH1cbiAgZm9vdGVyIC5mb290ZXJfX2xpbmsge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogIzI2MjUyNzsgfVxuICAgIGZvb3RlciAuZm9vdGVyX19saW5rOmhvdmVyLCBmb290ZXIgLmZvb3Rlcl9fbGluazpmb2N1cyB7XG4gICAgICBjb2xvcjogIzI2MjUyNztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGZvb3RlciB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nLXRvcDogNzhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjlweDsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0U29jaWFsXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5mb290ZXIgLmZvb3Rlcl9fc29jaWFsVGl0bGUge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMjZweDsgfVxuXG5mb290ZXIgLmZvb3Rlcl9fc29jaWFsTGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDQ3cHg7IH1cblxuZm9vdGVyIC5mb290ZXJfX3NvY2lhbEl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAxM3B4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbmZvb3RlciAuZm9vdGVyX19zb2NpYWxMaW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgZm9vdGVyIC5mb290ZXJfX3NvY2lhbExpc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDczcHg7IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdEltYWdlXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5mb290ZXIgLmZvb3Rlcl9faW1nIHtcbiAgbWFyZ2luOiAwIGF1dG8gNDRweDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdEJveFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuZm9vdGVyIC5mb290ZXJfX2JveCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjc4O1xuICBtYXJnaW46IDEzcHggMCAzMnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuZm9vdGVyIC5mb290ZXJfX2JveFRpdGxlIHtcbiAgY29sb3I6ICMzYWFiNDg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuZm9vdGVyIC5mb290ZXJfX2JveEltZyB7XG4gIG1hcmdpbi10b3A6IDEzcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgZm9vdGVyIC5mb290ZXJfX2JveCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIGZvb3RlciAubWVhbF9fbG9nbyBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0zNTNweDtcbiAgICBsZWZ0OiAtMTMwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIGZvb3RlciAubWVhbF9fbG9nbyBpbWcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDBweDtcbiAgICBsZWZ0OiAwcHg7IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdEJhc2VsaW5lXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5mb290ZXIgLmZvb3Rlcl9fYmFzZUxpbmUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDE0cHg7IH1cbiAgZm9vdGVyIC5mb290ZXJfX2Jhc2VMaW5lIC5mb290ZXJfX2NvcHkge1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICBmb290ZXIgLmZvb3Rlcl9fYmFzZUxpbmUgLmZvb3Rlcl9fbGlua3Mge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgZm9vdGVyIC5mb290ZXJfX2Jhc2VMaW5lIC5mb290ZXJfX2xpbmtJdGVtIHtcbiAgICBtYXJnaW46IDAgOHB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGZvb3RlciAuZm9vdGVyX19iYXNlTGluZSB7XG4gICAgbWFyZ2luLXRvcDogNjBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIGZvb3RlciAuZm9vdGVyX19iYXNlTGluZSB7XG4gICAgbWFyZ2luLXRvcDogOTZweDtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICBmb290ZXIgLmZvb3Rlcl9fYmFzZUxpbmUgLmZvb3Rlcl9fbGluayB7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuXG4uZ29vZy10ZS1nYWRnZXQtc2ltcGxlIHtcbiAgcGFkZGluZzogNnB4IDZweCAhaW1wb3J0YW50O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkNWQ1ZDU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDVkNWQ1O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q1ZDVkNTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2Q1ZDVkNTsgfVxuXG4uZ29vZy10ZS1tZW51LXZhbHVlIHtcbiAgZm9udC1zaXplOiAxOHB4OyB9XG5cbiNnb29nbGVfdHJhbnNsYXRlX2VsZW1lbnQge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG5cdFNlYXJjaFxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5zZWFyY2gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3MmRjZDQ7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6IDUwMTA7IH1cbiAgLnNlYXJjaCAuc2VhcmNoX19ib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAzNXB4IDE2NXB4OyB9XG4gIC5zZWFyY2ggLnNlYXJjaF9fdGVybSB7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIC5zZWFyY2ggLnNlYXJjaF9fdGVybTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogIzlkZjFlYTsgfVxuICAgIC5zZWFyY2ggLnNlYXJjaF9fdGVybTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICM5ZGYxZWE7IH1cbiAgICAuc2VhcmNoIC5zZWFyY2hfX3Rlcm06OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAjOWRmMWVhOyB9XG4gICAgLnNlYXJjaCAuc2VhcmNoX190ZXJtOmZvY3VzIHtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAuc2VhcmNoIC5zZWFyY2hfX2J1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC41cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyOyB9XG4gICAgLnNlYXJjaCAuc2VhcmNoX19idXR0b246YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOCcgaGVpZ2h0PScyOCcgdmlld0JveD0nMCAwIDI4IDI4JyUzRSUzQ3BhdGggZmlsbD0nJTIzZmZmJyBzdHJva2U9J3RyYW5zcGFyZW50JyBzdHJva2Utd2lkdGg9JzAnIGQ9J00yOCwyNS44NUEyLjE5LDIuMTksMCwwLDEsMjUuODUsMjhhMiwyLDAsMCwxLTEuNTItLjY0bC01Ljc3LTUuNzVhMTEuNTMsMTEuNTMsMCwwLDEtNi43MSwyLjA4LDExLjcyLDExLjcyLDAsMCwxLTQuNjEtLjkzLDExLjgzLDExLjgzLDAsMCwxLTMuNzgtMi41M0ExMiwxMiwwLDAsMSwuOTMsMTYuNDVhMTEuODcsMTEuODcsMCwwLDEsMC05LjIxQTExLjcsMTEuNywwLDAsMSw3LjI0LjkzYTExLjg3LDExLjg3LDAsMCwxLDkuMjEsMCwxMiwxMiwwLDAsMSwzLjc4LDIuNTMsMTEuODMsMTEuODMsMCwwLDEsMi41MywzLjc4LDExLjcyLDExLjcyLDAsMCwxLC45Myw0LjYxLDExLjUzLDExLjUzLDAsMCwxLTIuMDgsNi43MWw1Ljc3LDUuNzdBMi4wOSwyLjA5LDAsMCwxLDI4LDI1Ljg1Wm0tOC42Mi0xNGE3LjI1LDcuMjUsMCwwLDAtMi4yMS01LjMzLDcuMjcsNy4yNywwLDAsMC01LjMyLTIuMjFBNy4yNyw3LjI3LDAsMCwwLDYuNTIsNi41MmE3LjI5LDcuMjksMCwwLDAtMi4yMSw1LjMzLDcuMjcsNy4yNywwLDAsMCwyLjIxLDUuMzIsNy4yMyw3LjIzLDAsMCwwLDUuMzMsMi4yMSw3LjIzLDcuMjMsMCwwLDAsNS4zMi0yLjIxLDcuMjMsNy4yMywwLDAsMCwyLjIxLTUuMzJaJyAvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLnNlYXJjaCAuc2VhcmNoX19idXR0b246aG92ZXIsIC5zZWFyY2ggLnNlYXJjaF9fYnV0dG9uOmZvY3VzIHtcbiAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcblx0SGVyb1xyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5oZXJvIHtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cbiAgLmhlcm8gLmhlcm9fX2ltZyB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDU2LjIyJTsgfVxuICAuaGVybyAuaGVyb19fYm94IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogMjVweDsgfVxuICAuaGVybyAuaGVyb19fY29udGVudCB7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmhlcm8gLmhlcm9fX3RpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjVweDtcbiAgICBjb2xvcjogIzAzMWY3MztcbiAgICBtYXJnaW4tYm90dG9tOiAxM3B4OyB9XG4gIC5oZXJvIC5oZXJvX190ZXh0IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGVybyAuaGVyb19faW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gIC5oZXJvIC5oZXJvX19ib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogNDNweCAzMHB4IDgwcHg7XG4gICAgbWFyZ2luLXRvcDogLTEwMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDFweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAuaGVybyAuaGVyb19fdGV4dCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzM7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGVybyB7XG4gICAgcGFkZGluZy1ib3R0b206IDg3cHg7IH1cbiAgICAuaGVybyAuaGVyb19fYm94IHtcbiAgICAgIG1hcmdpbi10b3A6IC0xNzZweDsgfVxuICAgIC5oZXJvIC5oZXJvX19jb250ZW50IHtcbiAgICAgIG1heC13aWR0aDogOTI4cHg7IH1cbiAgICAuaGVybyAuaGVyb19fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTM7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTFweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7IH1cbiAgICAuaGVybyAuaGVyb19fdGV4dCB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4zMzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmhlcm8gLmhlcm9fX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDY0cHg7IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRDb250ZW50XHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmNvbnRlbnQsIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IHtcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07IH1cbiAgLmNvbnRlbnQgaDEsIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IGgxLCAuY29udGVudCAuaDEsIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5oMSwgLmNvbnRlbnQgLnBhbmVsLS1mZWF0dXJlIC5wYW5lbF9fdGl0bGUsIC5wYW5lbC0tZmVhdHVyZSAuY29udGVudCAucGFuZWxfX3RpdGxlLCAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCAucGFuZWwtLWZlYXR1cmUgLnBhbmVsX190aXRsZSwgLnBhbmVsLS1mZWF0dXJlIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5wYW5lbF9fdGl0bGUsIC5jb250ZW50IC5uYXZTbGlkZXIgLm5hdlNsaWRlcl9fdGl0bGUsIC5uYXZTbGlkZXIgLmNvbnRlbnQgLm5hdlNsaWRlcl9fdGl0bGUsIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5uYXZTbGlkZXIgLm5hdlNsaWRlcl9fdGl0bGUsIC5uYXZTbGlkZXIgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLm5hdlNsaWRlcl9fdGl0bGUsIC5jb250ZW50IC5yZWNpcGVTbGlkZXIgLm5hdlNsaWRlcl9fdGl0bGUsIC5yZWNpcGVTbGlkZXIgLmNvbnRlbnQgLm5hdlNsaWRlcl9fdGl0bGUsIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5yZWNpcGVTbGlkZXIgLm5hdlNsaWRlcl9fdGl0bGUsIC5yZWNpcGVTbGlkZXIgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLm5hdlNsaWRlcl9fdGl0bGUsIC5jb250ZW50IGgyLCAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCBoMiwgLmNvbnRlbnQgLmgyLCAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCAuaDIsIC5jb250ZW50IC5wYW5lbCAucGFuZWxfX3RpdGxlLCAucGFuZWwgLmNvbnRlbnQgLnBhbmVsX190aXRsZSwgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLnBhbmVsIC5wYW5lbF9fdGl0bGUsIC5wYW5lbCAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCAucGFuZWxfX3RpdGxlLCAuY29udGVudCAucGFuZWwtLWZlYXR1cmUgLnBhbmVsX190aXRsZSwgLnBhbmVsLS1mZWF0dXJlIC5jb250ZW50IC5wYW5lbF9fdGl0bGUsIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5wYW5lbC0tZmVhdHVyZSAucGFuZWxfX3RpdGxlLCAucGFuZWwtLWZlYXR1cmUgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLnBhbmVsX190aXRsZSwgLmNvbnRlbnQgLnBhbmVsLS1jdGEgLnBhbmVsX190aXRsZSwgLnBhbmVsLS1jdGEgLmNvbnRlbnQgLnBhbmVsX190aXRsZSwgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLnBhbmVsLS1jdGEgLnBhbmVsX190aXRsZSwgLnBhbmVsLS1jdGEgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLnBhbmVsX190aXRsZSwgLmNvbnRlbnQgLnBhbmVsLS1idWJibGUgLnBhbmVsX190aXRsZSwgLnBhbmVsLS1idWJibGUgLmNvbnRlbnQgLnBhbmVsX190aXRsZSwgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLnBhbmVsLS1idWJibGUgLnBhbmVsX190aXRsZSwgLnBhbmVsLS1idWJibGUgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLnBhbmVsX190aXRsZSwgLmNvbnRlbnQgLmZvcm0gLmZvcm1fX3RpdGxlLCAuZm9ybSAuY29udGVudCAuZm9ybV9fdGl0bGUsIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5mb3JtIC5mb3JtX190aXRsZSwgLmZvcm0gLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLmZvcm1fX3RpdGxlLCAuY29udGVudCBoMywgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgaDMsIC5jb250ZW50IC5oMywgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLmgzLCAuY29udGVudCAuc2lnbnVwIC5zaWdudXBfX3RleHQsIC5zaWdudXAgLmNvbnRlbnQgLnNpZ251cF9fdGV4dCwgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLnNpZ251cCAuc2lnbnVwX190ZXh0LCAuc2lnbnVwIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5zaWdudXBfX3RleHQsIC5jb250ZW50IGg0LCAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCBoNCwgLmNvbnRlbnQgLmg0LCAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCAuaDQsIC5jb250ZW50IC5pbmZvZ3JhcGhpYyAuaW5mb2dyYXBoaWNfX3RpdGxlLCAuaW5mb2dyYXBoaWMgLmNvbnRlbnQgLmluZm9ncmFwaGljX190aXRsZSwgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLmluZm9ncmFwaGljIC5pbmZvZ3JhcGhpY19fdGl0bGUsIC5pbmZvZ3JhcGhpYyAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCAuaW5mb2dyYXBoaWNfX3RpdGxlLCAuY29udGVudCAuZm9ybSAuZm9ybV9fc3RlcCwgLmZvcm0gLmNvbnRlbnQgLmZvcm1fX3N0ZXAsIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5mb3JtIC5mb3JtX19zdGVwLCAuZm9ybSAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCAuZm9ybV9fc3RlcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAuY29udGVudCBoMiwgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgaDIsIC5jb250ZW50IC5oMiwgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLmgyLCAuY29udGVudCAucGFuZWwgLnBhbmVsX190aXRsZSwgLnBhbmVsIC5jb250ZW50IC5wYW5lbF9fdGl0bGUsIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5wYW5lbCAucGFuZWxfX3RpdGxlLCAucGFuZWwgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLnBhbmVsX190aXRsZSwgLmNvbnRlbnQgLnBhbmVsLS1mZWF0dXJlIC5wYW5lbF9fdGl0bGUsIC5wYW5lbC0tZmVhdHVyZSAuY29udGVudCAucGFuZWxfX3RpdGxlLCAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCAucGFuZWwtLWZlYXR1cmUgLnBhbmVsX190aXRsZSwgLnBhbmVsLS1mZWF0dXJlIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5wYW5lbF9fdGl0bGUsIC5jb250ZW50IC5wYW5lbC0tY3RhIC5wYW5lbF9fdGl0bGUsIC5wYW5lbC0tY3RhIC5jb250ZW50IC5wYW5lbF9fdGl0bGUsIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5wYW5lbC0tY3RhIC5wYW5lbF9fdGl0bGUsIC5wYW5lbC0tY3RhIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5wYW5lbF9fdGl0bGUsIC5jb250ZW50IC5wYW5lbC0tYnViYmxlIC5wYW5lbF9fdGl0bGUsIC5wYW5lbC0tYnViYmxlIC5jb250ZW50IC5wYW5lbF9fdGl0bGUsIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5wYW5lbC0tYnViYmxlIC5wYW5lbF9fdGl0bGUsIC5wYW5lbC0tYnViYmxlIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5wYW5lbF9fdGl0bGUsIC5jb250ZW50IC5mb3JtIC5mb3JtX190aXRsZSwgLmZvcm0gLmNvbnRlbnQgLmZvcm1fX3RpdGxlLCAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCAuZm9ybSAuZm9ybV9fdGl0bGUsIC5mb3JtIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5mb3JtX190aXRsZSwgLmNvbnRlbnQgaDMsIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IGgzLCAuY29udGVudCAuaDMsIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5oMywgLmNvbnRlbnQgLnNpZ251cCAuc2lnbnVwX190ZXh0LCAuc2lnbnVwIC5jb250ZW50IC5zaWdudXBfX3RleHQsIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5zaWdudXAgLnNpZ251cF9fdGV4dCwgLnNpZ251cCAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCAuc2lnbnVwX190ZXh0LCAuY29udGVudCBoNCwgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgaDQsIC5jb250ZW50IC5oNCwgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLmg0LCAuY29udGVudCAuaW5mb2dyYXBoaWMgLmluZm9ncmFwaGljX190aXRsZSwgLmluZm9ncmFwaGljIC5jb250ZW50IC5pbmZvZ3JhcGhpY19fdGl0bGUsIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5pbmZvZ3JhcGhpYyAuaW5mb2dyYXBoaWNfX3RpdGxlLCAuaW5mb2dyYXBoaWMgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLmluZm9ncmFwaGljX190aXRsZSwgLmNvbnRlbnQgLmZvcm0gLmZvcm1fX3N0ZXAsIC5mb3JtIC5jb250ZW50IC5mb3JtX19zdGVwLCAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCAuZm9ybSAuZm9ybV9fc3RlcCwgLmZvcm0gLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLmZvcm1fX3N0ZXAge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmNvbnRlbnQgcCwgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgcCB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMS43NWVtOyB9XG4gIC5jb250ZW50IGltZywgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgaW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIC5jb250ZW50IHA6bGFzdC1jaGlsZCwgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgcDpsYXN0LWNoaWxkLCAuY29udGVudCBpbWc6bGFzdC1jaGlsZCwgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgaW1nOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNvbnRlbnQgYSwgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgYSB7XG4gICAgY29sb3I6ICMwMGMwYjU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmNvbnRlbnQgYS5idXR0b24sIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IGEuYnV0dG9uLCAuY29udGVudCBhLlJlZ2lzdGVyQnV0dG9uLCAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCBhLlJlZ2lzdGVyQnV0dG9uIHtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50OyB9XG4gIC5jb250ZW50IC5idXR0b24tZml4LCAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCAuYnV0dG9uLWZpeCB7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY29udGVudCwgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgLmNvbnRlbnQgaDEsIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IGgxLCAuY29udGVudCAuaDEsIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5oMSwgLmNvbnRlbnQgLnBhbmVsLS1mZWF0dXJlIC5wYW5lbF9fdGl0bGUsIC5wYW5lbC0tZmVhdHVyZSAuY29udGVudCAucGFuZWxfX3RpdGxlLCAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCAucGFuZWwtLWZlYXR1cmUgLnBhbmVsX190aXRsZSwgLnBhbmVsLS1mZWF0dXJlIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5wYW5lbF9fdGl0bGUsIC5jb250ZW50IC5uYXZTbGlkZXIgLm5hdlNsaWRlcl9fdGl0bGUsIC5uYXZTbGlkZXIgLmNvbnRlbnQgLm5hdlNsaWRlcl9fdGl0bGUsIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5uYXZTbGlkZXIgLm5hdlNsaWRlcl9fdGl0bGUsIC5uYXZTbGlkZXIgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLm5hdlNsaWRlcl9fdGl0bGUsIC5jb250ZW50IC5yZWNpcGVTbGlkZXIgLm5hdlNsaWRlcl9fdGl0bGUsIC5yZWNpcGVTbGlkZXIgLmNvbnRlbnQgLm5hdlNsaWRlcl9fdGl0bGUsIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5yZWNpcGVTbGlkZXIgLm5hdlNsaWRlcl9fdGl0bGUsIC5yZWNpcGVTbGlkZXIgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLm5hdlNsaWRlcl9fdGl0bGUsIC5jb250ZW50IGgyLCAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCBoMiwgLmNvbnRlbnQgLmgyLCAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCAuaDIsIC5jb250ZW50IC5wYW5lbCAucGFuZWxfX3RpdGxlLCAucGFuZWwgLmNvbnRlbnQgLnBhbmVsX190aXRsZSwgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLnBhbmVsIC5wYW5lbF9fdGl0bGUsIC5wYW5lbCAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCAucGFuZWxfX3RpdGxlLCAuY29udGVudCAucGFuZWwtLWZlYXR1cmUgLnBhbmVsX190aXRsZSwgLnBhbmVsLS1mZWF0dXJlIC5jb250ZW50IC5wYW5lbF9fdGl0bGUsIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5wYW5lbC0tZmVhdHVyZSAucGFuZWxfX3RpdGxlLCAucGFuZWwtLWZlYXR1cmUgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLnBhbmVsX190aXRsZSwgLmNvbnRlbnQgLnBhbmVsLS1jdGEgLnBhbmVsX190aXRsZSwgLnBhbmVsLS1jdGEgLmNvbnRlbnQgLnBhbmVsX190aXRsZSwgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLnBhbmVsLS1jdGEgLnBhbmVsX190aXRsZSwgLnBhbmVsLS1jdGEgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLnBhbmVsX190aXRsZSwgLmNvbnRlbnQgLnBhbmVsLS1idWJibGUgLnBhbmVsX190aXRsZSwgLnBhbmVsLS1idWJibGUgLmNvbnRlbnQgLnBhbmVsX190aXRsZSwgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLnBhbmVsLS1idWJibGUgLnBhbmVsX190aXRsZSwgLnBhbmVsLS1idWJibGUgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLnBhbmVsX190aXRsZSwgLmNvbnRlbnQgLmZvcm0gLmZvcm1fX3RpdGxlLCAuZm9ybSAuY29udGVudCAuZm9ybV9fdGl0bGUsIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5mb3JtIC5mb3JtX190aXRsZSwgLmZvcm0gLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLmZvcm1fX3RpdGxlLCAuY29udGVudCBoMywgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgaDMsIC5jb250ZW50IC5oMywgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLmgzLCAuY29udGVudCAuc2lnbnVwIC5zaWdudXBfX3RleHQsIC5zaWdudXAgLmNvbnRlbnQgLnNpZ251cF9fdGV4dCwgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLnNpZ251cCAuc2lnbnVwX190ZXh0LCAuc2lnbnVwIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5zaWdudXBfX3RleHQsIC5jb250ZW50IGg0LCAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCBoNCwgLmNvbnRlbnQgLmg0LCAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCAuaDQsIC5jb250ZW50IC5pbmZvZ3JhcGhpYyAuaW5mb2dyYXBoaWNfX3RpdGxlLCAuaW5mb2dyYXBoaWMgLmNvbnRlbnQgLmluZm9ncmFwaGljX190aXRsZSwgLmFydGljbGUgLmFydGljbGVfX2NvbnRlbnQgLmluZm9ncmFwaGljIC5pbmZvZ3JhcGhpY19fdGl0bGUsIC5pbmZvZ3JhcGhpYyAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCAuaW5mb2dyYXBoaWNfX3RpdGxlLCAuY29udGVudCAuZm9ybSAuZm9ybV9fc3RlcCwgLmZvcm0gLmNvbnRlbnQgLmZvcm1fX3N0ZXAsIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5mb3JtIC5mb3JtX19zdGVwLCAuZm9ybSAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCAuZm9ybV9fc3RlcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzN3B4OyB9IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRNb2JpbGUgU2lkZSBOYXZcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5tb2JTaWRlTmF2IHtcbiAgbWFyZ2luLWJvdHRvbTogNDZweDsgfVxuICAubW9iU2lkZU5hdiAubW9iU2lkZU5hdl9fdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHREZXNrdG9wIFNpZGUgTmF2XHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uZHNrU2lkZU5hdiAuZHNrU2lkZU5hdl9fbWVtYmVyIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4zMztcbiAgY29sb3I6ICMwMDg3N2M7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi1ib3R0b206IDExcHg7IH1cblxuLmRza1NpZGVOYXYgLmRza1NpZGVOYXZfX2xpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHNrU2lkZU5hdiAuZHNrU2lkZU5hdl9faXRlbSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjc4O1xuICBjb2xvcjogIzNhYWI0ODtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uZHNrU2lkZU5hdiAuZHNrU2lkZU5hdl9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS43ODtcbiAgY29sb3I6ICMyNjI1Mjc7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGxpbmVhcjsgfVxuICAuZHNrU2lkZU5hdiAuZHNrU2lkZU5hdl9fbGluazpob3ZlciwgLmRza1NpZGVOYXYgLmRza1NpZGVOYXZfX2xpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDBjMGI1OyB9XG5cbm1haW4uQ29udGVudFJlZnJlc2gge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICBtYWluLkNvbnRlbnRSZWZyZXNoIC5oZXJvX19pbWcge1xuICAgIG1pbi1oZWlnaHQ6IDUxNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgbWFpbi5Db250ZW50UmVmcmVzaCAuaGVyb19faW1nIC5oZXJvX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgICAgbWFpbi5Db250ZW50UmVmcmVzaCAuaGVyb19faW1nIC5oZXJvX2NvbnRlbnQgaDEge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgbWFpbi5Db250ZW50UmVmcmVzaCAuaGVyb19faW1nIC5oZXJvX2NvbnRlbnQgLmhlcm9faW50cm9kdWN0aW9uIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIG1heC13aWR0aDogNTgwcHg7IH1cbiAgICAgIG1haW4uQ29udGVudFJlZnJlc2ggLmhlcm9fX2ltZyAuaGVyb19jb250ZW50IC5idXR0b24sIG1haW4uQ29udGVudFJlZnJlc2ggLmhlcm9fX2ltZyAuaGVyb19jb250ZW50IC5SZWdpc3RlckJ1dHRvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgbWFpbi5Db250ZW50UmVmcmVzaCAuaGVyb19faW1nIC5oZXJvX2NvbnRlbnQgLmhlcm9fYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7IH1cbiAgICBtYWluLkNvbnRlbnRSZWZyZXNoIC5oZXJvX19pbWcgLkRhcmsgaDEge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICBtYWluLkNvbnRlbnRSZWZyZXNoIC5oZXJvX19pbWcgLkRhcmsgLmhlcm9faW50cm9kdWN0aW9uIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIG1haW4uQ29udGVudFJlZnJlc2ggLmhlcm9fX2ltZyAuaGVyb19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNzBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTcwcHg7IH0gfVxuICBtYWluLkNvbnRlbnRSZWZyZXNoIC50aWxlVGhyZWVBY3Jvc3Mge1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtOyB9XG4gICAgbWFpbi5Db250ZW50UmVmcmVzaCAudGlsZVRocmVlQWNyb3NzIC5jb2x1bW4sIG1haW4uQ29udGVudFJlZnJlc2ggLnRpbGVUaHJlZUFjcm9zcyAuY29sdW1ucyB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gICAgICBtYWluLkNvbnRlbnRSZWZyZXNoIC50aWxlVGhyZWVBY3Jvc3MgLmNvbHVtbiAuSW1hZ2VEaXYsIG1haW4uQ29udGVudFJlZnJlc2ggLnRpbGVUaHJlZUFjcm9zcyAuY29sdW1ucyAuSW1hZ2VEaXYge1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxMDAwcHggcmdiYSgxOTYsIDE5NiwgMTk2LCAwLjgpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogODIuMjElO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0M0QzRDNDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gICAgICAgIG1haW4uQ29udGVudFJlZnJlc2ggLnRpbGVUaHJlZUFjcm9zcyAuY29sdW1uIC5JbWFnZURpdiAuVGlsZVRpdGxlLCBtYWluLkNvbnRlbnRSZWZyZXNoIC50aWxlVGhyZWVBY3Jvc3MgLmNvbHVtbnMgLkltYWdlRGl2IC5UaWxlVGl0bGUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDsgfVxuICAgICAgbWFpbi5Db250ZW50UmVmcmVzaCAudGlsZVRocmVlQWNyb3NzIC5jb2x1bW4gLkltYWdlRGl2OmhvdmVyLCBtYWluLkNvbnRlbnRSZWZyZXNoIC50aWxlVGhyZWVBY3Jvc3MgLmNvbHVtbnMgLkltYWdlRGl2OmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICBtYWluLkNvbnRlbnRSZWZyZXNoIC50aWxlRm91ckFjcm9zcyB7XG4gICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMi41cmVtOyB9XG4gICAgbWFpbi5Db250ZW50UmVmcmVzaCAudGlsZUZvdXJBY3Jvc3MgLmNvbHVtbiwgbWFpbi5Db250ZW50UmVmcmVzaCAudGlsZUZvdXJBY3Jvc3MgLmNvbHVtbnMge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07IH1cbiAgICAgIG1haW4uQ29udGVudFJlZnJlc2ggLnRpbGVGb3VyQWNyb3NzIC5jb2x1bW4gLkltYWdlRGl2LCBtYWluLkNvbnRlbnRSZWZyZXNoIC50aWxlRm91ckFjcm9zcyAuY29sdW1ucyAuSW1hZ2VEaXYge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogODIuMzclO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0M0QzRDNDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gICAgICAgIG1haW4uQ29udGVudFJlZnJlc2ggLnRpbGVGb3VyQWNyb3NzIC5jb2x1bW4gLkltYWdlRGl2IC5UaWxlVGl0bGUsIG1haW4uQ29udGVudFJlZnJlc2ggLnRpbGVGb3VyQWNyb3NzIC5jb2x1bW5zIC5JbWFnZURpdiAuVGlsZVRpdGxlIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBmb250LXNpemU6IDM2cHg7IH1cbiAgbWFpbi5Db250ZW50UmVmcmVzaCAudGlsZUNvcHlVbmRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMi41cmVtOyB9XG4gICAgbWFpbi5Db250ZW50UmVmcmVzaCAudGlsZUNvcHlVbmRlciAuY29sdW1uLCBtYWluLkNvbnRlbnRSZWZyZXNoIC50aWxlQ29weVVuZGVyIC5jb2x1bW5zIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtOyB9XG4gICAgICBtYWluLkNvbnRlbnRSZWZyZXNoIC50aWxlQ29weVVuZGVyIC5jb2x1bW4gLkltYWdlRGl2LCBtYWluLkNvbnRlbnRSZWZyZXNoIC50aWxlQ29weVVuZGVyIC5jb2x1bW5zIC5JbWFnZURpdiB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4Mi4zNyU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzRDNEM0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cbiAgICAgIG1haW4uQ29udGVudFJlZnJlc2ggLnRpbGVDb3B5VW5kZXIgLmNvbHVtbiAuVGlsZVRpdGxlLCBtYWluLkNvbnRlbnRSZWZyZXNoIC50aWxlQ29weVVuZGVyIC5jb2x1bW5zIC5UaWxlVGl0bGUge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4OyB9XG4gICAgICBtYWluLkNvbnRlbnRSZWZyZXNoIC50aWxlQ29weVVuZGVyIC5jb2x1bW4gLkN0YVRpbGVUaXRsZSwgbWFpbi5Db250ZW50UmVmcmVzaCAudGlsZUNvcHlVbmRlciAuY29sdW1ucyAuQ3RhVGlsZVRpdGxlIHtcbiAgICAgICAgY29sb3I6ICMwMEMwQjU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICBtYWluLkNvbnRlbnRSZWZyZXNoIC50aWxlQ29weVVuZGVyIC5jb2x1bW4gLlRpbGVUaXRsZSwgbWFpbi5Db250ZW50UmVmcmVzaCAudGlsZUNvcHlVbmRlciAuY29sdW1ucyAuVGlsZVRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDM2cHg7IH1cbiAgICAgICAgbWFpbi5Db250ZW50UmVmcmVzaCAudGlsZUNvcHlVbmRlciAuY29sdW1uIC5DdGFUaWxlVGl0bGUsIG1haW4uQ29udGVudFJlZnJlc2ggLnRpbGVDb3B5VW5kZXIgLmNvbHVtbnMgLkN0YVRpbGVUaXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzMnB4OyB9IH1cbiAgICBtYWluLkNvbnRlbnRSZWZyZXNoIC50aWxlQ29weVVuZGVyIC5UaWxlQ3RhQ29sdW1uIHtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDMxOHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIG1haW4uQ29udGVudFJlZnJlc2ggLnRpbGVDb3B5VW5kZXIgLlRpbGVDdGFDb2x1bW4ge1xuICAgICAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMjE1cHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICBtYWluLkNvbnRlbnRSZWZyZXNoIC50aWxlQ29weVVuZGVyIC5UaWxlQ3RhQ29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDI2MHB4OyB9IH1cbiAgbWFpbi5Db250ZW50UmVmcmVzaCAudGlsZUljb24ge1xuICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0cmVtOyB9XG4gICAgbWFpbi5Db250ZW50UmVmcmVzaCAudGlsZUljb24gLmNvbHVtbiwgbWFpbi5Db250ZW50UmVmcmVzaCAudGlsZUljb24gLmNvbHVtbnMge1xuICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07IH1cbiAgICAgIG1haW4uQ29udGVudFJlZnJlc2ggLnRpbGVJY29uIC5jb2x1bW4gLlRpbGVJbWFnZSwgbWFpbi5Db250ZW50UmVmcmVzaCAudGlsZUljb24gLmNvbHVtbnMgLlRpbGVJbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDBweDsgfVxuICAgICAgbWFpbi5Db250ZW50UmVmcmVzaCAudGlsZUljb24gLmNvbHVtbiAuVGlsZUltYWdlSG9sZGVyLCBtYWluLkNvbnRlbnRSZWZyZXNoIC50aWxlSWNvbiAuY29sdW1ucyAuVGlsZUltYWdlSG9sZGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBtYWluLkNvbnRlbnRSZWZyZXNoIC50aWxlSWNvbiAuY29sdW1uIC5UaWxlVGl0bGUsIG1haW4uQ29udGVudFJlZnJlc2ggLnRpbGVJY29uIC5jb2x1bW5zIC5UaWxlVGl0bGUge1xuICAgICAgICBjb2xvcjogIzVGNUM1QztcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogN3B4OyB9XG4gICAgICBtYWluLkNvbnRlbnRSZWZyZXNoIC50aWxlSWNvbiAuY29sdW1uIC5UaWxlQ29weSwgbWFpbi5Db250ZW50UmVmcmVzaCAudGlsZUljb24gLmNvbHVtbnMgLlRpbGVDb3B5IHtcbiAgICAgICAgY29sb3I6ICM3MDZDNkM7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDdweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgbWFpbi5Db250ZW50UmVmcmVzaCAudGlsZUljb24gLmNvbHVtbiAuVGlsZUljb24sIG1haW4uQ29udGVudFJlZnJlc2ggLnRpbGVJY29uIC5jb2x1bW5zIC5UaWxlSWNvbiB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNSU7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMTUlOyB9IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcblx0QnV0dG9uc1xyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5idXR0b24sIC5SZWdpc3RlckJ1dHRvbiwgLkFkZFRvQ2FydEJ1dHRvbiwgLnBheW1lbnQtcGFnZS1jb250ZW50IC5idG4tcHJpbWFyeSwgLmNoZWNrb3V0QnV0dG9uTmV4dCwgLnBheW1lbnQtcGFnZS1jb250ZW50IC5idG4tZGVmYXVsdCwgLmNvdXBvbi1jb2RlcyAuYnRuLXByaW1hcnkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAzMjhweDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBsaW5lLWhlaWdodDogMS4zMjtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBjMGI1O1xuICBwYWRkaW5nOiA3cHggNTBweCAxMnB4IDIycHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgbGluZWFyO1xuICBib3gtc2hhZG93OiBpbnNldCAwcHggMXB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gIC5idXR0b246YmVmb3JlLCAuUmVnaXN0ZXJCdXR0b246YmVmb3JlLCAuQWRkVG9DYXJ0QnV0dG9uOmJlZm9yZSwgLnBheW1lbnQtcGFnZS1jb250ZW50IC5idG4tcHJpbWFyeTpiZWZvcmUsIC5jaGVja291dEJ1dHRvbk5leHQ6YmVmb3JlLCAucGF5bWVudC1wYWdlLWNvbnRlbnQgLmJ0bi1kZWZhdWx0OmJlZm9yZSwgLmNvdXBvbi1jb2RlcyAuYnRuLXByaW1hcnk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDExcHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDE3cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTYuODknIGhlaWdodD0nMjMuOScgdmlld0JveD0nMCAwIDE2Ljg5IDIzLjknJTNFJTNDcGF0aCBmaWxsPSclMjNmZmYnIHN0cm9rZT0ndHJhbnNwYXJlbnQnIHN0cm9rZS13aWR0aD0nMCcgZD0nTTE2LjczLDExLjY0LjYxLjA3QS40MS40MSwwLDAsMCwuMTIuMS4zOS4zOSwwLDAsMCwuMDYuNTlMNywxMiwuMDYsMjMuMzFhLjM4LjM4LDAsMCwwLC4wNy40OS4zNS4zNSwwLDAsMCwuMjYuMS4zNC4zNCwwLDAsMCwuMjItLjA3TDE2LjcyLDEyLjI3YS4zOS4zOSwwLDAsMCwuMTctLjMyLjM3LjM3LDAsMCwwLS4xNy0uMzFaJyAvJTNFJTNDL3N2ZyUzRVwiKTsgfVxuICAuYnV0dG9uOmFmdGVyLCAuUmVnaXN0ZXJCdXR0b246YWZ0ZXIsIC5BZGRUb0NhcnRCdXR0b246YWZ0ZXIsIC5wYXltZW50LXBhZ2UtY29udGVudCAuYnRuLXByaW1hcnk6YWZ0ZXIsIC5jaGVja291dEJ1dHRvbk5leHQ6YWZ0ZXIsIC5wYXltZW50LXBhZ2UtY29udGVudCAuYnRuLWRlZmF1bHQ6YWZ0ZXIsIC5jb3Vwb24tY29kZXMgLmJ0bi1wcmltYXJ5OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICBib3gtc2hhZG93OiAwcHggNHB4IDZweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gIC5idXR0b246aG92ZXIsIC5SZWdpc3RlckJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cywgLlJlZ2lzdGVyQnV0dG9uOmZvY3VzLCAuQWRkVG9DYXJ0QnV0dG9uOmhvdmVyLCAuQWRkVG9DYXJ0QnV0dG9uOmZvY3VzLCAucGF5bWVudC1wYWdlLWNvbnRlbnQgLmJ0bi1wcmltYXJ5OmhvdmVyLCAucGF5bWVudC1wYWdlLWNvbnRlbnQgLmJ0bi1wcmltYXJ5OmZvY3VzLCAuY2hlY2tvdXRCdXR0b25OZXh0OmhvdmVyLCAuY2hlY2tvdXRCdXR0b25OZXh0OmZvY3VzLCAucGF5bWVudC1wYWdlLWNvbnRlbnQgLmJ0bi1kZWZhdWx0OmhvdmVyLCAucGF5bWVudC1wYWdlLWNvbnRlbnQgLmJ0bi1kZWZhdWx0OmZvY3VzLCAuY291cG9uLWNvZGVzIC5idG4tcHJpbWFyeTpob3ZlciwgLmNvdXBvbi1jb2RlcyAuYnRuLXByaW1hcnk6Zm9jdXMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG9wYWNpdHk6IDAuODsgfVxuICAuYnV0dG9uLmFjdGlvbiwgLmFjdGlvbi5SZWdpc3RlckJ1dHRvbiwgLkFkZFRvQ2FydEJ1dHRvbi5hY3Rpb24sIC5wYXltZW50LXBhZ2UtY29udGVudCAuYnRuLXByaW1hcnkuYWN0aW9uLCAuY2hlY2tvdXRCdXR0b25OZXh0LmFjdGlvbiwgLnBheW1lbnQtcGFnZS1jb250ZW50IC5idG4tZGVmYXVsdC5hY3Rpb24sIC5jb3Vwb24tY29kZXMgLmJ0bi1wcmltYXJ5LmFjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTMzODsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuYnV0dG9uLCAuUmVnaXN0ZXJCdXR0b24sIC5BZGRUb0NhcnRCdXR0b24ge1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAubWVhbGNhdGVnb3J5YnV0dG9uIHtcbiAgICBtaW4td2lkdGg6IDIyOXB4OyB9IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcblx0UGFuZWxzXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnBhbmVsLCAucGFuZWwtLWZlYXR1cmUsIC5wYW5lbC0tY3RhLCAucGFuZWwtLWJ1YmJsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC5wYW5lbCAucGFuZWxfX2xpbmssIC5wYW5lbC0tZmVhdHVyZSAucGFuZWxfX2xpbmssIC5wYW5lbC0tY3RhIC5wYW5lbF9fbGluaywgLnBhbmVsLS1idWJibGUgLnBhbmVsX19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAucGFuZWwgLnBhbmVsX19pbWdXcmFwLCAucGFuZWwtLWZlYXR1cmUgLnBhbmVsX19pbWdXcmFwLCAucGFuZWwtLWN0YSAucGFuZWxfX2ltZ1dyYXAsIC5wYW5lbC0tYnViYmxlIC5wYW5lbF9faW1nV3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wYW5lbCAucGFuZWxfX2ltZywgLnBhbmVsLS1mZWF0dXJlIC5wYW5lbF9faW1nLCAucGFuZWwtLWN0YSAucGFuZWxfX2ltZywgLnBhbmVsLS1idWJibGUgLnBhbmVsX19pbWcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICAucGFuZWwgLnBhbmVsX19pbWc6YmVmb3JlLCAucGFuZWwtLWZlYXR1cmUgLnBhbmVsX19pbWc6YmVmb3JlLCAucGFuZWwtLWN0YSAucGFuZWxfX2ltZzpiZWZvcmUsIC5wYW5lbC0tYnViYmxlIC5wYW5lbF9faW1nOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogNzQuOTM5MDI0JTsgfVxuICAucGFuZWwgLnBhbmVsX19jb250ZW50LCAucGFuZWwtLWZlYXR1cmUgLnBhbmVsX19jb250ZW50LCAucGFuZWwtLWN0YSAucGFuZWxfX2NvbnRlbnQsIC5wYW5lbC0tYnViYmxlIC5wYW5lbF9fY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAucGFuZWwgLnBhbmVsX190YWcsIC5wYW5lbC0tZmVhdHVyZSAucGFuZWxfX3RhZywgLnBhbmVsLS1jdGEgLnBhbmVsX190YWcsIC5wYW5lbC0tYnViYmxlIC5wYW5lbF9fdGFnIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjMDE4NzdjO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4OyB9XG4gIC5wYW5lbCAucGFuZWxfX3RleHQsIC5wYW5lbC0tZmVhdHVyZSAucGFuZWxfX3RleHQsIC5wYW5lbC0tY3RhIC5wYW5lbF9fdGV4dCwgLnBhbmVsLS1idWJibGUgLnBhbmVsX190ZXh0IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogIzI2MjUyNztcbiAgICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gIC5wYW5lbCAucGFuZWxfX2N0YSwgLnBhbmVsLS1mZWF0dXJlIC5wYW5lbF9fY3RhLCAucGFuZWwtLWN0YSAucGFuZWxfX2N0YSwgLnBhbmVsLS1idWJibGUgLnBhbmVsX19jdGEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhbmVsIC5wYW5lbF9fdGFnLCAucGFuZWwtLWZlYXR1cmUgLnBhbmVsX190YWcsIC5wYW5lbC0tY3RhIC5wYW5lbF9fdGFnLCAucGFuZWwtLWJ1YmJsZSAucGFuZWxfX3RhZyB7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhbmVsLCAucGFuZWwtLWZlYXR1cmUsIC5wYW5lbC0tY3RhLCAucGFuZWwtLWJ1YmJsZSB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgICAucGFuZWw6bGFzdC1jaGlsZCwgLnBhbmVsLS1mZWF0dXJlOmxhc3QtY2hpbGQsIC5wYW5lbC0tY3RhOmxhc3QtY2hpbGQsIC5wYW5lbC0tYnViYmxlOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5wYW5lbCAucGFuZWxfX2ltZ1dyYXA6YmVmb3JlLCAucGFuZWwtLWZlYXR1cmUgLnBhbmVsX19pbWdXcmFwOmJlZm9yZSwgLnBhbmVsLS1jdGEgLnBhbmVsX19pbWdXcmFwOmJlZm9yZSwgLnBhbmVsLS1idWJibGUgLnBhbmVsX19pbWdXcmFwOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEyJTtcbiAgICAgIGxlZnQ6IC04MyU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTE0LCAyMjAsIDIxMiwgMC41KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgICAucGFuZWwgLnBhbmVsX190YWcsIC5wYW5lbC0tZmVhdHVyZSAucGFuZWxfX3RhZywgLnBhbmVsLS1jdGEgLnBhbmVsX190YWcsIC5wYW5lbC0tYnViYmxlIC5wYW5lbF9fdGFnIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIC5wYW5lbCAucGFuZWxfX3RleHQsIC5wYW5lbC0tZmVhdHVyZSAucGFuZWxfX3RleHQsIC5wYW5lbC0tY3RhIC5wYW5lbF9fdGV4dCwgLnBhbmVsLS1idWJibGUgLnBhbmVsX190ZXh0IHtcbiAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4zMztcbiAgICAgIG1hcmdpbi10b3A6IDQ0cHg7IH1cbiAgICAucGFuZWwgLnBhbmVsX190ZXh0X2hlcm9faGlkZGVuLCAucGFuZWwtLWZlYXR1cmUgLnBhbmVsX190ZXh0X2hlcm9faGlkZGVuLCAucGFuZWwtLWN0YSAucGFuZWxfX3RleHRfaGVyb19oaWRkZW4sIC5wYW5lbC0tYnViYmxlIC5wYW5lbF9fdGV4dF9oZXJvX2hpZGRlbiB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXRvcDogMzBweDsgfVxuICAgIC5wYW5lbCAucGFuZWxfX2N0YSwgLnBhbmVsLS1mZWF0dXJlIC5wYW5lbF9fY3RhLCAucGFuZWwtLWN0YSAucGFuZWxfX2N0YSwgLnBhbmVsLS1idWJibGUgLnBhbmVsX19jdGEge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0RmVhdHVyZSBQYW5lbFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnBhbmVsLS1mZWF0dXJlIC5wYW5lbF9fdGV4dCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBhbmVsX19jb250ZW50IC5wYW5lbF9fdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wYW5lbF9sZWdhbF9jdGEge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzOyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0Q1RBIFBhbmVsXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ucGFuZWwtLWN0YSAucGFuZWxfX3RhZywgLnBhbmVsLS1idWJibGUgLnBhbmVsX190YWcge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wYW5lbC0tY3RhIC5wYW5lbF9fdGV4dCwgLnBhbmVsLS1idWJibGUgLnBhbmVsX190ZXh0IHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gIGNvbG9yOiAjMDMxZjczO1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wYW5lbC0tY3RhIC5wYW5lbF9fY3RhLCAucGFuZWwtLWJ1YmJsZSAucGFuZWxfX2N0YSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYW5lbC0tY3RhLCAucGFuZWwtLWJ1YmJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH1cbiAgICAucGFuZWwtLWN0YSAucGFuZWxfX2ltZ1dyYXA6YmVmb3JlLCAucGFuZWwtLWJ1YmJsZSAucGFuZWxfX2ltZ1dyYXA6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgICAucGFuZWwtLWN0YSAucGFuZWxfX3RpdGxlLCAucGFuZWwtLWJ1YmJsZSAucGFuZWxfX3RpdGxlIHtcbiAgICAgIG1heC13aWR0aDogNTgwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxOHB4OyB9XG4gICAgLnBhbmVsLS1jdGEgLnBhbmVsX190ZXh0LCAucGFuZWwtLWJ1YmJsZSAucGFuZWxfX3RleHQge1xuICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDM3cHg7IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRDYXJkc1xyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5jYXJkLCAuY2FyZC0tdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCBhdXRvIDI0cHg7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmNhcmQgLmNhcmRfX2ltZywgLmNhcmQtLXZpZGVvIC5jYXJkX19pbWcge1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLXRvcDogNjAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gIC5jYXJkIC5jYXJkX19jb250ZW50LCAuY2FyZC0tdmlkZW8gLmNhcmRfX2NvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMTJweCAxNnB4IDE4cHg7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDFweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAuY2FyZCAuY2FyZF9fdGV4dCwgLmNhcmQtLXZpZGVvIC5jYXJkX190ZXh0IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICBjb2xvcjogIzI2MjUyNzsgfVxuICAuY2FyZCAuY2FyZF9fdGFnLCAuY2FyZC0tdmlkZW8gLmNhcmRfX3RhZyB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjcxO1xuICAgIGNvbG9yOiAjM2U0MDk2O1xuICAgIG1hcmdpbi10b3A6IDFweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2FyZCwgLmNhcmQtLXZpZGVvIHtcbiAgICBtYXgtd2lkdGg6IDU1OHB4O1xuICAgIG1hcmdpbjogMCAyMHB4IDAgMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gICAgLmNhcmQgLmNhcmRfX2NvbnRlbnQsIC5jYXJkLS12aWRlbyAuY2FyZF9fY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAxOXB4IDMwcHggMzVweDsgfVxuICAgIC5jYXJkIC5jYXJkX190YWcsIC5jYXJkLS12aWRlbyAuY2FyZF9fdGFnIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jYXJkLCAuY2FyZC0tdmlkZW8ge1xuICAgIG1heC13aWR0aDogNDUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5jYXJkLCAuY2FyZC0tdmlkZW8ge1xuICAgIG1heC13aWR0aDogNTU4cHg7IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdFZpZGVvIENhcmRcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5jYXJkLS12aWRlbyAuY2FyZF9faW1nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jYXJkLS12aWRlbyAuY2FyZF9faW1nOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc2OScgaGVpZ2h0PSc2OScgdmlld0JveD0nMCAwIDY5IDY5JyUzRSUzQ3BhdGggZmlsbD0nJTIzZmZmJyBzdHJva2U9J3RyYW5zcGFyZW50JyBzdHJva2Utd2lkdGg9JzAnIGQ9J00zNC41LDBBMzQuNSwzNC41LDAsMSwwLDY5LDM0LjUsMzQuNTMsMzQuNTMsMCwwLDAsMzQuNSwwWk00NS42MSwzNi4yNCwyOS4zNCw0Ny4wN2EyLjExLDIuMTEsMCwwLDEtMy4yNy0xLjc1VjIzLjY4YTIuMSwyLjEsMCwwLDEsMy4yNy0xLjc0TDQ1LjYxLDMyLjc2YTIuMDksMi4wOSwwLDAsMSwwLDMuNDhaJyAvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBvcGFjaXR5OiAwLjk7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRDYXJkIExpc3RcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5jYXJkTGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY2FyZExpc3QgLmNhcmRMaXN0X190aXRsZSB7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjVweDtcbiAgICBjb2xvcjogIzAzMWY3MztcbiAgICBtYXJnaW4tYm90dG9tOiAyMXB4OyB9XG4gIC5jYXJkTGlzdCAuY2FyZExpc3RfX3NsaWRlcldyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY2FyZExpc3QgLmNhcmRMaXN0X19jdGEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDE2cHggODBweDsgfVxuICAgIC5jYXJkTGlzdCAuY2FyZExpc3RfX2N0YSAuYnV0dG9uLCAuY2FyZExpc3QgLmNhcmRMaXN0X19jdGEgLlJlZ2lzdGVyQnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAzNjBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5jYXJkTGlzdCAuY2FyZDpudGgtY2hpbGQobis0KSwgLmNhcmRMaXN0IC5jYXJkLS12aWRlbzpudGgtY2hpbGQobis0KSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jYXJkTGlzdCAuY2FyZExpc3RfX3NsaWRlcldyYXBwZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmNhcmRMaXN0IC5zbGljay1kb3RzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XG4gIC5jYXJkTGlzdCAuY2FyZExpc3RfX2N0YSB7XG4gICAgbWFyZ2luLXRvcDogNDRweDsgfVxuICAgIC5jYXJkTGlzdCAuY2FyZExpc3RfX2N0YSAuYnV0dG9uLCAuY2FyZExpc3QgLmNhcmRMaXN0X19jdGEgLlJlZ2lzdGVyQnV0dG9uIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNhcmRMaXN0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTEwcHg7IH1cbiAgICAuY2FyZExpc3QgLmNhcmRMaXN0X190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4xMztcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMXB4OyB9XG4gICAgLmNhcmRMaXN0IC5jYXJkTGlzdF9fY3RhIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTEzcHg7XG4gICAgICBsZWZ0OiAxNnB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuY2FyZExpc3QgLmNhcmRMaXN0X190aXRsZSB7XG4gICAgZm9udC1zaXplOiA2NHB4OyB9IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcblx0U2xpZGVyc1xyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0TmF2IFNsaWRlclxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLm5hdlNsaWRlciwgLnJlY2lwZVNsaWRlciB7XG4gIG1heC13aWR0aDogMTg1NnB4O1xuICBtYXJnaW46IDAgYXV0byAyNHB4OyB9XG4gIC5uYXZTbGlkZXIgLm5hdlNsaWRlcl9fdGl0bGUsIC5yZWNpcGVTbGlkZXIgLm5hdlNsaWRlcl9fdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLm5hdlNsaWRlciAubmF2U2xpZGVyX193cmFwcGVyLCAucmVjaXBlU2xpZGVyIC5uYXZTbGlkZXJfX3dyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDI0M3B4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm5hdlNsaWRlciAubmF2U2xpZGVyX19zY3JvbGwsIC5yZWNpcGVTbGlkZXIgLm5hdlNsaWRlcl9fc2Nyb2xsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDE4NTZweDtcbiAgICBoZWlnaHQ6IDI0MHB4O1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuICAubmF2U2xpZGVyIC5uYXZTbGlkZXJfX3NsaWRlcywgLnJlY2lwZVNsaWRlciAubmF2U2xpZGVyX19zbGlkZXMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubmF2U2xpZGVyIC5uYXZTbGlkZXJfX3NsaWRlLCAucmVjaXBlU2xpZGVyIC5uYXZTbGlkZXJfX3NsaWRlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDIxMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAxMHB4IDEwcHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDFweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5uYXZTbGlkZXIgLm5hdlNsaWRlcl9fbGluaywgLnJlY2lwZVNsaWRlciAubmF2U2xpZGVyX19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubmF2U2xpZGVyIC5uYXZTbGlkZXJfX2ltZywgLnJlY2lwZVNsaWRlciAubmF2U2xpZGVyX19pbWcge1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLXRvcDogNzkuMjQ1MjgzJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4IDEwcHggMCAwOyB9XG4gIC5uYXZTbGlkZXIgLm5hdlNsaWRlcl9fY29udGVudCwgLnJlY2lwZVNsaWRlciAubmF2U2xpZGVyX19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA3MnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMXB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gIC5uYXZTbGlkZXIgLm5hdlNsaWRlcl9fdGV4dCwgLnJlY2lwZVNsaWRlciAubmF2U2xpZGVyX190ZXh0IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgIGNvbG9yOiAjMDMxZjczO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5uYXZTbGlkZXIsIC5yZWNpcGVTbGlkZXIge1xuICAgIG1heC13aWR0aDogMjM1MnB4OyB9XG4gICAgLm5hdlNsaWRlciAubmF2U2xpZGVyX193cmFwcGVyLCAucmVjaXBlU2xpZGVyIC5uYXZTbGlkZXJfX3dyYXBwZXIge1xuICAgICAgaGVpZ2h0OiAyOThweDsgfVxuICAgIC5uYXZTbGlkZXIgLm5hdlNsaWRlcl9fc2Nyb2xsLCAucmVjaXBlU2xpZGVyIC5uYXZTbGlkZXJfX3Njcm9sbCB7XG4gICAgICB3aWR0aDogMjM1MnB4O1xuICAgICAgaGVpZ2h0OiAyOTZweDsgfVxuICAgIC5uYXZTbGlkZXIgLm5hdlNsaWRlcl9fc2xpZGUsIC5yZWNpcGVTbGlkZXIgLm5hdlNsaWRlcl9fc2xpZGUge1xuICAgICAgd2lkdGg6IDIyNXB4O1xuICAgICAgbWFyZ2luOiAwIDE2cHg7IH1cbiAgICAubmF2U2xpZGVyIC5uYXZTbGlkZXJfX2NvbnRlbnQsIC5yZWNpcGVTbGlkZXIgLm5hdlNsaWRlcl9fY29udGVudCB7XG4gICAgICBoZWlnaHQ6IDg4cHg7IH1cbiAgICAubmF2U2xpZGVyIC5uYXZTbGlkZXJfX3RleHQsIC5yZWNpcGVTbGlkZXIgLm5hdlNsaWRlcl9fdGV4dCB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMnJlbTsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0TmF2IFNsaWRlciBXaXRoIFNtYWxsZXIgVGV4dFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLm5hdlNsaWRlci5zbWFsbFRleHQgLm5hdlNsaWRlcl9fd3JhcHBlciwgLnNtYWxsVGV4dC5yZWNpcGVTbGlkZXIgLm5hdlNsaWRlcl9fd3JhcHBlciB7XG4gIGhlaWdodDogMjk4cHg7IH1cblxuLm5hdlNsaWRlci5zbWFsbFRleHQgLm5hdlNsaWRlcl9fc2Nyb2xsLCAuc21hbGxUZXh0LnJlY2lwZVNsaWRlciAubmF2U2xpZGVyX19zY3JvbGwge1xuICBoZWlnaHQ6IDI5NnB4OyB9XG5cbi5uYXZTbGlkZXIuc21hbGxUZXh0IC5uYXZTbGlkZXJfX2NvbnRlbnQsIC5zbWFsbFRleHQucmVjaXBlU2xpZGVyIC5uYXZTbGlkZXJfX2NvbnRlbnQge1xuICBoZWlnaHQ6IDg4cHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm5hdlNsaWRlci5zbWFsbFRleHQgLm5hdlNsaWRlcl9fdGV4dCwgLnNtYWxsVGV4dC5yZWNpcGVTbGlkZXIgLm5hdlNsaWRlcl9fdGV4dCB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjgxMjVyZW07IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdFNsaWNrIFNsaWRlclxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uc2xpY2stZG90cyB7XG4gIGJvdHRvbTogLTE4cHg7XG4gIGZvbnQtc2l6ZTogMDsgfVxuICAuc2xpY2stZG90cyBsaSB7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIG1hcmdpbjogMCA2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzcyZGNkNDtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBsaW5lYXIsIG9wYWNpdHkgMC4ycyBsaW5lYXI7IH1cbiAgICAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYzBiNTtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9IH1cblxuLnNsaWNrLXNsaWRlIHtcbiAgb3BhY2l0eTogMC4zO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyOyB9XG4gIC5zbGljay1zbGlkZS5zbGljay1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHROYXYgU2xpZGVyXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ubmF2U2xpZGVyIC5jYXJkX19jb250YWluZXIsIC5yZWNpcGVTbGlkZXIgLmNhcmRfX2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubmF2U2xpZGVyIC5jYXJkX19jb250YWluZXIgLm5hdlNsaWRlcl9fc2xpZGVzLCAucmVjaXBlU2xpZGVyIC5jYXJkX19jb250YWluZXIgLm5hdlNsaWRlcl9fc2xpZGVzIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubmF2U2xpZGVyIC5jYXJkX19jb250YWluZXIgLm5hdlNsaWRlcl9fc2xpZGUsIC5yZWNpcGVTbGlkZXIgLmNhcmRfX2NvbnRhaW5lciAubmF2U2xpZGVyX19zbGlkZSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luOiAwcHggMTZweCAzMHB4IDE2cHggIWltcG9ydGFudDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRCYW5uZXJzXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRTaWduIFVwXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uc2lnbnVwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkODc3ZDsgfVxuICAuc2lnbnVwIC5zaWdudXBfX2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgcGFkZGluZzogNDBweCAwIDQ4cHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5zaWdudXAgLnNpZ251cF9fdGV4dCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLnNpZ251cCAuc2lnbnVwX19mb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA2NzBweDsgfVxuICAuc2lnbnVwIC5zaWdudXBfX2VtYWlsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTJweCA2M3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgIC5zaWdudXAgLnNpZ251cF9fZW1haWw6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDE2cHg7XG4gICAgICBsZWZ0OiAxNnB4O1xuICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMzLjM5JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzMuMzkgMjQnJTNFJTNDcGF0aCBmaWxsPSclMjMwMGMwYjUnIHN0cm9rZT0ndHJhbnNwYXJlbnQnIHN0cm9rZS13aWR0aD0nMCcgZD0nTTQuMTcsMEE0LjE5LDQuMTksMCwwLDAsMCw0LjE3VjE5LjgzQTQuMTksNC4xOSwwLDAsMCw0LjE3LDI0aDI1YTQuMTksNC4xOSwwLDAsMCw0LjE3LTQuMTdWNC4xN0E0LjE5LDQuMTksMCwwLDAsMjkuMjIsMFptMCwyLjA5aDI1QTIuMDUsMi4wNSwwLDAsMSwzMS4zLDQuMTdWMTkuODNhMi4wNSwyLjA1LDAsMCwxLTIuMDgsMi4wOGgtMjVhMi4wNSwyLjA1LDAsMCwxLTIuMDgtMi4wOFY0LjE3QTIuMDUsMi4wNSwwLDAsMSw0LjE3LDIuMDlaTTYuNjcsNS4yYTEsMSwwLDAsMC0uODkuN0ExLDEsMCwwLDAsNi4wNSw3bDUuMjUsNS4yMkw2LjA4LDE3YTEsMSwwLDEsMCwxLjQsMS41NWw1LjMtNC44MywxLjU4LDEuNTZhMy4zMSwzLjMxLDAsMCwwLDQuNjUsMGwxLjU4LTEuNTYsNS4zMiw0LjgzYTEuMDcsMS4wNywwLDAsMCwuNzUuMjcsMS4wOCwxLjA4LDAsMCwwLC43My0uMzUsMS4wNywxLjA3LDAsMCwwLC4yNy0uNzUsMSwxLDAsMCwwLS4zNS0uNzJMMjIuMDgsMTIuMiwyNy4zNCw3YTEsMSwwLDAsMCwuMzMtLjc0LDEuMDksMS4wOSwwLDAsMC0uMy0uNzUsMS4wNSwxLjA1LDAsMCwwLTEuNSwwbC04LjM0LDguMjVhMS40MSwxLjQxLDAsMCwxLTEuNywwTDcuNTIsNS41MWExLDEsMCwwLDAtLjg1LS4zMVonIC8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG4gICAgLnNpZ251cCAuc2lnbnVwX19lbWFpbCBpbnB1dCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2lnbnVwIC5zaWdudXBfX2Zvcm0ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgLnNpZ251cCAuc2lnbnVwX19lbWFpbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5zaWdudXAgLnNpZ251cF9fZW1haWwgaW5wdXQge1xuICAgICAgd2lkdGg6IDI3MHB4OyB9XG4gIC5zaWdudXAgLmJ1dHRvbiwgLnNpZ251cCAuUmVnaXN0ZXJCdXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiA1NnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3MmRjZDQ7XG4gICAgcGFkZGluZzogMTJweCAyMHB4IDE1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLnNpZ251cCAuYnV0dG9uOmJlZm9yZSwgLnNpZ251cCAuUmVnaXN0ZXJCdXR0b246YmVmb3JlLCAuc2lnbnVwIC5idXR0b246YWZ0ZXIsIC5zaWdudXAgLlJlZ2lzdGVyQnV0dG9uOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2lnbnVwIC5zaWdudXBfX2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBwYWRkaW5nOiA2NnB4IDE2cHggODBweDsgfVxuICAuc2lnbnVwIC5zaWdudXBfX3RleHQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnNpZ251cCAuc2lnbnVwX19mb3JtIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc2lnbnVwIC5zaWdudXBfX2VtYWlsIGlucHV0IHtcbiAgICB3aWR0aDogMjk1cHg7IH1cbiAgLnNpZ251cCAuYnV0dG9uLCAuc2lnbnVwIC5SZWdpc3RlckJ1dHRvbiB7XG4gICAgcGFkZGluZzogMTJweCAzOHB4IDE1cHg7IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdEZyaWVuZHNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5wYW5lbC0tYnViYmxlIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5wYW5lbC0tYnViYmxlIC5idWJibGVfX2Jhbm5lciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL05zd01lYWxzT25XaGVlbHMvbWFya3VwL2Rpc3QvYXNzZXRzL2ltZy9mcmllbmRzL2ZyaWVuZHMtYmFubmVyLWJhY2tncm91bmQucG5nXCIpO1xuICAgIG1heC13aWR0aDogMTQwMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIC5wYW5lbC0tYnViYmxlIC5idWJibGVfX2Jhbm5lci0taW1hZ2VMZWZ0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAyMDBweDsgfVxuICAgIC5wYW5lbC0tYnViYmxlIC5idWJibGVfX2Jhbm5lci0taW1hZ2VMZWZ0IGltZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogNSU7IH1cbiAgLnBhbmVsLS1idWJibGUgLmJ1YmJsZV9fYmFubmVyLS1pbWFnZSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAyMDBweDsgfVxuICAgIC5wYW5lbC0tYnViYmxlIC5idWJibGVfX2Jhbm5lci0taW1hZ2UgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAvKnBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0cmlnaHQ6IDI0JTsqLyB9XG4gIC5wYW5lbC0tYnViYmxlIC5idWJibGVfX2Jhbm5lci0taW1hZ2VSaWdodCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMjAwcHg7IH1cbiAgICAucGFuZWwtLWJ1YmJsZSAuYnViYmxlX19iYW5uZXItLWltYWdlUmlnaHQgaW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUlOyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0Q3VwcGEgZm9yIGEgY2F1c2VcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5jdXBwYV9jYXJkcyB7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG4gIC5jdXBwYV9jYXJkcyAuYmFubmVyX19jb250ZW50IC5iYW5uZXJfX2NhcmQge1xuICAgIG1hcmdpbjogMTVweCAwcHg7IH1cbiAgLmN1cHBhX2NhcmRzIC5iYW5uZXJfX2NvbnRlbnQgYSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5jdXBwYV9jYXJkcyAuYmFubmVyX19jb250ZW50IGEgLnRpdGxlIHtcbiAgICBtYXJnaW46IDE1cHggMXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRJbmZvZ3JhcGhpY1xyXG5cdFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmluZm9ncmFwaGljIHtcbiAgZm9udC1zaXplOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmluZm9ncmFwaGljIC5pbmZvZ3JhcGhpY19fdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC5pbmZvZ3JhcGhpYyAuaW5mb2dyYXBoaWNfX3RpbGVXcmFwLCAuaW5mb2dyYXBoaWMgLnByb2R1Y3RfX3dyYXAge1xuICAgIG1heC13aWR0aDogMzI4cHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTZweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgLmluZm9ncmFwaGljIC5pbmZvZ3JhcGhpY19fdGlsZVdyYXA6bGFzdC1jaGlsZCwgLmluZm9ncmFwaGljIC5wcm9kdWN0X193cmFwOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAuaW5mb2dyYXBoaWMgLmluZm9ncmFwaGljX190aWxlLCAuaW5mb2dyYXBoaWMgLnByb2R1Y3RfX3RpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKmhlaWdodDogNTI4cHg7Ki9cbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNlYWYxZmI7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuICAgIC5pbmZvZ3JhcGhpYyAuaW5mb2dyYXBoaWNfX3RpbGUgLmluZm9ncmFwaGljX190aXRsZSwgLmluZm9ncmFwaGljIC5wcm9kdWN0X190aWxlIC5pbmZvZ3JhcGhpY19fdGl0bGUge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmluZm9ncmFwaGljIC5pbmZvZ3JhcGhpY19faW1nIHtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBtYXJnaW46IDU1cHggMjBweCAwOyB9XG4gICAgLmluZm9ncmFwaGljIC5pbmZvZ3JhcGhpY19faW1nIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiAyMDBweDsgfVxuICAuaW5mb2dyYXBoaWMgLmluZm9ncmFwaGljX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAzMHB4IDI0cHggNjBweDsgfVxuICAuaW5mb2dyYXBoaWMgLmluZm9ncmFwaGljX190ZXh0IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAuaW5mb2dyYXBoaWMgLmluZm9ncmFwaGljX19jdGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNTZweDtcbiAgICBoZWlnaHQ6IDU2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDA5NjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMxLjQ5JyBoZWlnaHQ9JzMxLjQ5JyB2aWV3Qm94PScwIDAgMzEuNDkgMzEuNDknJTNFJTNDcGF0aCBmaWxsPSclMjNmZmYnIHN0cm9rZT0ndHJhbnNwYXJlbnQnIHN0cm9rZS13aWR0aD0nMCcgZD0nTTIxLjIwNSw1LjAwN2MtMC40MjktMC40NDQtMS4xNDMtMC40NDQtMS41ODcsMGMtMC40MjksMC40MjktMC40MjksMS4xNDMsMCwxLjU3MWw4LjA0Nyw4LjA0N0gxLjExMSAgQzAuNDkyLDE0LjYyNiwwLDE1LjExOCwwLDE1LjczN2MwLDAuNjE5LDAuNDkyLDEuMTI3LDEuMTExLDEuMTI3aDI2LjU1NGwtOC4wNDcsOC4wMzJjLTAuNDI5LDAuNDQ0LTAuNDI5LDEuMTU5LDAsMS41ODcgIGMwLjQ0NCwwLjQ0NCwxLjE1OSwwLjQ0NCwxLjU4NywwbDkuOTUyLTkuOTUyYzAuNDQ0LTAuNDI5LDAuNDQ0LTEuMTQzLDAtMS41NzFMMjEuMjA1LDUuMDA3eicgLyUzRSUzQy9zdmclM0VcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG1hcmdpbi10b3A6IDIycHg7IH1cbiAgLmluZm9ncmFwaGljIC5ncmlkLXNpemVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5pbmZvZ3JhcGhpYyAuaW5mb2dyYXBoaWNfX3RpbGVXcmFwLCAuaW5mb2dyYXBoaWMgLnByb2R1Y3RfX3dyYXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNTAlO1xuICAgIG1heC13aWR0aDogNTk2cHg7XG4gICAgcGFkZGluZzogMCAxNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAuaW5mb2dyYXBoaWMgLmluZm9ncmFwaGljX190aWxlV3JhcDpudGgtY2hpbGQob2RkKSwgLmluZm9ncmFwaGljIC5wcm9kdWN0X193cmFwOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgLyptYXJnaW4tdG9wOiAtMjk3cHg7Ki8gfVxuICAgIC5pbmZvZ3JhcGhpYyAuaW5mb2dyYXBoaWNfX3RpbGVXcmFwOmZpcnN0LWNoaWxkLCAuaW5mb2dyYXBoaWMgLnByb2R1Y3RfX3dyYXA6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5pbmZvZ3JhcGhpYyAuaW5mb2dyYXBoaWNfX3RpbGVXcmFwOm50aC1jaGlsZCgyKSwgLmluZm9ncmFwaGljIC5wcm9kdWN0X193cmFwOm50aC1jaGlsZCgyKSB7XG4gICAgICBtYXJnaW4tdG9wOiAyOTdweDsgfVxuICAgIC5pbmZvZ3JhcGhpYyAuaW5mb2dyYXBoaWNfX3RpbGVXcmFwOmxhc3QtY2hpbGQsIC5pbmZvZ3JhcGhpYyAucHJvZHVjdF9fd3JhcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmdyaWQtaXRlbSB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtc2l6ZXIge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmluZm9ncmFwaGljIC5pbmZvZ3JhcGhpY19fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDc4cHg7IH1cbiAgLmluZm9ncmFwaGljIC5pbmZvZ3JhcGhpY19fdGlsZVdyYXAsIC5pbmZvZ3JhcGhpYyAucHJvZHVjdF9fd3JhcCB7XG4gICAgcGFkZGluZzogMCAyOHB4OyB9XG4gIC5pbmZvZ3JhcGhpYyAuaW5mb2dyYXBoaWNfX3RpbGUsIC5pbmZvZ3JhcGhpYyAucHJvZHVjdF9fdGlsZSB7XG4gICAgLypoZWlnaHQ6IDc2MHB4OyovIH1cbiAgICAuaW5mb2dyYXBoaWMgLmluZm9ncmFwaGljX190aWxlIC5pbmZvZ3JhcGhpY19fdGl0bGUsIC5pbmZvZ3JhcGhpYyAucHJvZHVjdF9fdGlsZSAuaW5mb2dyYXBoaWNfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgLmluZm9ncmFwaGljIC5pbmZvZ3JhcGhpY19faW1nIHtcbiAgICB3aWR0aDogMjg4cHg7XG4gICAgbWFyZ2luLXRvcDogMTA4cHg7IH1cbiAgLmluZm9ncmFwaGljIC5pbmZvZ3JhcGhpY19fY29udGVudCB7XG4gICAgcGFkZGluZzogNTBweCA0MHB4IDEwMHB4OyB9XG4gIC5pbmZvZ3JhcGhpYyAuaW5mb2dyYXBoaWNfX3RleHQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRTdG9yZSBQcm9kdWN0IEluZm9ncmFwaGljIFRpbGVzXHJcblx0XHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ucHJvZHVjdF9fdGlsZSAuaW5mb2dyYXBoaWNfX2ltZyB7XG4gIG1hcmdpbi10b3A6IDBweDtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi5wcm9kdWN0X190aWxlIC5pbmZvZ3JhcGhpY19fY29udGVudCB7XG4gIHBhZGRpbmc6IDMwcHggNDBweCAzMHB4OyB9XG4gIC5wcm9kdWN0X190aWxlIC5pbmZvZ3JhcGhpY19fY29udGVudCAuaW5mb2dyYXBoaWNfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDI2cHggIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucHJvZHVjdF9fdGlsZSB7XG4gICAgLyogbWF4LXdpZHRoOiAzNTBweDsqLyB9XG4gICAgLnByb2R1Y3RfX3RpbGUgLmluZm9ncmFwaGljX19pbWcge1xuICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgaGVpZ2h0OiAyMDBweDsgfVxuICAgICAgLnByb2R1Y3RfX3RpbGUgLmluZm9ncmFwaGljX19pbWcgaW1nIHtcbiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7IH1cbiAgICAucHJvZHVjdF9fdGlsZSAuaW5mb2dyYXBoaWNfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogMzBweCAzMHB4IDMwcHg7IH1cbiAgICAgIC5wcm9kdWN0X190aWxlIC5pbmZvZ3JhcGhpY19fY29udGVudCAuaW5mb2dyYXBoaWNfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5wcm9kdWN0X190aWxlIC5pbmZvZ3JhcGhpY19fY29udGVudCAuaW5mb2dyYXBoaWNfX3RleHQge1xuICAgICAgICAvKmhlaWdodDogOTVweDsqLyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnByb2R1Y3RfX3RpbGUge1xuICAgIC8qIG1heC13aWR0aDogMzUwcHg7Ki8gfVxuICAgIC5wcm9kdWN0X190aWxlIC5pbmZvZ3JhcGhpY19faW1nIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuLnByb2R1Y3RfX3dyYXAge1xuICBtYXgtd2lkdGg6IDM1OHB4O1xuICBwYWRkaW5nOiAwIDE4cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcblx0VGlsZSBIdWIgU3R5bGVzXHJcblx0XHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udGlsZUdyaWQtLW91dGVyIHtcbiAgZm9udC1zaXplOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnRpbGVHcmlkLS1vdXRlciAuZ3JpZC1pdGVtIHtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7IH1cbiAgLnRpbGVHcmlkLS1vdXRlciAudGlsZUdyaWQtLXRpbGVXcmFwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMHB4IDIwcHg7XG4gICAgbWF4LXdpZHRoOiA0MzBweDtcbiAgICBtYXJnaW46IDIwcHggMHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLnRpbGVHcmlkLS1vdXRlciAudGlsZUdyaWQtLXRpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDUyOHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzQ0RDNDtcbiAgICBwYWRkaW5nOiAycHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2VhZjFmYjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gIC50aWxlR3JpZC0tb3V0ZXIgLnRpbGVHcmlkLS10aWxlQWx0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDMxRjczOyB9XG4gIC50aWxlR3JpZC0tb3V0ZXIgLnRpbGVHcmlkSG9sbG93LS10aWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiA0MDBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzMzQ0RDNDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gIC50aWxlR3JpZC0tb3V0ZXIgLnRpbGVHcmlkSG9sbG93LS10aWxlQWx0IHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDMxRjczOyB9XG4gIC50aWxlR3JpZC0tb3V0ZXIgLnRpbGVHcmlkLS1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwcHggMjBweCAyMHB4IDIwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC50aWxlR3JpZC0tb3V0ZXIgLnRpbGVHcmlkSG9sbG93LS1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC50aWxlR3JpZC0tb3V0ZXIgLnRpbGVHcmlkLS10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLnRpbGVHcmlkLS1vdXRlciAudGlsZUdyaWQtLXRleHQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG4gIC50aWxlR3JpZC0tb3V0ZXIgLnRpbGVHcmlkSG9sbG93LS10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDZweDsgfVxuICAudGlsZUdyaWQtLW91dGVyIC50aWxlR3JpZEhvbGxvdy0tdGlsZSAudGlsZUdyaWRIb2xsb3ctLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzNDREM0OyB9XG4gIC50aWxlR3JpZC0tb3V0ZXIgLnRpbGVHcmlkSG9sbG93LS10aWxlQWx0IC50aWxlR3JpZEhvbGxvdy0tdGl0bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMzFGNzM7IH1cbiAgLnRpbGVHcmlkLS1vdXRlciAudGlsZUdyaWRIb2xsb3ctLXRleHQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4OyB9XG4gIC50aWxlR3JpZC0tb3V0ZXIgLnRpbGVHcmlkLS1jdGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNTZweDtcbiAgICBoZWlnaHQ6IDU2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMxLjQ5JyBoZWlnaHQ9JzMxLjQ5JyB2aWV3Qm94PScwIDAgMzEuNDkgMzEuNDknJTNFJTNDcGF0aCBmaWxsPSclMjMzZTQwOTYnIHN0cm9rZT0ndHJhbnNwYXJlbnQnIHN0cm9rZS13aWR0aD0nMCcgZD0nTTIxLjIwNSw1LjAwN2MtMC40MjktMC40NDQtMS4xNDMtMC40NDQtMS41ODcsMGMtMC40MjksMC40MjktMC40MjksMS4xNDMsMCwxLjU3MWw4LjA0Nyw4LjA0N0gxLjExMSAgQzAuNDkyLDE0LjYyNiwwLDE1LjExOCwwLDE1LjczN2MwLDAuNjE5LDAuNDkyLDEuMTI3LDEuMTExLDEuMTI3aDI2LjU1NGwtOC4wNDcsOC4wMzJjLTAuNDI5LDAuNDQ0LTAuNDI5LDEuMTU5LDAsMS41ODcgIGMwLjQ0NCwwLjQ0NCwxLjE1OSwwLjQ0NCwxLjU4NywwbDkuOTUyLTkuOTUyYzAuNDQ0LTAuNDI5LDAuNDQ0LTEuMTQzLDAtMS41NzFMMjEuMjA1LDUuMDA3eicgLyUzRSUzQy9zdmclM0VcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDIwcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnRpbGVHcmlkLS1vdXRlciAudGlsZUdyaWQtLXRpbGUge1xuICAgIGhlaWdodDogNDc4cHg7IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRBcnRpY2xlc1xyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5hcnRpY2xlIHtcbiAgcGFkZGluZy1ib3R0b206IDYycHg7IH1cbiAgLmFydGljbGUgLmFydGljbGVfX3RpdGxlLCAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA3OTBweDsgfVxuICAuYXJ0aWNsZSAuYXJ0aWNsZV9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmFydGljbGUgLmFydGljbGVfX3RhZyB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzAxODc3YztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi1ib3R0b206IDM2cHg7IH1cbiAgLmFydGljbGUgLmFydGljbGVfX2ltZywgLmFydGljbGUgLmFydGljbGVfX3ZpZGVvIHtcbiAgICBtaW4taGVpZ2h0OiA1Ni4yNSU7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICAgIG1hcmdpbi1yaWdodDogLTE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzZweDsgfVxuICAuYXJ0aWNsZSAuYXJ0aWNsZV9faW1nIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDU2LjI1JTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5idXR0b24sIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50IC5SZWdpc3RlckJ1dHRvbiB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5hcnRpY2xlIC5hcnRpY2xlX19jdGEge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmFydGljbGUgLmFydGljbGVfX3RhZyB7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG4gIC5hcnRpY2xlIC5hcnRpY2xlX19pbWcsIC5hcnRpY2xlIC5hcnRpY2xlX192aWRlbyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmFydGljbGUgLmFydGljbGVfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyOHB4OyB9XG4gIC5hcnRpY2xlIC5hcnRpY2xlX190YWcge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMS4zMzsgfVxuICAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdFF1b3RlXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ucXVvdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDMxZjczO1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDU2cHg7IH1cbiAgLnF1b3RlIC5xdW90ZV9fdGV4dCB7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5xdW90ZSAucXVvdGVfX3RleHQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEycHg7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiA3MC41cHg7XG4gICAgICBoZWlnaHQ6IDQ2LjVweDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOTQnIGhlaWdodD0nNjInIHZpZXdCb3g9JzAgMCA5NCA2MiclM0UlM0NwYXRoIGZpbGw9JyUyMzcyZGNkNCcgc3Ryb2tlPSd0cmFuc3BhcmVudCcgc3Ryb2tlLXdpZHRoPScwJyBkPSdNOTEuMDYsNS45QTM1LjIyLDM1LjIyLDAsMCwwLDU5LjE1LDI2LjQyYTE4Ljg1LDE4Ljg1LDAsMCwxLDkuOTEtMi44QTE5LjE5LDE5LjE5LDAsMSwxLDUwLDQyLjgxYzAtLjM4LDAtLjc1LDAtMS4xMmEyLjA5LDIuMDksMCwwLDEsMC0uMzVBNDEuMjQsNDEuMjQsMCwwLDEsOTEuMDYsMCwyLjkzLDIuOTMsMCwwLDEsOTQsMi45NGEyLjkzLDIuOTMsMCwwLDEtMi45NCwzWm0tNTAsMEEzNS4yMiwzNS4yMiwwLDAsMCw5LjE0LDI2LjQzYTE4Ljg2LDE4Ljg2LDAsMCwxLDkuOTItMi44MUExOS4xOSwxOS4xOSwwLDEsMSwwLDQyLjgxYzAtLjM4LDAtLjc1LDAtMS4xMmEyLjA5LDIuMDksMCwwLDEsMC0uMzVBNDEuMjQsNDEuMjQsMCwwLDEsNDEuMDYsMGEzLDMsMCwwLDEsMCw1LjlaJyAvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLnF1b3RlIC5xdW90ZV9fc291cmNlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzc2ZDRlZTtcbiAgICBtYXJnaW4tdG9wOiA5cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAucXVvdGUgLnF1b3RlX190ZXh0OmJlZm9yZSB7XG4gICAgd2lkdGg6IDk0cHg7XG4gICAgaGVpZ2h0OiA2MnB4OyB9IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRRdW90ZSB0ZXh0IHdpZGdldCB3cmFwcGVyIHN0eWxlc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnF1b3RlLS1zbWFsbFRleHQgLnF1b3RlIC5xdW90ZV9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMjhweDsgfVxuXG4uUGF5bWVudENDRXhwaXJ5IC5zZWxlY3Qge1xuICB3aWR0aDogNDAlO1xuICBmbG9hdDogbGVmdDsgfVxuXG4uUGF5bWVudENDRXhwaXJ5IC5kYXRlU2VwZXJhdG9yIHtcbiAgcGFkZGluZzogNXB4O1xuICBmbG9hdDogbGVmdDsgfVxuXG4uQ2FydENDUGF5bWVudFRhYmxlIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuQ2FydENDUGF5bWVudFRhYmxlIHRoIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cbiAgICAuQ2FydENDUGF5bWVudFRhYmxlIHRoIGgzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDsgfVxuICAuQ2FydENDUGF5bWVudFRhYmxlIC5QYXltZW50Q0NWIGlucHV0IHtcbiAgICB3aWR0aDogNDAlOyB9XG5cbi5jb3Vwb24tY29kZXMgLmJ0biB7XG4gIG1pbi13aWR0aDogMDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG5cbi5jb3Vwb24tY29kZXMgLmJ0bi1wcmltYXJ5IHtcbiAgbWFyZ2luLXRvcDogNHB4OyB9XG5cbi5jb3Vwb24tY29kZXMgLmJ0bi1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogMHB4OyB9XG5cbi5jb3Vwb24tY29kZXMgLmZvcm0tY29udHJvbCB7XG4gIHdpZHRoOiAzMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cblxuLmNvdXBvbi1jb2RlcyAuY2FydC1jb3Vwb24tY29kZSB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG5cdFByb2R1Y3RzXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnByb2R1Y3QtZmlsdGVyIC5idXR0b24tZ3JvdXAucm91bmQge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5wcm9kdWN0LWZpbHRlciAuYnV0dG9uLWdyb3VwLnJvdW5kIC5maWx0ZXItc2ltcGxlLWJ1dHRvbi5ob2xsb3cge1xuICAgIHBhZGRpbmctbGVmdDogMWVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBjb2xvcjogIzAzMWY3MztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDMxZjczO1xuICAgIG1hcmdpbi1sZWZ0OiAxcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLnByb2R1Y3QtZmlsdGVyIC5idXR0b24tZ3JvdXAucm91bmQgLmZpbHRlci1zaW1wbGUtYnV0dG9uLmhvbGxvdy5pcy1hY3RpdmUsIC5wcm9kdWN0LWZpbHRlciAuYnV0dG9uLWdyb3VwLnJvdW5kIC5maWx0ZXItc2ltcGxlLWJ1dHRvbi5ob2xsb3c6Zm9jdXMsIC5wcm9kdWN0LWZpbHRlciAuYnV0dG9uLWdyb3VwLnJvdW5kIC5maWx0ZXItc2ltcGxlLWJ1dHRvbi5ob2xsb3c6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGMwYjU7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5wcm9kdWN0LWZpbHRlciAuYnV0dG9uLWdyb3VwLnJvdW5kIC5maWx0ZXItc2ltcGxlLWJ1dHRvbi5ob2xsb3c6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucHJvZHVjdC1maWx0ZXIgLmJ1dHRvbi1ncm91cC5yb3VuZCAuZmlsdGVyLXNpbXBsZS1idXR0b24uaG9sbG93OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnByb2R1Y3QtZmlsdGVyIC5idXR0b24tZ3JvdXAucm91bmQgYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5wcm9kdWN0LWZpbHRlciAuYnV0dG9uLWdyb3VwLnJvdW5kIDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAwMHB4IDAgMCA1MDAwcHg7IH1cbiAgLnByb2R1Y3QtZmlsdGVyIC5idXR0b24tZ3JvdXAucm91bmQgOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgNTAwMHB4IDUwMDBweCAwOyB9XG4gIC5wcm9kdWN0LWZpbHRlciAuYnV0dG9uLWdyb3VwLnJvdW5kIC5tZWFsY2F0ZWdvcnlidXR0b246Zmlyc3QtY2hpbGQsIC5wcm9kdWN0LWZpbHRlciAuYnV0dG9uLWdyb3VwLnJvdW5kIC5tZWFsY2F0ZWdvcnlidXR0b246bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50OyB9XG5cbi5wcm9kdWN0LWZpbHRlciAubWVhbGNhdGVnb3J5bGluayB7XG4gIGNvbG9yOiAjMDMxZjczO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnByb2R1Y3QtZmlsdGVyIC5MaXN0aW5nQWRkVG9DYXJ0IHtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIGhlaWdodDogMTYwcHg7IH1cbiAgLnByb2R1Y3QtZmlsdGVyIC5MaXN0aW5nQWRkVG9DYXJ0IC5wcm9kdWN0X19xdHkge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5wcm9kdWN0LWZpbHRlciAuTGlzdGluZ0FkZFRvQ2FydCBpbnB1dFt0eXBlPXRleHRdIHtcbiAgICB3aWR0aDogMTAwcHg7IH1cbiAgLnByb2R1Y3QtZmlsdGVyIC5MaXN0aW5nQWRkVG9DYXJ0IGlucHV0W3R5cGU9c3VibWl0XSB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogMzhweDsgfVxuXG4ucHJvZHVjdC1maWx0ZXIgLkxpc3RpbmdBZGRUb0NhcnQge1xuICBoZWlnaHQ6IDI3MHB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wcm9kdWN0LWZpbHRlciAuTGlzdGluZ0FkZFRvQ2FydCB7XG4gICAgaGVpZ2h0OiAyNzBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wcm9kdWN0LWZpbHRlciAuTGlzdGluZ0FkZFRvQ2FydCB7XG4gICAgaGVpZ2h0OiAxNjBweDsgfSB9XG5cbi5idXR0b24tZ3JvdXAucm91bmQgOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogNTAwMHB4IDAgMCA1MDAwcHg7IH1cblxuLmJ1dHRvbi1ncm91cC5yb3VuZCA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgNTAwMHB4IDUwMDBweCAwOyB9XG5cbi5wcm9kdWN0IHtcbiAgbWF4LXdpZHRoOiA3MDBweDtcbiAgbWFyZ2luLXRvcDogMjFweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDgwcHg7IH1cbiAgLnByb2R1Y3QgLnByb2R1Y3RfX3RpdGxlIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgLnByb2R1Y3QgLnByb2R1Y3RfX3ByaWNlIHtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxN3B4OyB9XG4gIC5wcm9kdWN0IC5wcm9kdWN0X19xdHksIC5wcm9kdWN0IC5BZGRUb0NhcnRUZXh0Qm94IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9XG4gICAgLnByb2R1Y3QgLnByb2R1Y3RfX3F0eSBpbnB1dCwgLnByb2R1Y3QgLkFkZFRvQ2FydFRleHRCb3ggaW5wdXQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDE0MHB4O1xuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNlYWYxZmI7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gIC5wcm9kdWN0IC5Vbml0c0xhYmVsIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAucHJvZHVjdCAucHJvZHVjdF9fYWRkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC5wcm9kdWN0IC5wcm9kdWN0X19pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAucHJvZHVjdCAucHJvZHVjdF9fZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzg7XG4gICAgY29sb3I6ICMzYWFiNDg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wcm9kdWN0IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgcGFkZGluZy1ib3R0b206IDY1cHg7IH1cbiAgICAucHJvZHVjdCAucHJvZHVjdF9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgIC5wcm9kdWN0IC5wcm9kdWN0X19hZGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTdweDsgfVxuICAgIC5wcm9kdWN0IC5wcm9kdWN0X190ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAucHJvZHVjdCAucHJvZHVjdF9faW1hZ2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbnAuZmlyc3RMaW5lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY29sb3I6ICMzZTQwOTY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLkNhcnRDb250ZW50IGEgaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG5cbi5jb2wxIHtcbiAgd2lkdGg6IDIwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLyouY29sMiB7XHJcbiAgICB3aWR0aDogMjAlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59Ki9cbi8qLmNvbDIgLlVuaXRDb3VudEJ1dHRvbiwgI2N0bDAwX0NvbnRlbnRQbGFjZUhvbGRlcjFfcGxjQ29udGVudFpvbmVfbHRfem9uZUNvbnRlbnRfU2hvcHBpbmdDYXJ0Q29udGVudF9zaG9wcGluZ0NhcnRVbmlWaWV3X2N0bDAwX2N0bDAwX2N0bDAwX3VuaXRDb3VudEZvcm1Db250cm9sIHsqL1xuLmNvbDIge1xuICB3aWR0aDogMjAlO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuY29sMiBkaXYge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5jb2wyIGRpdiBkaXYge1xuICAgICAgd2lkdGg6IDcwJTsgfVxuICAgIC5jb2wyIGRpdiAuVW5pdENvdW50QnV0dG9uIHtcbiAgICAgIHdpZHRoOiAyMCU7IH1cbiAgICAuY29sMiBkaXYgLlVuaXRDb3VudENvbnRyb2wge1xuICAgICAgbWluLXdpZHRoOiA0MnB4OyB9XG5cbi5jb2wzIHtcbiAgd2lkdGg6IDE1JTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLmNvbDQge1xuICB3aWR0aDogMTUlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4uY29sNSB7XG4gIHdpZHRoOiA1JTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG4uQXZhaWxhYmlsaXR5IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jZmllbGRfQWNjb3VudFR5cGUgbGFiZWwge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNvbDEge1xuICAgIHdpZHRoOiAzMiU7IH0gfVxuXG4udGlueUJveCB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLnRpbnlCb3ggaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLnRpbnlCb3ggaW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gIC50aW55Qm94IGxhYmVsIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAudGlueUJveCAuc2VsZWN0IHtcbiAgICBmb250LXNpemU6IDE4cHg7IH1cblxuLkltYWdlQ29sIGltZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi1yaWdodDogMTVweDsgfVxuXG4uUHJvZHVjdFByaWNlRGV0YWlsTGluayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLlRvdGFsVmlld2VyIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBjbGVhcjogYm90aDsgfVxuICAuVG90YWxWaWV3ZXIgLkxhYmVsIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuVG90YWxWaWV3ZXIgLlZhbHVlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuSW1hZ2VDb2wgaW1nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRNYXBcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdE1hcCBIZWFkZXJcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5tYXBIZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMzJweDsgfVxuICAubWFwSGVhZGVyIC5tYXBfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICMwMDg3N2M7XG4gICAgbWFyZ2luLWJvdHRvbTogMTNweDsgfVxuICAubWFwSGVhZGVyIC5tYXBfX2xvY2F0aW9uLCAubWFwSGVhZGVyIC5tYXBfZGlzdGFuY2VUaXRsZSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gICAgY29sb3I6ICMwMzFmNzM7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4OyB9XG4gICAgLm1hcEhlYWRlciAubWFwX19sb2NhdGlvbiBzdmcsIC5tYXBIZWFkZXIgLm1hcF9kaXN0YW5jZVRpdGxlIHN2ZyB7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgLm1hcEhlYWRlciAubWFwX19sb2NhdGlvbiBzdmcge1xuICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICBoZWlnaHQ6IDIzLjRweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAubWFwSGVhZGVyIC5tYXBfZGlzdGFuY2VUaXRsZSBzdmcge1xuICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICBoZWlnaHQ6IDI5LjVweDsgfSB9XG4gIC5tYXBIZWFkZXIgLm1hcF9fc2VhcmNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA0NTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM3MmRjZDQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLm1hcEhlYWRlciAubWFwX19zZWFyY2ggLm1hcF9fc2VhcmNoRmllbGQge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIHBhZGRpbmc6IDZweCAxMHB4IDhweCAxNXB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuICAgICAgLm1hcEhlYWRlciAubWFwX19zZWFyY2ggLm1hcF9fc2VhcmNoRmllbGQgaW5wdXQge1xuICAgICAgICB3aWR0aDogMjk1cHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgLm1hcEhlYWRlciAubWFwX19zZWFyY2ggLmJ1dHRvbiwgLm1hcEhlYWRlciAubWFwX19zZWFyY2ggLlJlZ2lzdGVyQnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEyNXB4O1xuICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgcGFkZGluZzogMTJweCAxMHB4IDE1cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzJkY2Q0O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAubWFwSGVhZGVyIC5tYXBfX3NlYXJjaCAuYnV0dG9uOmJlZm9yZSwgLm1hcEhlYWRlciAubWFwX19zZWFyY2ggLlJlZ2lzdGVyQnV0dG9uOmJlZm9yZSwgLm1hcEhlYWRlciAubWFwX19zZWFyY2ggLmJ1dHRvbjphZnRlciwgLm1hcEhlYWRlciAubWFwX19zZWFyY2ggLlJlZ2lzdGVyQnV0dG9uOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAubWFwSGVhZGVyIC5tYXBfX3N0YXRlIHtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTlweDsgfVxuICAgIC5tYXBIZWFkZXIgLm1hcF9fc3RhdGUgLm1hcF9fc3RhdGVMaXN0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgMCAwIDlweDsgfVxuICAgIC5tYXBIZWFkZXIgLm1hcF9fc3RhdGUgLm1hcF9fc3RhdGVJdGVtIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLm1hcEhlYWRlciAubWFwX19zdGF0ZSAubWFwX19zdGF0ZUl0ZW06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgICAgcGFkZGluZzogMCA4cHg7IH1cbiAgICAgIC5tYXBIZWFkZXIgLm1hcF9fc3RhdGUgLm1hcF9fc3RhdGVJdGVtOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm1hcEhlYWRlciAubWFwX19zdGF0ZSAubWFwX19zdGF0ZUxpbmsge1xuICAgICAgY29sb3I6ICMwMGMwYjU7IH1cbiAgLm1hcEhlYWRlciAubWFwX19kaXN0YW5jZSAuZm9ybUNhcmRzLS10ZXh0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1hcEhlYWRlciAubWFwX19kaXN0YW5jZSBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjYzcHg7IH1cbiAgLm1hcEhlYWRlciAubWFwX19kaXN0YW5jZSAuZm9ybUNhcmRfX3RleHQge1xuICAgIGhlaWdodDogNDRweDsgfVxuICAubWFwSGVhZGVyIC5tYXBfX2Rpc3RhbmNlIGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogI2ZmNTMzODtcbiAgICBib3JkZXItY29sb3I6ICNmZjUzMzg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1hcEhlYWRlciAubWFwX19zZWFyY2ggLmJ1dHRvbiwgLm1hcEhlYWRlciAubWFwX19zZWFyY2ggLlJlZ2lzdGVyQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubWFwSGVhZGVyIC5tYXBfX2Rpc3RhbmNlIC5mb3JtQ2FyZHMtLXRleHQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWFwSGVhZGVyIC5tYXBfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zMztcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIC5tYXBIZWFkZXIgLm1hcF9fbG9jYXRpb24sIC5tYXBIZWFkZXIgLm1hcF9kaXN0YW5jZVRpdGxlIHtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTdweDsgfVxuICAgIC5tYXBIZWFkZXIgLm1hcF9fbG9jYXRpb24gc3ZnLCAubWFwSGVhZGVyIC5tYXBfZGlzdGFuY2VUaXRsZSBzdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgLm1hcEhlYWRlciAubWFwX19zZWFyY2gge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAubWFwSGVhZGVyIC5tYXBfX3NlYXJjaCAubWFwX19zZWFyY2hGaWVsZCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTJweCAxNXB4OyB9XG4gICAgICAubWFwSGVhZGVyIC5tYXBfX3NlYXJjaCAubWFwX19zZWFyY2hGaWVsZCBpbnB1dCB7XG4gICAgICAgIHdpZHRoOiAyOTVweDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgLm1hcEhlYWRlciAubWFwX19zZWFyY2ggLmJ1dHRvbiwgLm1hcEhlYWRlciAubWFwX19zZWFyY2ggLlJlZ2lzdGVyQnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMjVweDtcbiAgICAgIGhlaWdodDogNTZweDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIHBhZGRpbmc6IDEycHggMTBweCAxNXB4OyB9XG4gIC5tYXBIZWFkZXIgLm1hcF9fc3RhdGUgLm1hcF9fc3RhdGVJdGVtOmFmdGVyIHtcbiAgICBwYWRkaW5nOiAwIDZweDsgfVxuICAubWFwSGVhZGVyIC5tYXBfX2Rpc3RhbmNlIGxhYmVsIHtcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogNTZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuNzVweDsgfVxuICAubWFwSGVhZGVyIC5tYXBfX2Rpc3RhbmNlIC5mb3JtQ2FyZF9fdGV4dCB7XG4gICAgaGVpZ2h0OiA1NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAubWFwSGVhZGVyIC5tYXBfX3N0YXRlIC5tYXBfX3N0YXRlSXRlbTphZnRlciB7XG4gICAgcGFkZGluZzogMCA4cHg7IH1cbiAgLm1hcEhlYWRlciAubWFwX19kaXN0YW5jZSBsYWJlbCB7XG4gICAgbWluLXdpZHRoOiAxMTBweDsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0TWFwXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ubWFwV3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7IH1cbiAgLm1hcFdyYXBwZXIgLm1hcCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWFwV3JhcHBlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7IH1cbiAgICAubWFwV3JhcHBlciAubWFwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA4NTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNjM0cHg7IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdEdvb2dsZSBNYXAgTWFya2Vyc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmdtTWFya2VyIHtcbiAgbWF4LXdpZHRoOiAyNTBweDtcbiAgZm9udC1mYW1pbHk6IG5ldWUtaGFhcy11bmljYSwgc2Fucy1zZXJpZjtcbiAgcGFkZGluZy1ib3R0b206IDVweDsgfVxuICAuZ21NYXJrZXIgLmdtTWFya2VyX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4OyB9XG4gIC5nbU1hcmtlciAuZ21NYXJrZXJfX2NvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgLmdtTWFya2VyIC5nbU1hcmtlcl9fY29udGVudCBhIHtcbiAgICAgIGNvbG9yOiAjMDBjMGI1OyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0TWFwIFBhbmVsXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ubWFwSW5mb19faWNvbiB7XG4gIG1heC1oZWlnaHQ6IDcwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgaGVpZ2h0OiA0NXB4O1xuICB3aWR0aDogYXV0bzsgfVxuXG4ubWFwSW5mb19faWNvbnMtd3JhcHBlciB7XG4gIHBhZGRpbmctdG9wOiAyMHB4OyB9XG5cbi5tYXBfc2VydmljZXMgLm1hcF9zZXJ2aWNlc19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gIC8qcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG5cdHBhZGRpbmctcmlnaHQ6IDEwcHg7Ki9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKm1hcmdpbi1yaWdodDogMTRweDsqL1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIC8qbWFyZ2luLWxlZnQ6IDA7Ki9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogYXV0bztcbiAgbWluLXdpZHRoOiAxMTBweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMyNjI1Mjc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLypiYWNrZ3JvdW5kOiAjZmZmOyovXG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAycHggc29saWQgcmdiYSgxMTQsIDIyMCwgMjEyLCAwLjcpO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBib3gtc2hhZG93OiAwcHggNHB4IDZweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7IH1cblxuLm1hcF9zZXJ2aWNlc19sYWJlbF9DSFNQIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9OU1dNZWFsc09uV2hlZWxzL21hcmt1cC9zcmMvYXNzZXRzL2ltZy9pY29ucy9maW5kLXVzL0NIU1BsYW5kc2NhcGUucG5nKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5NSUgYXV0bztcbiAgaGVpZ2h0OiA1MHB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAyMjRweCAhaW1wb3J0YW50OyB9XG5cbi5tYXBfc2VydmljZXNfbGFiZWxfTkRJU1NlbGZNYW5hZ2VkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9OU1dNZWFsc09uV2hlZWxzL21hcmt1cC9zcmMvYXNzZXRzL2ltZy9pY29ucy9maW5kLXVzL05ESVNzZWxmbWFuYWdlZGxhbmRzY2FwZS5wbmcpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDk1JSBhdXRvO1xuICBoZWlnaHQ6IDUwcHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDIyN3B4ICFpbXBvcnRhbnQ7IH1cblxuLm1hcF9zZXJ2aWNlc19sYWJlbF9ORElTIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9OU1dNZWFsc09uV2hlZWxzL21hcmt1cC9zcmMvYXNzZXRzL2ltZy9pY29ucy9maW5kLXVzL05ESVNsYW5kc2NhcGUucG5nKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5NSUgYXV0bztcbiAgaGVpZ2h0OiA1MHB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAyMjVweCAhaW1wb3J0YW50OyB9XG5cbi5tYXBfc2VydmljZXNfbGFiZWxfRnVsbEZlZU1lYWxzIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9OU1dNZWFsc09uV2hlZWxzL21hcmt1cC9zcmMvYXNzZXRzL2ltZy9pY29ucy9maW5kLXVzL0Z1bGxmZWVsYW5kc2NhcGUucG5nKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5NSUgYXV0bztcbiAgaGVpZ2h0OiA1MHB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMzBweCAhaW1wb3J0YW50OyB9XG5cbi5tYXBfc2VydmljZXNfbGFiZWxfSENQIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9OU1dNZWFsc09uV2hlZWxzL21hcmt1cC9zcmMvYXNzZXRzL2ltZy9pY29ucy9maW5kLXVzL0hDUGxhbmRzY2FwZS5wbmcpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDk1JSBhdXRvO1xuICBoZWlnaHQ6IDUwcHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDE3NHB4ICFpbXBvcnRhbnQ7IH1cblxuLm1hcF9zZXJ2aWNlc19pbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICAvKmNvbG9yOiAjZmZmO1xyXG5cdFx0YmFja2dyb3VuZDogIzAwYzBiNTtcclxuXHRcdGJvcmRlci1jb2xvcjogIzAwYzBiNTsqL1xuICBib3JkZXItY29sb3I6ICNmZjUzMzg7IH1cblxuLm1hcF9zZXJ2aWNlc19pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi5tYXBQYW5lbCB7XG4gIG1heC13aWR0aDogNjM0cHg7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgdG91Y2gtYWN0aW9uOiBub25lOyB9XG4gIC5tYXBQYW5lbCBhIHtcbiAgICBjb2xvcjogIzAwYzBiNTsgfVxuICAubWFwUGFuZWwgLm1hcFBhbmVsX190ZXh0IHtcbiAgICBwYWRkaW5nOiAxNXB4IDA7IH1cblxuLm1hcFNjcm9sbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5tYXBJbmZvQ2FyZHMge1xuICB0b3VjaC1hY3Rpb246IG5vbmU7IH1cbiAgLm1hcEluZm9DYXJkcyAubWFwSW5mbyB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAyMnB4IDIwcHggMjhweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VhZjFmYjtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgLm1hcEluZm9DYXJkcyAubWFwSW5mbyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICAgIC5tYXBJbmZvQ2FyZHMgLm1hcEluZm8gKyAubWFwSW5mbyB7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gICAgLm1hcEluZm9DYXJkcyAubWFwSW5mby5oaWdobGlnaHQgc3ZnID4gcGF0aCB7XG4gICAgICBmaWxsOiAjMGQ4NzdkOyB9XG4gIC5tYXBJbmZvQ2FyZHMgLm1hcEluZm9fX3RpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTdweDsgfVxuICAgIC5tYXBJbmZvQ2FyZHMgLm1hcEluZm9fX3RpdGxlIHN2ZyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tYXBJbmZvQ2FyZHMgLm1hcEluZm9fX2NvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgLm1hcEluZm9DYXJkcyAubWFwSW5mb19fZGV0YWlsc0NUQSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICMwMGMwYjU7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLm1hcEluZm9DYXJkcyAubWFwSW5mb19fZGV0YWlsc0NUQSAubWFwSW5mb19fZGV0YWlsc0NUQS0tY2xvc2Uge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAubWFwSW5mb0NhcmRzIC5tYXBJbmZvX19saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAubWFwSW5mb0NhcmRzIC5tYXBJbmZvX19kZXRhaWxzIHtcbiAgICBwYWRkaW5nLXRvcDogMThweDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tYXBJbmZvQ2FyZHMgLm1hcEluZm8ge1xuICAgIHBhZGRpbmc6IDIycHggNDhweCAxN3B4IDcwcHg7IH1cbiAgLm1hcEluZm9DYXJkcyAubWFwSW5mb19fdGl0bGUgc3ZnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAycHg7XG4gICAgbGVmdDogLTM3cHg7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1hcEluZm9DYXJkcyAubWFwSW5mb19fZGV0YWlsc0NUQSAubWFwSW5mb19fZGV0YWlsc0NUQS0tY2xvc2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDVweDtcbiAgICBsZWZ0OiAtMzVweDtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNy40MyAxNy40MycgZmlsbD0nJTIzMDBjMGI1JyUzRSUzQ3BhdGggc3Ryb2tlPSd0cmFuc3BhcmVudCcgc3Ryb2tlLXdpZHRoPScwJyBkPSdNMTAsOC43Mmw3LjA3LTcuMTFhLjkyLjkyLDAsMCwwLDAtMS4zMy45Mi45MiwwLDAsMC0xLjMyLDBMOC43Miw3LjM5LDEuNjEuMjhBLjk0Ljk0LDAsMCwwLC4yOCwxLjYxTDcuMzYsOC43Mi4yOCwxNS44MmEuOTQuOTQsMCwwLDAsMCwxLjMzLDEsMSwwLDAsMCwuNjcuMjgsMSwxLDAsMCwwLC42Ni0uMjhMOC43MiwxMGw3LjEsNy4xMWEuOTMuOTMsMCwwLDAsMS4zMywwLC45Mi45MiwwLDAsMCwwLTEuMzNaJyAvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLm1hcEluZm9DYXJkcyAubWFwSW5mb19fZG93bmxvYWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3BhY2l0eTogMTAwOyB9XG4gIC5tYXBJbmZvQ2FyZHMgLm1hcEluZm9fX2xpbms6YWZ0ZXIsIC5tYXBJbmZvQ2FyZHMgLm1hcEluZm9fX2Rvd25sb2FkOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDNweDtcbiAgICByaWdodDogLTI5cHg7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTcuODEgMTcuODInIGZpbGw9JyUyMzAwYzBiNSclM0UlM0NwYXRoIHN0cm9rZT0ndHJhbnNwYXJlbnQnIHN0cm9rZS13aWR0aD0nMCcgZD0nTTE1LjY3LDEuMjdIMTIuMDZhLjYyLjYyLDAsMCwxLS4yMi0uMS42My42MywwLDAsMS0uMjYtLjU0LjQ3LjQ3LDAsMCwxLDAtLjE3LjQuNCwwLDAsMSwuMS0uMThBLjU1LjU1LDAsMCwxLDExLjkuMTEuNjguNjgsMCwwLDEsMTIuMSwwaC4wN3EyLjUxLS4wNiw1LDBoLjA1YS4xOC4xOCwwLDAsMSwuMSwwaC4wOGwuMDkuMDVhLjUzLjUzLDAsMCwxLC4xNC4xMmwuMDUuMDdoMGEuMjYuMjYsMCwwLDEsMCwuMDkuNTYuNTYsMCwwLDEsMCwuMTJoMHYwYS4wOS4wOSwwLDAsMCwwLC4wNWMwLDEuNjcsMCwzLjMzLDAsNWEuMTcuMTcsMCwwLDEsMCwuMDcuNjYuNjYsMCwwLDEtLjA2LjIuNTIuNTIsMCwwLDEtLjE0LjE5LjU2LjU2LDAsMCwxLS4xNS4xLjYzLjYzLDAsMCwxLS42MiwwQS43MS43MSwwLDAsMSwxNi42Niw2YS43Ni43NiwwLDAsMS0uMTEtLjI2VjIuMTVsLTgsOGEuMjQuMjQsMCwwLDEtLjA4LjA2LjQyLjQyLDAsMCwxLS4xNi4wOS40NS40NSwwLDAsMS0uMjMsMCwuNjEuNjEsMCwwLDEtLjUtLjI4LjYxLjYxLDAsMCwxLS4wNy0uMTcuNDEuNDEsMCwwLDEsMC0uMTkuNTkuNTksMCwwLDEsLjA5LS4zMWwuMDktLjEsOC04WicgLyUzRSAlM0NwYXRoIHN0cm9rZT0ndHJhbnNwYXJlbnQnIHN0cm9rZS13aWR0aD0nMCcgZD0nTTguMTIsMS42OWwuMTIsMGEuNjQuNjQsMCwwLDEsLjI5LjE5LjY1LjY1LDAsMCwxLC4xLjE1Ljg0Ljg0LDAsMCwxLDAsLjE3LjYyLjYyLDAsMCwxLS4xNS40OS42NS42NSwwLDAsMS0uMTguMTUuNjIuNjIsMCwwLDEtLjIzLjA3SDYuNzZjLS43LDAtMS40MSwwLTIuMTEsMGExMS4xMSwxMS4xMSwwLDAsMC0xLjE2LjExbC0uMzIuMDZMMywzLjJhMiwyLDAsMCwwLS45LjQzbC0uMTQuMTNhMS45MiwxLjkyLDAsMCwwLS4yOS41LDUuMjcsNS4yNywwLDAsMC0uMTkuNjgsOCw4LDAsMCwwLS4xMiwxYzAsLjU1LS4wNiwxLjExLS4wNywxLjY2czAsMSwwLDEuNXYxLjM1YzAsLjYzLDAsMS4yNiwwLDEuODlzMCwxLjExLjEsMS42NmwuMDYuNDNhMy43MywzLjczLDAsMCwwLC4yLjc4LDEuOTMsMS45MywwLDAsMCwuMzMuNTcsMi4wNywyLjA3LDAsMCwwLDEuMTMuNTdsLjI2LjA2LjMzLjA1YTE2LjM4LDE2LjM4LDAsMCwwLDEuNzEuMTJsMiwwSDguNzRsMS42MywwYy41NCwwLDEuMDgsMCwxLjYzLS4wNy4zMSwwLC42My0uMDcuOTUtLjEzYTMuMTgsMy4xOCwwLDAsMCwuNzctLjI2LDEuNywxLjcsMCwwLDAsLjM5LS4yNywyLjE5LDIuMTksMCwwLDAsLjUzLTEuMDVjMC0uMDcsMC0uMTUsMC0uMjJsLjA2LS4zMmMwLS4xNSwwLS4zMSwwLS40Ni4wNS0uNDkuMDctMSwuMDgtMS40NiwwLS44NiwwLTEuNzEsMC0yLjU3VjkuNjlhLjEzLjEzLDAsMCwwLDAtLjA2QS43OC43OCwwLDAsMSwxNSw5LjQyYS41My41MywwLDAsMSwuMTItLjE0LjYxLjYxLDAsMCwxLC40OS0uMTQuNDguNDgsMCwwLDEsLjE3LDAsLjY0LjY0LDAsMCwxLC4xOS4xMy42Ni42NiwwLDAsMSwuMTYuMzEuNTMuNTMsMCwwLDEsMCwuMTJ2MS4zMWMwLC40MywwLC44NiwwLDEuMjlzMCwuNTgsMCwuODcsMCwuNDYsMCwuNjgsMCwuMjgtLjA1LjQyLDAsLjE5LDAsLjI5YTQuMTgsNC4xOCwwLDAsMS0uNjUsMS43NCwxLjg0LDEuODQsMCwwLDEtLjE3LjIyLDEuOTMsMS45MywwLDAsMS0uMzMuMzEsMi40NCwyLjQ0LDAsMCwxLS41NS4zNSw1LDUsMCwwLDEtMS40MS40MWMtLjM1LjA1LS43MS4wOS0xLjA2LjExcy0uNzQsMC0xLjExLjA1bC0xLjYsMEg3LjM5bC0xLjkyLDBjLS41OCwwLTEuMTcsMC0xLjc2LS4xMWwtLjQtLjA1QTQuMjEsNC4yMSwwLDAsMSwxLjQ3LDE3YTEuODQsMS44NCwwLDAsMS0uMjItLjE3QTIuNTQsMi41NCwwLDAsMSwxLDE2LjUybC0uMTgtLjIzQTQuMzQsNC4zNCwwLDAsMSwuMiwxNC42MmwtLjA2LS40YzAtLjE0LDAtLjI4LS4wNS0uNDJzMC0uNDYsMC0uNjksMC0uNjksMC0xLDAtLjg5LDAtMS4zM1Y5LjA4YzAtLjYsMC0xLjIsMC0xLjc5LDAtLjM0LDAtLjY4LDAtMXMwLS40NS4wNS0uNjhsLjA2LS41MmEyLjc0LDIuNzQsMCwwLDEsMC0uMjhBNCw0LDAsMCwxLC44MywzLjE1LDEuMjQsMS4yNCwwLDAsMSwxLDIuOTNhMS44NywxLjg3LDAsMCwxLC4zMi0uMzEsMi43OCwyLjc4LDAsMCwxLC41OS0uMzdBNC43MSw0LjcxLDAsMCwxLDMuMiwxLjg4Yy4zMSwwLC42Mi0uMDkuOTMtLjExbDEtLjA1Yy40NSwwLC45MSwwLDEuMzcsMEg4LjEyWicgLyUzRSUzQy9zdmclM0VcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1hcFBhbmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuICAgIC5tYXBQYW5lbCAubWFwUGFuZWxfX3RleHQge1xuICAgICAgcGFkZGluZzogMTVweCAyM3B4OyB9XG4gIC5tYXBTY3JvbGwge1xuICAgIGhlaWdodDogODUwcHg7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5tYXBJbmZvQ2FyZHMge1xuICAgIHBhZGRpbmc6IDVweCAyM3B4IDIwcHg7IH1cbiAgICAubWFwSW5mb0NhcmRzIC5tYXBJbmZvX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4zMztcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAubWFwSW5mb0NhcmRzIC5tYXBJbmZvX19saW5rIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG5cdFNlcnZpY2VzIENvbXBvbmVudCBTdHlsaW5nXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnNwb25zb3JzX3BhbmVsIHtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIGZvbnQtc2l6ZTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgLypkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Ki8gfVxuICAuc3BvbnNvcnNfcGFuZWwgLnNwb25zb3JzX2ltYWdlIHtcbiAgICBtYXJnaW46IDFyZW07XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuc3BvbnNvcnNfcGFuZWwgLnNwb25zb3JzX2ltYWdlIGltZyB7XG4gICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cblxuLlJlY2lwZUljb25zTGlzdGluZyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLlJlY2lwZUljb25zTGlzdGluZyBpbWcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG5cbi5zZXJ2aWNlX19jYXJkcyB7XG4gIG1heC13aWR0aDogNTUwcHg7IH1cbiAgLnNlcnZpY2VfX2NhcmRzIC5zZXJ2aWNlQ2FyZF9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLnNlcnZpY2VfX2NhcmRzIC5zZXJ2aWNlQ2FyZF9fY29weSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAuc2VydmljZV9fY2FyZHMgLnNlcnZpY2VDYXJkX19jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIG1heC13aWR0aDogNTg1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGOUY5RkE7XG4gICAgLypoZWlnaHQ6IDM4MHB4OyovIH1cbiAgICAuc2VydmljZV9fY2FyZHMgLnNlcnZpY2VDYXJkX19jYXJkIGltZyB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHggMTBweCAwIDA7IH1cbiAgLnNlcnZpY2VfX2NhcmRzIC5zZXJ2aWNlQ2FyZF9fdGV4dEFyZWEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgbWluLWhlaWdodDogMTY1cHg7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICAvKi5zZXJ2aWNlQ2FyZF9fdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgICAgICBjb2xvcjogIzAzMWY3MztcclxuICAgICAgICB9Ki8gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5zZXJ2aWNlX19jYXJkcyB7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7IH0gfVxuXG4uc2VydmljZV9fbWFwIHtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7IH1cbiAgLnNlcnZpY2VfX21hcCAubWFwUGFuZWwge1xuICAgIHBvc2l0aW9uOiBpbml0aWFsOyB9XG5cbi5zZXJ2aWNlTWFwIHtcbiAgaGVpZ2h0OiA0MDBweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweCAxMHB4IDEwcHggMTBweDsgfVxuXG4vKi5zZXJ2aWNlX19tYXAgaWZyYW1lIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XHJcbn0qL1xuLkFjY2VwdGVkVm9sdW50ZWVycyAuVm9sdW50ZWVySG9sZGVyIHtcbiAgbWFyZ2luOiA1MHB4IDBweDsgfVxuXG4uQWNjZXB0ZWRWb2x1bnRlZXJzIC5Wb2x1bnRlZXJIZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5BY2NlcHRlZFZvbHVudGVlcnMgLlZvbHVudGVlckhlYWRlciAuTWFpblRleHQge1xuICAgIGZvbnQtc2l6ZTogMjFweDsgfVxuXG4uQWNjZXB0ZWRWb2x1bnRlZXJzIC5EZXNjVGV4dCB7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLkFjY2VwdGVkVm9sdW50ZWVycyAuVm9sdW50ZWVyTGFiZWwge1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuI2N0bDAwX0NvbnRlbnRQbGFjZUhvbGRlcjFfcGxjWm9uZXNfbHRfem9uZUNlbnRlcl9SZXBvcnRUYWJsZV91Y1RhYmxlX3JlcG9ydEdyaWQge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH1cbiAgI2N0bDAwX0NvbnRlbnRQbGFjZUhvbGRlcjFfcGxjWm9uZXNfbHRfem9uZUNlbnRlcl9SZXBvcnRUYWJsZV91Y1RhYmxlX3JlcG9ydEdyaWQgdGJvZHkgdHIgdGQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRUcmFpbmluZyBNb2R1bGVzXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnRyYWluaW5nLW1vZHVsZSB0ZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udHJhaW5pbmctbW9kdWxlIGEge1xuICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnRyYWluaW5nLW1vZHVsZSBsYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IDcwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLnRyYWluaW5nLW1vZHVsZSBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAtMTsgfVxuICAudHJhaW5pbmctbW9kdWxlIGlucHV0W3R5cGU9cmFkaW9dICsgOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC03MHB4O1xuICAgIHRvcDogLTZweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbWluLXdpZHRoOiA1MHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDBjMGI1O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMTE0LCAyMjAsIDIxMiwgMC43KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjsgfVxuICAudHJhaW5pbmctbW9kdWxlIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgKyA6YmVmb3JlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjMDBjMGI1O1xuICAgIGJvcmRlci1jb2xvcjogIzAwYzBiNTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHJhaW5pbmctbW9kdWxlIGgzIHtcbiAgICBmb250LXNpemU6IDQwcHg7IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRGb3Jtc1xyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5mb3JtIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMS42MjVyZW07IH1cbiAgLmZvcm0gLmZvcm1fX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIC5mb3JtIC5mb3JtX19zdGVwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIC5mb3JtIC5mb3JtX19jdGEge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweDsgfVxuICAuZm9ybSBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMXB4OyB9XG4gIC5mb3JtIGhyIHtcbiAgICBtYXJnaW46IDQwcHggMCAyMHB4O1xuICAgIGJvcmRlci13aWR0aDogNHB4O1xuICAgIGJvcmRlci1jb2xvcjogIzc2ZDRlZTsgfVxuXG4uZm9ybV9fZG91YmxlQ29sdW1uIC5lZGl0aW5nLWZvcm0tdmFsdWUtY2VsbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7IH1cbiAgLmZvcm1fX2RvdWJsZUNvbHVtbiAuZWRpdGluZy1mb3JtLXZhbHVlLWNlbGwgc3Bhbi5zci1vbmx5IHtcbiAgICBjb2xvcjogIzAwYzBiNTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmZvcm0ge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMnJlbTsgfVxuICAgIC5mb3JtIC5mb3JtX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0NXB4OyB9XG4gICAgLmZvcm0gLmZvcm1fX3N0ZXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjJweDsgfVxuICAgIC5mb3JtIGhyIHtcbiAgICAgIG1hcmdpbjogNzZweCAwIDQwcHg7IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdEJ1dHRvbnNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5mb3JtIC5idXR0b24sIC5mb3JtIC5SZWdpc3RlckJ1dHRvbiB7XG4gIHdpZHRoOiAzMDlweDtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgcGFkZGluZzogMTJweCAyMnB4IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDM0cHg7IH1cbiAgLmZvcm0gLmJ1dHRvbjpiZWZvcmUsIC5mb3JtIC5SZWdpc3RlckJ1dHRvbjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZvcm0gLmJ1dHRvbjphZnRlciwgLmZvcm0gLlJlZ2lzdGVyQnV0dG9uOmFmdGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAzNHB4OyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0TGFiZWxzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uZm9ybSBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7IH1cbiAgLmZvcm0gbGFiZWwgKyAuZm9ybUNhcmRzLCAuZm9ybSBsYWJlbCArIC5mb3JtQ2FyZHMtLXRleHQge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgLmZvcm0gbGFiZWwgKyAuc2VsZWN0IHtcbiAgICBtYXJnaW4tdG9wOiA0cHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmZvcm0gbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0SW5wdXRzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRJbnB1dHNcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgZm9udC1zaXplOiAxOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiA5cHggMTBweCAxMHB4O1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlYWYxZmI7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICBbdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG4gIHRleHRhcmVhIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBwYWRkaW5nOiA5cHggMTBweDsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdENoZWNrYm94ZXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uY2hlY2tib3gge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogNnB4OyB9XG4gIC5jaGVja2JveCBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMDsgfVxuICAgIC5jaGVja2JveCBpbnB1dFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQ3cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC5jaGVja2JveCBpbnB1dFt0eXBlPSdjaGVja2JveCddICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYWYxZmI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAgIC5jaGVja2JveCBpbnB1dFt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyUzRSUzQ3BhdGggZmlsbD0nJTIzMDBjMGI1JyBzdHJva2U9J3RyYW5zcGFyZW50JyBzdHJva2Utd2lkdGg9JzAnIGQ9J00yMzUuMSwzODYuM2MtNS43LDAtMTEuMS0yLjQtMTQuOS02LjZsLTEwNC4xLTExNmMtNy40LTguMi02LjctMjAuOSwxLjUtMjguMmM4LjItNy40LDIwLjktNi43LDI4LjIsMS41IGw4Ni44LDk2LjhsMTMxLjYtMTk5LjFjNi4xLTkuMiwxOC41LTExLjcsMjcuNy01LjdjOS4yLDYuMSwxMS43LDE4LjUsNS43LDI3LjdMMjUxLjgsMzc3LjRjLTMuNCw1LjItOSw4LjUtMTUuMiw4LjkgQzIzNi4xLDM4Ni4zLDIzNS42LDM4Ni4zLDIzNS4xLDM4Ni4zeicgLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdFNlbGVjdCBCb3hlc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5zZWxlY3QtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG5cbi5zZWxlY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAzNzBweDtcbiAgaGVpZ2h0OiA1MnB4O1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMjYyNTI3O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnNlbGVjdDpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLnNlbGVjdCBzZWxlY3RbZGlzYWJsZWRdICsgLnNlbGVjdC1zdHlsZWQge1xuICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgICAuc2VsZWN0IHNlbGVjdFtkaXNhYmxlZF0gKyAuc2VsZWN0LXN0eWxlZCArIC5zZWxlY3Qtb3B0aW9ucyB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnNlbGVjdC1zdHlsZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMTBweCAzMnB4IDEycHggMTVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VhZjFmYjtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbjsgfVxuICAuc2VsZWN0LXN0eWxlZCBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnNlbGVjdC1zdHlsZWQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTJweDtcbiAgICByaWdodDogMTBweDtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA2NCA2NCclM0UlM0NwYXRoIGZpbGw9JyUyMzAwYzBiNScgc3Ryb2tlPSd0cmFuc3BhcmVudCcgc3Ryb2tlLXdpZHRoPScwJyBkPSdNMzYuNzQsNDIuODgsMzIuNSw0Ny4xMyw5Ljg3LDI0LjVsNC4yNC00LjI0TDMyLjUsMzguNjQsNTAuODgsMjAuMjZsNC4yNCw0LjI0WicgLyUzRSUzQy9zdmclM0VcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnNlbGVjdC1zdHlsZWQ6aG92ZXIgc3BhbiwgLnNlbGVjdC1zdHlsZWQ6Zm9jdXMgc3BhbiwgLnNlbGVjdC1zdHlsZWQ6YWN0aXZlIHNwYW4sIC5zZWxlY3Qtc3R5bGVkLmFjdGl2ZSBzcGFuIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi5zZWxlY3Qtb3B0aW9ucyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWFmMWZiO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB6LWluZGV4OiA5OTk7IH1cbiAgLnNlbGVjdC1vcHRpb25zIGxpIHtcbiAgICBwYWRkaW5nOiAxMHB4IDE4cHggMTJweDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW47IH1cbiAgICAuc2VsZWN0LW9wdGlvbnMgbGk6aG92ZXIsIC5zZWxlY3Qtb3B0aW9ucyBsaTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWFmMWZiO1xuICAgICAgYmFja2dyb3VuZDogI2Y5ZjlmYTsgfVxuICAgIC5zZWxlY3Qtb3B0aW9ucyBsaVtyZWw9XCJoaWRlXCJdIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmVycm9yIHtcbiAgY29sb3I6IHJlZDsgfVxuXG5pbnB1dC5lcnJvciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcbiAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG5cbi5pbmxpbmUtbW9udGgge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHdpZHRoOiA2MHB4OyB9XG5cbi5pbmxpbmUteWVhciB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgd2lkdGg6IDcwcHg7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0Rm9ybSBDYXJkc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5mb3JtQ2FyZHMsIC5mb3JtQ2FyZHMtLXRleHQge1xuICBmb250LXNpemU6IDA7XG4gIG1hcmdpbi1ib3R0b206IDNweDsgfVxuICAuZm9ybUNhcmRzIC5mb3JtQ2FyZF9fZ3JvdXAsIC5mb3JtQ2FyZHMtLXRleHQgLmZvcm1DYXJkX19ncm91cCB7XG4gICAgbWF4LXdpZHRoOiA3NjBweDsgfVxuICAuZm9ybUNhcmRzIC5mb3JtQ2FyZCwgLmZvcm1DYXJkcy0tdGV4dCAuZm9ybUNhcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG4gICAgLmZvcm1DYXJkcyAuZm9ybUNhcmQ6bGFzdC1jaGlsZCwgLmZvcm1DYXJkcy0tdGV4dCAuZm9ybUNhcmQ6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmZvcm1DYXJkcyBsYWJlbCwgLmZvcm1DYXJkcy0tdGV4dCBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAyNjJweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICBjb2xvcjogIzI2MjUyNztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgxMTQsIDIyMCwgMjEyLCAwLjcpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDRweCA2cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjsgfVxuICAuZm9ybUNhcmRzIC5mb3JtQ2FyZF9faW1nLCAuZm9ybUNhcmRzLS10ZXh0IC5mb3JtQ2FyZF9faW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogODAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5ZmE7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZm9ybUNhcmRzIC5mb3JtQ2FyZF9fdGV4dCwgLmZvcm1DYXJkcy0tdGV4dCAuZm9ybUNhcmRfX3RleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNjRweDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgLmZvcm1DYXJkcyBpbnB1dCwgLmZvcm1DYXJkcy0tdGV4dCBpbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogLTE7IH1cbiAgICAuZm9ybUNhcmRzIGlucHV0OmNoZWNrZWQgKyBsYWJlbCwgLmZvcm1DYXJkcy0tdGV4dCBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDBjMGI1O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDBjMGI1OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5mb3JtQ2FyZHMgLmZvcm1DYXJkLCAuZm9ybUNhcmRzLS10ZXh0IC5mb3JtQ2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDsgfVxuICAuZm9ybUNhcmRzIC5mb3JtQ2FyZF9faW1nLCAuZm9ybUNhcmRzLS10ZXh0IC5mb3JtQ2FyZF9faW1nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5mb3JtQ2FyZHMgbGFiZWwsIC5mb3JtQ2FyZHMtLXRleHQgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdEZvcm0gQ2FyZHMgLSBUZXh0IE9ubHlcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uZm9ybUNhcmRzLS10ZXh0IC5mb3JtQ2FyZCB7XG4gIG1hcmdpbi1yaWdodDogMTRweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG5cbi5mb3JtQ2FyZHMtLXRleHQgbGFiZWwge1xuICB3aWR0aDogYXV0bztcbiAgbWluLXdpZHRoOiAxMTBweDsgfVxuXG4uZm9ybUNhcmRzLS10ZXh0IC5mb3JtQ2FyZF9faW1nIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRGb3JtIENhcmRzIC0gVGV4dCBPbmx5XHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmZvcm1DYXJkcy0tdGV4dCB0ciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIG1hcmdpbi1yaWdodDogMTRweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4gIC5mb3JtQ2FyZHMtLXRleHQgdHI6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5mb3JtQ2FyZHMtLXRleHQgdHIgbGFiZWwge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1pbi13aWR0aDogMTEwcHg7IH1cbiAgLmZvcm1DYXJkcy0tdGV4dCB0ciBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMDsgfVxuICAgIC5mb3JtQ2FyZHMtLXRleHQgdHIgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIGNvbG9yOiAjMjYyNTI3O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMjBweCAxMHB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgxMTQsIDIyMCwgMjEyLCAwLjcpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgIGJveC1zaGFkb3c6IDBweCA0cHggNnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyOyB9XG4gICAgICAuZm9ybUNhcmRzLS10ZXh0IHRyIGlucHV0W3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYWYxZmI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAgIC5mb3JtQ2FyZHMtLXRleHQgdHIgaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkICsgbGFiZWwge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5mb3JtQ2FyZHMtLXRleHQgdHIgaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyUzRSUzQ3BhdGggZmlsbD0nJTIzMDBjMGI1JyBzdHJva2U9J3RyYW5zcGFyZW50JyBzdHJva2Utd2lkdGg9JzAnIGQ9J00yMzUuMSwzODYuM2MtNS43LDAtMTEuMS0yLjQtMTQuOS02LjZsLTEwNC4xLTExNmMtNy40LTguMi02LjctMjAuOSwxLjUtMjguMmM4LjItNy40LDIwLjktNi43LDI4LjIsMS41IGw4Ni44LDk2LjhsMTMxLjYtMTk5LjFjNi4xLTkuMiwxOC41LTExLjcsMjcuNy01LjdjOS4yLDYuMSwxMS43LDE4LjUsNS43LDI3LjdMMjUxLjgsMzc3LjRjLTMuNCw1LjItOSw4LjUtMTUuMiw4LjkgQzIzNi4xLDM4Ni4zLDIzNS42LDM4Ni4zLDIzNS4xLDM4Ni4zeicgLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwYzBiNTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDBjMGI1OyB9XG5cbi5mb3JtQ2FyZHMtLXRleHQgbGFiZWwge1xuICB3aWR0aDogYXV0bztcbiAgbWluLXdpZHRoOiAxMTBweDsgfVxuXG4uZm9ybUNhcmRzLS10ZXh0IC5mb3JtQ2FyZF9faW1nIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRoZWFkZXIgYnV0dG9uXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmZvcm0gW3R5cGU9J3RleHQnXSwgLmZvcm0gW3R5cGU9J3Bhc3N3b3JkJ10sIC5mb3JtIFt0eXBlPSdkYXRlJ10sIC5mb3JtIFt0eXBlPSdkYXRldGltZSddLCAuZm9ybSBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSxcbi5mb3JtIFt0eXBlPSdtb250aCddLCAuZm9ybSBbdHlwZT0nd2VlayddLCAuZm9ybSBbdHlwZT0nZW1haWwnXSwgLmZvcm0gW3R5cGU9J251bWJlciddLCAuZm9ybSBbdHlwZT0nc2VhcmNoJ10sIC5mb3JtIFt0eXBlPSd0ZWwnXSxcbi5mb3JtIFt0eXBlPSd0aW1lJ10sIC5mb3JtIFt0eXBlPSd1cmwnXSwgLmZvcm0gW3R5cGU9J2NvbG9yJ10ge1xuICBtYXgtd2lkdGg6IDQ0MnB4OyB9XG5cbi5mb3JtIHRleHRhcmVhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNjczcHg7XG4gIG1pbi1oZWlnaHQ6IDExNnB4OyB9XG5cbi5mb3JtIC5zZWxlY3Qge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0U3BlY2lmaWMgRm9ybXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG5cdERvbmF0ZSBGb3JtXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmRvbmF0ZUZvcm0ge1xuICBtYXgtd2lkdGg6IDcwMHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICAuZG9uYXRlRm9ybSAuZm9ybV9fc2VjdGlvbiB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIGNvbG9yOiAjMDMxZjczO1xuICAgIG1hcmdpbi10b3A6IDM0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDsgfVxuICAgIC5kb25hdGVGb3JtIC5mb3JtX19zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgLmRvbmF0ZUZvcm0gLmZvcm1fX3NpZGVUZXh0IHtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgY29sb3I6ICMwMzFmNzM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMTRweCAwIDUycHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmRvbmF0ZUZvcm0ge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAgIC5kb25hdGVGb3JtIC5kb25hdGVGb3JtX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDY0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4xMztcbiAgICAgIG1hcmdpbi1ib3R0b206IDY4cHg7IH1cbiAgICAuZG9uYXRlRm9ybSAuZm9ybV9fc2VjdGlvbiB7XG4gICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICBtYXJnaW4tdG9wOiA0NXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAgICAgLmRvbmF0ZUZvcm0gLmZvcm1fX3NlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAtOXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZG9uYXRlRm9ybSAuZm9ybV9fc2lkZVRleHQge1xuICAgIG1heC13aWR0aDogODUlO1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICBtYXJnaW46IDIzcHggYXV0bzsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0RG9uYXRpb24gQW1vdW50XHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uZG9uYXRlRm9ybSAuZG9uYXRlRm9ybV9fYW10IC5mb3JtQ2FyZF9fZ3JvdXAge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmRvbmF0ZUZvcm0gLmRvbmF0ZUZvcm1fX2FtdCAuZm9ybUNhcmRfX2dyb3VwOmxhc3Qtb2YtdHlwZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLyptYXJnaW4tbGVmdDogMTRweDsqLyB9XG4gICAgLmRvbmF0ZUZvcm0gLmRvbmF0ZUZvcm1fX2FtdCAuZm9ybUNhcmRfX2dyb3VwOmxhc3Qtb2YtdHlwZSAuZm9ybUNhcmQge1xuICAgICAgLyptYXJnaW4tcmlnaHQ6IDA7Ki8gfVxuXG4uZG9uYXRlRm9ybSAuZG9uYXRlRm9ybV9fYW10IC5mb3JtQ2FyZCB7XG4gIG1hcmdpbi1yaWdodDogMTRweDsgfVxuICAuZG9uYXRlRm9ybSAuZG9uYXRlRm9ybV9fYW10IC5mb3JtQ2FyZCBsYWJlbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0xcHg7IH1cblxuLmRvbmF0ZUZvcm0gLmZvcm1fX2RvbGxhcnNpZ24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogNXB4OyB9XG5cbi5kb25hdGVGb3JtIC5mb3JtX19kb2xsYXJJbnB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDkwJTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMC41ZW0pIHtcbiAgLmRvbmF0ZUZvcm0gLmRvbmF0ZUZvcm1fX2FtdCAuZm9ybUNhcmRfX2dyb3VwOmxhc3Qtb2YtdHlwZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmRvbmF0ZUZvcm0gLmRvbmF0ZUZvcm1fX2FtdCAuZm9ybUNhcmRfX2dyb3VwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuZG9uYXRlRm9ybSAuZG9uYXRlRm9ybV9fYW10IC5mb3JtQ2FyZF9fZ3JvdXA6bnRoLWNoaWxkKDIpIHtcbiAgICAgIC8qbWFyZ2luOiAwOyovIH1cbiAgICAgIC5kb25hdGVGb3JtIC5kb25hdGVGb3JtX19hbXQgLmZvcm1DYXJkX19ncm91cDpudGgtY2hpbGQoMikgLmZvcm1DYXJkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNHB4OyB9XG4gICAgICAgIC5kb25hdGVGb3JtIC5kb25hdGVGb3JtX19hbXQgLmZvcm1DYXJkX19ncm91cDpudGgtY2hpbGQoMikgLmZvcm1DYXJkOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5kb25hdGVGb3JtIC5kb25hdGVGb3JtX19hbXQgLmZvcm1DYXJkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZG9uYXRlRm9ybSAuZG9uYXRlRm9ybV9fYW10IC5mb3JtQ2FyZCBsYWJlbCB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTFweDsgfVxuICAuZG9uYXRlRm9ybSAuZG9uYXRlRm9ybV9fYW10ICsgaW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmRvbmF0ZUZvcm0gLmRvbmF0ZUZvcm1fX2FtdCAuZm9ybUNhcmRfX2dyb3VwOm50aC1jaGlsZCgyKSAuZm9ybUNhcmQge1xuICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAuZG9uYXRlRm9ybSAuZG9uYXRlRm9ybV9fYW10IC5mb3JtQ2FyZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICAgLmRvbmF0ZUZvcm0gLmRvbmF0ZUZvcm1fX2FtdCAuZm9ybUNhcmQgbGFiZWwge1xuICAgICAgd2lkdGg6IDE0MHB4OyB9IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHREb25hdGlvbiBUeXBlXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uZG9uYXRlRm9ybSAuZG9uYXRlRm9ybV9fdHlwZSBsYWJlbCB7XG4gIHdpZHRoOiAxNTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjYzcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmRvbmF0ZUZvcm0gLmRvbmF0ZUZvcm1fX3R5cGUgLmZvcm1DYXJkIGxhYmVsIHtcbiAgICB3aWR0aDogMTQwcHg7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjc1cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5kb25hdGVGb3JtIC5kb25hdGVGb3JtX190eXBlIC5mb3JtQ2FyZF9fZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuZG9uYXRlRm9ybSAuZG9uYXRlRm9ybV9fdHlwZSAuZm9ybUNhcmQge1xuICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAgIC5kb25hdGVGb3JtIC5kb25hdGVGb3JtX190eXBlIC5mb3JtQ2FyZCBsYWJlbCB7XG4gICAgICB3aWR0aDogMTQwcHg7XG4gICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjc1cHg7IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdFBheW1lbnQgVGFic1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnBheW1lbnRUYWJzIC5mb3JtX19wYXlMb2dvcyB7XG4gIGZvbnQtc2l6ZTogMDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAucGF5bWVudFRhYnMgLmZvcm1fX3BheUxvZ29zIHN2ZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAxNHB4OyB9XG4gICAgLnBheW1lbnRUYWJzIC5mb3JtX19wYXlMb2dvcyBzdmc6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAucGF5bWVudFRhYnMgLmZvcm1fX3BheUxvZ29zIHN2ZzpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5wYXltZW50VGFicyAuZm9ybV9fcGF5TG9nb3Mgc3ZnIHtcbiAgICAgICAgbWFyZ2luOiAwIDFweDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTsgfSB9XG5cbi5wYXltZW50VGFicyAudGFicyB7XG4gIG1hcmdpbi10b3A6IDdweDsgfVxuXG4ucGF5bWVudFRhYnMgLnRhYnMsIC5wYXltZW50VGFicyAudGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5wYXltZW50VGFicyAudGFicy10aXRsZSBhIHtcbiAgd2lkdGg6IDE1NnB4O1xuICBoZWlnaHQ6IDY0cHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMC42M3B4O1xuICBjb2xvcjogIzI2MjUyNztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgMCAxNnB4IDA7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMTE0LCAyMjAsIDIxMiwgMC43KTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgYm94LXNoYWRvdzogMHB4IDRweCA2cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyOyB9XG5cbi5wYXltZW50VGFicyAudGFicy10aXRsZTpudGgtY2hpbGQob2RkKSB7XG4gIG1hcmdpbi1sZWZ0OiAxNHB4OyB9XG5cbi5wYXltZW50VGFicyAudGFicy10aXRsZTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBmbG9hdDogbm9uZTsgfVxuICAucGF5bWVudFRhYnMgLnRhYnMtdGl0bGU6Zmlyc3QtY2hpbGQgYSB7XG4gICAgd2lkdGg6IDMyOHB4OyB9XG5cbi5wYXltZW50VGFicyAudGFicy10aXRsZS5pcy1hY3RpdmUgYSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjMDBjMGI1O1xuICBib3JkZXItY29sb3I6ICMwMGMwYjU7IH1cblxuLnBheW1lbnRUYWJzIC50YWJzLXBhbmVsIHtcbiAgcGFkZGluZzogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGF5bWVudFRhYnMgLnRhYnMtdGl0bGUge1xuICAgIG1hcmdpbi1sZWZ0OiAxNHB4OyB9XG4gICAgLnBheW1lbnRUYWJzIC50YWJzLXRpdGxlOmZpcnN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAucGF5bWVudFRhYnMgLnRhYnMtdGl0bGU6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgIHdpZHRoOiAxODBweDsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0RG9uYXRlIENUQVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmRvbmF0ZUZvcm0gLmRvbmF0ZUZvcm1fX2Zvb3RlciB7XG4gIG1hcmdpbi10b3A6IDM0cHg7XG4gIG1hcmdpbi1ib3R0b206IDIzcHg7IH1cblxuLmRvbmF0ZUZvcm0gLmRvbmF0ZUZvcm1fX2N0YSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmRvbmF0ZUZvcm0gLmRvbmF0ZUZvcm1fX2N0YSAuYnV0dG9uLCAuZG9uYXRlRm9ybSAuZG9uYXRlRm9ybV9fY3RhIC5SZWdpc3RlckJ1dHRvbiB7XG4gICAgd2lkdGg6IDMwOXB4O1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIHBhZGRpbmc6IDEycHggMjJweCAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDM0cHg7IH1cbiAgICAuZG9uYXRlRm9ybSAuZG9uYXRlRm9ybV9fY3RhIC5idXR0b246YmVmb3JlLCAuZG9uYXRlRm9ybSAuZG9uYXRlRm9ybV9fY3RhIC5SZWdpc3RlckJ1dHRvbjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5kb25hdGVGb3JtIC5kb25hdGVGb3JtX19jdGEgLmJ1dHRvbjphZnRlciwgLmRvbmF0ZUZvcm0gLmRvbmF0ZUZvcm1fX2N0YSAuUmVnaXN0ZXJCdXR0b246YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMzRweDsgfVxuICAgIC5kb25hdGVGb3JtIC5kb25hdGVGb3JtX19jdGEgLmJ1dHRvbiBzcGFuOmJlZm9yZSwgLmRvbmF0ZUZvcm0gLmRvbmF0ZUZvcm1fX2N0YSAuUmVnaXN0ZXJCdXR0b24gc3BhbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxOS41NyAyNSclM0UlM0NwYXRoIGZpbGw9JyUyM2ZmZicgc3Ryb2tlPSd0cmFuc3BhcmVudCcgc3Ryb2tlLXdpZHRoPScwJyBkPSdNMTcuMTIsOC4zM0gxNS45VjZBNiw2LDAsMCwwLDkuNzgsMCw2LDYsMCwwLDAsMy42Nyw2VjguMzNIMi40NUEyLjQyLDIuNDIsMCwwLDAsMCwxMC43MVYyMi42MkEyLjQyLDIuNDIsMCwwLDAsMi40NSwyNUgxNy4xMmEyLjQzLDIuNDMsMCwwLDAsMi40NS0yLjM4VjEwLjcxYTIuNDMsMi40MywwLDAsMC0yLjQ1LTIuMzhaTTkuNzgsMTkuMDVhMi4zOCwyLjM4LDAsMSwxLDIuNDUtMi4zOCwyLjQyLDIuNDIsMCwwLDEtMi40NSwyLjM4Wk0xMy41Nyw4LjMzSDZWNmEzLjc5LDMuNzksMCwwLDEsNy41OCwwVjguMzNaJyAvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLmRvbmF0ZUZvcm0gLmZvcm1fX3NlY3VyZSB7XG4gIGZvbnQtc2l6ZTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiA0MnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5kb25hdGVGb3JtIC5mb3JtX19zZWN1cmUgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIG1hcmdpbi10b3A6IC01cHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmRvbmF0ZUZvcm0gLmRvbmF0ZUZvcm1fX2Zvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4OyB9XG4gIC5kb25hdGVGb3JtIC5kb25hdGVGb3JtX19jdGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDM4cHg7IH1cbiAgLmRvbmF0ZUZvcm0gLmZvcm1fX3NlY3VyZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0Rm9ybSBPdmVycmlkZXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIGhpZGUgdGhlIENNUyBmb3JtIGZpZWxkIGhlYWRlciAqL1xuLmVkaXRpbmctZm9ybS1jYXRlZ29yeSBoNC5hbmNob3Ige1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmg0Lm1hbnVhbF9fZm9ybUZpZWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG5cbi5jYWxlbmRhci1hY3Rpb24ge1xuICBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG4uZWRpdGluZy1mb3JtLWNhdGVnb3J5LWZpZWxkcyAuZWRpdGluZy1mb3JtLWxhYmVsIHtcbiAgZm9udC1zaXplOiAyMHB4OyB9XG5cbi5lZGl0aW5nLWZvcm0tdmFsdWUtY2VsbCB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLmVkaXRpbmctZm9ybS12YWx1ZS1jZWxsIGlucHV0LCAuZWRpdGluZy1mb3JtLXZhbHVlLWNlbGwgdGV4dGFyZWEge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTE0LCAyMjAsIDIxMiwgMC40KTsgfVxuICAuZWRpdGluZy1mb3JtLXZhbHVlLWNlbGwgaW5wdXQ6Zm9jdXMsIC5lZGl0aW5nLWZvcm0tdmFsdWUtY2VsbCB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgxMTQsIDIyMCwgMjEyLCAwLjcpO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwcmdiYSAwLCAwLCAwLCAwLjA5OyB9XG4gIC5lZGl0aW5nLWZvcm0tdmFsdWUtY2VsbCBlbSB7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG5cbi5zZWxlY3Qtc3R5bGVkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMTQsIDIyMCwgMjEyLCAwLjQpO1xuICBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuLnNlbGVjdC1zdHlsZWQuYWN0aXZlIHtcbiAgYm9yZGVyOiAycHggc29saWQgcmdiYSgxMTQsIDIyMCwgMjEyLCAwLjcpO1xuICBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuLnNlbGVjdC1vcHRpb25zIGxpOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M3ZjFlZTsgfVxuXG4uZm9ybS1ncm91cC1zdWJtaXQsICNjdGwwMF9Db250ZW50UGxhY2VIb2xkZXIxX3BsY1pvbmVzX2x0X3pvbmVDZW50ZXJfVm9sdW50ZWVyQXBwbGljYXRpb25TdGVwMl9Wb2x1bnRlZXJCaXpfYnRuT0sge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICB3aWR0aDogMzA5cHg7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIHBhZGRpbmc6IDEycHggMjJweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAzNHB4O1xuICAvKmlucHV0OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweDtcclxuICAgIH0qLyB9XG5cbi5mb3JtLWdyb3VwLXN1Ym1pdCwgI2N0bDAwX0NvbnRlbnRQbGFjZUhvbGRlcjFfcGxjWm9uZXNfbHRfem9uZUNlbnRlcl9Wb2x1bnRlZXJBcHBsaWNhdGlvblN0ZXAyX1ZvbHVudGVlckJpel9idG5PSyB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzI7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYzBiNTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGxpbmVhcjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDFweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgd2lkdGg6IDMwOXB4O1xuICBmb250LXNpemU6IDMycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBwYWRkaW5nOiAxMnB4IDIycHggMTZweDtcbiAgYm9yZGVyLXJhZGl1czogMzRweDsgfVxuICAuZm9ybS1ncm91cC1zdWJtaXQ6aG92ZXIsICNjdGwwMF9Db250ZW50UGxhY2VIb2xkZXIxX3BsY1pvbmVzX2x0X3pvbmVDZW50ZXJfVm9sdW50ZWVyQXBwbGljYXRpb25TdGVwMl9Wb2x1bnRlZXJCaXpfYnRuT0s6aG92ZXIsIC5mb3JtLWdyb3VwLXN1Ym1pdDpmb2N1cywgI2N0bDAwX0NvbnRlbnRQbGFjZUhvbGRlcjFfcGxjWm9uZXNfbHRfem9uZUNlbnRlcl9Wb2x1bnRlZXJBcHBsaWNhdGlvblN0ZXAyX1ZvbHVudGVlckJpel9idG5PSzpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgb3BhY2l0eTogMC44OyB9XG4gIC5mb3JtLWdyb3VwLXN1Ym1pdCBpbnB1dCwgI2N0bDAwX0NvbnRlbnRQbGFjZUhvbGRlcjFfcGxjWm9uZXNfbHRfem9uZUNlbnRlcl9Wb2x1bnRlZXJBcHBsaWNhdGlvblN0ZXAyX1ZvbHVudGVlckJpel9idG5PSyBpbnB1dCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZvcm0tZ3JvdXAtc3VibWl0IGlucHV0OmhvdmVyLCAjY3RsMDBfQ29udGVudFBsYWNlSG9sZGVyMV9wbGNab25lc19sdF96b25lQ2VudGVyX1ZvbHVudGVlckFwcGxpY2F0aW9uU3RlcDJfVm9sdW50ZWVyQml6X2J0bk9LIGlucHV0OmhvdmVyLCAuZm9ybS1ncm91cC1zdWJtaXQgaW5wdXQ6Zm9jdXMsICNjdGwwMF9Db250ZW50UGxhY2VIb2xkZXIxX3BsY1pvbmVzX2x0X3pvbmVDZW50ZXJfVm9sdW50ZWVyQXBwbGljYXRpb25TdGVwMl9Wb2x1bnRlZXJCaXpfYnRuT0sgaW5wdXQ6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBvcGFjaXR5OiAwLjg7IH1cblxuLyogIGlucHV0IHtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMTFweDtcclxuICAgICAgICByaWdodDogMjBweDtcclxuICAgICAgICB3aWR0aDogMTdweDtcclxuICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNi44OScgaGVpZ2h0PScyMy45JyB2aWV3Qm94PScwIDAgMTYuODkgMjMuOSclM0UlM0NwYXRoIGZpbGw9J1wiICsgc3RyLXJlcGxhY2UoJyNmZmYnLCAnIycsICclMjMnKSArIFwiJyBzdHJva2U9J3RyYW5zcGFyZW50JyBzdHJva2Utd2lkdGg9JzAnIGQ9J00xNi43MywxMS42NC42MS4wN0EuNDEuNDEsMCwwLDAsLjEyLjEuMzkuMzksMCwwLDAsLjA2LjU5TDcsMTIsLjA2LDIzLjMxYS4zOC4zOCwwLDAsMCwuMDcuNDkuMzUuMzUsMCwwLDAsLjI2LjEuMzQuMzQsMCwwLDAsLjIyLS4wN0wxNi43MiwxMi4yN2EuMzkuMzksMCwwLDAsLjE3LS4zMi4zNy4zNywwLDAsMC0uMTctLjMxWicgLyUzRSUzQy9zdmclM0VcIik7XHJcbiAgICB9XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDRweCA2cHggMHB4IHJnYmEoMCwwLDAsMC4xKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5hY3Rpb24ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3Rpb24tY29sb3I7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAuYnV0dG9uIHtcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICB9XHJcbn0qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRPdmVycmlkZXMgLSBGb3JtIGZpeGVzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ucGF5bWVudFRhYnMgLmRvbmF0ZV9fbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBheW1lbnRUYWJzIC5kb25hdGVfX2xhYmVsIHtcbiAgICBmb250LXNpemU6IDIwcHg7IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdE92ZXJyaWRlcyAtIEZvcm0gZml4ZXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiNvdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG5cbi5jdi1zcGlubmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uc3Bpbm5lciB7XG4gIHdpZHRoOiAyMDBweDtcbiAgaGVpZ2h0OiAyMDBweDtcbiAgYm9yZGVyOiA0cHggI2RkZCBzb2xpZDtcbiAgYm9yZGVyLXRvcDogNHB4ICMyZTkzZTYgc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiBzcC1hbmltZSAwLjhzIGluZmluaXRlIGxpbmVhcjsgfVxuXG5Aa2V5ZnJhbWVzIHNwLWFuaW1lIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbi5pcy1oaWRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRWb2x1bnRlZXIgRm9ybVxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi52b2x1bnRlZXJGb3JtIC5ndWFyZGlhblBhbmVsIHtcbiAgcGFkZGluZzogMTBweCAwO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2VhZjFmYjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYWYxZmI7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnZvbHVudGVlckZvcm0gLmxvY2F0aW9uU2VsZWN0b3Ige1xuICBtYXgtd2lkdGg6IDQ0MnB4O1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC52b2x1bnRlZXJGb3JtIC5sb2NhdGlvblNlbGVjdG9yLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC52b2x1bnRlZXJGb3JtIC5sb2NhdGlvblNlbGVjdG9yLnNlbGVjdGVkIC5sb2NhdGlvblNlbGVjdG9yX19vcHRpb25hbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudm9sdW50ZWVyRm9ybSAubG9jYXRpb25TZWxlY3Rvci5zZWxlY3RlZCAubG9jYXRpb25TZWxlY3Rvcl9fY2xlYXIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC52b2x1bnRlZXJGb3JtIC5sb2NhdGlvblNlbGVjdG9yLnNlbGVjdGVkIC5sb2NhdGlvblNlbGVjdG9yX19pbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC52b2x1bnRlZXJGb3JtIC5sb2NhdGlvblNlbGVjdG9yLnNlbGVjdGVkIC5sb2NhdGlvblNlbGVjdG9yX19zZWxlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC52b2x1bnRlZXJGb3JtIC5sb2NhdGlvblNlbGVjdG9yIGxhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnZvbHVudGVlckZvcm0gLlNhbWVBc1N0cmVldCB7XG4gIG1hcmdpbi10b3A6IDUwcHg7IH1cblxuLnZvbHVudGVlckZvcm0gLmxvY2F0aW9uU2VsZWN0b3JfX29wdGlvbmFsIHtcbiAgY29sb3I6ICM4ZjhlOGY7IH1cblxuLnZvbHVudGVlckZvcm0gLmxvY2F0aW9uU2VsZWN0b3JfX2NsZWFyIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMzJweDtcbiAgY29sb3I6ICMwMGMwYjU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi52b2x1bnRlZXJGb3JtIC5sb2NhdGlvblNlbGVjdG9yX19zZWxlY3Rpb24ge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHBhZGRpbmc6IDEwcHggMTdweCAxNHB4O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogc29saWQgMXB4IHJnYmEoMTE0LCAyMjAsIDIxMiwgMC40KTtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udWktd2lkZ2V0LnVpLWF1dG9jb21wbGV0ZSB7XG4gIGJvcmRlcjogc29saWQgMXB4ICNjN2YxZWU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgbWFyZ2luLXRvcDogMTJweDsgfVxuXG4udWktbWVudSAudWktbWVudS1pdGVtIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS43ODtcbiAgY29sb3I6ICMyNjI1Mjc7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gIC51aS1tZW51IC51aS1tZW51LWl0ZW0gLnVpLXN0YXRlLWFjdGl2ZSB7XG4gICAgY29sb3I6ICMyNjI1Mjc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZjFmYjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjA2LCAyMDUsIDIwNiwgMC4yKTsgfVxuXG4vKioqIEFVVE8gQ09NUExFVEUgKioqKi9cbi5hY19yZXN1bHRzIHtcbiAgcGFkZGluZzogMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDk5OTk5OyB9XG5cbi5hY19yZXN1bHRzIHVsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuXG4uYWNfcmVzdWx0cyBsaSB7XG4gIG1hcmdpbjogMHB4O1xuICBwYWRkaW5nOiAycHggNXB4O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvKiBcclxuXHRpZiB3aWR0aCB3aWxsIGJlIDEwMCUgaG9yaXpvbnRhbCBzY3JvbGxiYXIgd2lsbCBhcGVhciBcclxuXHR3aGVuIHNjcm9sbCBtb2RlIHdpbGwgYmUgdXNlZFxyXG5cdCovXG4gIC8qd2lkdGg6IDEwMCU7Ki9cbiAgZm9udDogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgLyogXHJcblx0aXQgaXMgdmVyeSBpbXBvcnRhbnQsIGlmIGxpbmUtaGVpZ2h0IG5vdCBzZXR0ZWQgb3Igc2V0dGVkIFxyXG5cdGluIHJlbGF0aXZlIHVuaXRzIHNjcm9sbCB3aWxsIGJlIGJyb2tlbiBpbiBmaXJlZm94XHJcblx0Ki9cbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyouYWNfbG9hZGluZyB7XHJcblx0YmFja2dyb3VuZDogd2hpdGUgdXJsKCdpbmRpY2F0b3IuZ2lmJykgcmlnaHQgY2VudGVyIG5vLXJlcGVhdDtcclxufSovXG4uYWNfb2RkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsgfVxuXG4uYWNfb3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ZWQ1ZjE7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH1cblxubGFiZWwge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLkVkaXRpbmdGb3JtRXJyb3JMYWJlbCB7XG4gIGNvbG9yOiByZWQ7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uZm9ybV9fY3RhIC5idXR0b24gLkZvcm1CdXR0b24sIC5mb3JtX19jdGEgLlJlZ2lzdGVyQnV0dG9uIC5Gb3JtQnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4udm9sdW50ZWVyUm9sZXMgLmZvcm1DYXJkcyAuY2hlY2tib3ggaW5wdXRbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLCAudm9sdW50ZWVyUm9sZXMgLmZvcm1DYXJkcy0tdGV4dCAuY2hlY2tib3ggaW5wdXRbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAwcHg7IH1cblxuLnZvbHVudGVlclJvbGVzIC5mb3JtQ2FyZHMgLmNoZWNrYm94IGlucHV0W3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbDpiZWZvcmUsIC52b2x1bnRlZXJSb2xlcyAuZm9ybUNhcmRzLS10ZXh0IC5jaGVja2JveCBpbnB1dFt0eXBlPSdjaGVja2JveCddICsgbGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi52b2x1bnRlZXJSb2xlcyAuZm9ybUNhcmRzIHRyLCAudm9sdW50ZWVyUm9sZXMgLmZvcm1DYXJkcy0tdGV4dCB0ciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cblxuLnZvbHVudGVlckZvcm0gLldhdGVybWFya1RleHQge1xuICBjb2xvcjogI0QzRDNEMzsgfVxuXG4udm9sdW50ZWVyRm9ybSAuZGVzY19fb3B0aW9uYWwge1xuICBjb2xvcjogI0QzRDNEMzsgfVxuXG4udm9sdW50ZWVyRm9ybSBzcGFuIHtcbiAgZm9udC1zaXplOiAyMHB4OyB9XG5cbi52b2x1bnRlZXJGb3JtIC5mb3JtX19jdGEge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi52b2x1bnRlZXJDaGVja2xpc3Qge1xuICBtYXJnaW4tdG9wOiA4cHg7IH1cbiAgLnZvbHVudGVlckNoZWNrbGlzdCAuZm9ybUNhcmRzLS10ZXh0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAudm9sdW50ZWVyQ2hlY2tsaXN0IC5mb3JtQ2FyZHMtLXRleHQgLmNoZWNrYm94IGlucHV0W3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgICAudm9sdW50ZWVyQ2hlY2tsaXN0IC5mb3JtQ2FyZHMtLXRleHQgaW5wdXRbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAgIC52b2x1bnRlZXJDaGVja2xpc3QgLmZvcm1DYXJkcy0tdGV4dCBiciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnZvbHVudGVlckNoZWNrbGlzdCAuZm9ybUNhcmRzLS10ZXh0IC5jaGVja2JveCBpbnB1dFt0eXBlPSdjaGVja2JveCddICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uUmVxdWVzdENvbnRlbnQgLlJlcXVlc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAuUmVxdWVzdENvbnRlbnQgLlJlcXVlc3QgLlJlcXVlc3RMYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi5SZXF1ZXN0Q29udGVudCAuUmVxdWVzdEJ1dHRvbnMge1xuICBtYXJnaW4tYm90dG9tOiA4MHB4OyB9XG4gIC5SZXF1ZXN0Q29udGVudCAuUmVxdWVzdEJ1dHRvbnMgLmJ1dHRvbiwgLlJlcXVlc3RDb250ZW50IC5SZXF1ZXN0QnV0dG9ucyAuUmVnaXN0ZXJCdXR0b24ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4uUmVxdWVzdENvbnRlbnQgLnJlamVjdC1idXR0b24ge1xuICBtYXJnaW46IDEwcHggMHB4OyB9XG4gIC5SZXF1ZXN0Q29udGVudCAucmVqZWN0LWJ1dHRvbiBbdHlwZT0nc3VibWl0J10ge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGMwYjU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7IH1cblxuLlJlcXVlc3RDb250ZW50IC5kZWNsaW5lLXBhbmVsIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uVm9sdW50ZWVyUmVxdWVzdHMgLk1haW5UZXh0IHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW46IDEwcHggMHB4OyB9XG5cbi5Wb2x1bnRlZXJSZXF1ZXN0cyAuRGVzY1RleHQge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5SZXF1ZXN0Q29udGVudCAuUmVxdWVzdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDMwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICAuUmVxdWVzdENvbnRlbnQgLlJlcXVlc3QgLlJlcXVlc3RMYWJlbCB7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWluLXdpZHRoOiAyOTBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMzAwcHg7IH1cbiAgLlJlcXVlc3RDb250ZW50IC5TcGFuUmVqZWN0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmxvZ29uLXBhZ2UtYmFja2dyb3VuZCAuZm9ybS1jb250cm9sLWVycm9yIHtcbiAgY29sb3I6IHJlZDsgfVxuXG4ubG9nb24tcGFnZS1iYWNrZ3JvdW5kIC5idXR0b24sIC5sb2dvbi1wYWdlLWJhY2tncm91bmQgLlJlZ2lzdGVyQnV0dG9uIHtcbiAgcGFkZGluZzogN3B4IDIycHggMTJweCAyMnB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbiNjdGwwMF9Db250ZW50UGxhY2VIb2xkZXIxX3BsY1pvbmVzX2x0X3pvbmVDZW50ZXJfVm9sdW50ZWVyQXBwbGljYXRpb25TdGVwMl9Wb2x1bnRlZXJCaXpfYnRuT0sge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcblx0UmVmZXJyYWwgRm9ybVxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5mb3JtX19kb3VibGVDb2x1bW4ge1xuICAvKi5jb2x1bW4ge1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHR3aWR0aDogNDclO1xyXG5cdH1cclxuXHJcblx0LnJvdzphZnRlciB7XHJcblx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0ZGlzcGxheTogdGFibGU7XHJcblx0XHRjbGVhcjogYm90aDtcclxuXHR9Ki8gfVxuICAuZm9ybV9fZG91YmxlQ29sdW1uIC5lZGl0aW5nLWZvcm0tdmFsdWUtY2VsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG4gICAgLmZvcm1fX2RvdWJsZUNvbHVtbiAuZWRpdGluZy1mb3JtLXZhbHVlLWNlbGwgLnNlbGVjdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLmZvcm1fX2RvdWJsZUNvbHVtbiAuZWRpdGluZy1mb3JtLXZhbHVlLWNlbGwgLnNlbGVjdC1zdHlsZWQge1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG4gICAgLmZvcm1fX2RvdWJsZUNvbHVtbiAuZWRpdGluZy1mb3JtLXZhbHVlLWNlbGwgLkVkaXRpbmdGb3JtRXJyb3JMYWJlbCB7XG4gICAgICBtYXJnaW4tdG9wOiAtMzJweDsgfVxuICAgIC5mb3JtX19kb3VibGVDb2x1bW4gLmVkaXRpbmctZm9ybS12YWx1ZS1jZWxsIC5mb3JtLWNvbnRyb2wge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgIC5mb3JtX19kb3VibGVDb2x1bW4gLmVkaXRpbmctZm9ybS12YWx1ZS1jZWxsIC5yYWRpby1saXN0LXZlcnRpY2FsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAuZm9ybV9fZG91YmxlQ29sdW1uIC5lZGl0aW5nLWZvcm0tdmFsdWUtY2VsbCAuZGF0ZS10aW1lLXBpY2tlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICAuZm9ybV9fZG91YmxlQ29sdW1uIC5lZGl0aW5nLWZvcm0tdmFsdWUtY2VsbCAuZGF0ZS10aW1lLXBpY2tlciAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAuZm9ybV9fZG91YmxlQ29sdW1uIC5Gb3JtQnV0dG9uIHtcbiAgICB3aWR0aDogMzA5cHg7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBwYWRkaW5nOiAxMnB4IDIycHggMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiAzNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBjMGI1O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBsaW5lYXI7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDFweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5mb3JtX19kb3VibGVDb2x1bW4gLnJlZmVycmFsQ2hlY2tsaXN0IHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cbiAgICAuZm9ybV9fZG91YmxlQ29sdW1uIC5yZWZlcnJhbENoZWNrbGlzdCAuZm9ybS1ncm91cCAuY2hlY2tib3gtbGlzdC12ZXJ0aWNhbCBiciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZvcm1fX2RvdWJsZUNvbHVtbiAucmVmZXJyYWxDaGVja2xpc3QgLmZvcm0tZ3JvdXAgLmNoZWNrYm94IGlucHV0IFt0eXBlPSdjaGVja2JveCddIHtcbiAgICAgIGNvbG9yOiBibHVlOyB9XG4gICAgICAuZm9ybV9fZG91YmxlQ29sdW1uIC5yZWZlcnJhbENoZWNrbGlzdCAuZm9ybS1ncm91cCAuY2hlY2tib3ggaW5wdXQgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAuZm9ybV9fZG91YmxlQ29sdW1uIC5yZWZlcnJhbENoZWNrbGlzdCAuZm9ybS1ncm91cCAucmFkaW8tbGlzdC12ZXJ0aWNhbCwgLmZvcm1fX2RvdWJsZUNvbHVtbiAucmVmZXJyYWxDaGVja2xpc3QgLmZvcm0tZ3JvdXAgLmNoZWNrYm94LWxpc3QtdmVydGljYWwge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZm9ybV9fZG91YmxlQ29sdW1uIC5yZWZlcnJhbENoZWNrbGlzdCAuZm9ybS1ncm91cCAucmFkaW8tbGlzdC12ZXJ0aWNhbCAuY2hlY2tib3ggaW5wdXRbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLCAuZm9ybV9fZG91YmxlQ29sdW1uIC5yZWZlcnJhbENoZWNrbGlzdCAuZm9ybS1ncm91cCAuY2hlY2tib3gtbGlzdC12ZXJ0aWNhbCAuY2hlY2tib3ggaW5wdXRbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4gICAgICAuZm9ybV9fZG91YmxlQ29sdW1uIC5yZWZlcnJhbENoZWNrbGlzdCAuZm9ybS1ncm91cCAucmFkaW8tbGlzdC12ZXJ0aWNhbCBpbnB1dFt0eXBlPSdyYWRpbyddICsgbGFiZWwsIC5mb3JtX19kb3VibGVDb2x1bW4gLnJlZmVycmFsQ2hlY2tsaXN0IC5mb3JtLWdyb3VwIC5jaGVja2JveC1saXN0LXZlcnRpY2FsIGlucHV0W3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAgICAgLmZvcm1fX2RvdWJsZUNvbHVtbiAucmVmZXJyYWxDaGVja2xpc3QgLmZvcm0tZ3JvdXAgLnJhZGlvLWxpc3QtdmVydGljYWwgbGFiZWwsIC5mb3JtX19kb3VibGVDb2x1bW4gLnJlZmVycmFsQ2hlY2tsaXN0IC5mb3JtLWdyb3VwIC5jaGVja2JveC1saXN0LXZlcnRpY2FsIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgICBjb2xvcjogIzI2MjUyNztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMTE0LCAyMjAsIDIxMiwgMC43KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDRweCA2cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAxMTBweDsgfVxuICAgICAgICAuZm9ybV9fZG91YmxlQ29sdW1uIC5yZWZlcnJhbENoZWNrbGlzdCAuZm9ybS1ncm91cCAucmFkaW8tbGlzdC12ZXJ0aWNhbCBsYWJlbDpiZWZvcmUsIC5mb3JtX19kb3VibGVDb2x1bW4gLnJlZmVycmFsQ2hlY2tsaXN0IC5mb3JtLWdyb3VwIC5jaGVja2JveC1saXN0LXZlcnRpY2FsIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgd2lkdGg6IDBweDtcbiAgICAgICAgICBoZWlnaHQ6IDBweDsgfVxuICAgICAgLmZvcm1fX2RvdWJsZUNvbHVtbiAucmVmZXJyYWxDaGVja2xpc3QgLmZvcm0tZ3JvdXAgLnJhZGlvLWxpc3QtdmVydGljYWwgaW5wdXQsIC5mb3JtX19kb3VibGVDb2x1bW4gLnJlZmVycmFsQ2hlY2tsaXN0IC5mb3JtLWdyb3VwIC5jaGVja2JveC1saXN0LXZlcnRpY2FsIGlucHV0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgICAgIC5mb3JtX19kb3VibGVDb2x1bW4gLnJlZmVycmFsQ2hlY2tsaXN0IC5mb3JtLWdyb3VwIC5yYWRpby1saXN0LXZlcnRpY2FsIGlucHV0OmNoZWNrZWQgKyBsYWJlbCwgLmZvcm1fX2RvdWJsZUNvbHVtbiAucmVmZXJyYWxDaGVja2xpc3QgLmZvcm0tZ3JvdXAgLmNoZWNrYm94LWxpc3QtdmVydGljYWwgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDBjMGI1O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzAwYzBiNTsgfVxuICAgICAgLmZvcm1fX2RvdWJsZUNvbHVtbiAucmVmZXJyYWxDaGVja2xpc3QgLmZvcm0tZ3JvdXAgLnJhZGlvLWxpc3QtdmVydGljYWwgYnIsIC5mb3JtX19kb3VibGVDb2x1bW4gLnJlZmVycmFsQ2hlY2tsaXN0IC5mb3JtLWdyb3VwIC5jaGVja2JveC1saXN0LXZlcnRpY2FsIGJyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmZvcm1fX2RvdWJsZUNvbHVtbiAucmVmZXJyYWxDaGVja2xpc3QgLmZvcm0tZ3JvdXAgLnJhZGlvLWxpc3QtdmVydGljYWwgLmNoZWNrYm94IGlucHV0W3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbDpiZWZvcmUsIC5mb3JtX19kb3VibGVDb2x1bW4gLnJlZmVycmFsQ2hlY2tsaXN0IC5mb3JtLWdyb3VwIC5jaGVja2JveC1saXN0LXZlcnRpY2FsIC5jaGVja2JveCBpbnB1dFt0eXBlPSdjaGVja2JveCddICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLmZvcm1fX2RvdWJsZUNvbHVtbiAucmVmZXJyYWxDaGVja2xpc3QgLmZvcm0tZ3JvdXAgLmNoZWNrYm94LWxpc3QtdmVydGljYWwgYnIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5mb3JtX19kb3VibGVDb2x1bW4gLnJlZmVycmFsQ2hlY2tsaXN0IC5mb3JtLWdyb3VwIC5jaGVja2JveC1saXN0LXZlcnRpY2FsIGxhYmVsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5mb3JtX19kb3VibGVDb2x1bW4gLmNvbHVtbiwgLmZvcm1fX2RvdWJsZUNvbHVtbiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDQ3JTsgfVxuICAuZm9ybV9fZG91YmxlQ29sdW1uIC5yb3c6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH0gfVxuXG4ucmVjaXBlU2xpZGVyIHtcbiAgbWF4LXdpZHRoOiAxNDQwcHg7IH1cbiAgLnJlY2lwZVNsaWRlciAucmVjaXBlU2xpZGVyX19zbGlkZXMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucmVjaXBlU2xpZGVyIC5yZWNpcGVfX3NsaWRlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDMyMnB4O1xuICAgIG1hcmdpbjogMHB4IDhweCAzMnB4IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMTBweCAxMHB4O1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucmVjaXBlU2xpZGVyIC5yZWNpcGVTbGlkZXJfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDE2NnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMjJweDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDBweCAxcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDFweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAucmVjaXBlU2xpZGVyIC5yZWNpcGVTbGlkZXJfX3RleHQge1xuICAgIGhlaWdodDogOTRweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGNvbG9yOiAjMjYyNTI3OyB9XG4gIC5yZWNpcGVTbGlkZXIgLnJlY2lwZVNsaWRlcl9fY2F0ZWdvcnkge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICMwMTg3N2M7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAucmVjaXBlU2xpZGVyIC5yZWNpcGVTbGlkZXJfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5ZmE7IH1cblxuLnJlY2lwZUZpbHRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC5yZWNpcGVGaWx0ZXIgLmZpbHRlclRpdGxlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAucmVjaXBlRmlsdGVyIC5yZWNpcGVDaGVja2JveCBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMTQsIDIyMCwgMjEyLCAwLjcpO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgYm94LXNoYWRvdzogMCA0cHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBsaW5lYXI7XG4gICAgLypiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvcmVjaXBlLWljb25zL2dsdXRlbi1mcmVlLnBuZ1wiKTsqL1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAzOHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogNnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogNnB4OyB9XG4gIC5yZWNpcGVGaWx0ZXIgLnJlY2lwZUNoZWNrYm94ICNsYmx2ZWdldGFyaWFuIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvcmVjaXBlLWljb25zL3ZlZ2FuLmpwZ1wiKTsgfVxuICAucmVjaXBlRmlsdGVyIC5yZWNpcGVDaGVja2JveCAjbGJsbGFjdG9zZS1mcmVlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvcmVjaXBlLWljb25zL2xhY3Rvc2UtZnJlZS5qcGdcIik7IH1cbiAgLnJlY2lwZUZpbHRlciAucmVjaXBlQ2hlY2tib3ggI2xibHZlZ2FuIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvcmVjaXBlLWljb25zL3ZlZ2V0YXJpYW4uanBnXCIpOyB9XG4gIC5yZWNpcGVGaWx0ZXIgLnJlY2lwZUNoZWNrYm94ICNsYmxnbHV0ZW5mcmVlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvcmVjaXBlLWljb25zL2dsdXRlbi1mcmVlLmpwZ1wiKTsgfVxuICAucmVjaXBlRmlsdGVyIC5yZWNpcGVDaGVja2JveCAjbGJsZW50cmVlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvcmVjaXBlLWljb25zL2VudHJlZS5qcGdcIik7IH1cbiAgLnJlY2lwZUZpbHRlciAucmVjaXBlQ2hlY2tib3ggI2xibG1haW4ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy9yZWNpcGUtaWNvbnMvbWFpbnMuanBnXCIpOyB9XG4gIC5yZWNpcGVGaWx0ZXIgLnJlY2lwZUNoZWNrYm94ICNsYmxkZXNzZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvcmVjaXBlLWljb25zL2Rlc3NlcnRzLmpwZ1wiKTsgfVxuICAucmVjaXBlRmlsdGVyIC5yZWNpcGVDaGVja2JveCBpbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogLTE7IH1cbiAgICAucmVjaXBlRmlsdGVyIC5yZWNpcGVDaGVja2JveCBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDBjMGI1O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDBjMGI1O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnJlY2lwZUZpbHRlciAucmVjaXBlRHJvcGRvd24gc2VsZWN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAzNzBweDtcbiAgICBoZWlnaHQ6IDUycHg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICMyNjI1Mjc7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMTQsIDIyMCwgMjEyLCAwLjcpOyB9XG4gICAgLnJlY2lwZUZpbHRlciAucmVjaXBlRHJvcGRvd24gc2VsZWN0OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEycHg7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnJlY2lwZUZpbHRlciB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcblx0UmVjaXBlIFN0eWxlc1xyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5yZWNpcGVfX2RldGFpbHMge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5yZWNpcGVfX2RldGFpbHMgLmRpZmZpY3VsdHlfX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnJlY2lwZV9fZGV0YWlscyAuZGlldHJ5X19pY29ucyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnJlY2lwZV9fZGV0YWlscyAucHJlcFRpbWVfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMDMxRjczOyB9XG5cbi5oZXJvX19yZWNpcGVTb3VyY2Uge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5yZWNpcGVfX21ldGhvZCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgLnJlY2lwZV9fbWV0aG9kIC5tZXRob2QgdWwsIC5yZWNpcGVfX21ldGhvZCAubWV0aG9kIG9sIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5yZWNpcGVfX21ldGhvZCAubWV0aG9kIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogNTBweDsgfVxuICAgIC5yZWNpcGVfX21ldGhvZCAubWV0aG9kIGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlN0ZXAgXCIgYXR0cihkYXRhLXN0ZXApIFwiIFwiO1xuICAgICAgY29sb3I6ICMwMDgzN0I7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAucmVjaXBlX19tZXRob2QgLm1ldGhvZCBsaS5zdGVwOmJlZm9yZSB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZWNpcGVfX21ldGhvZCBoNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAucmVjaXBlX19kZXRhaWxzIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIC5oZXJvX19yZWNpcGVTb3VyY2Uge1xuICAgIGJvdHRvbTogMThweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZGlldHJ5X19pY29ucyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgLmRpZXRyeV9faWNvbnMgaW1nIHtcbiAgICAgIG1hcmdpbjogMHB4IDVweDtcbiAgICAgIG1heC13aWR0aDogNTBweDsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0UGFnZXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG5cdEhvbXBhZ2UgU3R5bGVzXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmhvbWVwYWdlIG1haW4ge1xuICAvKnBhZGRpbmctYm90dG9tOiAxNXB4OyovIH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRGZWF0dXJlIFBhbmVsXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uaG9tZXBhZ2UgLnBhbmVsLS1mZWF0dXJlIC5wYW5lbF9faW1nV3JhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDIyJTtcbiAgbGVmdDogLTYlO1xuICB3aWR0aDogODUlO1xuICBoZWlnaHQ6IDg1JTsgfVxuXG4uaG9tZXBhZ2UgLnBhbmVsLS1mZWF0dXJlIC5wYW5lbF9fdGFnIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaG9tZXBhZ2UgLnBhbmVsLS1mZWF0dXJlIC5wYW5lbF9fY3RhIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhvbWVwYWdlIC5wYW5lbC0tZmVhdHVyZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTI2cHg7IH1cbiAgICAuaG9tZXBhZ2UgLnBhbmVsLS1mZWF0dXJlIC5wYW5lbF9fY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMjZweDsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0Q1RBIFBhbmVsXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uaG9tZXBhZ2UgLnBhbmVsLS1jdGEsIC5ob21lcGFnZSAucGFuZWwtLWJ1YmJsZSB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLmhvbWVwYWdlIC5wYW5lbC0tY3RhOmxhc3QtY2hpbGQsIC5ob21lcGFnZSAucGFuZWwtLWJ1YmJsZTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5ob21lcGFnZSAucGFuZWwtLWN0YSAucGFuZWxfX2ltZ1dyYXA6YmVmb3JlLCAuaG9tZXBhZ2UgLnBhbmVsLS1idWJibGUgLnBhbmVsX19pbWdXcmFwOmJlZm9yZSB7XG4gICAgdG9wOiA5JTtcbiAgICBsZWZ0OiAtNiU7IH1cbiAgLmhvbWVwYWdlIC5wYW5lbC0tY3RhIC5wYW5lbF9fdGl0bGUsIC5ob21lcGFnZSAucGFuZWwtLWJ1YmJsZSAucGFuZWxfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gIC5ob21lcGFnZSAucGFuZWwtLWN0YSAucGFuZWxfX3RleHQsIC5ob21lcGFnZSAucGFuZWwtLWJ1YmJsZSAucGFuZWxfX3RleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5ob21lcGFnZSAucGFuZWwtLWN0YSAucGFuZWxfX2N0YSwgLmhvbWVwYWdlIC5wYW5lbC0tYnViYmxlIC5wYW5lbF9fY3RhIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ob21lcGFnZSAucGFuZWwtLWN0YSAucGFuZWxfX3RpdGxlLCAuaG9tZXBhZ2UgLnBhbmVsLS1idWJibGUgLnBhbmVsX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfVxuICAuaG9tZXBhZ2UgLnBhbmVsLS1jdGEgLnBhbmVsX19jdGEsIC5ob21lcGFnZSAucGFuZWwtLWJ1YmJsZSAucGFuZWxfX2N0YSB7XG4gICAgbWFyZ2luLXRvcDogNTBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ob21lcGFnZSAubmF2U2xpZGVyIC5uYXZTbGlkZXJfX3dyYXBwZXIsIC5ob21lcGFnZSAucmVjaXBlU2xpZGVyIC5uYXZTbGlkZXJfX3dyYXBwZXIge1xuICAgIGhlaWdodDogMzM4cHg7IH1cbiAgLmhvbWVwYWdlIC5uYXZTbGlkZXIgLm5hdlNsaWRlcl9fc2Nyb2xsLCAuaG9tZXBhZ2UgLnJlY2lwZVNsaWRlciAubmF2U2xpZGVyX19zY3JvbGwge1xuICAgIGhlaWdodDogMzM2cHg7IH1cbiAgLmhvbWVwYWdlIC5uYXZTbGlkZXIgLm5hdlNsaWRlcl9fY29udGVudCwgLmhvbWVwYWdlIC5yZWNpcGVTbGlkZXIgLm5hdlNsaWRlcl9fY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMjhweDtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdE92ZXJyaWRlc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcblx0Q29tcG9uZW50IFNwYWNpbmdcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5zZWN0aW9uICsgc2VjdGlvbi5kYXJrIHtcbiAgcGFkZGluZy10b3A6IDEzMHB4OyB9XG5cbi5wYW5lbCArIC5jYXJkTGlzdCwgLnBhbmVsLS1mZWF0dXJlICsgLmNhcmRMaXN0LCAucGFuZWwtLWN0YSArIC5jYXJkTGlzdCwgLnBhbmVsLS1idWJibGUgKyAuY2FyZExpc3Qge1xuICBtYXJnaW4tdG9wOiA1MXB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5uYXZTbGlkZXIgKyAucGFuZWwtLWN0YSwgLnJlY2lwZVNsaWRlciArIC5wYW5lbC0tY3RhLCAubmF2U2xpZGVyICsgLnBhbmVsLS1idWJibGUsIC5yZWNpcGVTbGlkZXIgKyAucGFuZWwtLWJ1YmJsZSB7XG4gICAgbWFyZ2luLXRvcDogOTZweDsgfSB9XG5cbi5jb250ZW50ICsgLnF1b3RlLCAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCArIC5xdW90ZSB7XG4gIG1hcmdpbi10b3A6IDUwcHg7IH1cblxuLmNvbnRlbnQgKyAuY2FyZExpc3QsIC5hcnRpY2xlIC5hcnRpY2xlX19jb250ZW50ICsgLmNhcmRMaXN0IHtcbiAgbWFyZ2luLXRvcDogNDVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb250ZW50ICsgLmNhcmRMaXN0LCAuYXJ0aWNsZSAuYXJ0aWNsZV9fY29udGVudCArIC5jYXJkTGlzdCB7XG4gICAgICBtYXJnaW4tdG9wOiA5MHB4OyB9IH1cblxuLnF1b3RlICsgLmNvbnRlbnQsIC5hcnRpY2xlIC5xdW90ZSArIC5hcnRpY2xlX19jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuIiwiQGNoYXJzZXQgJ3V0Zi04JztcclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICBQcmUgRm91bmRhdGlvbiBDU1NcclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuQGltcG9ydCBcImdsb2JhbC9fdmFyaWFibGVzXCI7XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cclxuXHJcbkBpbXBvcnQgJ3NldHRpbmdzJztcclxuQGltcG9ydCAnZm91bmRhdGlvbic7XHJcbkBpbXBvcnQgJ21vdGlvbi11aSc7XHJcblxyXG4vLyBHbG9iYWwgc3R5bGVzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xyXG5cclxuLy8gR3JpZHMgKGNob29zZSBvbmUpXHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcclxuXHJcbi8vIEdlbmVyaWMgY29tcG9uZW50c1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcclxuXHJcbi8vIEJhc2ljIGNvbXBvbmVudHNcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xyXG5cclxuLy8gQ29udGFpbmVyc1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XHJcblxyXG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcclxuXHJcbi8vIExheW91dCBjb21wb25lbnRzXHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcclxuXHJcbi8vIEhlbHBlcnNcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xyXG5cclxuLy8gTW90aW9uIFVJXHJcbi8vQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xyXG4vL0BpbmNsdWRlIG1vdGlvbi11aS1hbmltYXRpb25zO1xyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdFNpdGUgU3R5bGVzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbkBpbXBvcnQgXCJfc3R5bGUuc2Nzc1wiO1xyXG4iLCLvu79cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG5cdFZhcmlhYmxlc1xyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdEZvbnRzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiRmb250X3N0YWNrLWNvbnRlbnQ6IG5ldWUtaGFhcy11bmljYSwgc2Fucy1zZXJpZjtcclxuJGZvbnRfc3RhY2staGVhZGluZzogbmV1ZS1oYWFzLXVuaWNhLCBzYW5zLXNlcmlmO1xyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0Q29sb3JzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiRicmFuZC1wcmltYXJ5OiAjMDBjMGI1O1xyXG4kYnJhbmQtc2Vjb25kYXJ5OiAjMDMxZjczO1xyXG4kZGFyay1iZzogI2Y5ZjlmYTtcclxuJGJyYW5kLWRhcms6ICMwZDg3N2Q7XHJcbiRhY3Rpb24tY29sb3I6ICNmZjUzMzg7XHJcbiRmb3JtLWNvbG9yOiAjZWFmMWZiO1xyXG5cclxuJG1vYk5hdi1ncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDYwZGVnLCAjM2U0MDk2LCAjNTFiYWU5KTtcclxuJG1vYk5hdi1ncmFkaWVudC1mYWxsYmFjazogIzNlNDA5NjtcclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdFR5cG9ncmFwaHlcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuJGhlYWRpbmctY29sb3I6ICRicmFuZC1zZWNvbmRhcnk7XHJcbiR0ZXh0LWNvbG9yOiAjMjYyNTI3O1xyXG4kbGluay1jb2xvcjogIzNlNDA5NjtcclxuJGZvb3Rlci1oZWFkaW5nLWNvbG9yOiAjM2FhYjQ4O1xyXG4kZm9vdGVyLXRleHQtY29sb3I6ICMxODE5MWQ7XHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0QnV0dG9uc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4kYnV0dG9uLWJnOiAkYnJhbmQtcHJpbWFyeTtcclxuJGJ1dHRvbi1iZy1ob3ZlcjogJGJyYW5kLXByaW1hcnk7XHJcbiRidXR0b24tdGV4dDogI2ZmZmZmZjtcclxuJGJ1dHRvbi10ZXh0LWhvdmVyOiAjZmZmZmZmO1xyXG4kYnV0dG9uLW9wYWNpdHk6IDE7XHJcbiRidXR0b24tb3BhY2l0eS1ob3ZlcjogMC44O1xyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0T3RoZXJcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuJHRyYW5zaXRpb24tc3BlZWQ6IDAuMnM7XHJcbiRtb2JpbGUtY29udGVudC1zaXplOiA3MDBweDtcclxuJGJvcmRlci1yYWRpdXMtcHg6IDEwcHg7IiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNS4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1ub3JtYWxpemUoKSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvLyBEb2N1bWVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG5cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAvLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgICBoZWlnaHQ6IDA7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xuJC16Zi1mbGV4LWp1c3RpZnk6IC16Zi1mbGV4LWp1c3RpZnkoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbik7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3NcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vXHJcbi8vICBUYWJsZSBvZiBDb250ZW50czpcclxuLy9cclxuLy8gICAxLiBHbG9iYWxcclxuLy8gICAyLiBCcmVha3BvaW50c1xyXG4vLyAgIDMuIFRoZSBHcmlkXHJcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vICAgNi4gQWJpZGVcclxuLy8gICA3LiBBY2NvcmRpb25cclxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAgIDkuIEJhZGdlXHJcbi8vICAxMC4gQnJlYWRjcnVtYnNcclxuLy8gIDExLiBCdXR0b25cclxuLy8gIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gIDEzLiBDYWxsb3V0XHJcbi8vICAxNC4gQ2FyZFxyXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAgMTYuIERyaWxsZG93blxyXG4vLyAgMTcuIERyb3Bkb3duXHJcbi8vICAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXHJcbi8vICAyMC4gRm9ybXNcclxuLy8gIDIxLiBMYWJlbFxyXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxyXG4vLyAgMjMuIE1lbnVcclxuLy8gIDI0LiBNZXRlclxyXG4vLyAgMjUuIE9mZi1jYW52YXNcclxuLy8gIDI2LiBPcmJpdFxyXG4vLyAgMjcuIFBhZ2luYXRpb25cclxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcclxuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxyXG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxyXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxyXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XHJcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xyXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcclxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcclxuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cclxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxyXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3JcclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XHJcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xyXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXHJcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxyXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXHJcbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXHJcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAgNDcuIFJldmVhbFxyXG4vLyAgNDguIFNsaWRlclxyXG4vLyAgNDkuIFN3aXRjaFxyXG4vLyAgNTAuIFRhYmxlXHJcbi8vICA1MS4gVGFic1xyXG4vLyAgNTIuIFRodW1ibmFpbFxyXG4vLyAgNTMuIFRpdGxlIEJhclxyXG4vLyAgNTQuIFRvb2x0aXBcclxuLy8gIDU1LiBUb3AgQmFyXHJcbi8vICA1Ni4gWHkgR3JpZFxyXG5cclxuQGltcG9ydCAndXRpbC91dGlsJztcclxuXHJcbi8vIDEuIEdsb2JhbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxNDAwKTtcclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XHJcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcclxuICBwcmltYXJ5OiAjMTc3OWJhLFxyXG4gIHNlY29uZGFyeTogIzc2NzY3NixcclxuICBzdWNjZXNzOiAjM2FkYjc2LFxyXG4gIHdhcm5pbmc6ICNmZmFlMDAsXHJcbiAgYWxlcnQ6ICNjYzRiMzcsXHJcbik7XHJcbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xyXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XHJcbiRkYXJrLWdyYXk6ICM4YThhOGE7XHJcbi8vJGJsYWNrOiAjMGEwYTBhO1xyXG4kYmxhY2s6ICR0ZXh0LWNvbG9yO1xyXG4vLyR3aGl0ZTogI2ZlZmVmZTtcclxuJHdoaXRlOiAjZmZmO1xyXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjaztcclxuLy8kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kYm9keS1mb250LWZhbWlseTogJGZvbnRfc3RhY2stY29udGVudDtcclxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XHJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XHJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XHJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xyXG4kZ2xvYmFsLXJhZGl1czogMDtcclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xyXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcclxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xyXG4kZ2xvYmFsLWZsZXhib3g6IGZhbHNlO1xyXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XHJcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcclxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xyXG5cclxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xyXG4kcHJpbnQtaHJlZnM6IHRydWU7XHJcblxyXG4vLyAyLiBCcmVha3BvaW50c1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgc21hbGw6IDAsXHJcbiAgbWVkaXVtOiA2NDBweCxcclxuICBsYXJnZTogMTAyNHB4LFxyXG4gIHhsYXJnZTogMTIwMHB4LFxyXG4gIHh4bGFyZ2U6IDE0NDBweCxcclxuKTtcclxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xyXG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlIHhsYXJnZSB4eGxhcmdlKTtcclxuXHJcbi8vIDMuIFRoZSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XHJcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcclxuXHRzbWFsbDogMzJweCxcclxuXHRtZWRpdW06IDMycHhcclxuKTtcclxuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XHJcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xyXG4kYmxvY2stZ3JpZC1tYXg6IDg7XHJcblxyXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcclxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XHJcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XHJcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuJGhlYWRlci1zdHlsZXM6IChcclxuICBzbWFsbDogKFxyXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0MCksXHJcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDMyKSxcclxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjQpLFxyXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXHJcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcclxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxyXG4gICksXHJcbiAgbWVkaXVtOiAoXHJcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcclxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxyXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXHJcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcclxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxyXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXHJcbiAgKSxcclxuKTtcclxuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kc21hbGwtZm9udC1zaXplOiA4MCU7XHJcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XHJcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XHJcbi8vJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhbmNob3ItY29sb3I6ICRsaW5rLWNvbG9yO1xyXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XHJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcclxuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XHJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XHJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XHJcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xyXG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XHJcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcclxuXHJcbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xyXG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XHJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xyXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XHJcblxyXG4vLyA2LiBBYmlkZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGFiaWRlLWlucHV0czogdHJ1ZTtcclxuJGFiaWRlLWxhYmVsczogdHJ1ZTtcclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHJcbi8vIDcuIEFjY29yZGlvblxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XHJcblxyXG4vLyA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XHJcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XHJcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcclxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XHJcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcclxuXHJcbi8vIDkuIEJhZGdlXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xyXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XHJcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XHJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcclxuXHJcbi8vIDEwLiBCcmVhZGNydW1ic1xyXG4vLyAtLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XHJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuXHJcbi8vIDExLiBCdXR0b25cclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcclxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xyXG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XHJcbiRidXR0b24tZmlsbDogc29saWQ7XHJcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcclxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xyXG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xyXG4kYnV0dG9uLXNpemVzOiAoXHJcbiAgdGlueTogMC42cmVtLFxyXG4gIHNtYWxsOiAwLjc1cmVtLFxyXG4gIGRlZmF1bHQ6IDAuOXJlbSxcclxuICBsYXJnZTogMS4yNXJlbSxcclxuKTtcclxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XHJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcclxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcclxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZTtcclxuXHJcbi8vIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcclxuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XHJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xyXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XHJcblxyXG4vLyAxMy4gQ2FsbG91dFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcclxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XHJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XHJcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcclxuXHJcbi8vIDE0LiBDYXJkXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4kY2FyZC1zaGFkb3c6IG5vbmU7XHJcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG5cclxuLy8gMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXHJcbiAgc21hbGw6IDAuNjZyZW0sXHJcbiAgbWVkaXVtOiAxcmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXHJcbiAgc21hbGw6IDAuMzNlbSxcclxuICBtZWRpdW06IDAuNXJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLXNpemU6IChcclxuICBzbWFsbDogMS41ZW0sXHJcbiAgbWVkaXVtOiAyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xyXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xyXG5cclxuLy8gMTYuIERyaWxsZG93blxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XHJcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XHJcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xyXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XHJcblxyXG4vLyAxNy4gRHJvcGRvd25cclxuLy8gLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XHJcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XHJcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XHJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kZHJvcGRvd24tc2l6ZXM6IChcclxuICB0aW55OiAxMDBweCxcclxuICBzbWFsbDogMjAwcHgsXHJcbiAgbGFyZ2U6IDQwMHB4LFxyXG4pO1xyXG5cclxuLy8gMTguIERyb3Bkb3duIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xyXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xyXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XHJcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsO1xyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XHJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XHJcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xyXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcclxuXHJcbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcclxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcclxuXHJcbi8vIDIwLiBGb3Jtc1xyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XHJcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XHJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xyXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGlucHV0LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xyXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XHJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xyXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XHJcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcclxuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xyXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XHJcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XHJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIxLiBMYWJlbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XHJcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcclxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIyLiBNZWRpYSBPYmplY3RcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xyXG5cclxuLy8gMjMuIE1lbnVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRtZW51LW1hcmdpbjogMDtcclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XHJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xyXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xyXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XHJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XHJcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xyXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcclxuXHJcbi8vIDI0LiBNZXRlclxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRtZXRlci1oZWlnaHQ6IDFyZW07XHJcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XHJcblxyXG4vLyAyNS4gT2ZmLWNhbnZhc1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJG9mZmNhbnZhcy1zaXplczogKFxyXG4gIHNtYWxsOiAyNTBweCxcclxuKTtcclxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxyXG4gIHNtYWxsOiAyNTBweCxcclxuKTtcclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XHJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xyXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcclxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcclxuXHJcbi8vIDI2LiBPcmJpdFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xyXG5cclxuLy8gMjcuIFBhZ2luYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XHJcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XHJcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XHJcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xyXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XHJcblxyXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XHJcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXHJcbiAgZG93bixcclxuICB1cCxcclxuICByaWdodCxcclxuICBsZWZ0XHJcbik7XHJcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xyXG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XHJcblxyXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG5cclxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuXHJcbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcclxuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XHJcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcblxyXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWRpc3BsYXk6IChcclxuICBpbmxpbmUsXHJcbiAgaW5saW5lLWJsb2NrLFxyXG4gIGJsb2NrLFxyXG4gIHRhYmxlLFxyXG4gIHRhYmxlLWNlbGxcclxuKTtcclxuXHJcbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xyXG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cclxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcclxuICBkaXNjLFxyXG4gIGNpcmNsZSxcclxuICBzcXVhcmVcclxuKTtcclxuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcclxuICBkZWNpbWFsLFxyXG4gIGxvd2VyLWFscGhhLFxyXG4gIGxvd2VyLWxhdGluLFxyXG4gIGxvd2VyLXJvbWFuLFxyXG4gIHVwcGVyLWFscGhhLFxyXG4gIHVwcGVyLWxhdGluLFxyXG4gIHVwcGVyLXJvbWFuXHJcbik7XHJcblxyXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXHJcbiAgdmlzaWJsZSxcclxuICBoaWRkZW4sXHJcbiAgc2Nyb2xsXHJcbik7XHJcblxyXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXHJcbiAgc3RhdGljLFxyXG4gIHJlbGF0aXZlLFxyXG4gIGFic29sdXRlLFxyXG4gIGZpeGVkXHJcbik7XHJcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xyXG5cclxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcclxuXHJcbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XHJcblxyXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpO1xyXG5cclxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zaXppbmc6IChcclxuICB3aWR0aCxcclxuICBoZWlnaHRcclxuKTtcclxuJHByb3RvdHlwZS1zaXplczogKFxyXG4gIDI1OiAyNSUsXHJcbiAgNTA6IDUwJSxcclxuICA3NTogNzUlLFxyXG4gIDEwMDogMTAwJVxyXG4pO1xyXG5cclxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xyXG5cclxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXHJcbiAgb3ZlcmxpbmUsXHJcbiAgdW5kZXJsaW5lLFxyXG4gIGxpbmUtdGhyb3VnaCxcclxuKTtcclxuXHJcbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcclxuICBsb3dlcmNhc2UsXHJcbiAgdXBwZXJjYXNlLFxyXG4gIGNhcGl0YWxpemVcclxuKTtcclxuXHJcbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cclxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcclxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXHJcbiAgZGVmYXVsdDogNCBieSAzLFxyXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXHJcbik7XHJcblxyXG4vLyA0Ny4gUmV2ZWFsXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcmV2ZWFsLXppbmRleDogMTAwNTtcclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcclxuXHJcbi8vIDQ4LiBTbGlkZXJcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xyXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xyXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gNDkuIFN3aXRjaFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XHJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XHJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcclxuXHJcbi8vIDUwLiBUYWJsZVxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XHJcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xyXG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xyXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLXN0cmlwZTogZXZlbjtcclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xyXG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcclxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcclxuXHJcbi8vIDUxLiBUYWJzXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kdGFiLW1hcmdpbjogMDtcclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XHJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XHJcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XHJcblxyXG4vLyA1Mi4gVGh1bWJuYWlsXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlO1xyXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xyXG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcclxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA1My4gVGl0bGUgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XHJcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xyXG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcclxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuXHJcbi8vIDU0LiBUb29sdGlwXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XHJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XHJcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XHJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gNTUuIFRvcCBCYXJcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xyXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcclxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcclxuXHJcbi8vIDU2LiBYeSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4keHktZ3JpZDogdHJ1ZTtcclxuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xyXG4kZ3JpZC1jb2x1bW5zOiAxMjtcclxuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcclxuICBzbWFsbDogMjBweCxcclxuICBtZWRpdW06IDMwcHhcclxuKTtcclxuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcclxuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcclxuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcclxuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xyXG5cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlLCAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWUpIHtcbiAgJGxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRsaXN0OiBzbC1yZW1vdmUoJGxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRuYW1lIGluICRsaXN0IHtcbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6ICRuYW1lICFnbG9iYWw7XG5cbiAgICBAaWYgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJG5hbWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICA6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqICRpbnB1dC1saW5lLWhlaWdodCkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpO1xuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENpdGF0aW9uc1xuICBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG5cbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gLjAwMTI1O1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgfVxuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG59XG5cbi8vLyBDb252ZXJ0cyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheXMgbmV4dCB0byBhbGwgbGlua3MgdGhlaXIgXCJocmVmXCIgd2hlbiBwcmludGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIE91dHB1dHMgQ1NTIGNsYXNzZXMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIGZvdW5kYXRpb24tZ3JpZChcbiAgJHJvdzogJ3JvdycsXG4gICRjb2x1bW46ICdjb2x1bW4nLFxuICAkY29sdW1uLXJvdzogJ2NvbHVtbi1yb3cnLFxuICAkZ3V0dGVyOiAnZ3V0dGVyJyxcbiAgJHB1c2g6ICdwdXNoJyxcbiAgJHB1bGw6ICdwdWxsJyxcbiAgJGNlbnRlcjogJ2NlbnRlcmVkJyxcbiAgJHVuY2VudGVyOiAndW5jZW50ZXJlZCcsXG4gICRjb2xsYXBzZTogJ2NvbGxhcHNlJyxcbiAgJHVuY29sbGFwc2U6ICd1bmNvbGxhcHNlJyxcbiAgJG9mZnNldDogJ29mZnNldCcsXG4gICRlbmQ6ICdlbmQnLFxuICAkZXhwYW5kZWQ6ICdleHBhbmRlZCcsXG4gICRibG9jazogJ2Jsb2NrJ1xuKSB7XG4gIC8vIFJvd1xuICAuI3skcm93fSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3c7XG5cbiAgICAvLyBDb2xsYXBzaW5nXG4gICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGdyaWQtY29sdW1uLWd1dHRlcik7XG5cbiAgICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCAoZnVsbC13aWR0aCkgcm93XG4gICAgJi4jeyRleHBhbmRlZH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLiN7JGV4cGFuZGVkfSkgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgIEBpZiB0eXBlLW9mKCRncmlkLWNvbHVtbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgIC8vIFN0YXRpYyAodW5yZXNwb25zaXZlKSByb3cgZ3V0dGVyc1xuICAgICAgLy9cbiAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGdyaWQtY29sdW1uLWd1dHRlciB7XG4gICAgICAgICYuI3skZ3V0dGVyfS0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLiN7JGNvbHVtbn0ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sO1xuXG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICYuI3skZW5kfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAuI3skcm93fSAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIENvbHVtbiB3aWR0aFxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXNpemUoJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICAgIEBpZiAkaSA8ICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoLSRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LSN7JG9mZnNldH0tI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1vZmYoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksICcuI3skY29sdW1ufScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9IC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9LiN7JHJvd30ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG5cbiAgICAvLyBQb3NpdGlvbmluZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY2VudGVyfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoY2VudGVyKTtcbiAgICB9XG5cbiAgICAvLyBHdXR0ZXIgYWRqdXN0bWVudFxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jZW50ZXJ9LFxuICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tMCxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LTAge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtdW5wb3M7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC4jeyRjb2x1bW59LSN7JGJsb2NrfSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tbWFyZ2luO1xuICB9XG5cbiAgQGlmICRjb2x1bW4gPT0gJ2NvbHVtbicgYW5kIGhhcy12YWx1ZSgkZ3JpZC1jb2x1bW4tYWxpYXMpIHtcbiAgICAuI3skZ3JpZC1jb2x1bW4tYWxpYXN9IHtcbiAgICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuICAgICAgQGV4dGVuZCAuY29sdW1uO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtc2l6ZSkpIC8gMiAqIC0xO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXQgYSBncmlkIHJvdyBzaXplXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG5AbWl4aW4gZ3JpZC1yb3ctc2l6ZSgkc2l6ZTogJGdyaWQtcm93LXdpZHRoKSB7XG4gIEBpZiAkc2l6ZSA9PSBleHBhbmQge1xuICAgICRzaXplOiBub25lO1xuICB9XG5cbiAgbWF4LXdpZHRoOiAkc2l6ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtblxuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRndXR0ZXIgW2F1dG9dXG4vLy8gICBTcGFjaW5nIGJldHdlZW4gY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJGd1dHRlcnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIGd1dHRlciByZXNwb25zaXZlLCB1c2luZyB0aGUgJGd1dHRlcnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGd1dHRlciwgJGd1dHRlcnMpIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgfVxufVxuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKDApO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgd2lkdGggb2YgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR3aWR0aCBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIHRvIG1ha2UgdGhlIGNvbHVtbi4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICB3aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tc2l6ZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tc2l6ZVxuQG1peGluIGdyaWQtY29sLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXG4vLy8gICAtIEEgbGlzdCBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgKHdpdGhvdXQgcXVvdGVzKSB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gICR3aWR0aDogMCU7XG5cbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIGFuZCBjb2x1bW4gY291bnRzXG4gIEBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJGNvbHVtbnMpID09ICclJyB7XG4gICAgICAkd2lkdGg6ICRjb2x1bW5zO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkY29sdW1ucyA8IDEge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRjb2x1bW5zKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZShudGgoJGNvbHVtbnMsIDEpIC8gbnRoKCRjb2x1bW5zLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBQb3NpdGlvblxuICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoYXV0byk7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBJdCBjYW4gYmU6XG4vLy8gICAqIEEgbnVtYmVyOiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudFxuLy8vICAgICBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGVcbi8vLyAgICAgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LlxuLy8vICAgKiBgY2VudGVyYDogQ29sdW1uIHdpbGwgYmUgY2VudGVyZWRcbi8vLyAgICogYGF1dG9gOiBDb2x1bW4gd2lsbCBiZSBwdXNoZWQgdG8gdGhlIGxlZnQgKG9yIHRvIHRoZSByaWdodCBmb3IgdGhlIGxhc3QgY29sdW1uKS5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgLy8gQXV0byBwb3NpdGlvbmluZ1xuICBAaWYgJHBvc2l0aW9uID09IGF1dG8ge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gTGFzdCBjb2x1bW4gYWxpZ25tZW50XG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFB1c2gvcHVsbFxuICBAZWxzZSBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cblxuICAvLyBDZW50ZXIgcG9zaXRpb25pbmdcbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgXCJjZW50ZXJcIiBvciBcImF1dG9cIi4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKGF1dG8pO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY29sdW1uJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRndXR0ZXJcbi8vLyAgIFRoZSBndXR0ZXIgdG8gYXBwbHkgdG8gY2hpbGQgZWxlbWVudHMuIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHdpbGwgdXNlIHRoZSB2YWx1ZXMgaW4gdGhlICRncmlkLWNvbHVtbi1ndXR0ZXIgbWFwLCBpbmNsdWRpbmcgYnJlYWtwb2ludCBzaXplcy5cbi8vLyAgIC0gQSBmaXhlZCBudW1lcmljIHZhbHVlIHdpbGwgYXBwbHkgdGhpcyBndXR0ZXIgdG8gYWxsIGJyZWFrcG9pbnRzLlxuQG1peGluIGdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbicsXG4gICRndXR0ZXI6IG51bGxcbikge1xuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgLy8gSWYgYSAkZ3V0dGVyIHZhbHVlIGlzIHBhc3NlZFxuICAgIEBpZigkZ3V0dGVyKSB7XG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKCN7JG59bisxKSB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXh0cmEgQ1NTIHRvIGJsb2NrIGdyaWQgY2hpbGRyZW4gc28gdGhlIGxhc3QgaXRlbXMgaW4gdGhlIHJvdyBjZW50ZXIgYXV0b21hdGljYWxseS4gQXBwbHkgdGhpcyB0byB0aGUgY29sdW1ucywgbm90IHRoZSByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgaXRlbXMgdGhhdCBhcHBlYXIgaW4gZWFjaCByb3cuXG5AbWl4aW4gZ3JpZC1sYXlvdXQtY2VudGVyLWxhc3QoJG4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdG8gJG4ge1xuICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvb2x0aXBcbi8vLy9cblxuLy8vIERlZmF1bHQgY3Vyc29yIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhhcy10aXAtY3Vyc29yOiBoZWxwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIHRvb2x0aXAgdGV4dC4gQnkgZGVmYXVsdCwgd2UgcmVjb21tZW5kIGEgc21hbGxlciBmb250IHNpemUgdGhhbiB0aGUgYm9keSBjb3B5LlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgaGVpZ2h0IGZvciB0b29sdGlwcy4gVGhpcyBpcyBoZWxwZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9vbHRpcCB3b3JkLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcbiAgY3Vyc29yOiAkaGFzLXRpcC1jdXJzb3I7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICB6LWluZGV4OiAxMjAwO1xuXG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gICYuYm90dG9tIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYudG9wIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5sZWZ0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYucmlnaHQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBsZWZ0KTtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTtcbiAgfVxuXG4gICYuYWxpZ24tYm90dG9tOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIHRvcDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b29sdGlwIHtcbiAgLmhhcy10aXAge1xuICAgIEBpbmNsdWRlIGhhcy10aXA7XG4gIH1cblxuICAudG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwcmltYXJ5LWNvbG9yOiAjMTc3OWJhICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiAjNzY3Njc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRhbGVydC1jb2xvcjogI2NjNGIzNyAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAuMDAxMjU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAuMDAxMjU7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCLvu79cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG5cdFNpdGUgU3R5bGVzXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0R2xvYmFsXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5AaW1wb3J0IFwiZ2xvYmFsL191dGlsc1wiO1xyXG5AaW1wb3J0IFwiZ2xvYmFsL19mb250c1wiO1xyXG5AaW1wb3J0IFwiZ2xvYmFsL190eXBvZ3JhcGh5XCI7XHJcbkBpbXBvcnQgXCJnbG9iYWwvX2NvbW1vblwiO1xyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0UGx1Z2luc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLnNjc3NcIjtcclxuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay10aGVtZS5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvanF1ZXJ5LXVpL3RoZW1lcy9iYXNlL3RoZW1lXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvanF1ZXJ5LXVpL3RoZW1lcy9iYXNlL21lbnVcIjtcclxuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9qcXVlcnktdWkvdGhlbWVzL2Jhc2UvYXV0b2NvbXBsZXRlXCI7XHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0Q29tcG9uZW50c1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fbW9iTmF2XCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL19oZWFkZXJcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvX2Zvb3RlclwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fc2VhcmNoXCI7XHJcblxyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9faGVyb1wiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fY29udGVudFwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fYnV0dG9uc1wiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcGFuZWxzXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL19jYXJkc1wiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fc2xpZGVyc1wiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fYmFubmVyc1wiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9faW5mb2dyYXBoaWNcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvX2FydGljbGVzXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL19wcm9kdWN0c1wiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fbWFwXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL19zZXJ2aWNlc1wiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fdHJhaW5pbmdNb2R1bGUuc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcImNvbXBvbmVudHMvZm9ybXMvX2Zvcm1zXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL19yZWNpcGVIdWIuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcmVjaXBlcy5zY3NzXCI7XHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdFBhZ2VzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbkBpbXBvcnQgXCJwYWdlcy9faG9tZXBhZ2VcIjtcclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdE92ZXJyaWRlc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5AaW1wb3J0IFwib3ZlcnJpZGVzL19jb21wb25lbnRTcGFjaW5nXCI7Iiwi77u/XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRVdGlsaXRpZXNcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4vLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXHJcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogJycpIHtcclxuXHQkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcclxuXHJcblx0QGlmICRpbmRleCB7XHJcblx0XHRAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICRzdHJpbmc7XHJcbn1cclxuIiwi77u/XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRGb250c1xyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuQG1peGluIGZvbnQoJG5hbWUsICRwYXRoLCAkd2VpZ2h0OiBub3JtYWwsICRzdHlsZTogbm9ybWFsLCAkZGlzcGxheTogc3dhcCkge1xyXG5cdEBmb250LWZhY2Uge1xyXG5cdFx0Zm9udC1mYW1pbHk6ICRuYW1lO1xyXG5cdFx0c3JjOiB1cmwoJHBhdGggKyBcIi53b2ZmMlwiKSBmb3JtYXQoJ3dvZmYyJyksIHVybCgkcGF0aCArIFwiLndvZmZcIikgZm9ybWF0KCd3b2ZmJyksIHVybCgkcGF0aCArIFwiLnR0ZlwiKSBmb3JtYXQoJ3RydWV0eXBlJyk7XHJcblx0XHRmb250LXdlaWdodDogJHdlaWdodDtcclxuXHRcdGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuXHRcdGZvbnQtZGlzcGxheTogJGRpc3BsYXk7XHJcblx0fVxyXG59XHJcblxyXG4vLyBGb250XHJcbi8vQGluY2x1ZGUgZm9udCh4eHgsICcuLi9mb250cy94eHgveHh4LVRoaW4nLCAxMDApO1xyXG4vL0BpbmNsdWRlIGZvbnQoeHh4LCAnLi4vZm9udHMveHh4L3h4eC1FeHRyYUxpZ2h0JywgMjAwKTtcclxuLy9AaW5jbHVkZSBmb250KHh4eCwgJy4uL2ZvbnRzL3h4eC94eHgtTGlnaHQnLCAzMDApO1xyXG4vL0BpbmNsdWRlIGZvbnQoeHh4LCAnLi4vZm9udHMveHh4L3h4eC1SZWd1bGFyJywgbm9ybWFsKTtcclxuLy9AaW5jbHVkZSBmb250KHh4eCwgJy4uL2ZvbnRzL3h4eC94eHgtTWVkaXVtJywgNTAwKTtcclxuLy9AaW5jbHVkZSBmb250KHh4eCwgJy4uL2ZvbnRzL3h4eC94eHgtU2VtaUJvbGQnLCA2MDApO1xyXG4vL0BpbmNsdWRlIGZvbnQoeHh4LCAnLi4vZm9udHMveHh4L3h4eC1Cb2xkJywgYm9sZCk7XHJcbi8vQGluY2x1ZGUgZm9udCh4eHgsICcuLi9mb250cy94eHgveHh4LUV4dHJhQm9sZCcsIDgwMCk7XHJcbi8vQGluY2x1ZGUgZm9udCh4eHgsICcuLi9mb250cy94eHgveHh4LUJsYWNrJywgOTAwKTtcclxuIiwi77u/XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRUeXBvZ3JhcGh5XHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5oMSwgLmgxLCBoMiwgLmgyLCBoMywgLmgzIHtcclxuXHRmb250LXdlaWdodDogODAwO1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdGxldHRlci1zcGFjaW5nOiAtMC41cHg7XHJcblx0Y29sb3I6ICRicmFuZC1zZWNvbmRhcnk7XHJcblx0bWFyZ2luOiAwO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogLTFweDtcclxuXHR9XHJcbn1cclxuXHJcbmgxLCAuaDEsIGgyLCAuaDIsIGgzLCAuaDMsIGg0LCAuaDQge1xyXG5cdC8vbWF4LXdpZHRoOiA2NzNweDtcclxufVxyXG5cclxuaDQsIC5oNCB7XHJcblx0Zm9udC1zaXplOiAzMnB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0bGluZS1oZWlnaHQ6IDEuNTtcclxuXHRjb2xvcjogJGJyYW5kLXNlY29uZGFyeTtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRmb250LXNpemU6IDQwcHg7XHJcblx0XHRsaW5lLWhlaWdodDogMS4yO1xyXG5cdH1cclxufVxyXG5cclxuaDMsIC5oMyB7XHJcblx0Zm9udC1zaXplOiAzMnB4O1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRmb250LXNpemU6IDU2cHg7XHJcblx0XHRsaW5lLWhlaWdodDogMS4xNDtcclxuXHR9XHJcbn1cclxuXHJcbmgyLCAuaDIge1xyXG5cdGZvbnQtc2l6ZTogMzJweDtcclxuXHRjb2xvcjogJGJyYW5kLXNlY29uZGFyeTtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0Zm9udC1zaXplOiA1MHB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuMTM7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0Zm9udC1zaXplOiA2NHB4O1xyXG5cdH1cclxufVxyXG5cclxuaDEsIC5oMSB7XHJcbiAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgICBjb2xvcjogJGJyYW5kLXNlY29uZGFyeTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiA1NXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjExO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiA2NXB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNzJweDtcclxuICAgIH1cclxufVxyXG4iLCLvu79cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG5cdENvbW1vbiBTdHlsZXNcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbmh0bWwsIGJvZHkge1xyXG4gICAgbWluLXdpZHRoOiAzNjBweDtcclxuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xyXG59XHJcblxyXG5ib2R5IHtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xyXG59XHJcblxyXG5tYWluIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQ6ICRkYXJrLWJnO1xyXG4gICAgcGFkZGluZy10b3A6IDE2cHg7XHJcblxyXG4gICAgLm1haW5fX292ZXJsYXkge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNCwgMjUsIDI5LCAwLjgpO1xyXG4gICAgICAgIHotaW5kZXg6IDUwMDA7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBtYWluIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMzJweDtcclxuICAgIH1cclxufVxyXG5cclxuLmhhcy10aXAge1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGNvbG9yOiAjMDBjMGI1O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxufVxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdE1lbnVcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLm1lbnUge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubWVudS0tdmVydGljYWwge1xyXG4gICAgQGV4dGVuZCAubWVudTtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdFNlY3Rpb25zXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qc2VjdGlvbiB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHBhZGRpbmctdG9wOiAxNnB4O1xyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0c2VjdGlvbiB7XHJcblx0XHRwYWRkaW5nLXRvcDogMzJweDtcclxuXHR9XHJcbn0qL1xyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0TWVtYmVyIEFyZWFcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLm1lbWJlckFyZWEge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogNXB4IDAgMTlweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDlweDtcclxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDBjMGI1O1xyXG5cclxuICAgIC5tZW1iZXJBcmVhX190ZXh0IHtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGNvbG9yOiAjMDE4NzdjO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLm1lbWJlckFyZWFfX2ljb24ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDNweDtcclxuICAgICAgICByaWdodDogMTZweDtcclxuICAgICAgICB3aWR0aDogMjhweDtcclxuICAgICAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyOCAyOCclM0UlM0NwYXRoIGZpbGw9J1wiICsgc3RyLXJlcGxhY2UoJyMwMTg3N2MnLCAnIycsICclMjMnKSArIFwiJyBzdHJva2U9J3RyYW5zcGFyZW50JyBzdHJva2Utd2lkdGg9JzAnIGQ9J00xNCwwQTE0LDE0LDAsMSwwLDI4LDE0LDE0LDE0LDAsMCwwLDE0LDBabTAsMS4xOWExMi44MiwxMi44MiwwLDAsMSw5LjQ4LDIxLjQ0LDEwLjE0LDEwLjE0LDAsMCwwLTE5LDBBMTIuODIsMTIuODIsMCwwLDEsMTQsMS4xOVptMCwzYTUuMzYsNS4zNiwwLDEsMCw1LjM2LDUuMzZBNS4zNyw1LjM3LDAsMCwwLDE0LDQuMTdabTAsMS4xOUE0LjE3LDQuMTcsMCwxLDEsOS44Myw5LjUzLDQuMTYsNC4xNiwwLDAsMSwxNCw1LjM2Wm0wLDExLjkyYTguOTIsOC45MiwwLDAsMSw4LjU0LDYuMjcsMTIuODIsMTIuODIsMCwwLDEtMTcuMDgsMEE4LjkyLDguOTIsMCwwLDEsMTQsMTcuMjhaJyAvJTNFJTNDL3N2ZyUzRVwiKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC5tZW1iZXJBcmVhIHtcclxuICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzM7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA2NnB4O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBTVE9QIFRIRSBTUFJFQUQgKi9cclxuLlN0b3BUaGVTcHJlYWRNYWluIHtcclxuICAgIG1pbi1oZWlnaHQ6IDQ5NXB4O1xyXG5cclxuICAgIC5idXR0b24ge1xyXG4gICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XHJcbiAgICB9XHJcblxyXG4gICAgaDIge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5JbWdXcml0ZU1lc3NhZ2Uge1xyXG4gICAgICAgIHdpZHRoOiA2NXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5MZWF2ZU1lc3NhZ2VIb2xkZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1OWIwYTg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweCA0MHB4IDQwcHggNDBweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIC5pbWFnZVdyaXRlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDY1cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAzMnB4KTtcclxuICAgICAgICAgICAgdG9wOiAtMjVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLkxlYXZlTWVzc2FnZUhvbGRlcklubmVyIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5TcHJlYWRJbnB1dCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgY29sb3I6ICM1OWIwYTg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweCA1MHB4IDEycHggNTBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAuU3RvcFRoZVNwcmVhZE1haW4ge1xyXG4gICAgICAgLy8gbWluLWhlaWdodDogMTQ4MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLlN0b3BUaGVTcHJlYWRDb3VudCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgcGFkZGluZzogNTBweDtcclxuICAgIGNvbG9yOiAjMDA4NjdjO1xyXG5cclxuICAgIGgyIHtcclxuICAgICAgICBjb2xvcjogIzAwODY3YztcclxuICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAuYnV0dG9uIHtcclxuICAgICAgICBwYWRkaW5nOiA3cHggNTBweCAxMnB4IDUwcHg7XHJcbiAgICAgICAgbWluLXdpZHRoOiAyNDBweDtcclxuICAgIH1cclxuXHJcbiAgICAuUmVhZE1lc3NhZ2VIb2xkZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1OWIwYTg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweCA0MHB4IDQwcHggNDBweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIC5SZWFkQnViYmxlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDg1cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAzMnB4KTtcclxuICAgICAgICAgICAgdG9wOiAtMzdweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLlJlYWRNZXNzYWdlSG9sZGVySW5uZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcblxyXG4gICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICBjb2xvcjogIzAwODY3YztcclxuICAgICAgICAgICAgcGFkZGluZzogN3B4IDUwcHggMTJweCA1MHB4O1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDI0MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNsb3NlYm94IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuUmVhZFRpdGxlIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDQwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLlJlYWRRdW90ZSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZGQyY2U7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0MHB4IDQwcHggNDBweCA0MHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICAuUmVhZFF1b3RlQ29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuU3BlZWNoQnViYmxlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA2NXB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAzMnB4KTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogLTMzcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5TdG9wVGhlU3ByZWFkQ2Fyb3VzZWxJdGVtIHtcclxuICAgIGhlaWdodDogMzAwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7IFxyXG59XHJcblxyXG4uU3RvcFRoZVNwcmVhZENhcm91c2VsQ29weSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4yKTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDBweDtcclxuICAgIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDUwcHg7XHJcbn1cclxuXHJcbi5TdG9wVGhlU3ByZWFkQ2Fyb3VzZWxTdWIge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4uTG9nb0FuaW1hdGlvbiBzdmcge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LWhlaWdodDogNDAwcHg7XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC5TdG9wVGhlU3ByZWFkQ2Fyb3VzZWxJdGVtIHtcclxuICAgICAgICBoZWlnaHQ6IDMwMHB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gRGVmYXVsdCBWYXJpYWJsZXNcblxuLy8gU2xpY2sgaWNvbiBlbnRpdHkgY29kZXMgb3V0cHV0cyB0aGUgZm9sbG93aW5nXG4vLyBcIlxcMjE5MFwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaQXCJcbi8vIFwiXFwyMTkyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpJcIlxuLy8gXCJcXDIwMjJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKAolwiXG5cbiRzbGljay1mb250LXBhdGg6IFwiLi9mb250cy9cIiAhZGVmYXVsdDtcbiRzbGljay1mb250LWZhbWlseTogXCJzbGlja1wiICFkZWZhdWx0O1xuJHNsaWNrLWxvYWRlci1wYXRoOiBcIi4vXCIgIWRlZmF1bHQ7XG4kc2xpY2stYXJyb3ctY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yLWFjdGl2ZTogJHNsaWNrLWRvdC1jb2xvciAhZGVmYXVsdDtcbiRzbGljay1wcmV2LWNoYXJhY3RlcjogXCJcXDIxOTBcIiAhZGVmYXVsdDtcbiRzbGljay1uZXh0LWNoYXJhY3RlcjogXCJcXDIxOTJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3QtY2hhcmFjdGVyOiBcIlxcMjAyMlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1zaXplOiA2cHggIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1kZWZhdWx0OiAwLjc1ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktb24taG92ZXI6IDEgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlOiAwLjI1ICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gc2xpY2staW1hZ2UtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGltYWdlLXVybCkge1xuICAgICAgICBAcmV0dXJuIGltYWdlLXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stbG9hZGVyLXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbkBmdW5jdGlvbiBzbGljay1mb250LXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhmb250LXVybCkge1xuICAgICAgICBAcmV0dXJuIGZvbnQtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1mb250LXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbi8qIFNsaWRlciAqL1xuXG4uc2xpY2stbGlzdCB7XG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgc2xpY2staW1hZ2UtdXJsKFwiYWpheC1sb2FkZXIuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIH1cbn1cblxuLyogSWNvbnMgKi9cbkBpZiAkc2xpY2stZm9udC1mYW1pbHkgPT0gXCJzbGlja1wiIHtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdFwiKTtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxufVxuXG4vKiBBcnJvd3MgKi9cblxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiAkc2xpY2stYXJyb3ctY29sb3I7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbn1cblxuLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IC0yNXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAtMjVweDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zbGljay1uZXh0IHtcbiAgICByaWdodDogLTI1cHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbGVmdDogLTI1cHg7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogRG90cyAqL1xuXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnNsaWNrLWRvdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0yNXB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwcHg7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAkc2xpY2stZG90LWNoYXJhY3RlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzbGljay1kb3Qtc2l6ZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3I7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qIVxuICogalF1ZXJ5IFVJIENTUyBGcmFtZXdvcmsgMS4xMi4xXG4gKiBodHRwOi8vanF1ZXJ5dWkuY29tXG4gKlxuICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2VcbiAqXG4gKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9jYXRlZ29yeS90aGVtaW5nL1xuICpcbiAqIFRvIHZpZXcgYW5kIG1vZGlmeSB0aGlzIHRoZW1lLCB2aXNpdCBodHRwOi8vanF1ZXJ5dWkuY29tL3RoZW1lcm9sbGVyL1xuICovXG5cblxuLyogQ29tcG9uZW50IGNvbnRhaW5lcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXdpZGdldCB7XG5cdGZvbnQtZmFtaWx5OiBBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZi8qe2ZmRGVmYXVsdH0qLztcblx0Zm9udC1zaXplOiAxZW0vKntmc0RlZmF1bHR9Ki87XG59XG4udWktd2lkZ2V0IC51aS13aWRnZXQge1xuXHRmb250LXNpemU6IDFlbTtcbn1cbi51aS13aWRnZXQgaW5wdXQsXG4udWktd2lkZ2V0IHNlbGVjdCxcbi51aS13aWRnZXQgdGV4dGFyZWEsXG4udWktd2lkZ2V0IGJ1dHRvbiB7XG5cdGZvbnQtZmFtaWx5OiBBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZi8qe2ZmRGVmYXVsdH0qLztcblx0Zm9udC1zaXplOiAxZW07XG59XG4udWktd2lkZ2V0LnVpLXdpZGdldC1jb250ZW50IHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2M1YzVjNS8qe2JvcmRlckNvbG9yRGVmYXVsdH0qLztcbn1cbi51aS13aWRnZXQtY29udGVudCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQvKntib3JkZXJDb2xvckNvbnRlbnR9Ki87XG5cdGJhY2tncm91bmQ6ICNmZmZmZmYvKntiZ0NvbG9yQ29udGVudH0qLyAvKntiZ0ltZ1VybENvbnRlbnR9Ki8gLyp7YmdDb250ZW50WFBvc30qLyAvKntiZ0NvbnRlbnRZUG9zfSovIC8qe2JnQ29udGVudFJlcGVhdH0qLztcblx0Y29sb3I6ICMzMzMzMzMvKntmY0NvbnRlbnR9Ki87XG59XG4udWktd2lkZ2V0LWNvbnRlbnQgYSB7XG5cdGNvbG9yOiAjMzMzMzMzLyp7ZmNDb250ZW50fSovO1xufVxuLnVpLXdpZGdldC1oZWFkZXIge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkLyp7Ym9yZGVyQ29sb3JIZWFkZXJ9Ki87XG5cdGJhY2tncm91bmQ6ICNlOWU5ZTkvKntiZ0NvbG9ySGVhZGVyfSovIC8qe2JnSW1nVXJsSGVhZGVyfSovIC8qe2JnSGVhZGVyWFBvc30qLyAvKntiZ0hlYWRlcllQb3N9Ki8gLyp7YmdIZWFkZXJSZXBlYXR9Ki87XG5cdGNvbG9yOiAjMzMzMzMzLyp7ZmNIZWFkZXJ9Ki87XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnVpLXdpZGdldC1oZWFkZXIgYSB7XG5cdGNvbG9yOiAjMzMzMzMzLyp7ZmNIZWFkZXJ9Ki87XG59XG5cbi8qIEludGVyYWN0aW9uIHN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktc3RhdGUtZGVmYXVsdCxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdCxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kZWZhdWx0LFxuLnVpLWJ1dHRvbixcblxuLyogV2UgdXNlIGh0bWwgaGVyZSBiZWNhdXNlIHdlIG5lZWQgYSBncmVhdGVyIHNwZWNpZmljaXR5IHRvIG1ha2Ugc3VyZSBkaXNhYmxlZFxud29ya3MgcHJvcGVybHkgd2hlbiBjbGlja2VkIG9yIGhvdmVyZWQgKi9cbmh0bWwgLnVpLWJ1dHRvbi51aS1zdGF0ZS1kaXNhYmxlZDpob3Zlcixcbmh0bWwgLnVpLWJ1dHRvbi51aS1zdGF0ZS1kaXNhYmxlZDphY3RpdmUge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjYzVjNWM1Lyp7Ym9yZGVyQ29sb3JEZWZhdWx0fSovO1xuXHRiYWNrZ3JvdW5kOiAjZjZmNmY2Lyp7YmdDb2xvckRlZmF1bHR9Ki8gLyp7YmdJbWdVcmxEZWZhdWx0fSovIC8qe2JnRGVmYXVsdFhQb3N9Ki8gLyp7YmdEZWZhdWx0WVBvc30qLyAvKntiZ0RlZmF1bHRSZXBlYXR9Ki87XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWwvKntmd0RlZmF1bHR9Ki87XG5cdGNvbG9yOiAjNDU0NTQ1Lyp7ZmNEZWZhdWx0fSovO1xufVxuLnVpLXN0YXRlLWRlZmF1bHQgYSxcbi51aS1zdGF0ZS1kZWZhdWx0IGE6bGluayxcbi51aS1zdGF0ZS1kZWZhdWx0IGE6dmlzaXRlZCxcbmEudWktYnV0dG9uLFxuYTpsaW5rLnVpLWJ1dHRvbixcbmE6dmlzaXRlZC51aS1idXR0b24sXG4udWktYnV0dG9uIHtcblx0Y29sb3I6ICM0NTQ1NDUvKntmY0RlZmF1bHR9Ki87XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi51aS1zdGF0ZS1ob3Zlcixcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaG92ZXIsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaG92ZXIsXG4udWktc3RhdGUtZm9jdXMsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWZvY3VzLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWZvY3VzLFxuLnVpLWJ1dHRvbjpob3Zlcixcbi51aS1idXR0b246Zm9jdXMge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjLyp7Ym9yZGVyQ29sb3JIb3Zlcn0qLztcblx0YmFja2dyb3VuZDogI2VkZWRlZC8qe2JnQ29sb3JIb3Zlcn0qLyAvKntiZ0ltZ1VybEhvdmVyfSovIC8qe2JnSG92ZXJYUG9zfSovIC8qe2JnSG92ZXJZUG9zfSovIC8qe2JnSG92ZXJSZXBlYXR9Ki87XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWwvKntmd0RlZmF1bHR9Ki87XG5cdGNvbG9yOiAjMmIyYjJiLyp7ZmNIb3Zlcn0qLztcbn1cbi51aS1zdGF0ZS1ob3ZlciBhLFxuLnVpLXN0YXRlLWhvdmVyIGE6aG92ZXIsXG4udWktc3RhdGUtaG92ZXIgYTpsaW5rLFxuLnVpLXN0YXRlLWhvdmVyIGE6dmlzaXRlZCxcbi51aS1zdGF0ZS1mb2N1cyBhLFxuLnVpLXN0YXRlLWZvY3VzIGE6aG92ZXIsXG4udWktc3RhdGUtZm9jdXMgYTpsaW5rLFxuLnVpLXN0YXRlLWZvY3VzIGE6dmlzaXRlZCxcbmEudWktYnV0dG9uOmhvdmVyLFxuYS51aS1idXR0b246Zm9jdXMge1xuXHRjb2xvcjogIzJiMmIyYi8qe2ZjSG92ZXJ9Ki87XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnVpLXZpc3VhbC1mb2N1cyB7XG5cdGJveC1zaGFkb3c6IDAgMCAzcHggMXB4IHJnYig5NCwgMTU4LCAyMTQpO1xufVxuLnVpLXN0YXRlLWFjdGl2ZSxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtYWN0aXZlLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWFjdGl2ZSxcbmEudWktYnV0dG9uOmFjdGl2ZSxcbi51aS1idXR0b246YWN0aXZlLFxuLnVpLWJ1dHRvbi51aS1zdGF0ZS1hY3RpdmU6aG92ZXIge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjMDAzZWZmLyp7Ym9yZGVyQ29sb3JBY3RpdmV9Ki87XG5cdGJhY2tncm91bmQ6ICMwMDdmZmYvKntiZ0NvbG9yQWN0aXZlfSovIC8qe2JnSW1nVXJsQWN0aXZlfSovIC8qe2JnQWN0aXZlWFBvc30qLyAvKntiZ0FjdGl2ZVlQb3N9Ki8gLyp7YmdBY3RpdmVSZXBlYXR9Ki87XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWwvKntmd0RlZmF1bHR9Ki87XG5cdGNvbG9yOiAjZmZmZmZmLyp7ZmNBY3RpdmV9Ki87XG59XG4udWktaWNvbi1iYWNrZ3JvdW5kLFxuLnVpLXN0YXRlLWFjdGl2ZSAudWktaWNvbi1iYWNrZ3JvdW5kIHtcblx0Ym9yZGVyOiAjMDAzZWZmLyp7Ym9yZGVyQ29sb3JBY3RpdmV9Ki87XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmYvKntmY0FjdGl2ZX0qLztcbn1cbi51aS1zdGF0ZS1hY3RpdmUgYSxcbi51aS1zdGF0ZS1hY3RpdmUgYTpsaW5rLFxuLnVpLXN0YXRlLWFjdGl2ZSBhOnZpc2l0ZWQge1xuXHRjb2xvcjogI2ZmZmZmZi8qe2ZjQWN0aXZlfSovO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIEludGVyYWN0aW9uIEN1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXN0YXRlLWhpZ2hsaWdodCxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0LFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNkYWQ1NWUvKntib3JkZXJDb2xvckhpZ2hsaWdodH0qLztcblx0YmFja2dyb3VuZDogI2ZmZmE5MC8qe2JnQ29sb3JIaWdobGlnaHR9Ki8gLyp7YmdJbWdVcmxIaWdobGlnaHR9Ki8gLyp7YmdIaWdobGlnaHRYUG9zfSovIC8qe2JnSGlnaGxpZ2h0WVBvc30qLyAvKntiZ0hpZ2hsaWdodFJlcGVhdH0qLztcblx0Y29sb3I6ICM3Nzc2MjAvKntmY0hpZ2hsaWdodH0qLztcbn1cbi51aS1zdGF0ZS1jaGVja2VkIHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2RhZDU1ZS8qe2JvcmRlckNvbG9ySGlnaGxpZ2h0fSovO1xuXHRiYWNrZ3JvdW5kOiAjZmZmYTkwLyp7YmdDb2xvckhpZ2hsaWdodH0qLztcbn1cbi51aS1zdGF0ZS1oaWdobGlnaHQgYSxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0IGEsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGlnaGxpZ2h0IGEge1xuXHRjb2xvcjogIzc3NzYyMC8qe2ZjSGlnaGxpZ2h0fSovO1xufVxuLnVpLXN0YXRlLWVycm9yLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvcixcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvciB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNmMWE4OTkvKntib3JkZXJDb2xvckVycm9yfSovO1xuXHRiYWNrZ3JvdW5kOiAjZmRkZmRmLyp7YmdDb2xvckVycm9yfSovIC8qe2JnSW1nVXJsRXJyb3J9Ki8gLyp7YmdFcnJvclhQb3N9Ki8gLyp7YmdFcnJvcllQb3N9Ki8gLyp7YmdFcnJvclJlcGVhdH0qLztcblx0Y29sb3I6ICM1ZjNmM2YvKntmY0Vycm9yfSovO1xufVxuLnVpLXN0YXRlLWVycm9yIGEsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yIGEsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3IgYSB7XG5cdGNvbG9yOiAjNWYzZjNmLyp7ZmNFcnJvcn0qLztcbn1cbi51aS1zdGF0ZS1lcnJvci10ZXh0LFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvci10ZXh0LFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yLXRleHQge1xuXHRjb2xvcjogIzVmM2YzZi8qe2ZjRXJyb3J9Ki87XG59XG4udWktcHJpb3JpdHktcHJpbWFyeSxcbi51aS13aWRnZXQtY29udGVudCAudWktcHJpb3JpdHktcHJpbWFyeSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1wcmltYXJ5IHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4udWktcHJpb3JpdHktc2Vjb25kYXJ5LFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1zZWNvbmRhcnksXG4udWktd2lkZ2V0LWhlYWRlciAudWktcHJpb3JpdHktc2Vjb25kYXJ5IHtcblx0b3BhY2l0eTogLjc7XG5cdGZpbHRlcjpBbHBoYShPcGFjaXR5PTcwKTsgLyogc3VwcG9ydDogSUU4ICovXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4udWktc3RhdGUtZGlzYWJsZWQsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRpc2FibGVkLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRpc2FibGVkIHtcblx0b3BhY2l0eTogLjM1O1xuXHRmaWx0ZXI6QWxwaGEoT3BhY2l0eT0zNSk7IC8qIHN1cHBvcnQ6IElFOCAqL1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnVpLXN0YXRlLWRpc2FibGVkIC51aS1pY29uIHtcblx0ZmlsdGVyOkFscGhhKE9wYWNpdHk9MzUpOyAvKiBzdXBwb3J0OiBJRTggLSBTZWUgIzYwNTkgKi9cbn1cblxuLyogSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBzdGF0ZXMgYW5kIGltYWdlcyAqL1xuLnVpLWljb24ge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuLnVpLWljb24sXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLWljb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfNDQ0NDQ0XzI1NngyNDAucG5nXCIpLyp7aWNvbnNDb250ZW50fSovO1xufVxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLWljb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfNDQ0NDQ0XzI1NngyNDAucG5nXCIpLyp7aWNvbnNIZWFkZXJ9Ki87XG59XG4udWktc3RhdGUtaG92ZXIgLnVpLWljb24sXG4udWktc3RhdGUtZm9jdXMgLnVpLWljb24sXG4udWktYnV0dG9uOmhvdmVyIC51aS1pY29uLFxuLnVpLWJ1dHRvbjpmb2N1cyAudWktaWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy91aS1pY29uc181NTU1NTVfMjU2eDI0MC5wbmdcIikvKntpY29uc0hvdmVyfSovO1xufVxuLnVpLXN0YXRlLWFjdGl2ZSAudWktaWNvbixcbi51aS1idXR0b246YWN0aXZlIC51aS1pY29uIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3VpLWljb25zX2ZmZmZmZl8yNTZ4MjQwLnBuZ1wiKS8qe2ljb25zQWN0aXZlfSovO1xufVxuLnVpLXN0YXRlLWhpZ2hsaWdodCAudWktaWNvbixcbi51aS1idXR0b24gLnVpLXN0YXRlLWhpZ2hsaWdodC51aS1pY29uIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3VpLWljb25zXzc3NzYyMF8yNTZ4MjQwLnBuZ1wiKS8qe2ljb25zSGlnaGxpZ2h0fSovO1xufVxuLnVpLXN0YXRlLWVycm9yIC51aS1pY29uLFxuLnVpLXN0YXRlLWVycm9yLXRleHQgLnVpLWljb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfY2MwMDAwXzI1NngyNDAucG5nXCIpLyp7aWNvbnNFcnJvcn0qLztcbn1cbi51aS1idXR0b24gLnVpLWljb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfNzc3Nzc3XzI1NngyNDAucG5nXCIpLyp7aWNvbnNEZWZhdWx0fSovO1xufVxuXG4vKiBwb3NpdGlvbmluZyAqL1xuLnVpLWljb24tYmxhbmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNnB4IDE2cHg7IH1cbi51aS1pY29uLWNhcmV0LTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuLnVpLWljb24tY2FyZXQtMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IDA7IH1cbi51aS1pY29uLWNhcmV0LTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IDA7IH1cbi51aS1pY29uLWNhcmV0LTEtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAwOyB9XG4udWktaWNvbi1jYXJldC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjVweCAwOyB9XG4udWktaWNvbi1jYXJldC0xLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggMDsgfVxuLnVpLWljb24tY2FyZXQtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggMDsgfVxuLnVpLWljb24tY2FyZXQtMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAwOyB9XG4udWktaWNvbi1jYXJldC0yLW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAwOyB9XG4udWktaWNvbi1jYXJldC0yLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAwOyB9XG4udWktaWNvbi10cmlhbmdsZS0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNnB4OyB9XG4udWktaWNvbi10cmlhbmdsZS0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNnB4OyB9XG4udWktaWNvbi10cmlhbmdsZS0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NXB4IC0xNnB4OyB9XG4udWktaWNvbi10cmlhbmdsZS0xLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNnB4OyB9XG4udWktaWNvbi10cmlhbmdsZS0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNnB4OyB9XG4udWktaWNvbi10cmlhbmdsZS0yLW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTE2cHg7IH1cbi51aS1pY29uLWFycm93LTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTMycHg7IH1cbi51aS1pY29uLWFycm93LTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTEtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY1cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0yLW5lLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0yLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMi1zZS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3dzdG9wLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3dzdG9wLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3dzdG9wLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3dzdG9wLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTEtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0xLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0yLW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0yLW5lLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTItc2UtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02NHB4OyB9XG4udWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC02NHB4OyB9XG4udWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC02NHB4OyB9XG4udWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC02NHB4OyB9XG4udWktaWNvbi1hcnJvd3JldHVybi0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZXR1cm4tMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJuLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC02NHB4OyB9XG4udWktaWNvbi1hcnJvd3JldHVybi0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmVmcmVzaC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmVmcmVzaC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmVmcmVzaC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmVmcmVzaC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93LTQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC04MHB4OyB9XG4udWktaWNvbi1hcnJvdy00LWRpYWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtODBweDsgfVxuLnVpLWljb24tZXh0bGluayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC04MHB4OyB9XG4udWktaWNvbi1uZXd3aW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtODBweDsgfVxuLnVpLWljb24tcmVmcmVzaCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC04MHB4OyB9XG4udWktaWNvbi1zaHVmZmxlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTgwcHg7IH1cbi51aS1pY29uLXRyYW5zZmVyLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC04MHB4OyB9XG4udWktaWNvbi10cmFuc2ZlcnRoaWNrLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtODBweDsgfVxuLnVpLWljb24tZm9sZGVyLWNvbGxhcHNlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTk2cHg7IH1cbi51aS1pY29uLWZvbGRlci1vcGVuIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTk2cHg7IH1cbi51aS1pY29uLWRvY3VtZW50IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTk2cHg7IH1cbi51aS1pY29uLWRvY3VtZW50LWIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtOTZweDsgfVxuLnVpLWljb24tbm90ZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC05NnB4OyB9XG4udWktaWNvbi1tYWlsLWNsb3NlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC05NnB4OyB9XG4udWktaWNvbi1tYWlsLW9wZW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtOTZweDsgfVxuLnVpLWljb24tc3VpdGNhc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTk2cHg7IH1cbi51aS1pY29uLWNvbW1lbnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTk2cHg7IH1cbi51aS1pY29uLXBlcnNvbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtOTZweDsgfVxuLnVpLWljb24tcHJpbnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTk2cHg7IH1cbi51aS1pY29uLXRyYXNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC05NnB4OyB9XG4udWktaWNvbi1sb2NrZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTk2cHg7IH1cbi51aS1pY29uLXVubG9ja2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC05NnB4OyB9XG4udWktaWNvbi1ib29rbWFyayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtOTZweDsgfVxuLnVpLWljb24tdGFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC05NnB4OyB9XG4udWktaWNvbi1ob21lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTEycHg7IH1cbi51aS1pY29uLWZsYWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTEycHg7IH1cbi51aS1pY29uLWNhbGVuZGFyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTExMnB4OyB9XG4udWktaWNvbi1jYXJ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTExMnB4OyB9XG4udWktaWNvbi1wZW5jaWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTEycHg7IH1cbi51aS1pY29uLWNsb2NrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTExMnB4OyB9XG4udWktaWNvbi1kaXNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTExMnB4OyB9XG4udWktaWNvbi1jYWxjdWxhdG9yIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xMTJweDsgfVxuLnVpLWljb24tem9vbWluIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xMTJweDsgfVxuLnVpLWljb24tem9vbW91dCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTEycHg7IH1cbi51aS1pY29uLXNlYXJjaCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMTEycHg7IH1cbi51aS1pY29uLXdyZW5jaCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTEycHg7IH1cbi51aS1pY29uLWdlYXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTExMnB4OyB9XG4udWktaWNvbi1oZWFydCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTEycHg7IH1cbi51aS1pY29uLXN0YXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTExMnB4OyB9XG4udWktaWNvbi1saW5rIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0xMTJweDsgfVxuLnVpLWljb24tY2FuY2VsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTI4cHg7IH1cbi51aS1pY29uLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTI4cHg7IH1cbi51aS1pY29uLXBsdXN0aGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xMjhweDsgfVxuLnVpLWljb24tbWludXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTI4cHg7IH1cbi51aS1pY29uLW1pbnVzdGhpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTI4cHg7IH1cbi51aS1pY29uLWNsb3NlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTEyOHB4OyB9XG4udWktaWNvbi1jbG9zZXRoaWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTEyOHB4OyB9XG4udWktaWNvbi1rZXkgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTEyOHB4OyB9XG4udWktaWNvbi1saWdodGJ1bGIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTEyOHB4OyB9XG4udWktaWNvbi1zY2lzc29ycyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTI4cHg7IH1cbi51aS1pY29uLWNsaXBib2FyZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMTI4cHg7IH1cbi51aS1pY29uLWNvcHkgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTEyOHB4OyB9XG4udWktaWNvbi1jb250YWN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0xMjhweDsgfVxuLnVpLWljb24taW1hZ2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTEyOHB4OyB9XG4udWktaWNvbi12aWRlbyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtMTI4cHg7IH1cbi51aS1pY29uLXNjcmlwdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtMTI4cHg7IH1cbi51aS1pY29uLWFsZXJ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQ0cHg7IH1cbi51aS1pY29uLWluZm8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTQ0cHg7IH1cbi51aS1pY29uLW5vdGljZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNDRweDsgfVxuLnVpLWljb24taGVscCB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNDRweDsgfVxuLnVpLWljb24tY2hlY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTQ0cHg7IH1cbi51aS1pY29uLWJ1bGxldCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNDRweDsgfVxuLnVpLWljb24tcmFkaW8tb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTQ0cHg7IH1cbi51aS1pY29uLXJhZGlvLW9mZiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTQ0cHg7IH1cbi51aS1pY29uLXBpbi13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNDRweDsgfVxuLnVpLWljb24tcGluLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTE0NHB4OyB9XG4udWktaWNvbi1wbGF5IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTYwcHg7IH1cbi51aS1pY29uLXBhdXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE2MHB4OyB9XG4udWktaWNvbi1zZWVrLW5leHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTYwcHg7IH1cbi51aS1pY29uLXNlZWstcHJldiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNjBweDsgfVxuLnVpLWljb24tc2Vlay1lbmQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTYwcHg7IH1cbi51aS1pY29uLXNlZWstc3RhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTYwcHg7IH1cbi8qIHVpLWljb24tc2Vlay1maXJzdCBpcyBkZXByZWNhdGVkLCB1c2UgdWktaWNvbi1zZWVrLXN0YXJ0IGluc3RlYWQgKi9cbi51aS1pY29uLXNlZWstZmlyc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTYwcHg7IH1cbi51aS1pY29uLXN0b3AgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTYwcHg7IH1cbi51aS1pY29uLWVqZWN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNjBweDsgfVxuLnVpLWljb24tdm9sdW1lLW9mZiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTYwcHg7IH1cbi51aS1pY29uLXZvbHVtZS1vbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTYwcHg7IH1cbi51aS1pY29uLXBvd2VyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTc2cHg7IH1cbi51aS1pY29uLXNpZ25hbC1kaWFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE3NnB4OyB9XG4udWktaWNvbi1zaWduYWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTc2cHg7IH1cbi51aS1pY29uLWJhdHRlcnktMCB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNzZweDsgfVxuLnVpLWljb24tYmF0dGVyeS0xIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE3NnB4OyB9XG4udWktaWNvbi1iYXR0ZXJ5LTIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTc2cHg7IH1cbi51aS1pY29uLWJhdHRlcnktMyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNzZweDsgfVxuLnVpLWljb24tY2lyY2xlLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtYXJyb3ctZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS1hcnJvdy1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLWFycm93LXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtYXJyb3ctbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS16b29taW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtem9vbW91dCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS1jaGVjayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZXNtYWxsLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMDhweDsgfVxuLnVpLWljb24tY2lyY2xlc21hbGwtbWludXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMjA4cHg7IH1cbi51aS1pY29uLWNpcmNsZXNtYWxsLWNsb3NlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTIwOHB4OyB9XG4udWktaWNvbi1zcXVhcmVzbWFsbC1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTIwOHB4OyB9XG4udWktaWNvbi1zcXVhcmVzbWFsbC1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0yMDhweDsgfVxuLnVpLWljb24tc3F1YXJlc21hbGwtY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjA4cHg7IH1cbi51aS1pY29uLWdyaXAtZG90dGVkLXZlcnRpY2FsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjI0cHg7IH1cbi51aS1pY29uLWdyaXAtZG90dGVkLWhvcml6b250YWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMjI0cHg7IH1cbi51aS1pY29uLWdyaXAtc29saWQtdmVydGljYWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMjI0cHg7IH1cbi51aS1pY29uLWdyaXAtc29saWQtaG9yaXpvbnRhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0yMjRweDsgfVxuLnVpLWljb24tZ3JpcHNtYWxsLWRpYWdvbmFsLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTIyNHB4OyB9XG4udWktaWNvbi1ncmlwLWRpYWdvbmFsLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTIyNHB4OyB9XG5cblxuLyogTWlzYyB2aXN1YWxzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogQ29ybmVyIHJhZGl1cyAqL1xuLnVpLWNvcm5lci1hbGwsXG4udWktY29ybmVyLXRvcCxcbi51aS1jb3JuZXItbGVmdCxcbi51aS1jb3JuZXItdGwge1xuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHgvKntjb3JuZXJSYWRpdXN9Ki87XG59XG4udWktY29ybmVyLWFsbCxcbi51aS1jb3JuZXItdG9wLFxuLnVpLWNvcm5lci1yaWdodCxcbi51aS1jb3JuZXItdHIge1xuXHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4Lyp7Y29ybmVyUmFkaXVzfSovO1xufVxuLnVpLWNvcm5lci1hbGwsXG4udWktY29ybmVyLWJvdHRvbSxcbi51aS1jb3JuZXItbGVmdCxcbi51aS1jb3JuZXItYmwge1xuXHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHgvKntjb3JuZXJSYWRpdXN9Ki87XG59XG4udWktY29ybmVyLWFsbCxcbi51aS1jb3JuZXItYm90dG9tLFxuLnVpLWNvcm5lci1yaWdodCxcbi51aS1jb3JuZXItYnIge1xuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4Lyp7Y29ybmVyUmFkaXVzfSovO1xufVxuXG4vKiBPdmVybGF5cyAqL1xuLnVpLXdpZGdldC1vdmVybGF5IHtcblx0YmFja2dyb3VuZDogI2FhYWFhYS8qe2JnQ29sb3JPdmVybGF5fSovIC8qe2JnSW1nVXJsT3ZlcmxheX0qLyAvKntiZ092ZXJsYXlYUG9zfSovIC8qe2JnT3ZlcmxheVlQb3N9Ki8gLyp7YmdPdmVybGF5UmVwZWF0fSovO1xuXHRvcGFjaXR5OiAuMy8qe29wYWNpdHlPdmVybGF5fSovO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MzApLyp7b3BhY2l0eUZpbHRlck92ZXJsYXl9Ki87IC8qIHN1cHBvcnQ6IElFOCAqL1xufVxuLnVpLXdpZGdldC1zaGFkb3cge1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IDAvKntvZmZzZXRMZWZ0U2hhZG93fSovIDAvKntvZmZzZXRUb3BTaGFkb3d9Ki8gNXB4Lyp7dGhpY2tuZXNzU2hhZG93fSovICM2NjY2NjYvKntiZ0NvbG9yU2hhZG93fSovO1xuXHRib3gtc2hhZG93OiAwLyp7b2Zmc2V0TGVmdFNoYWRvd30qLyAwLyp7b2Zmc2V0VG9wU2hhZG93fSovIDVweC8qe3RoaWNrbmVzc1NoYWRvd30qLyAjNjY2NjY2Lyp7YmdDb2xvclNoYWRvd30qLztcbn1cbiIsIi8qIVxuICogalF1ZXJ5IFVJIE1lbnUgMS4xMi4xXG4gKiBodHRwOi8vanF1ZXJ5dWkuY29tXG4gKlxuICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2VcbiAqXG4gKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9tZW51LyN0aGVtaW5nXG4gKi9cbi51aS1tZW51IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRkaXNwbGF5OiBibG9jaztcblx0b3V0bGluZTogMDtcbn1cbi51aS1tZW51IC51aS1tZW51IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xufVxuLnVpLW1lbnUgLnVpLW1lbnUtaXRlbSB7XG5cdG1hcmdpbjogMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHQvKiBzdXBwb3J0OiBJRTEwLCBzZWUgIzg4NDQgKi9cblx0bGlzdC1zdHlsZS1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3XCIpO1xufVxuLnVpLW1lbnUgLnVpLW1lbnUtaXRlbS13cmFwcGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiAzcHggMWVtIDNweCAuNGVtO1xufVxuLnVpLW1lbnUgLnVpLW1lbnUtZGl2aWRlciB7XG5cdG1hcmdpbjogNXB4IDA7XG5cdGhlaWdodDogMDtcblx0Zm9udC1zaXplOiAwO1xuXHRsaW5lLWhlaWdodDogMDtcblx0Ym9yZGVyLXdpZHRoOiAxcHggMCAwIDA7XG59XG4udWktbWVudSAudWktc3RhdGUtZm9jdXMsXG4udWktbWVudSAudWktc3RhdGUtYWN0aXZlIHtcblx0bWFyZ2luOiAtMXB4O1xufVxuXG4vKiBpY29uIHN1cHBvcnQgKi9cbi51aS1tZW51LWljb25zIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnVpLW1lbnUtaWNvbnMgLnVpLW1lbnUtaXRlbS13cmFwcGVyIHtcblx0cGFkZGluZy1sZWZ0OiAyZW07XG59XG5cbi8qIGxlZnQtYWxpZ25lZCAqL1xuLnVpLW1lbnUgLnVpLWljb24ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAuMmVtO1xuXHRtYXJnaW46IGF1dG8gMDtcbn1cblxuLyogcmlnaHQtYWxpZ25lZCAqL1xuLnVpLW1lbnUgLnVpLW1lbnUtaWNvbiB7XG5cdGxlZnQ6IGF1dG87XG5cdHJpZ2h0OiAwO1xufVxuIiwiLyohXG4gKiBqUXVlcnkgVUkgQXV0b2NvbXBsZXRlIDEuMTIuMVxuICogaHR0cDovL2pxdWVyeXVpLmNvbVxuICpcbiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlXG4gKlxuICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vYXV0b2NvbXBsZXRlLyN0aGVtaW5nXG4gKi9cbi51aS1hdXRvY29tcGxldGUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0Y3Vyc29yOiBkZWZhdWx0O1xufVxuIiwi77u/XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRNb2JpbGUgTmF2XHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ubW9iTmF2IHtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNHB4KTtcclxuXHRjb2xvcjogI2JhZGNmMDtcclxuXHRiYWNrZ3JvdW5kOiAkbW9iTmF2LWdyYWRpZW50LWZhbGxiYWNrO1xyXG5cdGJhY2tncm91bmQ6ICRtb2JOYXYtZ3JhZGllbnQ7XHJcblx0ei1pbmRleDogMjAwMDtcclxuXHRvdmVyZmxvdy15OiBzY3JvbGw7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHJcblx0YSB7XHJcblx0XHQmOmhvdmVyLCAmOmZvY3VzIHtcclxuXHRcdFx0b3BhY2l0eTogMC42O1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6Zm9jdXMge1xyXG5cdFx0XHRvdXRsaW5lOiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lm1vYk5hdl9fY29udGVudCB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRtYXgtd2lkdGg6IDQwMHB4O1xyXG5cdFx0bWluLWhlaWdodDogY2FsYygxMDB2aCAtIDI0NHB4IC0gMzdweCk7XHJcblx0XHRtYXJnaW46IDQwcHggYXV0byAyNDRweDtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0fVxyXG5cclxuXHQubW9iTmF2X19tZW51IHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG5cdFx0bWFyZ2luLXRvcDogMTZweDtcclxuXHRcdG92ZXJmbG93LXg6IGhpZGRlbjtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdE1vYmlsZSBOYXYgSGVhZGVyXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5tb2JOYXYge1xyXG5cdC5tb2JOYXZfX2Nsb3NlIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMTVweDtcclxuXHRcdHJpZ2h0OiAxNXB4O1xyXG5cdFx0d2lkdGg6IDMycHg7XHJcblx0XHRoZWlnaHQ6IDMycHg7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyB2aWV3Qm94PScwIDAgNjQgNjQnJTNFJTNDcGF0aCBmaWxsPSdcIiArIHN0ci1yZXBsYWNlKCcjZmZmJywgJyMnLCAnJTIzJykgKyBcIicgc3Ryb2tlPSd0cmFuc3BhcmVudCcgc3Ryb2tlLXdpZHRoPScwJyBzdHlsZT0nJyBkPSdNMzYuODAzMzAwOSwzMS41NjA2NjAyIEw1NS4xMjEzMjAzLDQ5Ljg3ODY3OTcgTDUwLjg3ODY3OTcsNTQuMTIxMzIwMyBMMzIuNTYwNjYwMiwzNS44MDMzMDA5IEwxNC4yNDI2NDA3LDU0LjEyMTMyMDMgTDEwLDQ5Ljg3ODY3OTcgTDI4LjMxODAxOTUsMzEuNTYwNjYwMiBMMTAsMTMuMjQyNjQwNyBMMTQuMjQyNjQwNyw5IEwzMi41NjA2NjAyLDI3LjMxODAxOTUgTDUwLjg3ODY3OTcsOSBMNTUuMTIxMzIwMywxMy4yNDI2NDA3IEwzNi44MDMzMDA5LDMxLjU2MDY2MDIgWicgLyUzRSUzQy9zdmclM0VcIik7XHJcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHR9XHJcblxyXG5cdC5tb2JOYXZfX2hlYWRlciB7XHJcblx0XHRwYWRkaW5nLXRvcDogMzdweDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdE1haW4gTWVudVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ubW9iTmF2IHtcclxuXHQubW9iTmF2X19tZW51TGlzdCB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdG1heC13aWR0aDogNDAwcHg7XHJcblx0XHRmb250LXNpemU6IDA7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0cGFkZGluZzogMCAzMHB4IDAgMDtcclxuXHRcdG1hcmdpbjogMDtcclxuXHR9XHJcblxyXG5cdC5tb2JOYXZfX21lbnVJdGVtIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0Zm9udC1zaXplOiAyNHB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRsaW5lLWhlaWdodDogMjtcclxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cclxuXHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQubW9iTmF2X19tZW51TGluayB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDJweDtcclxuXHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYTVkMWViO1xyXG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbi1zcGVlZCBsaW5lYXI7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRTdWIgTWVudVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ubW9iTmF2IHtcclxuXHQubW9iTmF2X19zdWJNZW51TGlzdCB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRsZWZ0OiAxMDAlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0cGFkZGluZzogMCAzMHB4IDAgMDtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHJcblx0XHQmLm9wZW4ge1xyXG5cdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cdFx0fVxyXG5cclxuXHRcdCsgLm1vYk5hdl9fbWVudUxpbms6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMTVweDtcclxuXHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdHdpZHRoOiAxOHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDE4cHg7XHJcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzEuNDknIGhlaWdodD0nMzEuNDknIHZpZXdCb3g9JzAgMCAzMS40OSAzMS40OSclM0UlM0NwYXRoIGZpbGw9J1wiICsgc3RyLXJlcGxhY2UoJyNmZmYnLCAnIycsICclMjMnKSArIFwiJyBzdHJva2U9J3RyYW5zcGFyZW50JyBzdHJva2Utd2lkdGg9JzAnIGQ9J00yMS4yMDUsNS4wMDdjLTAuNDI5LTAuNDQ0LTEuMTQzLTAuNDQ0LTEuNTg3LDBjLTAuNDI5LDAuNDI5LTAuNDI5LDEuMTQzLDAsMS41NzFsOC4wNDcsOC4wNDdIMS4xMTEgIEMwLjQ5MiwxNC42MjYsMCwxNS4xMTgsMCwxNS43MzdjMCwwLjYxOSwwLjQ5MiwxLjEyNywxLjExMSwxLjEyN2gyNi41NTRsLTguMDQ3LDguMDMyYy0wLjQyOSwwLjQ0NC0wLjQyOSwxLjE1OSwwLDEuNTg3ICBjMC40NDQsMC40NDQsMS4xNTksMC40NDQsMS41ODcsMGw5Ljk1Mi05Ljk1MmMwLjQ0NC0wLjQyOSwwLjQ0NC0xLjE0MywwLTEuNTcxTDIxLjIwNSw1LjAwN3onIC8lM0UlM0Mvc3ZnJTNFXCIpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0b3BhY2l0eTogMC42O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lm1vYk5hdl9fc3ViTWVudUl0ZW0ge1xyXG5cdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0MHB4KTtcclxuXHJcblx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0OHB4KTtcclxuXHRcdFx0bWFyZ2luLXRvcDogMzRweDtcclxuXHRcdFx0Ym9yZGVyLXRvcDogMnB4IHNvbGlkICNhNWQxZWI7XHJcblxyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0d2lkdGg6IDIwcHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAyMHB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzEuNDknIGhlaWdodD0nMzEuNDknIHZpZXdCb3g9JzAgMCAzMS40OSAzMS40OSclM0UlM0NwYXRoIGZpbGw9J1wiICsgc3RyLXJlcGxhY2UoJyNmZmYnLCAnIycsICclMjMnKSArIFwiJyBzdHJva2U9J3RyYW5zcGFyZW50JyBzdHJva2Utd2lkdGg9JzAnIGQ9J00yMS4yMDUsNS4wMDdjLTAuNDI5LTAuNDQ0LTEuMTQzLTAuNDQ0LTEuNTg3LDBjLTAuNDI5LDAuNDI5LTAuNDI5LDEuMTQzLDAsMS41NzFsOC4wNDcsOC4wNDdIMS4xMTEgIEMwLjQ5MiwxNC42MjYsMCwxNS4xMTgsMCwxNS43MzdjMCwwLjYxOSwwLjQ5MiwxLjEyNywxLjExMSwxLjEyN2gyNi41NTRsLTguMDQ3LDguMDMyYy0wLjQyOSwwLjQ0NC0wLjQyOSwxLjE1OSwwLDEuNTg3ICBjMC40NDQsMC40NDQsMS4xNTksMC40NDQsMS41ODcsMGw5Ljk1Mi05Ljk1MmMwLjQ0NC0wLjQyOSwwLjQ0NC0xLjE0MywwLTEuNTcxTDIxLjIwNSw1LjAwN3onIC8lM0UlM0Mvc3ZnJTNFXCIpO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDVweDtcclxuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0XHRcdG9wYWNpdHk6IDAuNjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lm1vYk5hdl9fc3ViTWVudUxpbmsge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQubW9iTmF2X19zdWJNZW51TGluayB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdH1cclxuXHJcblx0Lm1vYk5hdl9fc3ViTWVudUxpbmstLWJhY2sge1xyXG5cdFx0QGV4dGVuZCAubW9iTmF2X19zdWJNZW51TGluaztcclxuXHRcdGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcclxuXHR9XHJcblxyXG5cdC5tb2JOYXZfX3N1Yk1lbnVMaXN0Lm9wZW4ge1xyXG5cdFx0Lm1vYk5hdl9fc3ViTWVudUl0ZW0ge1xyXG5cdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0TW9iIE5hdiBGb290ZXJcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLm1vYk5hdl9fZm9vdGVyIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAxMDAlO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAyNDRweDtcclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0Rm9vdGVyIE1lbnVcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLm1vYk5hdiB7XHJcblx0Lm1vYk5hdl9fZm9vdGVyTWVudUxpc3Qge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRtYXgtd2lkdGg6IDQwMHB4O1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdGZvbnQtc2l6ZTogMDtcclxuXHRcdG1hcmdpbjogMCAwIDQwcHg7XHJcblx0fVxyXG5cclxuXHQuU2lnbk91dGJ1dHRvbk1vYmlsZSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDQwcHg7IFxyXG5cdH1cclxuXHJcblx0Lm1vYk5hdl9fZm9vdGVyTWVudUl0ZW0ge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMzRweCk7XHJcblx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0d2lkdGg6IDIwcHg7XHJcblx0XHRcdGhlaWdodDogMjBweDtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcclxuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMCcgaGVpZ2h0PScyMCcgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggZmlsbD0nXCIgKyBzdHItcmVwbGFjZSgnIzAwYzJiNycsICcjJywgJyUyMycpICsgXCInIHN0cm9rZT0ndHJhbnNwYXJlbnQnIHN0cm9rZS13aWR0aD0nMCcgZD0nTTIxLjQzLDIxLjJhMi4yOSwyLjI5LDAsMCwwLDAtMy40bC0yLjc1LTIuNzRhMi4yOSwyLjI5LDAsMCwwLTEuNy0uNzcsMi4zOSwyLjM5LDAsMCwwLTEuNy43N2wtMS41OSwxLjU4Yy0uMTMtLjA4LS4yNi0uMTMtLjM5LS4yMXMtLjM1LS4xOS0uNTEtLjI3YTE2LjkyLDE2LjkyLDAsMCwxLTQuMTEtMy43Miw5LjI3LDkuMjcsMCwwLDEtMS4zNS0yLjEzYy40LS4zNy44LS43NywxLjE3LTEuMTRsLjQyLS40MkEyLjQ1LDIuNDUsMCwwLDAsOS43Miw3YTIuNDIsMi40MiwwLDAsMC0uOC0xLjcxTDcuNTcsNGMtLjE2LS4xNi0uMzItLjMyLS40NS0uNDgtLjI5LS4zMS0uNjEtLjYzLS45My0uOTJhMi4zOCwyLjM4LDAsMCwwLTEuNjctLjc0LDIuNDgsMi40OCwwLDAsMC0xLjY5Ljc0TDEuMSw0LjI3QTMuNiwzLjYsMCwwLDAsMCw2LjU2YTksOSwwLDAsMCwuNjMsMy42OSwyMS4zOCwyMS4zOCwwLDAsMCwzLjgyLDYuMzYsMjMuNTcsMjMuNTcsMCwwLDAsNy44Miw2LjFBMTIsMTIsMCwwLDAsMTYuNjksMjRIMTdhMy43MiwzLjcyLDAsMCwwLDIuODYtMS4yNGwwLDBhOS4wOCw5LjA4LDAsMCwxLC44Ny0uODksNSw1LDAsMCwwLC42Ni0uNjRabS0xLjU4LS4zNWExMywxMywwLDAsMC0xLDEsMi4zNSwyLjM1LDAsMCwxLTEuODguNzloLS4yM2ExMS42NywxMS42NywwLDAsMS0zLjkxLTEuMTgsMjIuMjMsMjIuMjMsMCwwLDEtNy4zNS01LjczLDIwLjQsMjAuNCwwLDAsMS0zLjYtNS45NCw2Ljg3LDYuODcsMCwwLDEtLjU1LTMuMSwyLjM2LDIuMzYsMCwwLDEsLjY5LTEuNDdMMy43NiwzLjU0YTEuMDgsMS4wOCwwLDAsMSwuNzYtLjM3LDEuMTEsMS4xMSwwLDAsMSwuNzcuMzdjLjMyLjI5LjU4LjU4LjkuODlsLjQ3LjQ3TDgsNi4yNGExLjE4LDEuMTgsMCwwLDEsLjQuNzksMS4xNCwxLjE0LDAsMCwxLS40Ljc5bC0uNDIuNDJjLS40My40Mi0uODIuODItMS4yNCwxLjIxbDAsMGExLDEsMCwwLDAtLjI3LDEuMXMwLDAsMCwuMDVhMTAuMjQsMTAuMjQsMCwwLDAsMS42MSwyLjYsMTguMjUsMTguMjUsMCwwLDAsNC40Miw0Yy4yMS4xMy40Mi4yMy42MS4zNHMuMzQuMTguNS4yNiwwLDAsMCwwYTEsMSwwLDAsMCwxLjIyLS4yMWwxLjcxLTEuNzFhMS4xNywxLjE3LDAsMCwxLC43Ny0uMzcsMS4xNSwxLjE1LDAsMCwxLC43NC4zN2wyLjc1LDIuNzNhMSwxLDAsMCwxLDAsMS41OCw1LjM4LDUuMzgsMCwwLDEtLjU4LjZaTTEyLjI0LDUuMDhBLjY1LjY1LDAsMCwxLDEzLDQuNTRhNy41Niw3LjU2LDAsMCwxLDQuMjMsMi4yMkE4LjA4LDguMDgsMCwwLDEsMTkuNDYsMTFhLjY2LjY2LDAsMCwxLS41My43OGgtLjExYS43LjcsMCwwLDEtLjY4LS41NkE2LjI3LDYuMjcsMCwwLDAsMTYuMzEsNy43YTYuNjYsNi42NiwwLDAsMC0zLjUtMS44NC42NC42NCwwLDAsMS0uNTctLjc4Wm0xMC40NCw1LjdhMTEuNjYsMTEuNjYsMCwwLDAtMy4yMi02LjIzLDExLjUyLDExLjUyLDAsMCwwLTYuMjMtMy4yMi42NC42NCwwLDAsMS0uNTQtLjc4QS42NS42NSwwLDAsMSwxMy40NywwLDEyLjYyLDEyLjYyLDAsMCwxLDIwLjQsMy41OWExMi43NCwxMi43NCwwLDAsMSwzLjU5LDcsLjY3LjY3LDAsMCwxLS41My43OGgtLjExYS42NC42NCwwLDAsMS0uNjctLjU0WicgLyUzRSUzQy9zdmclM0VcIik7XHJcblx0XHR9XHJcblxyXG5cdFx0JjpsYXN0LWNoaWxkOmJlZm9yZSB7XHJcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjAnIGhlaWdodD0nMjAnIHZpZXdCb3g9JzAgMCAyOCAyOCclM0UlM0NwYXRoIGZpbGw9J1wiICsgc3RyLXJlcGxhY2UoJyMwMGMyYjcnLCAnIycsICclMjMnKSArIFwiJyBzdHJva2U9J3RyYW5zcGFyZW50JyBzdHJva2Utd2lkdGg9JzAnIGQ9J00xNCwwQTE0LDE0LDAsMSwwLDI4LDE0LDE0LDE0LDAsMCwwLDE0LDBabTAsMS4xOWExMi44MiwxMi44MiwwLDAsMSw5LjQ4LDIxLjQ0LDEwLjE0LDEwLjE0LDAsMCwwLTE5LDBBMTIuODIsMTIuODIsMCwwLDEsMTQsMS4xOVptMCwzYTUuMzYsNS4zNiwwLDEsMCw1LjM2LDUuMzZBNS4zNyw1LjM3LDAsMCwwLDE0LDQuMTdabTAsMS4xOUE0LjE3LDQuMTcsMCwxLDEsOS44Myw5LjUzLDQuMTYsNC4xNiwwLDAsMSwxNCw1LjM2Wm0wLDExLjkyYTguOTIsOC45MiwwLDAsMSw4LjU0LDYuMjcsMTIuODIsMTIuODIsMCwwLDEtMTcuMDgsMEE4LjkyLDguOTIsMCwwLDEsMTQsMTcuMjhaJyAvJTNFJTNDL3N2ZyUzRVwiKTtcclxuXHRcdH1cclxuXHJcblx0XHQuU2lnbk91dGJ1dHRvbiB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZTtcclxuXHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGNvbG9yOiAjYmFkY2YwO1xyXG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5tb2JOYXZfX2Zvb3Rlck1lbnVMaW5rIHtcclxuXHRcdGNvbG9yOiAjYmFkY2YwO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdFNlYXJjaFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ubW9iTmF2IHtcclxuXHQubW9iTmF2X19zZWFyY2gge1xyXG5cdH1cclxuXHJcblx0Lm1vYk5hdl9fc2VhcmNoQm94IHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdG1hcmdpbi10b3A6IDEycHg7XHJcblx0fVxyXG5cclxuXHQubW9iTmF2X19zZWFyY2hUZXJtIHtcclxuXHRcdGZvbnQtc2l6ZTogMjRweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMHB4KTtcclxuXHRcdHBhZGRpbmc6IDEycHggNTBweCAxNHB4IDE1cHg7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRib3JkZXI6IG5vbmU7XHJcblxyXG5cdFx0Jjpmb2N1cyB7XHJcblx0XHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5tb2JOYXZfX3NlYXJjaEJ1dHRvbiB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDE0cHg7XHJcblx0XHRyaWdodDogMThweDtcclxuXHRcdHdpZHRoOiAyOHB4O1xyXG5cdFx0aGVpZ2h0OiAyOHB4O1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOCcgaGVpZ2h0PScyOCcgdmlld0JveD0nMCAwIDI4IDI4JyUzRSUzQ3BhdGggZmlsbD0nXCIgKyBzdHItcmVwbGFjZSgnI3skYnJhbmQtcHJpbWFyeX0nLCAnIycsICclMjMnKSArIFwiJyBzdHJva2U9J3RyYW5zcGFyZW50JyBzdHJva2Utd2lkdGg9JzAnIGQ9J00yOCwyNS44NUEyLjE5LDIuMTksMCwwLDEsMjUuODUsMjhhMiwyLDAsMCwxLTEuNTItLjY0bC01Ljc3LTUuNzVhMTEuNTMsMTEuNTMsMCwwLDEtNi43MSwyLjA4LDExLjcyLDExLjcyLDAsMCwxLTQuNjEtLjkzLDExLjgzLDExLjgzLDAsMCwxLTMuNzgtMi41M0ExMiwxMiwwLDAsMSwuOTMsMTYuNDVhMTEuODcsMTEuODcsMCwwLDEsMC05LjIxQTExLjcsMTEuNywwLDAsMSw3LjI0LjkzYTExLjg3LDExLjg3LDAsMCwxLDkuMjEsMCwxMiwxMiwwLDAsMSwzLjc4LDIuNTMsMTEuODMsMTEuODMsMCwwLDEsMi41MywzLjc4LDExLjcyLDExLjcyLDAsMCwxLC45Myw0LjYxLDExLjUzLDExLjUzLDAsMCwxLTIuMDgsNi43MWw1Ljc3LDUuNzdBMi4wOSwyLjA5LDAsMCwxLDI4LDI1Ljg1Wm0tOC42Mi0xNGE3LjI1LDcuMjUsMCwwLDAtMi4yMS01LjMzLDcuMjcsNy4yNywwLDAsMC01LjMyLTIuMjFBNy4yNyw3LjI3LDAsMCwwLDYuNTIsNi41MmE3LjI5LDcuMjksMCwwLDAtMi4yMSw1LjMzLDcuMjcsNy4yNywwLDAsMCwyLjIxLDUuMzIsNy4yMyw3LjIzLDAsMCwwLDUuMzMsMi4yMSw3LjIzLDcuMjMsMCwwLDAsNS4zMi0yLjIxLDcuMjMsNy4yMywwLDAsMCwyLjIxLTUuMzJaJyAvJTNFJTNDL3N2ZyUzRVwiKTtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblxyXG5cdFx0Jjpob3ZlciwgJjpmb2N1cyB7XHJcblx0XHRcdG9wYWNpdHk6IDAuNjtcclxuXHRcdFx0b3V0bGluZTogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCLvu79cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG5cdEhlYWRlclxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuaGVhZGVyIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0aGVpZ2h0OiA5NnB4O1xyXG5cdHBhZGRpbmctdG9wOiAxNXB4O1xyXG5cdHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG5cdGJvcmRlci10b3A6IDRweCBzb2xpZCAjMDA4NzdjO1xyXG5cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAxMDAlO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0aGVpZ2h0OiAxcHg7XHJcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMDUpO1xyXG5cdFx0Ym94LXNoYWRvdzogMHB4IDFweCAzcHggMHB4IHJnYmEoMCwwLDAsMC4xKTtcclxuXHRcdHotaW5kZXg6IDUwMjA7XHJcblx0fVxyXG5cclxuXHQmLmxhbmRpbmcge1xyXG5cdFx0aGVpZ2h0OiAxMTJweDtcclxuXHRcdHBhZGRpbmctdG9wOiAyMHB4O1xyXG5cdFx0Ym9yZGVyOiBub25lO1xyXG5cclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHQrIG1haW4ge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmhlYWRlcl9fbG9nbyB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHdpZHRoOiAyNDhweDtcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdH1cclxuXHJcblx0LmhlYWRlcl9fbWVudUljb24ge1xyXG5cdFx0d2lkdGg6IDQwcHg7XHJcblx0XHRoZWlnaHQ6IDQwcHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcclxuXHRcdHBhZGRpbmc6IDlweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdG1hcmdpbi10b3A6IDExcHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDRweDtcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHR9XHJcblxyXG5cdC5oZWFkZXJfX2JhY2sge1xyXG5cdFx0Zm9udC1zaXplOiAyNHB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjMzO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcclxuXHRcdGNvbG9yOiAjMDA4NzdjO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdG1hcmdpbi10b3A6IDM2cHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDhweDtcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0fVxyXG5cclxuXHRcdHNwYW4ge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiA2cHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0aGVhZGVyIHtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHRcdHBhZGRpbmctdG9wOiAyNHB4O1xyXG5cclxuXHRcdCYubGFuZGluZyB7XHJcblx0XHRcdGhlaWdodDogMTk0cHg7XHJcblx0XHRcdHBhZGRpbmctdG9wOiA0MnB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5oZWFkZXJfX2xvZ28ge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdGhlaWdodDogMTE3cHg7XHJcblx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRmbG9hdDogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdE1haW4gbWVudVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ubWFpbk5hdiB7XHJcblx0Lm1haW5OYXZfX2xpc3Qge1xyXG5cdFx0bWFyZ2luLXRvcDogMjZweDtcclxuXHR9XHJcblxyXG5cdC5tYWluTmF2X19saXN0LS1pY29uIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGEge1xyXG5cdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdHdpZHRoOiAyOHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDI4cHg7XHJcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjgnIGhlaWdodD0nMjgnIHZpZXdCb3g9JzAgMCAyOCAyOCclM0UlM0NwYXRoIGZpbGw9J1wiICsgc3RyLXJlcGxhY2UoJyN7JGJyYW5kLXByaW1hcnl9JywgJyMnLCAnJTIzJykgKyBcIicgc3Ryb2tlPSd0cmFuc3BhcmVudCcgc3Ryb2tlLXdpZHRoPScwJyBkPSdNMTMuNDEuMTguMzksOS41MmEuOTQuOTQsMCwwLDAtLjM5Ljc1djE2LjhBMSwxLDAsMCwwLDEsMjhIMjdhMSwxLDAsMCwwLDEtLjkzVjEwLjI3YS45NC45NCwwLDAsMC0uMzktLjc1TDE0LjU5LjE4QTEuMDYsMS4wNiwwLDAsMCwxMy40MS4xOFpNMTQsNGwxMSw3LjU0VjI1SDNWMTEuNTRaJyAvJTNFJTNDL3N2ZyUzRVwiKTtcclxuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5tYWluTmF2X19pdGVtIHtcclxuXHRcdG1hcmdpbjogMCA1cHg7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdH1cclxuXHJcblx0Lm1haW5OYXZfX2xpbmsge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0Zm9udC1zaXplOiAyNnB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDgwMDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjI1O1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IC0wLjVweDtcclxuXHRcdGNvbG9yOiAkYnJhbmQtc2Vjb25kYXJ5O1xyXG5cclxuXHRcdCYuYWN0aXZlIHtcclxuXHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0Ym90dG9tOiAtMXB4O1xyXG5cdFx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdFx0aGVpZ2h0OiAycHg7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogIzAwODc3YztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHQubWFpbk5hdiB7XHJcblx0XHQubWFpbk5hdl9faXRlbSB7XHJcblx0XHRcdG1hcmdpbjogMCAxMHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5tYWluTmF2X19saW5rIHtcclxuXHRcdFx0Zm9udC1zaXplOiAyOHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0Lm1haW5OYXYge1xyXG5cdFx0Lm1haW5OYXZfX2xpbmsge1xyXG5cdFx0XHRmb250LXNpemU6IDMycHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRQaG9uZSBjYWxsXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5oZWFkZXJfX2NhbGwge1xyXG5cdGZvbnQtc2l6ZTogMjRweDtcclxuXHRsaW5lLWhlaWdodDogMS42MztcclxuXHRsZXR0ZXItc3BhY2luZzogLTAuNXB4O1xyXG5cdG1hcmdpbi10b3A6IDExcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMTRweDtcclxuXHJcblx0JjpiZWZvcmUge1xyXG5cdFx0Y29udGVudDogXCJcIjtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHdpZHRoOiAyNHB4O1xyXG5cdFx0aGVpZ2h0OiAyNHB4O1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggZmlsbD0nXCIgKyBzdHItcmVwbGFjZSgnI3skYnJhbmQtcHJpbWFyeX0nLCAnIycsICclMjMnKSArIFwiJyBzdHJva2U9J3RyYW5zcGFyZW50JyBzdHJva2Utd2lkdGg9JzAnIGQ9J00yMS40MywyMS4yYTIuMjksMi4yOSwwLDAsMCwwLTMuNGwtMi43NS0yLjc0YTIuMjksMi4yOSwwLDAsMC0xLjctLjc3LDIuMzksMi4zOSwwLDAsMC0xLjcuNzdsLTEuNTksMS41OGMtLjEzLS4wOC0uMjYtLjEzLS4zOS0uMjFzLS4zNS0uMTktLjUxLS4yN2ExNi45MiwxNi45MiwwLDAsMS00LjExLTMuNzIsOS4yNyw5LjI3LDAsMCwxLTEuMzUtMi4xM2MuNC0uMzcuOC0uNzcsMS4xNy0xLjE0bC40Mi0uNDJBMi40NSwyLjQ1LDAsMCwwLDkuNzIsN2EyLjQyLDIuNDIsMCwwLDAtLjgtMS43MUw3LjU3LDRjLS4xNi0uMTYtLjMyLS4zMi0uNDUtLjQ4LS4yOS0uMzEtLjYxLS42My0uOTMtLjkyYTIuMzgsMi4zOCwwLDAsMC0xLjY3LS43NCwyLjQ4LDIuNDgsMCwwLDAtMS42OS43NEwxLjEsNC4yN0EzLjYsMy42LDAsMCwwLDAsNi41NmE5LDksMCwwLDAsLjYzLDMuNjksMjEuMzgsMjEuMzgsMCwwLDAsMy44Miw2LjM2LDIzLjU3LDIzLjU3LDAsMCwwLDcuODIsNi4xQTEyLDEyLDAsMCwwLDE2LjY5LDI0SDE3YTMuNzIsMy43MiwwLDAsMCwyLjg2LTEuMjRsMCwwYTkuMDgsOS4wOCwwLDAsMSwuODctLjg5LDUsNSwwLDAsMCwuNjYtLjY0Wm0tMS41OC0uMzVhMTMsMTMsMCwwLDAtMSwxLDIuMzUsMi4zNSwwLDAsMS0xLjg4Ljc5aC0uMjNhMTEuNjcsMTEuNjcsMCwwLDEtMy45MS0xLjE4LDIyLjIzLDIyLjIzLDAsMCwxLTcuMzUtNS43MywyMC40LDIwLjQsMCwwLDEtMy42LTUuOTQsNi44Nyw2Ljg3LDAsMCwxLS41NS0zLjEsMi4zNiwyLjM2LDAsMCwxLC42OS0xLjQ3TDMuNzYsMy41NGExLjA4LDEuMDgsMCwwLDEsLjc2LS4zNywxLjExLDEuMTEsMCwwLDEsLjc3LjM3Yy4zMi4yOS41OC41OC45Ljg5bC40Ny40N0w4LDYuMjRhMS4xOCwxLjE4LDAsMCwxLC40Ljc5LDEuMTQsMS4xNCwwLDAsMS0uNC43OWwtLjQyLjQyYy0uNDMuNDItLjgyLjgyLTEuMjQsMS4yMWwwLDBhMSwxLDAsMCwwLS4yNywxLjFzMCwwLDAsLjA1YTEwLjI0LDEwLjI0LDAsMCwwLDEuNjEsMi42LDE4LjI1LDE4LjI1LDAsMCwwLDQuNDIsNGMuMjEuMTMuNDIuMjMuNjEuMzRzLjM0LjE4LjUuMjYsMCwwLDAsMGExLDEsMCwwLDAsMS4yMi0uMjFsMS43MS0xLjcxYTEuMTcsMS4xNywwLDAsMSwuNzctLjM3LDEuMTUsMS4xNSwwLDAsMSwuNzQuMzdsMi43NSwyLjczYTEsMSwwLDAsMSwwLDEuNTgsNS4zOCw1LjM4LDAsMCwxLS41OC42Wk0xMi4yNCw1LjA4QS42NS42NSwwLDAsMSwxMyw0LjU0YTcuNTYsNy41NiwwLDAsMSw0LjIzLDIuMjJBOC4wOCw4LjA4LDAsMCwxLDE5LjQ2LDExYS42Ni42NiwwLDAsMS0uNTMuNzhoLS4xMWEuNy43LDAsMCwxLS42OC0uNTZBNi4yNyw2LjI3LDAsMCwwLDE2LjMxLDcuN2E2LjY2LDYuNjYsMCwwLDAtMy41LTEuODQuNjQuNjQsMCwwLDEtLjU3LS43OFptMTAuNDQsNS43YTExLjY2LDExLjY2LDAsMCwwLTMuMjItNi4yMywxMS41MiwxMS41MiwwLDAsMC02LjIzLTMuMjIuNjQuNjQsMCwwLDEtLjU0LS43OEEuNjUuNjUsMCwwLDEsMTMuNDcsMCwxMi42MiwxMi42MiwwLDAsMSwyMC40LDMuNTlhMTIuNzQsMTIuNzQsMCwwLDEsMy41OSw3LC42Ny42NywwLDAsMS0uNTMuNzhoLS4xMWEuNjQuNjQsMCwwLDEtLjY3LS41NFonIC8lM0UlM0Mvc3ZnJTNFXCIpO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiA0cHg7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdH1cclxuXHJcblx0LmhlYWRlcl9fY2FsbFRleHQsIC5oZWFkZXJfX2NhbGxMaW5rIHtcclxuXHRcdGNvbG9yOiAjM2U0MDk2O1xyXG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdENUQVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uaGVhZGVyX19jdGEge1xyXG5cdGZvbnQtc2l6ZTogMDtcclxuXHRtYXJnaW4tYm90dG9tOiAyOHB4O1xyXG5cclxuXHQuYnV0dG9uIHtcclxuXHRcdCsgLmJ1dHRvbiB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHQuaGVhZGVyX19jdGEge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHJcblx0XHQuYnV0dG9uIHtcclxuXHRcdFx0KyAuYnV0dG9uIHtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogMjVweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdFN1Yk1lbnVcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnN1Yk5hdiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gICAgLnN1Yk5hdl9faXRlbSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICArIC5zdWJOYXZfX2l0ZW0ge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnN1Yk5hdl9fbGluayB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI7XHJcbiAgICAgICAgY29sb3I6ICRicmFuZC1zZWNvbmRhcnk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdWJOYXYge1xyXG4gICAgYSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAuNXJlbTtcclxuICAgICAgICAgICAgbGVmdDogMjRweDtcclxuICAgICAgICAgICAgdG9wOiA4cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMS41cmVtO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjM1cyBlYXNlLW91dDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2Utb3V0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNoZWNrb3V0X19pY29uIHtcclxuICAgIGEge1xyXG4gICAgICAgLyogcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogLTI1cHg7XHJcbiAgICAgICAgbGVmdDogMTAwcHg7Ki9cclxuICAgIH1cclxufVxyXG5cclxuLmhlYWRlcl9fc2lnbm91dCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgJiA6aG92ZXIge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLmxvZ29uLXBhc3N3b3JkLXJldHJpZXZhbC1yZXN1bHQge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG5cclxuLnNpZ25vdXRCdXR0b24ge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvaW1nL2ljb25zL3NpZ24tb3V0LnBuZycpO1xyXG4gICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHA6Ly96dXJiLmNvbS91bml2ZXJzaXR5L2Fzc2V0cy96dXJid2lyZWQyMDE2LXdlYi1iYW5uZXItYTk1ZTVkMTcyNjRlMzYxN2EyYWU0ZjM0ZTg0Zjk3M2IuZ2lmJyk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLTIxcHg7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBoZWlnaHQ6IDI2cHg7XHJcbiAgICB3aWR0aDogMTA1cHg7XHJcbiAgICBmb250LXNpemU6IDBweDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbn1cclxuXHJcbi5SZWdpc3RlckJ1dHRvbiB7XHJcbiAgICBAZXh0ZW5kIC5idXR0b247XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMnB4IWltcG9ydGFudDtcclxuICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG59XHJcblxyXG4uYXJ0aWNsZV9fY29udGVudCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLnN1Yk5hdiB7XHJcbiAgICAgICAgLnN1Yk5hdl9faXRlbSB7XHJcbiAgICAgICAgICAgICsgLnN1Yk5hdl9faXRlbSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHQuc3ViTmF2IHtcclxuXHRcdC5zdWJOYXZfX2xpbmsge1xyXG5cdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHR9XHJcbiAgICAgICAgLnN1Yk5hdl9faXRlbSB7XHJcblx0XHQrIC5zdWJOYXZfX2l0ZW0ge1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogMTVweDtcclxuXHRcdCAgICB9XHJcblx0ICAgIH1cclxuXHR9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgLnN1Yk5hdiB7XHJcbiAgICAgICAgLnN1Yk5hdl9faXRlbSB7XHJcbiAgICAgICAgICAgICsgLnN1Yk5hdl9faXRlbSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdFNlYXJjaFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uaGVhZGVyX19zZWFyY2gge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRtYXJnaW4tdG9wOiAtM3B4O1xyXG5cdGZsb2F0OiByaWdodDtcclxuXHJcblx0LmhlYWRlcl9fc2VhcmNoT3BlbiwgLmhlYWRlcl9fc2VhcmNoQ2xvc2Uge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0Zm9udC1zaXplOiAwO1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdHdpZHRoOiAyOHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDI4cHg7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAxMnB4O1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmhlYWRlcl9fc2VhcmNoT3BlbjphZnRlciB7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI4JyBoZWlnaHQ9JzI4JyB2aWV3Qm94PScwIDAgMjggMjgnJTNFJTNDcGF0aCBmaWxsPSdcIiArIHN0ci1yZXBsYWNlKCcjeyRicmFuZC1wcmltYXJ5fScsICcjJywgJyUyMycpICsgXCInIHN0cm9rZT0ndHJhbnNwYXJlbnQnIHN0cm9rZS13aWR0aD0nMCcgZD0nTTI4LDI1Ljg1QTIuMTksMi4xOSwwLDAsMSwyNS44NSwyOGEyLDIsMCwwLDEtMS41Mi0uNjRsLTUuNzctNS43NWExMS41MywxMS41MywwLDAsMS02LjcxLDIuMDgsMTEuNzIsMTEuNzIsMCwwLDEtNC42MS0uOTMsMTEuODMsMTEuODMsMCwwLDEtMy43OC0yLjUzQTEyLDEyLDAsMCwxLC45MywxNi40NWExMS44NywxMS44NywwLDAsMSwwLTkuMjFBMTEuNywxMS43LDAsMCwxLDcuMjQuOTNhMTEuODcsMTEuODcsMCwwLDEsOS4yMSwwLDEyLDEyLDAsMCwxLDMuNzgsMi41MywxMS44MywxMS44MywwLDAsMSwyLjUzLDMuNzgsMTEuNzIsMTEuNzIsMCwwLDEsLjkzLDQuNjEsMTEuNTMsMTEuNTMsMCwwLDEtMi4wOCw2LjcxbDUuNzcsNS43N0EyLjA5LDIuMDksMCwwLDEsMjgsMjUuODVabS04LjYyLTE0YTcuMjUsNy4yNSwwLDAsMC0yLjIxLTUuMzMsNy4yNyw3LjI3LDAsMCwwLTUuMzItMi4yMUE3LjI3LDcuMjcsMCwwLDAsNi41Miw2LjUyYTcuMjksNy4yOSwwLDAsMC0yLjIxLDUuMzMsNy4yNyw3LjI3LDAsMCwwLDIuMjEsNS4zMiw3LjIzLDcuMjMsMCwwLDAsNS4zMywyLjIxLDcuMjMsNy4yMywwLDAsMCw1LjMyLTIuMjEsNy4yMyw3LjIzLDAsMCwwLDIuMjEtNS4zMlonIC8lM0UlM0Mvc3ZnJTNFXCIpO1xyXG5cdH1cclxuXHJcblx0LmhlYWRlcl9fc2VhcmNoQ2xvc2Uge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOCcgaGVpZ2h0PScyOCcgdmlld0JveD0nMCAwIDY0IDY0JyUzRSUzQ3BhdGggZmlsbD0nXCIgKyBzdHItcmVwbGFjZSgnI3skYnJhbmQtcHJpbWFyeX0nLCAnIycsICclMjMnKSArIFwiJyBzdHJva2U9J3RyYW5zcGFyZW50JyBzdHJva2Utd2lkdGg9JzAnIHN0eWxlPScnIGQ9J00zNi44MDMzMDA5LDMxLjU2MDY2MDIgTDU1LjEyMTMyMDMsNDkuODc4Njc5NyBMNTAuODc4Njc5Nyw1NC4xMjEzMjAzIEwzMi41NjA2NjAyLDM1LjgwMzMwMDkgTDE0LjI0MjY0MDcsNTQuMTIxMzIwMyBMMTAsNDkuODc4Njc5NyBMMjguMzE4MDE5NSwzMS41NjA2NjAyIEwxMCwxMy4yNDI2NDA3IEwxNC4yNDI2NDA3LDkgTDMyLjU2MDY2MDIsMjcuMzE4MDE5NSBMNTAuODc4Njc5Nyw5IEw1NS4xMjEzMjAzLDEzLjI0MjY0MDcgTDM2LjgwMzMwMDksMzEuNTYwNjYwMiBaJyAvJTNFJTNDL3N2ZyUzRVwiKTtcclxuXHRcdFx0bWFyZ2luLXRvcDogNnB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5oZWFkZXJfX3NlYXJjaFRleHQge1xyXG5cdFx0XHRjb2xvcjogJGJyYW5kLXByaW1hcnk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaGVhZGVyX19zZWFyY2hUZXh0IHtcclxuXHRcdGZvbnQtc2l6ZTogMjZweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA4MDA7XHJcblx0XHRsaW5lLWhlaWdodDogMS4yNTtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAtMC41cHg7XHJcblx0XHRjb2xvcjogJGJyYW5kLXNlY29uZGFyeTtcclxuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdC5oZWFkZXJfX3NlYXJjaCB7XHJcblx0XHRtYXJnaW4tdG9wOiAtNXB4O1xyXG5cclxuXHRcdC5oZWFkZXJfX3NlYXJjaFRleHQge1xyXG5cdFx0XHRmb250LXNpemU6IDMycHg7XHJcblx0XHR9XHJcblx0fVxyXG59Iiwi77u/XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRGb290ZXJcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbmZvb3RlciB7XHJcblx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjc1O1xyXG5cdGNvbG9yOiAkZm9vdGVyLXRleHQtY29sb3I7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmctdG9wOiAzNHB4O1xyXG5cdHBhZGRpbmctYm90dG9tOiAzNXB4O1xyXG5cdGJvcmRlci10b3A6IDRweCBzb2xpZCAjNzJkY2Q0O1xyXG5cclxuXHJcblx0LmZvb3Rlcl9fbGlua0l0ZW0ge1xyXG5cdFx0KyAuZm9vdGVyX19saW5rSXRlbSB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDVweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5mb290ZXJfX2xpbmsge1xyXG5cdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xyXG5cclxuXHRcdCY6aG92ZXIsICY6Zm9jdXMge1xyXG5cdFx0XHRjb2xvcjogJHRleHQtY29sb3I7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRmb290ZXIge1xyXG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdHBhZGRpbmctdG9wOiA3OHB4O1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDI5cHg7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRTb2NpYWxcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuZm9vdGVyIHtcclxuXHQuZm9vdGVyX19zb2NpYWxUaXRsZSB7XHJcblx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRmb250LXdlaWdodDogODAwO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjZweDtcclxuXHR9XHJcblxyXG5cdC5mb290ZXJfX3NvY2lhbExpc3Qge1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNDdweDtcclxuXHR9XHJcblxyXG5cdC5mb290ZXJfX3NvY2lhbEl0ZW0ge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0bWFyZ2luOiAwIDEzcHg7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdH1cclxuXHJcblx0LmZvb3Rlcl9fc29jaWFsTGluayB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHdpZHRoOiA0OHB4O1xyXG5cdFx0aGVpZ2h0OiA0OHB4O1xyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdGZvb3RlciB7XHJcblx0XHQuZm9vdGVyX19zb2NpYWxMaXN0IHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogNzNweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdEltYWdlXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbmZvb3RlciB7XHJcblx0LmZvb3Rlcl9faW1nIHtcclxuXHRcdG1hcmdpbjogMCBhdXRvIDQ0cHg7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRCb3hcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuZm9vdGVyIHtcclxuXHQuZm9vdGVyX19ib3gge1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuNzg7XHJcblx0XHRtYXJnaW46IDEzcHggMCAzMnB4O1xyXG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdH1cclxuXHJcblxyXG5cdC5mb290ZXJfX2JveFRpdGxlIHtcclxuXHRcdGNvbG9yOiAkZm9vdGVyLWhlYWRpbmctY29sb3I7XHJcblx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHR9XHJcblxyXG5cdC5mb290ZXJfX2JveEltZyB7XHJcblx0XHRtYXJnaW4tdG9wOiAxM3B4O1xyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgZm9vdGVyIHtcclxuICAgICAgICAuZm9vdGVyX19ib3gge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubWVhbF9fbG9nbyB7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC0zNTNweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IC0xMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgIGZvb3RlciB7XHJcbiAgICAgICAgLm1lYWxfX2xvZ28ge1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwcHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdEJhc2VsaW5lXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbmZvb3RlciB7XHJcblx0LmZvb3Rlcl9fYmFzZUxpbmUge1xyXG5cdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDI7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRtYXJnaW4tdG9wOiAxNHB4O1xyXG5cclxuICAgICAgICAuZm9vdGVyX19jb3B5IHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgIH1cclxuXHJcblx0XHQuZm9vdGVyX19saW5rcyB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0LmZvb3Rlcl9fbGlua0l0ZW0ge1xyXG5cdFx0XHRtYXJnaW46IDAgOHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRmb290ZXIge1xyXG5cdFx0LmZvb3Rlcl9fYmFzZUxpbmUge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiA2MHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgZm9vdGVyIHtcclxuICAgICAgICAuZm9vdGVyX19iYXNlTGluZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDk2cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuXHJcbiAgICAgICAgICAgIC5mb290ZXJfX2xpbmsge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZ29vZy10ZS1nYWRnZXQtc2ltcGxlIHtcclxuICAgIHBhZGRpbmc6IDZweCA2cHggIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2Q1ZDVkNTtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDVkNWQ1O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNWQ1ZDU7XHJcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDVkNWQ1O1xyXG59XHJcbi5nb29nLXRlLW1lbnUtdmFsdWUge1xyXG4gICAgZm9udC1zaXplOiAxOHB4XHJcbn1cclxuXHJcbiNnb29nbGVfdHJhbnNsYXRlX2VsZW1lbnQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxufSIsIu+7v1xyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcblx0U2VhcmNoXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uc2VhcmNoIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTAwJTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM3MmRjZDQ7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgei1pbmRleDogNTAxMDtcclxuXHJcbiAgICAuc2VhcmNoX19ib3gge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiAzNXB4IDE2NXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zZWFyY2hfX3Rlcm0ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogIzlkZjFlYTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICM5ZGYxZWE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjOWRmMWVhO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNlYXJjaF9fYnV0dG9uIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjVweDtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb24tc3BlZWQgbGluZWFyO1xyXG5cclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDI4cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjhweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOCcgaGVpZ2h0PScyOCcgdmlld0JveD0nMCAwIDI4IDI4JyUzRSUzQ3BhdGggZmlsbD0nXCIgKyBzdHItcmVwbGFjZSgnI2ZmZicsICcjJywgJyUyMycpICsgXCInIHN0cm9rZT0ndHJhbnNwYXJlbnQnIHN0cm9rZS13aWR0aD0nMCcgZD0nTTI4LDI1Ljg1QTIuMTksMi4xOSwwLDAsMSwyNS44NSwyOGEyLDIsMCwwLDEtMS41Mi0uNjRsLTUuNzctNS43NWExMS41MywxMS41MywwLDAsMS02LjcxLDIuMDgsMTEuNzIsMTEuNzIsMCwwLDEtNC42MS0uOTMsMTEuODMsMTEuODMsMCwwLDEtMy43OC0yLjUzQTEyLDEyLDAsMCwxLC45MywxNi40NWExMS44NywxMS44NywwLDAsMSwwLTkuMjFBMTEuNywxMS43LDAsMCwxLDcuMjQuOTNhMTEuODcsMTEuODcsMCwwLDEsOS4yMSwwLDEyLDEyLDAsMCwxLDMuNzgsMi41MywxMS44MywxMS44MywwLDAsMSwyLjUzLDMuNzgsMTEuNzIsMTEuNzIsMCwwLDEsLjkzLDQuNjEsMTEuNTMsMTEuNTMsMCwwLDEtMi4wOCw2LjcxbDUuNzcsNS43N0EyLjA5LDIuMDksMCwwLDEsMjgsMjUuODVabS04LjYyLTE0YTcuMjUsNy4yNSwwLDAsMC0yLjIxLTUuMzMsNy4yNyw3LjI3LDAsMCwwLTUuMzItMi4yMUE3LjI3LDcuMjcsMCwwLDAsNi41Miw2LjUyYTcuMjksNy4yOSwwLDAsMC0yLjIxLDUuMzMsNy4yNyw3LjI3LDAsMCwwLDIuMjEsNS4zMiw3LjIzLDcuMjMsMCwwLDAsNS4zMywyLjIxLDcuMjMsNy4yMywwLDAsMCw1LjMyLTIuMjEsNy4yMyw3LjIzLDAsMCwwLDIuMjEtNS4zMlonIC8lM0UlM0Mvc3ZnJTNFXCIpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLThweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC42O1xyXG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIu+7v1xyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcblx0SGVyb1xyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmhlcm8ge1xyXG5cdHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG5cclxuXHQuaGVyb19faW1nIHtcclxuXHRcdGhlaWdodDogMDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG5cdFx0cGFkZGluZy10b3A6IDU2LjIyJTtcclxuXHR9XHJcblxyXG5cdC5oZXJvX19ib3gge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0bWFyZ2luLXRvcDogMjVweDtcclxuXHR9XHJcblxyXG5cdC5oZXJvX19jb250ZW50IHtcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdH1cclxuXHJcblx0Lmhlcm9fX3RpdGxlIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGZvbnQtc2l6ZTogNDBweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA4MDA7XHJcblx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAtMC41cHg7XHJcblx0XHRjb2xvcjogJGJyYW5kLXNlY29uZGFyeTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDEzcHg7XHJcblx0fVxyXG5cclxuXHQuaGVyb19fdGV4dCB7XHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRsaW5lLWhlaWdodDogMS42O1xyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHQuaGVybyB7XHJcblx0XHQuaGVyb19faW1nIHtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Lmhlcm9fX2JveCB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblx0XHRcdHBhZGRpbmc6IDQzcHggMzBweCA4MHB4O1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAtMTAwcHg7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXB4O1xyXG5cdFx0XHRib3gtc2hhZG93OiAwcHggMXB4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5oZXJvX190ZXh0IHtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMzM7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0Lmhlcm8ge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDg3cHg7XHJcblxyXG5cdFx0Lmhlcm9fX2JveCB7XHJcblx0XHRcdG1hcmdpbi10b3A6IC0xNzZweDtcclxuXHRcdH1cclxuXHJcblx0XHQuaGVyb19fY29udGVudCB7XHJcblx0XHRcdG1heC13aWR0aDogOTI4cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Lmhlcm9fX3RpdGxlIHtcclxuXHRcdFx0Zm9udC1zaXplOiA1MHB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMS4xMztcclxuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IC0xcHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDI4cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Lmhlcm9fX3RleHQge1xyXG5cdFx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjMzO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHQuaGVybyB7XHJcblx0XHQuaGVyb19fdGl0bGUge1xyXG5cdFx0XHRmb250LXNpemU6IDY0cHg7XHJcblx0XHR9XHJcblx0fVxyXG59Iiwi77u/XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRDb250ZW50XHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uY29udGVudCB7XHJcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjhweCk7XHJcblxyXG4gICAgaDEsIC5oMSwgaDIsIC5oMiwgaDMsIC5oMywgaDQsIC5oNCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgIH1cclxuXHJcbiAgICBoMiwgLmgyLCBoMywgLmgzLCBoNCwgLmg0IHtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVlbTtcclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgcCwgaW1nIHtcclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgYS5idXR0b24ge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmJ1dHRvbi1maXgge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC5jb250ZW50IHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcclxuXHJcbiAgICAgICAgaDEsIC5oMSwgaDIsIC5oMiwgaDMsIC5oMywgaDQsIC5oNCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM3cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRNb2JpbGUgU2lkZSBOYXZcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLm1vYlNpZGVOYXYge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDZweDtcclxuXHJcbiAgICAubW9iU2lkZU5hdl9fdGl0bGUge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdERlc2t0b3AgU2lkZSBOYXZcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmRza1NpZGVOYXYge1xyXG4gICAgLmRza1NpZGVOYXZfX21lbWJlciB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzM7XHJcbiAgICAgICAgY29sb3I6ICMwMDg3N2M7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5kc2tTaWRlTmF2X19saXN0IHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5kc2tTaWRlTmF2X19pdGVtIHtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc4O1xyXG4gICAgICAgIGNvbG9yOiAjM2FhYjQ4O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLmRza1NpZGVOYXZfX2xpbmsge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzg7XHJcbiAgICAgICAgY29sb3I6ICMyNjI1Mjc7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24tc3BlZWQgbGluZWFyO1xyXG5cclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgY29sb3I6ICMwMGMwYjU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5tYWluLkNvbnRlbnRSZWZyZXNoIHtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuXHJcbiAgICAuaGVyb19faW1nIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiA1MTRweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgLmhlcm9fY29udGVudCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcblxyXG4gICAgICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmhlcm9faW50cm9kdWN0aW9uIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1ODBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmhlcm9fYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuRGFyayB7XHJcbiAgICAgICAgICAgIGgxIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaGVyb19pbnRyb2R1Y3Rpb24ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLmhlcm9fY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE3MHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTcwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRpbGVUaHJlZUFjcm9zcyB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XHJcblxyXG4gICAgICAgIC5jb2x1bW4ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xyXG5cclxuICAgICAgICAgICAgLkltYWdlRGl2IHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDEwMDBweCByZ2JhKDE5NiwgMTk2LCAxOTYsLjgpO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA4Mi4yMSU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNDNEM0QzQ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgICAgIC5UaWxlVGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLkltYWdlRGl2OmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRpbGVGb3VyQWNyb3NzIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XHJcblxyXG4gICAgICAgIC5jb2x1bW4ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XHJcblxyXG4gICAgICAgICAgICAuSW1hZ2VEaXYge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogODIuMzclO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzRDNEM0O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgICAuVGlsZVRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRpbGVDb3B5VW5kZXIge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcclxuXHJcbiAgICAgICAgLmNvbHVtbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcclxuXHJcbiAgICAgICAgICAgIC5JbWFnZURpdiB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA4Mi4zNyU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNDNEM0QzQ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuVGlsZVRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuQ3RhVGlsZVRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDBDMEI1O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLlRpbGVUaXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5DdGFUaWxlVGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLlRpbGVDdGFDb2x1bW4ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMxOHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgLlRpbGVDdGFDb2x1bW4ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAuVGlsZUN0YUNvbHVtbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI2MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50aWxlSWNvbiB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cmVtO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRyZW07XHJcblxyXG4gICAgICAgIC5jb2x1bW4ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzcmVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XHJcblxyXG4gICAgICAgICAgICAuVGlsZUltYWdlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLlRpbGVJbWFnZUhvbGRlciB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5UaWxlVGl0bGUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICM1RjVDNUM7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogN3B4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuVGlsZUNvcHkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICM3MDZDNkM7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogN3B4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAuVGlsZUljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTUlO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1JTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCLvu79cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG5cdEJ1dHRvbnNcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5idXR0b24sIC5BZGRUb0NhcnRCdXR0b24sIC5wYXltZW50LXBhZ2UtY29udGVudCAuYnRuLXByaW1hcnksIC5jaGVja291dEJ1dHRvbk5leHQsIC5wYXltZW50LXBhZ2UtY29udGVudCAuYnRuLWRlZmF1bHQsIC5jb3Vwb24tY29kZXMgLmJ0bi1wcmltYXJ5IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1pbi13aWR0aDogMzI4cHg7XHJcbiAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS4zMjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXByaW1hcnk7XHJcbiAgICBwYWRkaW5nOiA3cHggNTBweCAxMnB4IDIycHg7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBsaW5lYXI7XHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMXB4IDBweCAwcHggcmdiYSgwLDAsMCwwLjEpO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDExcHg7XHJcbiAgICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgd2lkdGg6IDE3cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTYuODknIGhlaWdodD0nMjMuOScgdmlld0JveD0nMCAwIDE2Ljg5IDIzLjknJTNFJTNDcGF0aCBmaWxsPSdcIiArIHN0ci1yZXBsYWNlKCcjZmZmJywgJyMnLCAnJTIzJykgKyBcIicgc3Ryb2tlPSd0cmFuc3BhcmVudCcgc3Ryb2tlLXdpZHRoPScwJyBkPSdNMTYuNzMsMTEuNjQuNjEuMDdBLjQxLjQxLDAsMCwwLC4xMi4xLjM5LjM5LDAsMCwwLC4wNi41OUw3LDEyLC4wNiwyMy4zMWEuMzguMzgsMCwwLDAsLjA3LjQ5LjM1LjM1LDAsMCwwLC4yNi4xLjM0LjM0LDAsMCwwLC4yMi0uMDdMMTYuNzIsMTIuMjdhLjM5LjM5LDAsMCwwLC4xNy0uMzIuMzcuMzcsMCwwLDAtLjE3LS4zMVonIC8lM0UlM0Mvc3ZnJTNFXCIpO1xyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDBweCA0cHggNnB4IDBweCByZ2JhKDAsMCwwLDAuMSk7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgfVxyXG5cclxuICAgICYuYWN0aW9uIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aW9uLWNvbG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgLmJ1dHRvbiwgLkFkZFRvQ2FydEJ1dHRvbiB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5tZWFsY2F0ZWdvcnlidXR0b24ge1xyXG4gICAgICAgIG1pbi13aWR0aDogMjI5cHg7XHJcbiAgICB9XHJcbn1cclxuIiwi77u/XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRQYW5lbHNcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5wYW5lbCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1heC13aWR0aDogJG1vYmlsZS1jb250ZW50LXNpemU7XHJcblx0cGFkZGluZy1ib3R0b206IDI0cHg7XHJcblx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblxyXG5cdC5wYW5lbF9fbGluayB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcblxyXG5cdC5wYW5lbF9faW1nV3JhcCB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0fVxyXG5cclxuXHQucGFuZWxfX2ltZyB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtcHg7XHJcblx0XHR6LWluZGV4OiAyO1xyXG5cclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGhlaWdodDogMDtcclxuXHRcdFx0cGFkZGluZy10b3A6IDc0LjkzOTAyNCU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQucGFuZWxfX2NvbnRlbnQge1xyXG5cdFx0bWFyZ2luLXRvcDogMTVweDtcclxuXHR9XHJcblxyXG5cdC5wYW5lbF9fdGFnIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRjb2xvcjogIzAxODc3YztcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA2cHg7XHJcblx0fVxyXG5cclxuXHQucGFuZWxfX3RpdGxlIHtcclxuXHRcdEBleHRlbmQgLmgyO1xyXG5cdH1cclxuXHJcblx0LnBhbmVsX190ZXh0IHtcclxuXHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcblx0XHRjb2xvcjogJHRleHQtY29sb3I7XHJcblx0XHRtYXJnaW4tdG9wOiAxNnB4O1xyXG5cdH1cclxuXHJcblx0LnBhbmVsX19jdGEge1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0bWFyZ2luLXRvcDogMzBweDtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdC5wYW5lbCB7XHJcblx0XHQucGFuZWxfX3RhZyB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHQucGFuZWwge1xyXG5cdFx0bWF4LXdpZHRoOiBub25lO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNTBweDtcclxuXHJcblx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5wYW5lbF9faW1nV3JhcCB7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0dG9wOiAxMiU7XHJcblx0XHRcdFx0bGVmdDogLTgzJTtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgxMTQsIDIyMCwgMjEyLCAwLjUpO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LnBhbmVsX190YWcge1xyXG5cdFx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjMzO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5wYW5lbF9fdGV4dCB7XHJcblx0XHRcdG1heC13aWR0aDogNTAwcHg7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjRweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMzM7XHJcblx0XHRcdG1hcmdpbi10b3A6IDQ0cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0LnBhbmVsX190ZXh0X2hlcm9faGlkZGVuXHJcblx0XHR7XHJcblx0XHRcdG1heC13aWR0aDogMTAwJTtcclxuXHRcdFx0cGFkZGluZy10b3A6IDMwcHg7XHJcblxyXG5cdFx0fVxyXG5cclxuXHRcdC5wYW5lbF9fY3RhIHtcclxuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRGZWF0dXJlIFBhbmVsXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5wYW5lbC0tZmVhdHVyZSB7XHJcblx0QGV4dGVuZCAucGFuZWw7XHJcblxyXG5cdC5wYW5lbF9fdGl0bGUge1xyXG5cdFx0QGV4dGVuZCAuaDE7XHJcblx0fVxyXG5cclxuXHQucGFuZWxfX3RleHQge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbi5wYW5lbF9fY29udGVudCB7XHJcbiAgICAucGFuZWxfX3RleHQge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGFuZWxfbGVnYWxfY3RhIHtcclxuXHRmb250LXNpemU6IDI0cHg7XHJcblx0bGluZS1oZWlnaHQ6IDEuMzM7XHJcbn1cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRDVEEgUGFuZWxcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnBhbmVsLS1jdGEge1xyXG5cdEBleHRlbmQgLnBhbmVsO1xyXG5cclxuXHQucGFuZWxfX3RhZyB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0LnBhbmVsX190ZXh0IHtcclxuXHRcdGZvbnQtc2l6ZTogMjRweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMHB4KTtcclxuXHRcdGNvbG9yOiAkYnJhbmQtc2Vjb25kYXJ5O1xyXG5cdFx0bWFyZ2luLXRvcDogMTZweDtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQucGFuZWxfX2N0YSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHQucGFuZWwtLWN0YSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdFx0cGFkZGluZy10b3A6IDQwcHg7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMTAwcHg7XHJcblxyXG5cdFx0LnBhbmVsX19pbWdXcmFwIHtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQucGFuZWxfX3RpdGxlIHtcclxuXHRcdFx0bWF4LXdpZHRoOiA1ODBweDtcclxuXHRcdFx0bWFyZ2luLXRvcDogMThweDtcclxuXHRcdH1cclxuXHJcblx0XHQucGFuZWxfX3RleHQge1xyXG5cdFx0XHRmb250LXNpemU6IDMycHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0MHB4KTtcclxuXHRcdFx0bWFyZ2luLXRvcDogMzdweDtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCLvu79cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG5cdENhcmRzXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uY2FyZCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1hcmdpbjogMCBhdXRvIDI0cHg7XHJcblx0Ym94LXNoYWRvdzogMHB4IDFweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHQuY2FyZF9faW1nIHtcclxuXHRcdGhlaWdodDogMDtcclxuXHRcdHBhZGRpbmctdG9wOiA2MCU7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0LmNhcmRfX2NvbnRlbnQge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRcdHBhZGRpbmc6IDEycHggMTZweCAxOHB4O1xyXG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMHB4IDFweCAwcHggMHB4IHJnYmEoMCwwLDAsMC4xKTtcclxuXHR9XHJcblxyXG5cdC5jYXJkX190ZXh0IHtcclxuXHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNHB4KTtcclxuXHRcdGNvbG9yOiAkdGV4dC1jb2xvcjtcclxuXHR9XHJcblxyXG5cdC5jYXJkX190YWcge1xyXG5cdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuNzE7XHJcblx0XHRjb2xvcjogJGxpbmstY29sb3I7XHJcblx0XHRtYXJnaW4tdG9wOiAxcHg7XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdC5jYXJkIHtcclxuXHRcdG1heC13aWR0aDogNTU4cHg7XHJcblx0XHRtYXJnaW46IDAgMjBweCAwIDA7XHJcblx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1weDtcclxuXHJcblx0XHQuY2FyZF9fY29udGVudCB7XHJcblx0XHRcdHBhZGRpbmc6IDE5cHggMzBweCAzNXB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5jYXJkX190YWcge1xyXG5cdFx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjMzO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdC5jYXJkIHtcclxuXHRcdG1heC13aWR0aDogNDUwcHg7XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdC5jYXJkIHtcclxuXHRcdG1heC13aWR0aDogNTU4cHg7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRWaWRlbyBDYXJkXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5jYXJkLS12aWRlbyB7XHJcblx0QGV4dGVuZCAuY2FyZDtcclxuXHJcblx0LmNhcmRfX2ltZyB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRyaWdodDogMDtcclxuXHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzY5JyBoZWlnaHQ9JzY5JyB2aWV3Qm94PScwIDAgNjkgNjknJTNFJTNDcGF0aCBmaWxsPSdcIiArIHN0ci1yZXBsYWNlKCcjZmZmJywgJyMnLCAnJTIzJykgKyBcIicgc3Ryb2tlPSd0cmFuc3BhcmVudCcgc3Ryb2tlLXdpZHRoPScwJyBkPSdNMzQuNSwwQTM0LjUsMzQuNSwwLDEsMCw2OSwzNC41LDM0LjUzLDM0LjUzLDAsMCwwLDM0LjUsMFpNNDUuNjEsMzYuMjQsMjkuMzQsNDcuMDdhMi4xMSwyLjExLDAsMCwxLTMuMjctMS43NVYyMy42OGEyLjEsMi4xLDAsMCwxLDMuMjctMS43NEw0NS42MSwzMi43NmEyLjA5LDIuMDksMCwwLDEsMCwzLjQ4WicgLyUzRSUzQy9zdmclM0VcIik7XHJcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0b3BhY2l0eTogMC45O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdENhcmQgTGlzdFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uY2FyZExpc3Qge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0LmNhcmRMaXN0X190aXRsZSB7XHJcblx0XHRmb250LXNpemU6IDMycHg7XHJcblx0XHRmb250LXdlaWdodDogODAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogLTAuNXB4O1xyXG5cdFx0Y29sb3I6ICRicmFuZC1zZWNvbmRhcnk7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMXB4O1xyXG5cdH1cclxuXHJcblx0LmNhcmRMaXN0X19zbGlkZXJXcmFwcGVyIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR9XHJcblx0XHJcblx0LmNhcmRMaXN0X19jdGEge1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0cGFkZGluZzogMCAxNnB4IDgwcHg7XHJcblxyXG5cdFx0LmJ1dHRvbiB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXgtd2lkdGg6IDM2MHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdC5jYXJkTGlzdCB7XHJcblx0XHQuY2FyZDpudGgtY2hpbGQobis0KSB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdC5jYXJkTGlzdCB7XHJcblx0XHQuY2FyZExpc3RfX3NsaWRlcldyYXBwZXIge1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5zbGljay1kb3RzIHtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogMTZweDtcclxuXHRcdH1cclxuXHJcblx0XHQuY2FyZExpc3RfX2N0YSB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDQ0cHg7XHJcblxyXG5cdFx0XHQuYnV0dG9uIHtcclxuXHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdC5jYXJkTGlzdCB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMTEwcHg7XHJcblxyXG5cdFx0LmNhcmRMaXN0X190aXRsZSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogNTBweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMTM7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiAtMXB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5jYXJkTGlzdF9fY3RhIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRib3R0b206IC0xM3B4O1xyXG5cdFx0XHRsZWZ0OiAxNnB4O1xyXG5cdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdC5jYXJkTGlzdCB7XHJcblx0XHQuY2FyZExpc3RfX3RpdGxlIHtcclxuXHRcdFx0Zm9udC1zaXplOiA2NHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCLvu79cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG5cdFNsaWRlcnNcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdE5hdiBTbGlkZXJcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLm5hdlNsaWRlciB7XHJcbiAgICBtYXgtd2lkdGg6IDE4NTZweDtcclxuICAgIG1hcmdpbjogMCBhdXRvIDI0cHg7XHJcblxyXG4gICAgLm5hdlNsaWRlcl9fdGl0bGUge1xyXG4gICAgICAgIEBleHRlbmQgLmgxO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdlNsaWRlcl9fd3JhcHBlciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGhlaWdodDogMjQzcHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuXHJcbiAgICAubmF2U2xpZGVyX19zY3JvbGwge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogMTg1NnB4O1xyXG4gICAgICAgIGhlaWdodDogMjQwcHg7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgICAgICAgdG91Y2gtYWN0aW9uOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZTbGlkZXJfX3NsaWRlcyB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZTbGlkZXJfX3NsaWRlIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDIxMnB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkYm9yZGVyLXJhZGl1cy1weCAkYm9yZGVyLXJhZGl1cy1weDtcclxuICAgICAgICBib3gtc2hhZG93OiAwcHggMXB4IDNweCAwcHggcmdiYSgwLDAsMCwwLjEpO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdlNsaWRlcl9fbGluayB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdlNsaWRlcl9faW1nIHtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDc5LjI0NTI4MyU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtcHggJGJvcmRlci1yYWRpdXMtcHggMCAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZTbGlkZXJfX2NvbnRlbnQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDcycHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAxcHggMHB4IDBweCByZ2JhKDAsMCwwLDAuMSk7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdlNsaWRlcl9fdGV4dCB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMnB4KTtcclxuICAgICAgICBjb2xvcjogJGJyYW5kLXNlY29uZGFyeTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLm5hdlNsaWRlciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAyMzUycHg7XHJcblxyXG4gICAgICAgIC5uYXZTbGlkZXJfX3dyYXBwZXIge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI5OHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm5hdlNsaWRlcl9fc2Nyb2xsIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIzNTJweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyOTZweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uYXZTbGlkZXJfX3NsaWRlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIyNXB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTZweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uYXZTbGlkZXJfX2NvbnRlbnQge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDg4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubmF2U2xpZGVyX190ZXh0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzJweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHROYXYgU2xpZGVyIFdpdGggU21hbGxlciBUZXh0XHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5uYXZTbGlkZXIge1xyXG5cdCYuc21hbGxUZXh0IHtcclxuXHRcdC5uYXZTbGlkZXJfX3dyYXBwZXIge1xyXG5cdFx0XHRoZWlnaHQ6IDI5OHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5uYXZTbGlkZXJfX3Njcm9sbCB7XHJcblx0XHRcdGhlaWdodDogMjk2cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Lm5hdlNsaWRlcl9fY29udGVudCB7XHJcblx0XHRcdGhlaWdodDogODhweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHQubmF2U2xpZGVyIHtcclxuXHRcdCYuc21hbGxUZXh0IHtcclxuXHRcdFx0Lm5hdlNsaWRlcl9fdGV4dCB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAyMXB4O1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyOXB4KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0U2xpY2sgU2xpZGVyXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcclxuXHRwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4uc2xpY2stZG90cyB7XHJcblx0Ym90dG9tOiAtMThweDtcclxuXHRmb250LXNpemU6IDA7XHJcblxyXG5cdGxpIHtcclxuXHRcdHdpZHRoOiAxOHB4O1xyXG5cdFx0aGVpZ2h0OiAxOHB4O1xyXG5cdFx0bWFyZ2luOiAwIDZweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICM3MmRjZDQ7XHJcblx0XHRvcGFjaXR5OiAwLjQ7XHJcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLXNwZWVkIGxpbmVhciwgb3BhY2l0eSAkdHJhbnNpdGlvbi1zcGVlZCBsaW5lYXI7XHJcblxyXG5cdFx0Ji5zbGljay1hY3RpdmUge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDBjMGI1O1xyXG5cdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0fVxyXG5cclxuXHRcdGJ1dHRvbjpiZWZvcmUge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdC5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiA2MHB4O1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi5zbGljay1zbGlkZSB7XHJcblx0b3BhY2l0eTogMC4zO1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb24tc3BlZWQgbGluZWFyO1xyXG5cclxuXHQmLnNsaWNrLWFjdGl2ZSB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0TmF2IFNsaWRlclxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ubmF2U2xpZGVyIHtcclxuXHJcblxyXG4gICAgLmNhcmRfX2NvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAubmF2U2xpZGVyX19zbGlkZXMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm5hdlNsaWRlcl9fc2xpZGUge1xyXG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwcHggMTZweCAzMHB4IDE2cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgLm5hdlNsaWRlcl9fdGV4dCB7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Iiwi77u/XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRCYW5uZXJzXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRTaWduIFVwXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5zaWdudXAge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1kYXJrO1xyXG5cclxuXHQuc2lnbnVwX19jb250ZW50IHtcclxuXHRcdG1heC13aWR0aDogJG1vYmlsZS1jb250ZW50LXNpemU7XHJcblx0XHRwYWRkaW5nOiA0MHB4IDAgNDhweDtcclxuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cdH1cclxuXHJcblx0LnNpZ251cF9fdGV4dCB7XHJcblx0XHRAZXh0ZW5kIC5oMztcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHR9XHJcblxyXG5cdC5zaWdudXBfX2Zvcm0ge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0bWF4LXdpZHRoOiA2NzBweDtcclxuXHR9XHJcblxyXG5cdC5zaWdudXBfX2VtYWlsIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHRwYWRkaW5nOiAxMHB4IDEwcHggMTJweCA2M3B4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtcHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG5cclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR0b3A6IDE2cHg7XHJcblx0XHRcdGxlZnQ6IDE2cHg7XHJcblx0XHRcdHdpZHRoOiAzNHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDI0cHg7XHJcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzMuMzknIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMy4zOSAyNCclM0UlM0NwYXRoIGZpbGw9J1wiICsgc3RyLXJlcGxhY2UoJyN7JGJyYW5kLXByaW1hcnl9JywgJyMnLCAnJTIzJykgKyBcIicgc3Ryb2tlPSd0cmFuc3BhcmVudCcgc3Ryb2tlLXdpZHRoPScwJyBkPSdNNC4xNywwQTQuMTksNC4xOSwwLDAsMCwwLDQuMTdWMTkuODNBNC4xOSw0LjE5LDAsMCwwLDQuMTcsMjRoMjVhNC4xOSw0LjE5LDAsMCwwLDQuMTctNC4xN1Y0LjE3QTQuMTksNC4xOSwwLDAsMCwyOS4yMiwwWm0wLDIuMDloMjVBMi4wNSwyLjA1LDAsMCwxLDMxLjMsNC4xN1YxOS44M2EyLjA1LDIuMDUsMCwwLDEtMi4wOCwyLjA4aC0yNWEyLjA1LDIuMDUsMCwwLDEtMi4wOC0yLjA4VjQuMTdBMi4wNSwyLjA1LDAsMCwxLDQuMTcsMi4wOVpNNi42Nyw1LjJhMSwxLDAsMCwwLS44OS43QTEsMSwwLDAsMCw2LjA1LDdsNS4yNSw1LjIyTDYuMDgsMTdhMSwxLDAsMSwwLDEuNCwxLjU1bDUuMy00LjgzLDEuNTgsMS41NmEzLjMxLDMuMzEsMCwwLDAsNC42NSwwbDEuNTgtMS41Niw1LjMyLDQuODNhMS4wNywxLjA3LDAsMCwwLC43NS4yNywxLjA4LDEuMDgsMCwwLDAsLjczLS4zNSwxLjA3LDEuMDcsMCwwLDAsLjI3LS43NSwxLDEsMCwwLDAtLjM1LS43MkwyMi4wOCwxMi4yLDI3LjM0LDdhMSwxLDAsMCwwLC4zMy0uNzQsMS4wOSwxLjA5LDAsMCwwLS4zLS43NSwxLjA1LDEuMDUsMCwwLDAtMS41LDBsLTguMzQsOC4yNWExLjQxLDEuNDEsMCwwLDEtMS43LDBMNy41Miw1LjUxYTEsMSwwLDAsMC0uODUtLjMxWicgLyUzRSUzQy9zdmclM0VcIik7XHJcblx0XHR9XHJcblxyXG5cdFx0aW5wdXQge1xyXG5cdFx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDM0cHg7XHJcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0LnNpZ251cCB7XHJcblx0XHQuc2lnbnVwX19mb3JtIHtcclxuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0LnNpZ251cF9fZW1haWwge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuXHRcdFx0aW5wdXQge1xyXG5cdFx0XHRcdHdpZHRoOiAyNzBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5idXR0b24ge1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdGhlaWdodDogNTZweDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzcyZGNkNDtcclxuXHRcdFx0cGFkZGluZzogMTJweCAyMHB4IDE1cHg7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XHJcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XHJcblxyXG5cdFx0XHQmOmJlZm9yZSwgJjphZnRlciB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdC5zaWdudXAge1xyXG5cdFx0LnNpZ251cF9fY29udGVudCB7XHJcblx0XHRcdG1heC13aWR0aDogbm9uZTtcclxuXHRcdFx0cGFkZGluZzogNjZweCAxNnB4IDgwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0LnNpZ251cF9fdGV4dCB7XHJcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHR9XHJcblxyXG5cdFx0LnNpZ251cF9fZm9ybSB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5zaWdudXBfX2VtYWlsIHtcclxuXHRcdFx0aW5wdXQge1xyXG5cdFx0XHRcdHdpZHRoOiAyOTVweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5idXR0b24ge1xyXG5cdFx0XHRwYWRkaW5nOiAxMnB4IDM4cHggMTVweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0RnJpZW5kc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLnBhbmVsLS1idWJibGUge1xyXG5cdEBleHRlbmQgLnBhbmVsLS1jdGE7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cclxuXHQuYnViYmxlX19iYW5uZXIge1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL05zd01lYWxzT25XaGVlbHMvbWFya3VwL2Rpc3QvYXNzZXRzL2ltZy9mcmllbmRzL2ZyaWVuZHMtYmFubmVyLWJhY2tncm91bmQucG5nXCIpO1xyXG5cdFx0bWF4LXdpZHRoOiAxNDAwcHg7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0cGFkZGluZy10b3A6IDQwcHg7XHJcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdH1cclxuXHJcblx0LmJ1YmJsZV9fYmFubmVyLS1pbWFnZUxlZnQge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0aGVpZ2h0OiAyMDBweDtcclxuXHJcblx0XHRpbWcge1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHJpZ2h0OiA1JTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5idWJibGVfX2Jhbm5lci0taW1hZ2Uge1xyXG5cdFx0bWFyZ2luLXRvcDogMzBweDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGhlaWdodDogMjAwcHg7XHJcblxyXG5cdFx0aW1nIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0XHQvKnBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0cmlnaHQ6IDI0JTsqL1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmJ1YmJsZV9fYmFubmVyLS1pbWFnZVJpZ2h0IHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGhlaWdodDogMjAwcHg7XHJcblxyXG5cdFx0aW1nIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRsZWZ0OiA1JTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRDdXBwYSBmb3IgYSBjYXVzZVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uY3VwcGFfY2FyZHMge1xyXG5cdHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG5cclxuXHQuYmFubmVyX19jb250ZW50IHtcclxuXHJcblx0XHQuYmFubmVyX19jYXJkIHtcclxuXHRcdFx0bWFyZ2luOiAxNXB4IDBweDtcclxuXHRcdH1cclxuXHJcblx0XHRhIHtcclxuXHRcdFx0aW1nIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnRpdGxlIHtcclxuXHRcdFx0XHRtYXJnaW46IDE1cHggMXB4O1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRmb250LXNpemU6IDQwcHg7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCLvu79cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG5cdEluZm9ncmFwaGljXHJcblx0XHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5pbmZvZ3JhcGhpYyB7XHJcbiAgICBmb250LXNpemU6IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgLmluZm9ncmFwaGljX190aXRsZSB7XHJcbiAgICAgICAgQGV4dGVuZCAuaDQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmluZm9ncmFwaGljX190aWxlV3JhcCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAzMjhweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byAxNnB4O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pbmZvZ3JhcGhpY19fdGlsZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC8qaGVpZ2h0OiA1MjhweDsqL1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICBwYWRkaW5nOiAycHg7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2VhZjFmYjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1weDtcclxuXHJcbiAgICAgICAgLmluZm9ncmFwaGljX190aXRsZSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pbmZvZ3JhcGhpY19faW1nIHtcclxuICAgICAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiAxNTBweDtcclxuICAgICAgICBtYXJnaW46IDU1cHggMjBweCAwO1xyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmluZm9ncmFwaGljX19jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nOiAzMHB4IDI0cHggNjBweDtcclxuICAgIH1cclxuXHJcbiAgICAuaW5mb2dyYXBoaWNfX3RleHQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xyXG4gICAgfVxyXG5cclxuICAgIC5pbmZvZ3JhcGhpY19fY3RhIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDU2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA1NnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaW5rLWNvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzEuNDknIGhlaWdodD0nMzEuNDknIHZpZXdCb3g9JzAgMCAzMS40OSAzMS40OSclM0UlM0NwYXRoIGZpbGw9J1wiICsgc3RyLXJlcGxhY2UoJyNmZmYnLCAnIycsICclMjMnKSArIFwiJyBzdHJva2U9J3RyYW5zcGFyZW50JyBzdHJva2Utd2lkdGg9JzAnIGQ9J00yMS4yMDUsNS4wMDdjLTAuNDI5LTAuNDQ0LTEuMTQzLTAuNDQ0LTEuNTg3LDBjLTAuNDI5LDAuNDI5LTAuNDI5LDEuMTQzLDAsMS41NzFsOC4wNDcsOC4wNDdIMS4xMTEgIEMwLjQ5MiwxNC42MjYsMCwxNS4xMTgsMCwxNS43MzdjMCwwLjYxOSwwLjQ5MiwxLjEyNywxLjExMSwxLjEyN2gyNi41NTRsLTguMDQ3LDguMDMyYy0wLjQyOSwwLjQ0NC0wLjQyOSwxLjE1OSwwLDEuNTg3ICBjMC40NDQsMC40NDQsMS4xNTksMC40NDQsMS41ODcsMGw5Ljk1Mi05Ljk1MmMwLjQ0NC0wLjQyOSwwLjQ0NC0xLjE0MywwLTEuNTcxTDIxLjIwNSw1LjAwN3onIC8lM0UlM0Mvc3ZnJTNFXCIpO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5ncmlkLXNpemVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCg3NjhweCkge1xyXG5cdC5pbmZvZ3JhcGhpYyB7XHJcblx0XHQuaW5mb2dyYXBoaWNfX3RpbGVXcmFwIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHR3aWR0aDogNTAlO1xyXG5cdFx0XHRtYXgtd2lkdGg6IDU5NnB4O1xyXG5cdFx0XHRwYWRkaW5nOiAwIDE0cHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XHJcblxyXG5cdFx0XHQmOm50aC1jaGlsZChvZGQpIHtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdFx0XHQvKm1hcmdpbi10b3A6IC0yOTdweDsqL1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOm50aC1jaGlsZCgyKSB7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMjk3cHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogODBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpIHtcclxuICAgIC5ncmlkLWl0ZW0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWMhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxufVxyXG4gICAgXHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAuZ3JpZC1zaXplciB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgIH1cclxuXHJcbiAgICAuaW5mb2dyYXBoaWMge1xyXG4gICAgICAgIC5pbmZvZ3JhcGhpY19fdGl0bGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3OHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmluZm9ncmFwaGljX190aWxlV3JhcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjhweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pbmZvZ3JhcGhpY19fdGlsZSB7XHJcbiAgICAgICAgICAgIC8qaGVpZ2h0OiA3NjBweDsqL1xyXG4gICAgICAgICAgICAuaW5mb2dyYXBoaWNfX3RpdGxlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pbmZvZ3JhcGhpY19faW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI4OHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMDhweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pbmZvZ3JhcGhpY19fY29udGVudCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggNDBweCAxMDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pbmZvZ3JhcGhpY19fdGV4dCB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRTdG9yZSBQcm9kdWN0IEluZm9ncmFwaGljIFRpbGVzXHJcblx0XHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4ucHJvZHVjdF9fdGlsZSB7XHJcbiAgICBAZXh0ZW5kIC5pbmZvZ3JhcGhpY19fdGlsZTtcclxuXHJcbiAgICAuaW5mb2dyYXBoaWNfX2ltZyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xyXG4gICAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgIH1cclxuXHJcbiAgICAuaW5mb2dyYXBoaWNfX2NvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHggNDBweCAzMHB4O1xyXG5cclxuICAgICAgICAuaW5mb2dyYXBoaWNfX3RpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgLnByb2R1Y3RfX3RpbGUge1xyXG4gICAgICAgLyogbWF4LXdpZHRoOiAzNTBweDsqL1xyXG5cclxuICAgICAgICAuaW5mb2dyYXBoaWNfX2ltZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xyXG5cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaW5mb2dyYXBoaWNfX2NvbnRlbnQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDMwcHggMzBweDtcclxuXHJcbiAgICAgICAgICAgIC5pbmZvZ3JhcGhpY19fdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5pbmZvZ3JhcGhpY19fdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAvKmhlaWdodDogOTVweDsqL1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAucHJvZHVjdF9fdGlsZSB7XHJcbiAgICAgICAgLyogbWF4LXdpZHRoOiAzNTBweDsqL1xyXG4gICAgICAgIC5pbmZvZ3JhcGhpY19faW1nIHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcm9kdWN0X193cmFwIHtcclxuICAgIEBleHRlbmQgLmluZm9ncmFwaGljX190aWxlV3JhcDtcclxuICAgIG1heC13aWR0aDogMzU4cHg7XHJcbiAgICBwYWRkaW5nOiAwIDE4cHghaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRUaWxlIEh1YiBTdHlsZXNcclxuXHRcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi50aWxlR3JpZC0tb3V0ZXIge1xyXG4gICAgZm9udC1zaXplOiAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIC5ncmlkLWl0ZW0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLnRpbGVHcmlkLS10aWxlV3JhcCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmc6IDBweCAyMHB4O1xyXG4gICAgICAgIG1heC13aWR0aDogNDMwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDBweDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgfVxyXG5cclxuICAgIC50aWxlR3JpZC0tdGlsZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGhlaWdodDogNTI4cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzNDREM0O1xyXG4gICAgICAgIHBhZGRpbmc6IDJweDtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZWFmMWZiO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnRpbGVHcmlkLS10aWxlQWx0IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDMxRjczO1xyXG4gICAgfVxyXG5cclxuICAgIC50aWxlR3JpZEhvbGxvdy0tdGlsZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGhlaWdodDogNDAwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMzM0NEQzQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAudGlsZUdyaWRIb2xsb3ctLXRpbGVBbHQge1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMzFGNzM7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC50aWxlR3JpZC0tY29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZzogMHB4IDIwcHggMjBweCAyMHB4O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBjb2xvcjogI2ZmZlxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAudGlsZUdyaWRIb2xsb3ctLWNvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmc6IDBweDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC50aWxlR3JpZC0tdGl0bGUge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG5cclxuICAgIC50aWxlR3JpZC0tdGV4dCB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnRpbGVHcmlkSG9sbG93LS10aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3R0b206IDBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtaW4taGVpZ2h0OiAxMDZweDtcclxuICAgIH1cclxuXHJcbiAgICAudGlsZUdyaWRIb2xsb3ctLXRpbGUgLnRpbGVHcmlkSG9sbG93LS10aXRsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMzQ0RDNDtcclxuICAgIH1cclxuXHJcbiAgICAudGlsZUdyaWRIb2xsb3ctLXRpbGVBbHQgLnRpbGVHcmlkSG9sbG93LS10aXRsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAzMUY3MztcclxuICAgIH1cclxuXHJcbiAgICAudGlsZUdyaWRIb2xsb3ctLXRleHQge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC50aWxlR3JpZC0tY3RhIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDU2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA1NnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMS40OScgaGVpZ2h0PSczMS40OScgdmlld0JveD0nMCAwIDMxLjQ5IDMxLjQ5JyUzRSUzQ3BhdGggZmlsbD0nXCIgKyBzdHItcmVwbGFjZSgnIzNlNDA5NicsICcjJywgJyUyMycpICsgXCInIHN0cm9rZT0ndHJhbnNwYXJlbnQnIHN0cm9rZS13aWR0aD0nMCcgZD0nTTIxLjIwNSw1LjAwN2MtMC40MjktMC40NDQtMS4xNDMtMC40NDQtMS41ODcsMGMtMC40MjksMC40MjktMC40MjksMS4xNDMsMCwxLjU3MWw4LjA0Nyw4LjA0N0gxLjExMSAgQzAuNDkyLDE0LjYyNiwwLDE1LjExOCwwLDE1LjczN2MwLDAuNjE5LDAuNDkyLDEuMTI3LDEuMTExLDEuMTI3aDI2LjU1NGwtOC4wNDcsOC4wMzJjLTAuNDI5LDAuNDQ0LTAuNDI5LDEuMTU5LDAsMS41ODcgIGMwLjQ0NCwwLjQ0NCwxLjE1OSwwLjQ0NCwxLjU4NywwbDkuOTUyLTkuOTUyYzAuNDQ0LTAuNDI5LDAuNDQ0LTEuMTQzLDAtMS41NzFMMjEuMjA1LDUuMDA3eicgLyUzRSUzQy9zdmclM0VcIik7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAudGlsZUdyaWQtLW91dGVyIHtcclxuICAgICAgICBcclxuICAgICAgICAudGlsZUdyaWQtLXRpbGUge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQ3OHB4O1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbn0iLCLvu79cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG5cdEFydGljbGVzXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uYXJ0aWNsZSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNjJweDtcclxuXHJcbiAgICAuYXJ0aWNsZV9fdGl0bGUsIC5hcnRpY2xlX19jb250ZW50IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDc5MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5hcnRpY2xlX190aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAuYXJ0aWNsZV9fdGFnIHtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIGNvbG9yOiAjMDE4NzdjO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzZweDtcclxuICAgIH1cclxuXHJcbiAgICAuYXJ0aWNsZV9faW1nLCAuYXJ0aWNsZV9fdmlkZW8ge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDU2LjI1JTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTE2cHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTZweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5hcnRpY2xlX19pbWcge1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNTYuMjUlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLmFydGljbGVfX2NvbnRlbnQge1xyXG4gICAgICAgIEBleHRlbmQgLmNvbnRlbnQ7XHJcblxyXG4gICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLmFydGljbGVfX2N0YSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHQuYXJ0aWNsZSB7XHJcblx0XHQuYXJ0aWNsZV9fdGFnIHtcclxuXHRcdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5hcnRpY2xlX19pbWcsIC5hcnRpY2xlX192aWRlbyB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0LmFydGljbGUge1xyXG5cdFx0LmFydGljbGVfX3RpdGxlIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjhweDtcclxuXHRcdH1cclxuXHJcblx0XHQuYXJ0aWNsZV9fdGFnIHtcclxuXHRcdFx0Zm9udC1zaXplOiAyNHB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMS4zMztcclxuXHRcdH1cclxuXHJcblx0XHQuYXJ0aWNsZV9fY29udGVudCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNjtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdFF1b3RlXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5xdW90ZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXNlY29uZGFyeTtcclxuXHRwYWRkaW5nLXRvcDogMzBweDtcclxuXHRwYWRkaW5nLWJvdHRvbTogNTZweDtcclxuXHJcblx0LnF1b3RlX190ZXh0IHtcclxuXHRcdGZvbnQtc2l6ZTogNDBweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRsaW5lLWhlaWdodDogMS4yO1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblxyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMTJweDtcclxuXHRcdFx0cmlnaHQ6IDEwMCU7XHJcblx0XHRcdHdpZHRoOiA3MC41cHg7XHJcblx0XHRcdGhlaWdodDogNDYuNXB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9Jzk0JyBoZWlnaHQ9JzYyJyB2aWV3Qm94PScwIDAgOTQgNjInJTNFJTNDcGF0aCBmaWxsPSdcIiArIHN0ci1yZXBsYWNlKCcjNzJkY2Q0JywgJyMnLCAnJTIzJykgKyBcIicgc3Ryb2tlPSd0cmFuc3BhcmVudCcgc3Ryb2tlLXdpZHRoPScwJyBkPSdNOTEuMDYsNS45QTM1LjIyLDM1LjIyLDAsMCwwLDU5LjE1LDI2LjQyYTE4Ljg1LDE4Ljg1LDAsMCwxLDkuOTEtMi44QTE5LjE5LDE5LjE5LDAsMSwxLDUwLDQyLjgxYzAtLjM4LDAtLjc1LDAtMS4xMmEyLjA5LDIuMDksMCwwLDEsMC0uMzVBNDEuMjQsNDEuMjQsMCwwLDEsOTEuMDYsMCwyLjkzLDIuOTMsMCwwLDEsOTQsMi45NGEyLjkzLDIuOTMsMCwwLDEtMi45NCwzWm0tNTAsMEEzNS4yMiwzNS4yMiwwLDAsMCw5LjE0LDI2LjQzYTE4Ljg2LDE4Ljg2LDAsMCwxLDkuOTItMi44MUExOS4xOSwxOS4xOSwwLDEsMSwwLDQyLjgxYzAtLjM4LDAtLjc1LDAtMS4xMmEyLjA5LDIuMDksMCwwLDEsMC0uMzVBNDEuMjQsNDEuMjQsMCwwLDEsNDEuMDYsMGEzLDMsMCwwLDEsMCw1LjlaJyAvJTNFJTNDL3N2ZyUzRVwiKTtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQucXVvdGVfX3NvdXJjZSB7XHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRsaW5lLWhlaWdodDogMS42O1xyXG5cdFx0Y29sb3I6ICM3NmQ0ZWU7XHJcblx0XHRtYXJnaW4tdG9wOiA5cHg7XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdC5xdW90ZSB7XHJcblx0XHQucXVvdGVfX3RleHQge1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0d2lkdGg6IDk0cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiA2MnB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0UXVvdGUgdGV4dCB3aWRnZXQgd3JhcHBlciBzdHlsZXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnF1b3RlLS1zbWFsbFRleHQge1xyXG5cdC5xdW90ZSB7XHJcblx0XHQucXVvdGVfX3RleHQge1xyXG5cdFx0XHRmb250LXNpemU6IDI4cHg7XHJcblx0XHR9XHJcblx0fVxyXG59Iiwi77u/LlBheW1lbnRDQ0V4cGlyeSB7XHJcbiAgICAuc2VsZWN0IHtcclxuICAgICAgICB3aWR0aDogNDAlO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgfVxyXG5cclxuICAgIC5kYXRlU2VwZXJhdG9yIHtcclxuICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5DYXJ0Q0NQYXltZW50VGFibGUge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuXHJcbiAgICB0aCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG5cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuUGF5bWVudENDViBpbnB1dCB7XHJcbiAgICAgICAgd2lkdGg6IDQwJTtcclxuICAgIH1cclxufVxyXG5cclxuLmNvdXBvbi1jb2RlcyB7XHJcbiAgICAuYnRuIHtcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmJ0bi1wcmltYXJ5IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmJ0bi1kZWZhdWx0IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDBweDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jYXJ0LWNvdXBvbi1jb2RlIHtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRQcm9kdWN0c1xyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnByb2R1Y3QtZmlsdGVyIHtcclxuICAgIC8vIG9wdGlvbmFsIHN0eWxlcyB0byByb3VuZCB0aGUgYnV0dG9uIGdyb3VwIGVkZ2VzXHJcbiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuICAgICAgICAuZmlsdGVyLXNpbXBsZS1idXR0b24uaG9sbG93IHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMXB4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSwgJjpmb2N1cywgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MDAwcHggMCAwIDUwMDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCA1MDAwcHggNTAwMHB4IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubWVhbGNhdGVnb3J5YnV0dG9uOmZpcnN0LWNoaWxkLCAubWVhbGNhdGVnb3J5YnV0dG9uOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tZWFsY2F0ZWdvcnlsaW5rIHtcclxuICAgICAgICBjb2xvcjogIzAzMWY3MztcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLkxpc3RpbmdBZGRUb0NhcnQge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcclxuICAgICAgICBoZWlnaHQ6IDE2MHB4O1xyXG5cclxuICAgICAgICAucHJvZHVjdF9fcXR5IHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbnB1dFt0eXBlPXRleHRdIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW5wdXRbdHlwZT1zdWJtaXRdIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDM4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcbiAgICAucHJvZHVjdC1maWx0ZXIgLkxpc3RpbmdBZGRUb0NhcnQge1xyXG4gICAgICAgIGhlaWdodDogMjcwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAucHJvZHVjdC1maWx0ZXIgLkxpc3RpbmdBZGRUb0NhcnQge1xyXG4gICAgICAgIGhlaWdodDogMjcwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC5wcm9kdWN0LWZpbHRlciAuTGlzdGluZ0FkZFRvQ2FydCB7XHJcbiAgICAgICAgaGVpZ2h0OiAxNjBweDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIG9wdGlvbmFsIHN0eWxlcyB0byByb3VuZCB0aGUgYnV0dG9uIGdyb3VwIGVkZ2VzXHJcbi5idXR0b24tZ3JvdXAucm91bmQge1xyXG4gICAgOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MDAwcHggMCAwIDUwMDBweDtcclxuICAgIH1cclxuXHJcbiAgICA6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCA1MDAwcHggNTAwMHB4IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcm9kdWN0IHtcclxuICAgIG1heC13aWR0aDogJG1vYmlsZS1jb250ZW50LXNpemU7XHJcbiAgICBtYXJnaW4tdG9wOiAyMXB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcclxuXHJcbiAgICAucHJvZHVjdF9fdGl0bGUge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxuICAgIH1cclxuXHJcbiAgICAucHJvZHVjdF9fcHJpY2Uge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMXB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE3cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnByb2R1Y3RfX3F0eSwgLkFkZFRvQ2FydFRleHRCb3gge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XHJcblxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxNDBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2VhZjFmYjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5Vbml0c0xhYmVsIHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAucHJvZHVjdF9fYWRkIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5wcm9kdWN0X19pbWFnZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIH1cclxuXHJcbiAgICAucHJvZHVjdF9fZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzg7XHJcbiAgICAgICAgY29sb3I6ICMzYWFiNDg7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAucHJvZHVjdCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2NXB4O1xyXG5cclxuICAgICAgICAucHJvZHVjdF9fdGl0bGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnByb2R1Y3RfX2FkZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDU3cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucHJvZHVjdF9fdGV4dCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wcm9kdWN0X19pbWFnZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNzBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbnAuZmlyc3RMaW5lIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICBjb2xvcjogIzNlNDA5NjtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5DYXJ0Q29udGVudCB7XHJcbiAgICBhIHtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY29sMSB7XHJcbiAgICB3aWR0aDogMjAlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcbi8qLmNvbDIge1xyXG4gICAgd2lkdGg6IDIwJTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxufSovXHJcbi8qLmNvbDIgLlVuaXRDb3VudEJ1dHRvbiwgI2N0bDAwX0NvbnRlbnRQbGFjZUhvbGRlcjFfcGxjQ29udGVudFpvbmVfbHRfem9uZUNvbnRlbnRfU2hvcHBpbmdDYXJ0Q29udGVudF9zaG9wcGluZ0NhcnRVbmlWaWV3X2N0bDAwX2N0bDAwX2N0bDAwX3VuaXRDb3VudEZvcm1Db250cm9sIHsqL1xyXG4uY29sMiB7XHJcbiAgICB3aWR0aDogMjAlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICAgIGRpdiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICAgICAgICBkaXYge1xyXG4gICAgICAgICAgICB3aWR0aDogNzAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLlVuaXRDb3VudEJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuVW5pdENvdW50Q29udHJvbCB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogNDJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb2wzIHtcclxuICAgIHdpZHRoOiAxNSU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5jb2w0IHtcclxuICAgIHdpZHRoOiAxNSU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5jb2w1IHtcclxuICAgIHdpZHRoOiA1JTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4uQXZhaWxhYmlsaXR5IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbiNmaWVsZF9BY2NvdW50VHlwZSB7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAuY29sMSB7XHJcbiAgICAgICAgd2lkdGg6IDMyJTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi50aW55Qm94IHtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblxyXG4gICAgaDIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xyXG4gICAgfVxyXG5cclxuICAgIGxhYmVsIHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcclxuICAgIH1cclxuXHJcbiAgICAuc2VsZWN0IHtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5JbWFnZUNvbCB7XHJcbiAgICBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uUHJvZHVjdFByaWNlRGV0YWlsTGluayB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uVG90YWxWaWV3ZXIge1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgIGNsZWFyOiBib3RoO1xyXG5cclxuICAgIC5MYWJlbCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcblxyXG4gICAgLlZhbHVlIHtcclxuICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIC5JbWFnZUNvbCB7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCLvu79cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG5cdE1hcFxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0TWFwIEhlYWRlclxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ubWFwSGVhZGVyIHtcclxuXHRwYWRkaW5nLWJvdHRvbTogMzJweDtcclxuXHJcblx0Lm1hcF9fdGl0bGUge1xyXG5cdFx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNHB4KTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRjb2xvcjogIzAwODc3YztcclxuXHRcdG1hcmdpbi1ib3R0b206IDEzcHg7XHJcblx0fVxyXG5cclxuXHQubWFwX19sb2NhdGlvbiwgLm1hcF9kaXN0YW5jZVRpdGxlIHtcclxuXHRcdGZvbnQtc2l6ZTogMjRweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0MHB4KTtcclxuXHRcdGNvbG9yOiAkYnJhbmQtc2Vjb25kYXJ5O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNnB4O1xyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiA1cHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IC0ycHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQubWFwX19sb2NhdGlvbiB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0d2lkdGg6IDEzcHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAyMy40cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5tYXBfZGlzdGFuY2VUaXRsZSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0d2lkdGg6IDI4cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAyOS41cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5tYXBfX3NlYXJjaCB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRtYXgtd2lkdGg6IDQ1MHB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjFweDtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkICM3MmRjZDQ7XHJcblx0XHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0XHQubWFwX19zZWFyY2hGaWVsZCB7XHJcblx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHRcdHBhZGRpbmc6IDZweCAxMHB4IDhweCAxNXB4O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cclxuXHRcdFx0aW5wdXQge1xyXG5cdFx0XHRcdHdpZHRoOiAyOTVweDtcclxuXHRcdFx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAzNHB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdFx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5idXR0b24ge1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdHdpZHRoOiAxMjVweDtcclxuXHRcdFx0aGVpZ2h0OiA1NnB4O1xyXG5cdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdHBhZGRpbmc6IDEycHggMTBweCAxNXB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjNzJkY2Q0O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cclxuXHRcdFx0JjpiZWZvcmUsICY6YWZ0ZXIge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5tYXBfX3N0YXRlIHtcclxuXHRcdG1hcmdpbi10b3A6IDNweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDE5cHg7XHJcblxyXG5cdFx0Lm1hcF9fc3RhdGVMaXN0IHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0XHRtYXJnaW46IDAgMCAwIDlweDtcclxuXHRcdH1cclxuXHJcblx0XHQubWFwX19zdGF0ZUl0ZW0ge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG5cdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRjb250ZW50OiBcInxcIjtcclxuXHRcdFx0XHRwYWRkaW5nOiAwIDhweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0JjpsYXN0LWNoaWxkOmFmdGVyIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Lm1hcF9fc3RhdGVMaW5rIHtcclxuXHRcdFx0Y29sb3I6ICRicmFuZC1wcmltYXJ5O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lm1hcF9fZGlzdGFuY2Uge1xyXG5cdFx0LmZvcm1DYXJkcy0tdGV4dCB7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdH1cclxuXHJcblx0XHRsYWJlbCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDQwcHg7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiAtMC42M3B4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5mb3JtQ2FyZF9fdGV4dCB7XHJcblx0XHRcdGhlaWdodDogNDRweDtcclxuXHRcdH1cclxuXHJcblx0XHRpbnB1dDpjaGVja2VkIHtcclxuXHRcdFx0KyBsYWJlbCB7XHJcblx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogJGFjdGlvbi1jb2xvcjtcclxuXHRcdFx0XHRib3JkZXItY29sb3I6ICRhY3Rpb24tY29sb3I7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0Lm1hcEhlYWRlciB7XHJcblx0XHQubWFwX19zZWFyY2gge1xyXG5cdFx0XHQuYnV0dG9uIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5tYXBfX2Rpc3RhbmNlIHtcclxuXHRcdFx0LmZvcm1DYXJkcy0tdGV4dCB7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdC5tYXBIZWFkZXIge1xyXG5cdFx0Lm1hcF9fdGl0bGUge1xyXG5cdFx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjMzO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5tYXBfX2xvY2F0aW9uLCAubWFwX2Rpc3RhbmNlVGl0bGUge1xyXG5cdFx0XHRmb250LXNpemU6IDMycHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI1O1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxN3B4O1xyXG5cclxuXHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogMTBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5tYXBfX3NlYXJjaCB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG5cdFx0XHQubWFwX19zZWFyY2hGaWVsZCB7XHJcblx0XHRcdFx0cGFkZGluZzogMTBweCAxMHB4IDEycHggMTVweDtcclxuXHJcblx0XHRcdFx0aW5wdXQge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDI5NXB4O1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmJ1dHRvbiB7XHJcblx0XHRcdFx0d2lkdGg6IDEyNXB4O1xyXG5cdFx0XHRcdGhlaWdodDogNTZweDtcclxuXHRcdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdFx0cGFkZGluZzogMTJweCAxMHB4IDE1cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQubWFwX19zdGF0ZSB7XHJcblx0XHRcdC5tYXBfX3N0YXRlSXRlbSB7XHJcblx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAwIDZweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQubWFwX19kaXN0YW5jZSB7XHJcblx0XHRcdGxhYmVsIHtcclxuXHRcdFx0XHRtaW4td2lkdGg6IDEwMHB4O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjRweDtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogNTZweDtcclxuXHRcdFx0XHRsZXR0ZXItc3BhY2luZzogLTAuNzVweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmZvcm1DYXJkX190ZXh0IHtcclxuXHRcdFx0XHRoZWlnaHQ6IDU2cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0Lm1hcEhlYWRlciB7XHJcblx0XHQubWFwX19zdGF0ZSB7XHJcblx0XHRcdC5tYXBfX3N0YXRlSXRlbSB7XHJcblx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAwIDhweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQubWFwX19kaXN0YW5jZSB7XHJcblx0XHRcdGxhYmVsIHtcclxuXHRcdFx0XHRtaW4td2lkdGg6IDExMHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRNYXBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLm1hcFdyYXBwZXIge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuXHJcblx0Lm1hcCB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdC5tYXBXcmFwcGVyIHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiA4MHB4O1xyXG5cclxuXHRcdC5tYXAge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0aGVpZ2h0OiA4NTBweDtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiA2MzRweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdEdvb2dsZSBNYXAgTWFya2Vyc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uZ21NYXJrZXIge1xyXG5cdG1heC13aWR0aDogMjUwcHg7XHJcblx0Zm9udC1mYW1pbHk6IG5ldWUtaGFhcy11bmljYSwgc2Fucy1zZXJpZjtcclxuXHRwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG5cclxuXHQuZ21NYXJrZXJfX3RpdGxlIHtcclxuXHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjY7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA3cHg7XHJcblx0fVxyXG5cclxuXHQuZ21NYXJrZXJfX2NvbnRlbnQge1xyXG5cdFx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuNTtcclxuXHJcblx0XHRhIHtcclxuXHRcdFx0Y29sb3I6ICMwMGMwYjU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRNYXAgUGFuZWxcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLm1hcEluZm9fX2ljb24ge1xyXG5cdG1heC1oZWlnaHQ6IDcwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0cGFkZGluZy1yaWdodDogMTVweDtcclxuXHRoZWlnaHQ6IDQ1cHg7XHJcblx0d2lkdGg6IGF1dG87XHJcbn1cclxuLm1hcEluZm9fX2ljb25zLXdyYXBwZXJcclxue1xyXG5cdHBhZGRpbmctdG9wOiAyMHB4O1xyXG59XHJcbi5tYXBfc2VydmljZXMgLm1hcF9zZXJ2aWNlc19sYWJlbCB7XHJcblx0Zm9udC1zaXplOiAyNHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG5cdC8qcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG5cdHBhZGRpbmctcmlnaHQ6IDEwcHg7Ki9cclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0LyptYXJnaW4tcmlnaHQ6IDE0cHg7Ki9cclxuXHRtYXJnaW4tYm90dG9tOiA4cHg7XHJcblx0LyptYXJnaW4tbGVmdDogMDsqL1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR3aWR0aDogYXV0bztcclxuXHRtaW4td2lkdGg6IDExMHB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0Y29sb3I6ICMyNjI1Mjc7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdC8qYmFja2dyb3VuZDogI2ZmZjsqL1xyXG5cdG1hcmdpbjogMDtcclxuXHRib3JkZXI6IDJweCBzb2xpZCByZ2JhKDExNCwgMjIwLCAyMTIsIDAuNyk7XHJcblx0Ym9yZGVyLXJhZGl1czogMTJweDtcclxuXHRib3gtc2hhZG93OiAwcHggNHB4IDZweCAwcHggcmdiYSgwLDAsMCwwLjEpO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xyXG59XHJcbi5tYXBfc2VydmljZXNfbGFiZWxfQ0hTUCB7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC9OU1dNZWFsc09uV2hlZWxzL21hcmt1cC9zcmMvYXNzZXRzL2ltZy9pY29ucy9maW5kLXVzL0NIU1BsYW5kc2NhcGUucG5nKTtcclxuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdGJhY2tncm91bmQtc2l6ZTogOTUlIGF1dG87XHJcblx0aGVpZ2h0OiA1MHB4ICFpbXBvcnRhbnQ7XHJcblx0d2lkdGg6IDIyNHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLm1hcF9zZXJ2aWNlc19sYWJlbF9ORElTU2VsZk1hbmFnZWQge1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgvTlNXTWVhbHNPbldoZWVscy9tYXJrdXAvc3JjL2Fzc2V0cy9pbWcvaWNvbnMvZmluZC11cy9ORElTc2VsZm1hbmFnZWRsYW5kc2NhcGUucG5nKTtcclxuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdGJhY2tncm91bmQtc2l6ZTogOTUlIGF1dG87XHJcblx0aGVpZ2h0OiA1MHB4ICFpbXBvcnRhbnQ7XHJcblx0d2lkdGg6IDIyN3B4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLm1hcF9zZXJ2aWNlc19sYWJlbF9ORElTIHtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL05TV01lYWxzT25XaGVlbHMvbWFya3VwL3NyYy9hc3NldHMvaW1nL2ljb25zL2ZpbmQtdXMvTkRJU2xhbmRzY2FwZS5wbmcpO1xyXG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0YmFja2dyb3VuZC1zaXplOiA5NSUgYXV0bztcclxuXHRoZWlnaHQ6IDUwcHggIWltcG9ydGFudDtcclxuXHR3aWR0aDogMjI1cHggIWltcG9ydGFudDtcclxufVxyXG4ubWFwX3NlcnZpY2VzX2xhYmVsX0Z1bGxGZWVNZWFscyB7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC9OU1dNZWFsc09uV2hlZWxzL21hcmt1cC9zcmMvYXNzZXRzL2ltZy9pY29ucy9maW5kLXVzL0Z1bGxmZWVsYW5kc2NhcGUucG5nKTtcclxuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdGJhY2tncm91bmQtc2l6ZTogOTUlIGF1dG87XHJcblx0aGVpZ2h0OiA1MHB4ICFpbXBvcnRhbnQ7XHJcblx0d2lkdGg6IDEzMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLm1hcF9zZXJ2aWNlc19sYWJlbF9IQ1Age1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgvTlNXTWVhbHNPbldoZWVscy9tYXJrdXAvc3JjL2Fzc2V0cy9pbWcvaWNvbnMvZmluZC11cy9IQ1BsYW5kc2NhcGUucG5nKTtcclxuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdGJhY2tncm91bmQtc2l6ZTogOTUlIGF1dG87XHJcblx0aGVpZ2h0OiA1MHB4ICFpbXBvcnRhbnQ7XHJcblx0d2lkdGg6IDE3NHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLm1hcF9zZXJ2aWNlc19pbnB1dDpjaGVja2VkIHtcclxuXHQrIGxhYmVsIHtcclxuXHRcdC8qY29sb3I6ICNmZmY7XHJcblx0XHRiYWNrZ3JvdW5kOiAjMDBjMGI1O1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAjMDBjMGI1OyovXHJcblx0XHRib3JkZXItY29sb3I6ICNmZjUzMzg7XHJcblx0fVxyXG59XHJcblxyXG5cdC5tYXBfc2VydmljZXNfaW5wdXQge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHRcdHRvcDogMDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0fVxyXG5cclxuXHQubWFwUGFuZWwge1xyXG5cdFx0bWF4LXdpZHRoOiA2MzRweDtcclxuXHRcdHBhZGRpbmc6IDAgMTVweDtcclxuXHRcdHRvdWNoLWFjdGlvbjogbm9uZTtcclxuXHJcblx0XHRhIHtcclxuXHRcdFx0Y29sb3I6ICRicmFuZC1wcmltYXJ5O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5tYXBQYW5lbF9fdGV4dCB7XHJcblx0XHRcdHBhZGRpbmc6IDE1cHggMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5tYXBTY3JvbGwge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0cGFkZGluZy10b3A6IDEwcHg7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0fVxyXG5cclxuXHQubWFwSW5mb0NhcmRzIHtcclxuXHRcdHRvdWNoLWFjdGlvbjogbm9uZTtcclxuXHJcblx0XHQubWFwSW5mbyB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI0cHgpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0XHRwYWRkaW5nOiAyMnB4IDIwcHggMjhweDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogNXB4O1xyXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjZWFmMWZiO1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCsgLm1hcEluZm8ge1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDE2cHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYuaGlnaGxpZ2h0IHtcclxuXHRcdFx0XHRzdmcgPiBwYXRoIHtcclxuXHRcdFx0XHRcdGZpbGw6ICRicmFuZC1kYXJrO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5tYXBJbmZvX190aXRsZSB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjRweCk7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDE3cHg7XHJcblxyXG5cdFx0XHRzdmcge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQubWFwSW5mb19fY29udGVudCB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDE2cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Lm1hcEluZm9fX2RldGFpbHNDVEEge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0Y29sb3I6ICRicmFuZC1wcmltYXJ5O1xyXG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG5cdFx0XHQubWFwSW5mb19fZGV0YWlsc0NUQS0tY2xvc2Uge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Lm1hcEluZm9fX2xpbmsge1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5tYXBJbmZvX19kZXRhaWxzIHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDE4cHg7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0Lm1hcEluZm9DYXJkcyB7XHJcblx0XHRcdC5tYXBJbmZvIHtcclxuXHRcdFx0XHRwYWRkaW5nOiAyMnB4IDQ4cHggMTdweCA3MHB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQubWFwSW5mb19fdGl0bGUge1xyXG5cdFx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHR0b3A6IDJweDtcclxuXHRcdFx0XHRcdGxlZnQ6IC0zN3B4O1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQubWFwSW5mb19fZGV0YWlsc0NUQSB7XHJcblx0XHRcdFx0Lm1hcEluZm9fX2RldGFpbHNDVEEtLWNsb3NlIHtcclxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHR0b3A6IDVweDtcclxuXHRcdFx0XHRcdFx0bGVmdDogLTM1cHg7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAxOHB4O1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDE4cHg7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTcuNDMgMTcuNDMnIGZpbGw9J1wiICsgc3RyLXJlcGxhY2UoJyN7JGJyYW5kLXByaW1hcnl9JywgJyMnLCAnJTIzJykgKyBcIiclM0UlM0NwYXRoIHN0cm9rZT0ndHJhbnNwYXJlbnQnIHN0cm9rZS13aWR0aD0nMCcgZD0nTTEwLDguNzJsNy4wNy03LjExYS45Mi45MiwwLDAsMCwwLTEuMzMuOTIuOTIsMCwwLDAtMS4zMiwwTDguNzIsNy4zOSwxLjYxLjI4QS45NC45NCwwLDAsMCwuMjgsMS42MUw3LjM2LDguNzIuMjgsMTUuODJhLjk0Ljk0LDAsMCwwLDAsMS4zMywxLDEsMCwwLDAsLjY3LjI4LDEsMSwwLDAsMCwuNjYtLjI4TDguNzIsMTBsNy4xLDcuMTFhLjkzLjkzLDAsMCwwLDEuMzMsMCwuOTIuOTIsMCwwLDAsMC0xLjMzWicgLyUzRSUzQy9zdmclM0VcIik7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lm1hcEluZm9fX2Rvd25sb2FkIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdG9wYWNpdHk6IDEwMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lm1hcEluZm9fX2xpbmssIC5tYXBJbmZvX19kb3dubG9hZCB7XHJcblx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0dG9wOiAzcHg7XHJcblx0XHRcdFx0XHRyaWdodDogLTI5cHg7XHJcblx0XHRcdFx0XHR3aWR0aDogMThweDtcclxuXHRcdFx0XHRcdGhlaWdodDogMThweDtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTcuODEgMTcuODInIGZpbGw9J1wiICsgc3RyLXJlcGxhY2UoJyN7JGJyYW5kLXByaW1hcnl9JywgJyMnLCAnJTIzJykgKyBcIiclM0UlM0NwYXRoIHN0cm9rZT0ndHJhbnNwYXJlbnQnIHN0cm9rZS13aWR0aD0nMCcgZD0nTTE1LjY3LDEuMjdIMTIuMDZhLjYyLjYyLDAsMCwxLS4yMi0uMS42My42MywwLDAsMS0uMjYtLjU0LjQ3LjQ3LDAsMCwxLDAtLjE3LjQuNCwwLDAsMSwuMS0uMThBLjU1LjU1LDAsMCwxLDExLjkuMTEuNjguNjgsMCwwLDEsMTIuMSwwaC4wN3EyLjUxLS4wNiw1LDBoLjA1YS4xOC4xOCwwLDAsMSwuMSwwaC4wOGwuMDkuMDVhLjUzLjUzLDAsMCwxLC4xNC4xMmwuMDUuMDdoMGEuMjYuMjYsMCwwLDEsMCwuMDkuNTYuNTYsMCwwLDEsMCwuMTJoMHYwYS4wOS4wOSwwLDAsMCwwLC4wNWMwLDEuNjcsMCwzLjMzLDAsNWEuMTcuMTcsMCwwLDEsMCwuMDcuNjYuNjYsMCwwLDEtLjA2LjIuNTIuNTIsMCwwLDEtLjE0LjE5LjU2LjU2LDAsMCwxLS4xNS4xLjYzLjYzLDAsMCwxLS42MiwwQS43MS43MSwwLDAsMSwxNi42Niw2YS43Ni43NiwwLDAsMS0uMTEtLjI2VjIuMTVsLTgsOGEuMjQuMjQsMCwwLDEtLjA4LjA2LjQyLjQyLDAsMCwxLS4xNi4wOS40NS40NSwwLDAsMS0uMjMsMCwuNjEuNjEsMCwwLDEtLjUtLjI4LjYxLjYxLDAsMCwxLS4wNy0uMTcuNDEuNDEsMCwwLDEsMC0uMTkuNTkuNTksMCwwLDEsLjA5LS4zMWwuMDktLjEsOC04WicgLyUzRSAlM0NwYXRoIHN0cm9rZT0ndHJhbnNwYXJlbnQnIHN0cm9rZS13aWR0aD0nMCcgZD0nTTguMTIsMS42OWwuMTIsMGEuNjQuNjQsMCwwLDEsLjI5LjE5LjY1LjY1LDAsMCwxLC4xLjE1Ljg0Ljg0LDAsMCwxLDAsLjE3LjYyLjYyLDAsMCwxLS4xNS40OS42NS42NSwwLDAsMS0uMTguMTUuNjIuNjIsMCwwLDEtLjIzLjA3SDYuNzZjLS43LDAtMS40MSwwLTIuMTEsMGExMS4xMSwxMS4xMSwwLDAsMC0xLjE2LjExbC0uMzIuMDZMMywzLjJhMiwyLDAsMCwwLS45LjQzbC0uMTQuMTNhMS45MiwxLjkyLDAsMCwwLS4yOS41LDUuMjcsNS4yNywwLDAsMC0uMTkuNjgsOCw4LDAsMCwwLS4xMiwxYzAsLjU1LS4wNiwxLjExLS4wNywxLjY2czAsMSwwLDEuNXYxLjM1YzAsLjYzLDAsMS4yNiwwLDEuODlzMCwxLjExLjEsMS42NmwuMDYuNDNhMy43MywzLjczLDAsMCwwLC4yLjc4LDEuOTMsMS45MywwLDAsMCwuMzMuNTcsMi4wNywyLjA3LDAsMCwwLDEuMTMuNTdsLjI2LjA2LjMzLjA1YTE2LjM4LDE2LjM4LDAsMCwwLDEuNzEuMTJsMiwwSDguNzRsMS42MywwYy41NCwwLDEuMDgsMCwxLjYzLS4wNy4zMSwwLC42My0uMDcuOTUtLjEzYTMuMTgsMy4xOCwwLDAsMCwuNzctLjI2LDEuNywxLjcsMCwwLDAsLjM5LS4yNywyLjE5LDIuMTksMCwwLDAsLjUzLTEuMDVjMC0uMDcsMC0uMTUsMC0uMjJsLjA2LS4zMmMwLS4xNSwwLS4zMSwwLS40Ni4wNS0uNDkuMDctMSwuMDgtMS40NiwwLS44NiwwLTEuNzEsMC0yLjU3VjkuNjlhLjEzLjEzLDAsMCwwLDAtLjA2QS43OC43OCwwLDAsMSwxNSw5LjQyYS41My41MywwLDAsMSwuMTItLjE0LjYxLjYxLDAsMCwxLC40OS0uMTQuNDguNDgsMCwwLDEsLjE3LDAsLjY0LjY0LDAsMCwxLC4xOS4xMy42Ni42NiwwLDAsMSwuMTYuMzEuNTMuNTMsMCwwLDEsMCwuMTJ2MS4zMWMwLC40MywwLC44NiwwLDEuMjlzMCwuNTgsMCwuODcsMCwuNDYsMCwuNjgsMCwuMjgtLjA1LjQyLDAsLjE5LDAsLjI5YTQuMTgsNC4xOCwwLDAsMS0uNjUsMS43NCwxLjg0LDEuODQsMCwwLDEtLjE3LjIyLDEuOTMsMS45MywwLDAsMS0uMzMuMzEsMi40NCwyLjQ0LDAsMCwxLS41NS4zNSw1LDUsMCwwLDEtMS40MS40MWMtLjM1LjA1LS43MS4wOS0xLjA2LjExcy0uNzQsMC0xLjExLjA1bC0xLjYsMEg3LjM5bC0xLjkyLDBjLS41OCwwLTEuMTcsMC0xLjc2LS4xMWwtLjQtLjA1QTQuMjEsNC4yMSwwLDAsMSwxLjQ3LDE3YTEuODQsMS44NCwwLDAsMS0uMjItLjE3QTIuNTQsMi41NCwwLDAsMSwxLDE2LjUybC0uMTgtLjIzQTQuMzQsNC4zNCwwLDAsMSwuMiwxNC42MmwtLjA2LS40YzAtLjE0LDAtLjI4LS4wNS0uNDJzMC0uNDYsMC0uNjksMC0uNjksMC0xLDAtLjg5LDAtMS4zM1Y5LjA4YzAtLjYsMC0xLjIsMC0xLjc5LDAtLjM0LDAtLjY4LDAtMXMwLS40NS4wNS0uNjhsLjA2LS41MmEyLjc0LDIuNzQsMCwwLDEsMC0uMjhBNCw0LDAsMCwxLC44MywzLjE1LDEuMjQsMS4yNCwwLDAsMSwxLDIuOTNhMS44NywxLjg3LDAsMCwxLC4zMi0uMzEsMi43OCwyLjc4LDAsMCwxLC41OS0uMzdBNC43MSw0LjcxLDAsMCwxLDMuMiwxLjg4Yy4zMSwwLC42Mi0uMDkuOTMtLjExbDEtLjA1Yy40NSwwLC45MSwwLDEuMzcsMEg4LjEyWicgLyUzRSUzQy9zdmclM0VcIik7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0Lm1hcFBhbmVsIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR0b3A6IDA7XHJcblx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMnB4KTtcclxuXHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRcdFx0cGFkZGluZzogMCAxNXB4O1xyXG5cclxuXHRcdFx0Lm1hcFBhbmVsX190ZXh0IHtcclxuXHRcdFx0XHRwYWRkaW5nOiAxNXB4IDIzcHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQubWFwU2Nyb2xsIHtcclxuXHRcdFx0aGVpZ2h0OiA4NTBweDtcclxuXHRcdFx0cGFkZGluZy10b3A6IDEwcHg7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5tYXBJbmZvQ2FyZHMge1xyXG5cdFx0XHRwYWRkaW5nOiA1cHggMjNweCAyMHB4O1xyXG5cclxuXHRcdFx0Lm1hcEluZm9fX3RpdGxlIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMzM7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lm1hcEluZm9fX2xpbmsge1xyXG5cdFx0XHRcdGZsb2F0OiByaWdodDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH0iLCLvu79cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcblx0U2VydmljZXMgQ29tcG9uZW50IFN0eWxpbmdcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4vLyBTcG9uc29yc1xyXG5cclxuLnNwb25zb3JzX3BhbmVsIHtcclxuICAgIG1heC13aWR0aDogMTIwMHB4O1xyXG4gICAgZm9udC1zaXplOiAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgIC8qZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyovXHJcbiAgICAuc3BvbnNvcnNfaW1hZ2Uge1xyXG4gICAgICAgIG1hcmdpbjogMXJlbTtcclxuICAgICAgICB3aWR0aDogMjUwcHg7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLlJlY2lwZUljb25zTGlzdGluZ1xyXG57XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgaW1ne1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgfVxyXG59XHJcbi8vIENhcmRzXHJcbi5zZXJ2aWNlX19jYXJkcyB7XHJcbiAgICBtYXgtd2lkdGg6IDU1MHB4O1xyXG5cclxuICAgIC5zZXJ2aWNlQ2FyZF9fdGl0bGUge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnNlcnZpY2VDYXJkX19jb3B5IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zZXJ2aWNlQ2FyZF9fd3JhcHBlciB7XHJcbiAgICB9XHJcblxyXG4gICAgLnNlcnZpY2VDYXJkX19jYXJkIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIG1heC13aWR0aDogNTg1cHg7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGOUY5RkE7XHJcbiAgICAgICAgLypoZWlnaHQ6IDM4MHB4OyovXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHggMTBweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zZXJ2aWNlQ2FyZF9fdGV4dEFyZWEge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XHJcbiAgICAgICAgbWluLWhlaWdodDogMTY1cHg7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAvKi5zZXJ2aWNlQ2FyZF9fdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgICAgICBjb2xvcjogIzAzMWY3MztcclxuICAgICAgICB9Ki9cclxuICAgICAgICAuc2VydmljZUNhcmRfX2NvcHkge1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6MTAyNHB4KSB7XHJcbiAgICAuc2VydmljZV9fY2FyZHMge1xyXG4gICAgICAgIG1heC13aWR0aDogMTIwMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBNYXBzXHJcblxyXG4uc2VydmljZV9fbWFwIHtcclxuICAgIG1heC13aWR0aDogMTIwMHB4O1xyXG4gICAgLm1hcFBhbmVsIHtcclxuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcclxuICAgIH1cclxufVxyXG5cclxuLnNlcnZpY2VNYXAge1xyXG4gICAgaGVpZ2h0OiA0MDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHggMTBweCAxMHB4IDEwcHg7XHJcbn1cclxuXHJcbi8qLnNlcnZpY2VfX21hcCBpZnJhbWUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcclxufSovXHJcblxyXG4vLyBBY2NlcHRlZCBWb2x1bnRlZXJzXHJcblxyXG4uQWNjZXB0ZWRWb2x1bnRlZXJzIHtcclxuICAgIC5Wb2x1bnRlZXJIb2xkZXIge1xyXG4gICAgICAgIG1hcmdpbjogNTBweCAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLlZvbHVudGVlckhlYWRlciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG5cclxuICAgICAgICAuTWFpblRleHQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIxcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5EZXNjVGV4dCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICB9XHJcblxyXG4gICAgLlZvbHVudGVlckxhYmVsIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4jY3RsMDBfQ29udGVudFBsYWNlSG9sZGVyMV9wbGNab25lc19sdF96b25lQ2VudGVyX1JlcG9ydFRhYmxlX3VjVGFibGVfcmVwb3J0R3JpZFxyXG57XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG5cclxuICAgIHRib2R5IHRyIHRkXHJcbiAgICB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcbiIsIu+7vy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG5cdFRyYWluaW5nIE1vZHVsZXNcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4udHJhaW5pbmctbW9kdWxlIHtcclxuXHJcblx0dGQge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdH1cclxuXHJcblx0YSB7XHJcblx0XHRjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdH1cclxuXHJcblx0bGFiZWwge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDcwcHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdH1cclxuXHJcblx0aW5wdXRbdHlwZT1yYWRpb10ge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHR6LWluZGV4OiAtMTtcclxuXHJcblx0XHQrIDpiZWZvcmUge1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdGxlZnQ6IC03MHB4O1xyXG5cdFx0XHR0b3A6IC02cHg7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0aGVpZ2h0OiA1MHB4O1xyXG5cdFx0XHRtaW4td2lkdGg6IDUwcHg7XHJcblx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0XHRib3JkZXItY29sb3I6ICMwMGMwYjU7XHJcblx0XHRcdGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMTE0LDIyMCwyMTIsLjcpO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMnB4O1xyXG5cdFx0XHRib3gtc2hhZG93OiAwIDRweCA2cHggMCByZ2JhKDAsMCwwLC4xKTtcclxuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6Y2hlY2tlZCB7XHJcblx0XHRcdCsgOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogIzAwYzBiNTtcclxuXHRcdFx0XHRib3JkZXItY29sb3I6ICMwMGMwYjU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHJcblx0LnRyYWluaW5nLW1vZHVsZSB7XHJcblx0XHRoMyB7XHJcblx0XHRcdGZvbnQtc2l6ZTogNDBweDtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCLvu79cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG5cdEZvcm1zXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uZm9ybSB7XHJcblx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNnB4KTtcclxuXHJcblx0LmZvcm1fX3RpdGxlIHtcclxuXHRcdEBleHRlbmQgLmgyO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjVweDtcclxuXHR9XHJcblxyXG5cdC5mb3JtX19zdGVwIHtcclxuXHRcdEBleHRlbmQgLmg0O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHR9XHJcblxyXG5cdC5mb3JtX19jdGEge1xyXG5cdFx0bWFyZ2luLXRvcDogNDBweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDgwcHg7XHJcblx0fVxyXG5cclxuXHRwIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIxcHg7XHJcblx0fVxyXG5cclxuXHRociB7XHJcblx0XHRtYXJnaW46IDQwcHggMCAyMHB4O1xyXG5cdFx0Ym9yZGVyLXdpZHRoOiA0cHg7XHJcblx0XHRib3JkZXItY29sb3I6ICM3NmQ0ZWU7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLmZvcm1fX2RvdWJsZUNvbHVtbiAuZWRpdGluZy1mb3JtLXZhbHVlLWNlbGwge1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjE7XHJcblxyXG5cdFxyXG5cclxuXHRzcGFuLnNyLW9ubHkge1xyXG5cdFx0Y29sb3I6ICMwMGMwYjU7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHR9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHQuZm9ybSB7XHJcblx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMzJweCk7XHJcblxyXG5cdFx0LmZvcm1fX3RpdGxlIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogNDVweDtcclxuXHRcdH1cclxuXHJcblx0XHQuZm9ybV9fc3RlcCB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDIycHg7XHJcblx0XHR9XHJcblxyXG5cdFx0aHIge1xyXG5cdFx0XHRtYXJnaW46IDc2cHggMCA0MHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0QnV0dG9uc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uZm9ybSB7XHJcblx0LmJ1dHRvbiB7XHJcblx0XHR3aWR0aDogMzA5cHg7XHJcblx0XHRmb250LXNpemU6IDMycHg7XHJcblx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuMjU7XHJcblx0XHRwYWRkaW5nOiAxMnB4IDIycHggMTZweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDM0cHg7XHJcblxyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAzNHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRMYWJlbHNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmZvcm0ge1xyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcclxuXHJcbiAgICAgICAgKyAuZm9ybUNhcmRzIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICsgLnNlbGVjdCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHQuZm9ybSB7XHJcblx0XHRsYWJlbCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdElucHV0c1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5AaW1wb3J0IFwiX2lucHV0c1wiO1xyXG5cclxuLmZvcm0ge1xyXG5cdFt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sXHJcblx0W3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLFxyXG5cdFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10ge1xyXG5cdFx0bWF4LXdpZHRoOiA0NDJweDtcclxuXHR9XHJcblxyXG5cdHRleHRhcmVhIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWF4LXdpZHRoOiA2NzNweDtcclxuXHRcdG1pbi1oZWlnaHQ6IDExNnB4O1xyXG5cdH1cclxuXHJcblx0LnNlbGVjdCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0U3BlY2lmaWMgRm9ybXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuQGltcG9ydCBcIl9kb25hdGVGb3JtXCI7XHJcbkBpbXBvcnQgXCJfdm9sdW50ZWVyRm9ybVwiO1xyXG5AaW1wb3J0IFwiX3JlZmVycmFsRm9ybVwiOyIsIu+7v1xyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcblx0SW5wdXRzXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxyXG5bdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sXHJcblt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sIHRleHRhcmVhIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBwYWRkaW5nOiA5cHggMTBweCAxMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogNHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYWYxZmI7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG5cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBbdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxyXG4gICAgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLFxyXG4gICAgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSwgdGV4dGFyZWEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xyXG4gICAgICAgIHBhZGRpbmc6IDlweCAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0Q2hlY2tib3hlc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmNoZWNrYm94IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLXRvcDogNnB4O1xyXG5cclxuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG5cclxuICAgICAgICArIGxhYmVsIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ3cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYWYxZmI7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6Y2hlY2tlZCB7XHJcbiAgICAgICAgICAgICsgbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTEyIDUxMiclM0UlM0NwYXRoIGZpbGw9J1wiICsgc3RyLXJlcGxhY2UoJyN7JGJyYW5kLXByaW1hcnl9JywgJyMnLCAnJTIzJykgKyBcIicgc3Ryb2tlPSd0cmFuc3BhcmVudCcgc3Ryb2tlLXdpZHRoPScwJyBkPSdNMjM1LjEsMzg2LjNjLTUuNywwLTExLjEtMi40LTE0LjktNi42bC0xMDQuMS0xMTZjLTcuNC04LjItNi43LTIwLjksMS41LTI4LjJjOC4yLTcuNCwyMC45LTYuNywyOC4yLDEuNSBsODYuOCw5Ni44bDEzMS42LTE5OS4xYzYuMS05LjIsMTguNS0xMS43LDI3LjctNS43YzkuMiw2LjEsMTEuNywxOC41LDUuNywyNy43TDI1MS44LDM3Ny40Yy0zLjQsNS4yLTksOC41LTE1LjIsOC45IEMyMzYuMSwzODYuMywyMzUuNiwzODYuMywyMzUuMSwzODYuM3onIC8lM0UlM0Mvc3ZnJTNFXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdFNlbGVjdCBCb3hlc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnNlbGVjdC1oaWRkZW4ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5zZWxlY3Qge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogMzcwcHg7XHJcbiAgICBoZWlnaHQ6IDUycHg7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RbZGlzYWJsZWRdIHtcclxuICAgICAgICArIC5zZWxlY3Qtc3R5bGVkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjtcclxuXHJcbiAgICAgICAgICAgICsgLnNlbGVjdC1vcHRpb25zIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNlbGVjdC1zdHlsZWQge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIC8vcGFkZGluZzogOHB4IDExcHggOHB4O1xyXG4gICAgcGFkZGluZzogMTBweCAzMnB4IDEycHggMTVweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYWYxZmI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1weDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW47XHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMTJweDtcclxuICAgICAgICByaWdodDogMTBweDtcclxuICAgICAgICB3aWR0aDogMjVweDtcclxuICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA2NCA2NCclM0UlM0NwYXRoIGZpbGw9J1wiICsgc3RyLXJlcGxhY2UoJyN7JGJyYW5kLXByaW1hcnl9JywgJyMnLCAnJTIzJykgKyBcIicgc3Ryb2tlPSd0cmFuc3BhcmVudCcgc3Ryb2tlLXdpZHRoPScwJyBkPSdNMzYuNzQsNDIuODgsMzIuNSw0Ny4xMyw5Ljg3LDI0LjVsNC4yNC00LjI0TDMyLjUsMzguNjQsNTAuODgsMjAuMjZsNC4yNCw0LjI0WicgLyUzRSUzQy9zdmclM0VcIik7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUsICYuYWN0aXZlIHtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZWxlY3Qtb3B0aW9ucyB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMDAlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWFmMWZiO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtcHg7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgei1pbmRleDogOTk5O1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDE4cHggMTJweDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtlbih0cmFuc3BhcmVudCwgMTApO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluO1xyXG5cclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2VhZjFmYjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhcmstYmc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmW3JlbD1cImhpZGVcIl0ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmVycm9yIHtcclxuICAgIGNvbG9yOiByZWQ7XHJcbn1cclxuXHJcbmlucHV0LmVycm9yIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcclxuICAgIG1hcmdpbi1ib3R0b206IDBweFxyXG59XHJcbi5pbmxpbmUtbW9udGh7XHJcbiAgICBkaXNwbGF5OmlubGluZTtcclxuICAgIHdpZHRoOjYwcHg7XHJcbn1cclxuLmlubGluZS15ZWFyIHtcclxuICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgIHdpZHRoOiA3MHB4O1xyXG59XHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdEZvcm0gQ2FyZHNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5mb3JtQ2FyZHMge1xyXG4gICAgZm9udC1zaXplOiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogM3B4O1xyXG5cclxuICAgIC5mb3JtQ2FyZF9fZ3JvdXAge1xyXG4gICAgICAgIG1heC13aWR0aDogNzYwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm1DYXJkIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcclxuXHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAyNjJweDtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcclxuICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMTE0LCAyMjAsIDIxMiwgMC43KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDBweCA0cHggNnB4IDBweCByZ2JhKDAsMCwwLDAuMSk7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tc3BlZWQgbGluZWFyO1xyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtQ2FyZF9faW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nLXRvcDogODAlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWJnO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm1DYXJkX190ZXh0IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IDY0cHg7XHJcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuXHJcbiAgICAgICAgJjpjaGVja2VkIHtcclxuICAgICAgICAgICAgKyBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMGMwYjU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICMwMGMwYjU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAuZm9ybUNhcmRzIHtcclxuICAgICAgICAuZm9ybUNhcmQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmZvcm1DYXJkX19pbWcge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC5mb3JtQ2FyZHMge1xyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdEZvcm0gQ2FyZHMgLSBUZXh0IE9ubHlcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5mb3JtQ2FyZHMtLXRleHQge1xyXG4gICAgQGV4dGVuZCAuZm9ybUNhcmRzO1xyXG5cclxuICAgIC5mb3JtQ2FyZCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxuICAgIH1cclxuXHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgbWluLXdpZHRoOiAxMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAuZm9ybUNhcmRfX2ltZyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0Rm9ybSBDYXJkcyAtIFRleHQgT25seVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmZvcm1DYXJkcy0tdGV4dCB7XHJcbiAgICBAZXh0ZW5kIC5mb3JtQ2FyZHM7XHJcblxyXG4gICAgdHIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG5cclxuICAgICAgICAgICAgKyBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAvL2JhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDExNCwgMjIwLCAyMTIsIDAuNyk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDRweCA2cHggMHB4IHJnYmEoMCwwLDAsMC4xKTtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tc3BlZWQgbGluZWFyO1xyXG5cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VhZjFmYjtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6Y2hlY2tlZCB7XHJcbiAgICAgICAgICAgICAgICArIGxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDUxMiA1MTInJTNFJTNDcGF0aCBmaWxsPSdcIiArIHN0ci1yZXBsYWNlKCcjeyRicmFuZC1wcmltYXJ5fScsICcjJywgJyUyMycpICsgXCInIHN0cm9rZT0ndHJhbnNwYXJlbnQnIHN0cm9rZS13aWR0aD0nMCcgZD0nTTIzNS4xLDM4Ni4zYy01LjcsMC0xMS4xLTIuNC0xNC45LTYuNmwtMTA0LjEtMTE2Yy03LjQtOC4yLTYuNy0yMC45LDEuNS0yOC4yYzguMi03LjQsMjAuOS02LjcsMjguMiwxLjUgbDg2LjgsOTYuOGwxMzEuNi0xOTkuMWM2LjEtOS4yLDE4LjUtMTEuNywyNy43LTUuN2M5LjIsNi4xLDExLjcsMTguNSw1LjcsMjcuN0wyNTEuOCwzNzcuNGMtMy40LDUuMi05LDguNS0xNS4yLDguOSBDMjM2LjEsMzg2LjMsMjM1LjYsMzg2LjMsMjM1LjEsMzg2LjN6JyAvJTNFJTNDL3N2ZyUzRVwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDBjMGI1O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICMwMGMwYjU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtQ2FyZCB7XHJcbiAgICB9XHJcblxyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIG1pbi13aWR0aDogMTEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm1DYXJkX19pbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdGhlYWRlciBidXR0b25cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiIsIu+7v1xyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcblx0RG9uYXRlIEZvcm1cclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5kb25hdGVGb3JtIHtcclxuXHRtYXgtd2lkdGg6ICRtb2JpbGUtY29udGVudC1zaXplO1xyXG5cdG1hcmdpbjogMCBhdXRvO1xyXG5cclxuXHQuZm9ybV9fc2VjdGlvbiB7XHJcblx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRsaW5lLWhlaWdodDogNDBweDtcclxuXHRcdGNvbG9yOiAkYnJhbmQtc2Vjb25kYXJ5O1xyXG5cdFx0bWFyZ2luLXRvcDogMzRweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDE0cHg7XHJcblxyXG5cdFx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDMwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuZm9ybV9fc2lkZVRleHQge1xyXG5cdFx0Zm9udC1zaXplOiAyOHB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDMycHg7XHJcblx0XHRjb2xvcjogJGJyYW5kLXNlY29uZGFyeTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdG1hcmdpbjogMTRweCAwIDUycHg7XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0LmRvbmF0ZUZvcm0ge1xyXG5cdFx0bWF4LXdpZHRoOiBub25lO1xyXG5cclxuXHRcdC5kb25hdGVGb3JtX190aXRsZSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogNjRweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMTM7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDY4cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0LmZvcm1fX3NlY3Rpb24ge1xyXG5cdFx0XHRmb250LXNpemU6IDMycHg7XHJcblx0XHRcdG1hcmdpbi10b3A6IDQ1cHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDI1cHg7XHJcblxyXG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAtOXB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdC5kb25hdGVGb3JtIHtcclxuXHRcdC5mb3JtX19zaWRlVGV4dCB7XHJcblx0XHRcdG1heC13aWR0aDogODUlO1xyXG5cdFx0XHRmb250LXNpemU6IDMycHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG5cdFx0XHRtYXJnaW46IDIzcHggYXV0bztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdERvbmF0aW9uIEFtb3VudFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uZG9uYXRlRm9ybSB7XHJcblx0LmRvbmF0ZUZvcm1fX2FtdCB7XHJcblx0XHQuZm9ybUNhcmRfX2dyb3VwIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuXHRcdFx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdC8qbWFyZ2luLWxlZnQ6IDE0cHg7Ki9cclxuXHRcdFx0XHQuZm9ybUNhcmQge1xyXG5cdFx0XHRcdFx0LyptYXJnaW4tcmlnaHQ6IDA7Ki9cclxuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKDIpIHtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuZm9ybUNhcmQge1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDE0cHg7XHJcblxyXG5cdFx0XHRsYWJlbCB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMHB4O1xyXG5cdFx0XHRcdG1pbi13aWR0aDogMDtcclxuXHRcdFx0XHRoZWlnaHQ6IDQ4cHg7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDQwcHg7XHJcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IC0xcHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5mb3JtX19kb2xsYXJzaWduIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cdH1cclxuXHJcblx0LmZvcm1fX2RvbGxhcklucHV0IHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHdpZHRoOiA5MCU7XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KDQ4OHB4KSB7XHJcblx0LmRvbmF0ZUZvcm0ge1xyXG5cdFx0LmRvbmF0ZUZvcm1fX2FtdCB7XHJcblx0XHRcdC5mb3JtQ2FyZF9fZ3JvdXAge1xyXG5cclxuXHRcdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHQuZG9uYXRlRm9ybSB7XHJcblx0XHQuZG9uYXRlRm9ybV9fYW10IHtcclxuXHRcdFx0LmZvcm1DYXJkX19ncm91cCB7XHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuXHRcdFx0XHQmOm50aC1jaGlsZCgyKSB7XHJcblx0XHRcdFx0XHQvKm1hcmdpbjogMDsqL1xyXG5cclxuXHRcdFx0XHRcdC5mb3JtQ2FyZCB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMTRweDtcclxuXHJcblx0XHRcdFx0XHRcdCY6bnRoLWNoaWxkKDIpIHtcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5mb3JtQ2FyZCB7XHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxNHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0LmRvbmF0ZUZvcm0ge1xyXG5cdFx0LmRvbmF0ZUZvcm1fX2FtdCB7XHJcblx0XHRcdC5mb3JtQ2FyZCB7XHJcblx0XHRcdFx0bGFiZWwge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEyMHB4O1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiA2NHB4O1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAzMnB4O1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG5cdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IC0xcHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQrIGlucHV0IHtcclxuXHRcdFx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdC5kb25hdGVGb3JtIHtcclxuXHRcdC5kb25hdGVGb3JtX19hbXQge1xyXG5cdFx0XHQuZm9ybUNhcmRfX2dyb3VwIHtcclxuXHRcdFx0XHQmOm50aC1jaGlsZCgyKSB7XHJcblx0XHRcdFx0XHQuZm9ybUNhcmQge1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuZm9ybUNhcmQge1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcclxuXHJcblx0XHRcdFx0bGFiZWwge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDE0MHB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0RG9uYXRpb24gVHlwZVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uZG9uYXRlRm9ybSB7XHJcblx0LmRvbmF0ZUZvcm1fX3R5cGUge1xyXG5cdFx0bGFiZWwge1xyXG5cdFx0XHR3aWR0aDogMTU2cHg7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiAtMC42M3B4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdC5kb25hdGVGb3JtIHtcclxuXHRcdC5kb25hdGVGb3JtX190eXBlIHtcclxuXHRcdFx0LmZvcm1DYXJkIHtcclxuXHRcdFx0XHRsYWJlbCB7XHJcblx0XHRcdFx0XHR3aWR0aDogMTQwcHg7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDY0cHg7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IC0wLjc1cHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHQuZG9uYXRlRm9ybSB7XHJcblx0XHQuZG9uYXRlRm9ybV9fdHlwZSB7XHJcblx0XHRcdC5mb3JtQ2FyZF9fZ3JvdXAge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmZvcm1DYXJkIHtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcblxyXG5cdFx0XHRcdGxhYmVsIHtcclxuXHRcdFx0XHRcdHdpZHRoOiAxNDBweDtcclxuXHRcdFx0XHRcdGhlaWdodDogNjRweDtcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogLTAuNzVweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdFBheW1lbnQgVGFic1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ucGF5bWVudFRhYnMge1xyXG5cdC5mb3JtX19wYXlMb2dvcyB7XHJcblx0XHRmb250LXNpemU6IDA7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0bWFyZ2luOiAwIDE0cHg7XHJcblxyXG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdG1hcmdpbjogMCAxcHg7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnRhYnMge1xyXG5cdFx0bWFyZ2luLXRvcDogN3B4O1xyXG5cdH1cclxuXHJcblx0LnRhYnMsIC50YWJzLWNvbnRlbnQge1xyXG5cdFx0Ym9yZGVyOiBub25lO1xyXG5cdH1cclxuXHJcblx0LnRhYnMtdGl0bGUge1xyXG5cdFx0YSB7XHJcblx0XHRcdHdpZHRoOiAxNTZweDtcclxuXHRcdFx0aGVpZ2h0OiA2NHB4O1xyXG5cdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG5cdFx0XHRsZXR0ZXItc3BhY2luZzogLTAuNjNweDtcclxuXHRcdFx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdG1hcmdpbjogMCAwIDE2cHggMDtcclxuXHRcdFx0Ym9yZGVyOiAycHggc29saWQgcmdiYSgxMTQsIDIyMCwgMjEyLCAwLjcpO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMnB4O1xyXG5cdFx0XHRib3gtc2hhZG93OiAwcHggNHB4IDZweCAwcHggcmdiYSgwLDAsMCwwLjEpO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tc3BlZWQgbGluZWFyO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6bnRoLWNoaWxkKG9kZCkge1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogMTRweDtcclxuXHRcdH1cclxuXHJcblx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHRcdGZsb2F0OiBub25lO1xyXG5cclxuXHRcdFx0YSB7XHJcblx0XHRcdFx0d2lkdGg6IDMyOHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjMDBjMGI1O1xyXG5cdFx0XHRcdGJvcmRlci1jb2xvcjogIzAwYzBiNTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnRhYnMtcGFuZWwge1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0LnBheW1lbnRUYWJzIHtcclxuXHRcdC50YWJzLXRpdGxlIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDE0cHg7XHJcblxyXG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0XHRmbG9hdDogbGVmdDtcclxuXHJcblx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHR3aWR0aDogMTgwcHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHREb25hdGUgQ1RBXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5kb25hdGVGb3JtIHtcclxuXHQuZG9uYXRlRm9ybV9fZm9vdGVyIHtcclxuXHRcdG1hcmdpbi10b3A6IDM0cHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyM3B4O1xyXG5cdH1cclxuXHJcblx0LmRvbmF0ZUZvcm1fX2N0YSB7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cclxuXHRcdC5idXR0b24ge1xyXG5cdFx0XHR3aWR0aDogMzA5cHg7XHJcblx0XHRcdGZvbnQtc2l6ZTogMzJweDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMjU7XHJcblx0XHRcdHBhZGRpbmc6IDEycHggMjJweCAxNnB4O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAzNHB4O1xyXG5cclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDM0cHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0XHR3aWR0aDogMjBweDtcclxuXHRcdFx0XHRcdGhlaWdodDogMjVweDtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTkuNTcgMjUnJTNFJTNDcGF0aCBmaWxsPSdcIiArIHN0ci1yZXBsYWNlKCcjZmZmJywgJyMnLCAnJTIzJykgKyBcIicgc3Ryb2tlPSd0cmFuc3BhcmVudCcgc3Ryb2tlLXdpZHRoPScwJyBkPSdNMTcuMTIsOC4zM0gxNS45VjZBNiw2LDAsMCwwLDkuNzgsMCw2LDYsMCwwLDAsMy42Nyw2VjguMzNIMi40NUEyLjQyLDIuNDIsMCwwLDAsMCwxMC43MVYyMi42MkEyLjQyLDIuNDIsMCwwLDAsMi40NSwyNUgxNy4xMmEyLjQzLDIuNDMsMCwwLDAsMi40NS0yLjM4VjEwLjcxYTIuNDMsMi40MywwLDAsMC0yLjQ1LTIuMzhaTTkuNzgsMTkuMDVhMi4zOCwyLjM4LDAsMSwxLDIuNDUtMi4zOCwyLjQyLDIuNDIsMCwwLDEtMi40NSwyLjM4Wk0xMy41Nyw4LjMzSDZWNmEzLjc5LDMuNzksMCwwLDEsNy41OCwwVjguMzNaJyAvJTNFJTNDL3N2ZyUzRVwiKTtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuZm9ybV9fc2VjdXJlIHtcclxuXHRcdGZvbnQtc2l6ZTogMDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdG1hcmdpbi10b3A6IDQycHg7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cclxuXHRcdHNwYW4ge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMzJweDtcclxuXHRcdFx0bWFyZ2luLXRvcDogLTVweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0LmRvbmF0ZUZvcm0ge1xyXG5cdFx0LmRvbmF0ZUZvcm1fX2Zvb3RlciB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDQwcHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDgwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0LmRvbmF0ZUZvcm1fX2N0YSB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAzOHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5mb3JtX19zZWN1cmUge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0Rm9ybSBPdmVycmlkZXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG4vKiBoaWRlIHRoZSBDTVMgZm9ybSBmaWVsZCBoZWFkZXIgKi9cclxuLmVkaXRpbmctZm9ybS1jYXRlZ29yeSB7XHJcbiAgICBoNC5hbmNob3Ige1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbmg0Lm1hbnVhbF9fZm9ybUZpZWxkIHtcclxuICAgIG1hcmdpbi1ib3R0b206NXB4O1xyXG59XHJcblxyXG4uY2FsZW5kYXItYWN0aW9uIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4uZWRpdGluZy1mb3JtLWNhdGVnb3J5LWZpZWxkcyB7XHJcbiAgICAuZWRpdGluZy1mb3JtLWxhYmVsIHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5lZGl0aW5nLWZvcm0tdmFsdWUtY2VsbCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgaW5wdXQsIHRleHRhcmVhIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDExNCwgMjIwLCAyMTIsIDAuNCk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXQ6Zm9jdXMsIHRleHRhcmVhOmZvY3VzIHtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDExNCwgMjIwLCAyMTIsIDAuNyk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IDByZ2JhKDAsIDAsIDAsIDAuMDkpO1xyXG4gICAgfVxyXG4gICAgZW0ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIH1cclxufVxyXG5cclxuLnNlbGVjdC1zdHlsZWQge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMTQsIDIyMCwgMjEyLCAwLjQpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG59XHJcblxyXG4uc2VsZWN0LXN0eWxlZCB7XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgxMTQsIDIyMCwgMjEyLCAwLjcpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIH1cclxufVxyXG5cclxuLnNlbGVjdC1vcHRpb25zIHtcclxuICAgIGxpOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzdmMWVlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZm9ybS1ncm91cC1zdWJtaXQge1xyXG4gICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XHJcbiAgICB3aWR0aDogMzA5cHg7XHJcbiAgICBmb250LXNpemU6IDMycHg7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XHJcbiAgICBwYWRkaW5nOiAxMnB4IDIycHggMTZweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDM0cHg7XHJcblxyXG5cclxuICAgIC8qaW5wdXQ6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xyXG4gICAgfSovXHJcbn1cclxuXHJcbi5mb3JtLWdyb3VwLXN1Ym1pdCB7XHJcbiAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS4zMjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXByaW1hcnk7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgbGluZWFyO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDFweCAwcHggMHB4IHJnYmEoMCwwLDAsMC4xKTtcclxuICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xyXG4gICAgd2lkdGg6IDMwOXB4O1xyXG4gICAgZm9udC1zaXplOiAzMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xyXG4gICAgcGFkZGluZzogMTJweCAyMnB4IDE2cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzNHB4O1xyXG5cclxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dCB7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLyogIGlucHV0IHtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMTFweDtcclxuICAgICAgICByaWdodDogMjBweDtcclxuICAgICAgICB3aWR0aDogMTdweDtcclxuICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNi44OScgaGVpZ2h0PScyMy45JyB2aWV3Qm94PScwIDAgMTYuODkgMjMuOSclM0UlM0NwYXRoIGZpbGw9J1wiICsgc3RyLXJlcGxhY2UoJyNmZmYnLCAnIycsICclMjMnKSArIFwiJyBzdHJva2U9J3RyYW5zcGFyZW50JyBzdHJva2Utd2lkdGg9JzAnIGQ9J00xNi43MywxMS42NC42MS4wN0EuNDEuNDEsMCwwLDAsLjEyLjEuMzkuMzksMCwwLDAsLjA2LjU5TDcsMTIsLjA2LDIzLjMxYS4zOC4zOCwwLDAsMCwuMDcuNDkuMzUuMzUsMCwwLDAsLjI2LjEuMzQuMzQsMCwwLDAsLjIyLS4wN0wxNi43MiwxMi4yN2EuMzkuMzksMCwwLDAsLjE3LS4zMi4zNy4zNywwLDAsMC0uMTctLjMxWicgLyUzRSUzQy9zdmclM0VcIik7XHJcbiAgICB9XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDRweCA2cHggMHB4IHJnYmEoMCwwLDAsMC4xKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5hY3Rpb24ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3Rpb24tY29sb3I7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAuYnV0dG9uIHtcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICB9XHJcbn0qL1xyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRPdmVycmlkZXMgLSBGb3JtIGZpeGVzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4ucGF5bWVudFRhYnMge1xyXG5cdC5kb25hdGVfX2xhYmVsIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZTtcclxuXHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAzMnB4O1xyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHQucGF5bWVudFRhYnMge1xyXG5cdFx0LmRvbmF0ZV9fbGFiZWwge1xyXG5cdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdE92ZXJyaWRlcyAtIEZvcm0gZml4ZXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuI292ZXJsYXkge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgei1pbmRleDogMTAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjYpO1xyXG59XHJcblxyXG4uY3Ytc3Bpbm5lciB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uc3Bpbm5lciB7XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgYm9yZGVyOiA0cHggI2RkZCBzb2xpZDtcclxuICAgIGJvcmRlci10b3A6IDRweCAjMmU5M2U2IHNvbGlkO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYW5pbWF0aW9uOiBzcC1hbmltZSAwLjhzIGluZmluaXRlIGxpbmVhcjtcclxufVxyXG5cclxuQGtleWZyYW1lcyBzcC1hbmltZSB7XHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uaXMtaGlkZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4iLCLvu79cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG5cdFZvbHVudGVlciBGb3JtXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4udm9sdW50ZWVyRm9ybSB7XHJcbiAgICAuZ3VhcmRpYW5QYW5lbCB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlYWYxZmI7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYWYxZmI7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAubG9jYXRpb25TZWxlY3RvciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0NDJweDtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgICAgICAmLnNob3cge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuc2VsZWN0ZWQge1xyXG4gICAgICAgICAgICAubG9jYXRpb25TZWxlY3Rvcl9fb3B0aW9uYWwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmxvY2F0aW9uU2VsZWN0b3JfX2NsZWFyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubG9jYXRpb25TZWxlY3Rvcl9faW5wdXQge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmxvY2F0aW9uU2VsZWN0b3JfX3NlbGVjdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5TYW1lQXNTdHJlZXQge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICB9XHJcbiAgICAgICAgXHJcbiAgICAubG9jYXRpb25TZWxlY3Rvcl9fb3B0aW9uYWwge1xyXG4gICAgICAgIGNvbG9yOiAjOGY4ZThmO1xyXG4gICAgfVxyXG5cclxuICAgIC5sb2NhdGlvblNlbGVjdG9yX19jbGVhciB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgIGNvbG9yOiAjMDBjMGI1O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAubG9jYXRpb25TZWxlY3Rvcl9fc2VsZWN0aW9uIHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDE3cHggMTRweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICBib3JkZXI6IHNvbGlkIDFweCByZ2JhKDExNCwgMjIwLCAyMTIsIDAuNCk7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLnVpLXdpZGdldC51aS1hdXRvY29tcGxldGUge1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2M3ZjFlZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbn1cclxuXHJcbi51aS1tZW51IC51aS1tZW51LWl0ZW0ge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNzg7XHJcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgLnVpLXN0YXRlLWFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWYxZmI7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNiwyMDUsMjA2LDAuMik7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKiogQVVUTyBDT01QTEVURSAqKioqL1xyXG5cclxuLmFjX3Jlc3VsdHMge1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB6LWluZGV4OiA5OTk5OTtcclxufVxyXG5cclxuLmFjX3Jlc3VsdHMgdWwge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5hY19yZXN1bHRzIGxpIHtcclxuICAgIG1hcmdpbjogMHB4O1xyXG4gICAgcGFkZGluZzogMnB4IDVweDtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgLyogXHJcblx0aWYgd2lkdGggd2lsbCBiZSAxMDAlIGhvcml6b250YWwgc2Nyb2xsYmFyIHdpbGwgYXBlYXIgXHJcblx0d2hlbiBzY3JvbGwgbW9kZSB3aWxsIGJlIHVzZWRcclxuXHQqL1xyXG4gICAgLyp3aWR0aDogMTAwJTsqL1xyXG4gICAgZm9udDogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGNvbG9yOiAjMDAwMDAwO1xyXG4gICAgLyogXHJcblx0aXQgaXMgdmVyeSBpbXBvcnRhbnQsIGlmIGxpbmUtaGVpZ2h0IG5vdCBzZXR0ZWQgb3Igc2V0dGVkIFxyXG5cdGluIHJlbGF0aXZlIHVuaXRzIHNjcm9sbCB3aWxsIGJlIGJyb2tlbiBpbiBmaXJlZm94XHJcblx0Ki9cclxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLyouYWNfbG9hZGluZyB7XHJcblx0YmFja2dyb3VuZDogd2hpdGUgdXJsKCdpbmRpY2F0b3IuZ2lmJykgcmlnaHQgY2VudGVyIG5vLXJlcGVhdDtcclxufSovXHJcblxyXG4uYWNfb2RkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XHJcbn1cclxuXHJcbi5hY19vdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM3ZWQ1ZjE7XHJcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuXHJcbmxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuXHJcbi5FZGl0aW5nRm9ybUVycm9yTGFiZWwge1xyXG4gICAgY29sb3I6IHJlZDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5mb3JtX19jdGEge1xyXG4gICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgLkZvcm1CdXR0b24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnZvbHVudGVlclJvbGVzIHtcclxuICAgIC5mb3JtQ2FyZHMge1xyXG5cclxuICAgICAgICAuY2hlY2tib3ggaW5wdXRbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHhcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jaGVja2JveCBpbnB1dFt0eXBlPSdjaGVja2JveCddICsgbGFiZWw6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdHIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnZvbHVudGVlckZvcm0ge1xyXG4gICAgLldhdGVybWFya1RleHQge1xyXG4gICAgICAgIGNvbG9yOiAjRDNEM0QzO1xyXG4gICAgfVxyXG5cclxuICAgIC5kZXNjX19vcHRpb25hbCB7XHJcbiAgICAgICAgY29sb3I6ICNEM0QzRDNcclxuICAgIH1cclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm1fX2N0YSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4udm9sdW50ZWVyQ2hlY2tsaXN0IHtcclxuICAgIG1hcmdpbi10b3A6IDhweDtcclxuXHJcbiAgICBcclxuXHJcbiAgICAuZm9ybUNhcmRzLS10ZXh0IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIC5jaGVja2JveCBpbnB1dFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbnB1dFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBiciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY2hlY2tib3ggaW5wdXRbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFZvbHVudGVlciByZXF1ZXN0IHBhZ2VcclxuXHJcbi5SZXF1ZXN0Q29udGVudCB7XHJcbiAgICAuUmVxdWVzdCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHJcbiAgICAgICAgLlJlcXVlc3RMYWJlbCB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLlJlcXVlc3RCdXR0b25zIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xyXG5cclxuICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnJlamVjdC1idXR0b24ge1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwcHg7XHJcblxyXG4gICAgICAgIFt0eXBlPSdzdWJtaXQnXSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBjMGI1O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZGVjbGluZS1wYW5lbCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIH1cclxufVxyXG5cclxuLlZvbHVudGVlclJlcXVlc3RzIHtcclxuICAgIC5NYWluVGV4dCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDBweDtcclxuICAgIH1cclxuICAgIC5EZXNjVGV4dCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHJcbiAgICAuUmVxdWVzdENvbnRlbnQge1xyXG4gICAgICAgIC5SZXF1ZXN0IHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMDBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHJcbiAgICAgICAgICAgIC5SZXF1ZXN0TGFiZWwge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjkwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTMwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuU3BhblJlamVjdCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubG9nb24tcGFnZS1iYWNrZ3JvdW5kIHtcclxuICAgIC5mb3JtLWNvbnRyb2wtZXJyb3Ige1xyXG4gICAgICAgIGNvbG9yOiByZWQ7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5idXR0b24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDdweCAyMnB4IDEycHggMjJweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBHdWFyZGlhbiBvdmVycmlkZXNcclxuXHJcbiNjdGwwMF9Db250ZW50UGxhY2VIb2xkZXIxX3BsY1pvbmVzX2x0X3pvbmVDZW50ZXJfVm9sdW50ZWVyQXBwbGljYXRpb25TdGVwMl9Wb2x1bnRlZXJCaXpfYnRuT0sge1xyXG4gICAgQGV4dGVuZCAuZm9ybS1ncm91cC1zdWJtaXQ7XHJcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG59XHJcblxyXG5cclxuIiwi77u/XHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG5cdFJlZmVycmFsIEZvcm1cclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4uZm9ybV9fZG91YmxlQ29sdW1uIHtcclxuXHQvKi5jb2x1bW4ge1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHR3aWR0aDogNDclO1xyXG5cdH1cclxuXHJcblx0LnJvdzphZnRlciB7XHJcblx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0ZGlzcGxheTogdGFibGU7XHJcblx0XHRjbGVhcjogYm90aDtcclxuXHR9Ki9cclxuXHQuZWRpdGluZy1mb3JtLXZhbHVlLWNlbGwge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xyXG5cclxuXHRcdC5zZWxlY3Qge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdFx0XHRtYXgtd2lkdGg6IDEwMCVcclxuXHRcdH1cclxuXHJcblx0XHQuc2VsZWN0LXN0eWxlZCB7XHJcblx0XHRcdG92ZXJmbG93LXk6IGhpZGRlbjtcclxuXHRcdH1cclxuXHJcblx0XHQuRWRpdGluZ0Zvcm1FcnJvckxhYmVsIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogLTMycHg7XHJcblx0XHR9XHJcblx0XHQuZm9ybS1jb250cm9sIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHRcdH1cclxuXHJcblx0XHQucmFkaW8tbGlzdC12ZXJ0aWNhbCB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHRcdH1cclxuXHJcblx0XHQuZGF0ZS10aW1lLXBpY2tlciB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG5cdFx0XHQuZm9ybS1jb250cm9sIHtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuRm9ybUJ1dHRvbiB7XHJcblx0XHR3aWR0aDogMzA5cHg7XHJcblx0XHRmb250LXNpemU6IDMycHg7XHJcblx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuMjU7XHJcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdFx0cGFkZGluZzogMTJweCAyMnB4IDE2cHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAzNHB4O1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDBjMGI1O1xyXG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGxpbmVhcjtcclxuXHRcdGJveC1zaGFkb3c6IGluc2V0IDBweCAxcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcblx0XHRvdXRsaW5lOiBub25lO1xyXG5cdH1cclxuXHJcblx0LnJlZmVycmFsQ2hlY2tsaXN0IHtcclxuXHRcdG1hcmdpbi10b3A6IDhweDtcclxuXHJcblx0XHQuZm9ybS1ncm91cCB7XHJcblxyXG5cclxuXHRcdFx0LmNoZWNrYm94LWxpc3QtdmVydGljYWwge1xyXG5cdFx0XHRcdGJyIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuY2hlY2tib3gge1xyXG5cdFx0XHRcdGlucHV0IFt0eXBlPSdjaGVja2JveCddIHtcclxuXHRcdFx0XHRcdGNvbG9yOiBibHVlO1xyXG5cclxuXHRcdFx0XHRcdCsgbGFiZWwge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDEwcHggIWltcG9ydGFudDtcclxuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMTBweCAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdC5yYWRpby1saXN0LXZlcnRpY2FsLCAuY2hlY2tib3gtbGlzdC12ZXJ0aWNhbCB7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdFx0XHQuY2hlY2tib3ggaW5wdXRbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjRweDtcclxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxMHB4O1xyXG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMTBweDtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMTRweDtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDhweDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGlucHV0W3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogNjBweDtcclxuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMTBweDtcclxuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDE0cHg7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiA4cHg7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRsYWJlbCB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDYwcHg7XHJcblx0XHRcdFx0XHRjb2xvcjogJHRleHQtY29sb3I7XHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdFx0Ym9yZGVyOiAycHggc29saWQgcmdiYSgxMTQsIDIyMCwgMjEyLCAwLjcpO1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTJweDtcclxuXHRcdFx0XHRcdGJveC1zaGFkb3c6IDBweCA0cHggNnB4IDBweCByZ2JhKDAsMCwwLDAuMSk7XHJcblx0XHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLXNwZWVkIGxpbmVhcjtcclxuXHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdFx0bWluLXdpZHRoOiAxMTBweDtcclxuXHJcblx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAwcHg7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogMHB4O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0aW5wdXQge1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHRcdFx0XHR6LWluZGV4OiAtMTtcclxuXHJcblx0XHRcdFx0XHQmOmNoZWNrZWQge1xyXG5cdFx0XHRcdFx0XHQrIGxhYmVsIHtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjMDBjMGI1O1xyXG5cdFx0XHRcdFx0XHRcdGJvcmRlci1jb2xvcjogIzAwYzBiNTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0YnIge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5jaGVja2JveCBpbnB1dFt0eXBlPSdjaGVja2JveCddICsgbGFiZWw6YmVmb3JlIHtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5jaGVja2JveC1saXN0LXZlcnRpY2FsIHtcclxuXHRcdFx0XHRiciB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0bGFiZWwge1xyXG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDE0cHg7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiA4cHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0LmZvcm1fX2RvdWJsZUNvbHVtbiB7XHJcblx0XHQuY29sdW1uIHtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdHdpZHRoOiA0NyU7XHJcblx0XHR9XHJcblxyXG5cdFx0LnJvdzphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdGRpc3BsYXk6IHRhYmxlO1xyXG5cdFx0XHRjbGVhcjogYm90aDtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCLvu79cclxuLnJlY2lwZVNsaWRlciB7XHJcblxyXG4gICAgQGV4dGVuZCAubmF2U2xpZGVyO1xyXG4gICAgbWF4LXdpZHRoOiAxNDQwcHg7XHJcblxyXG4gICAgLnJlY2lwZVNsaWRlcl9fd3JhcHBlciB7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlY2lwZVNsaWRlcl9fc2xpZGVzIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlY2lwZV9fc2xpZGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICB3aWR0aDogMzIycHg7XHJcbiAgICAgICAgbWFyZ2luOiAwcHggOHB4IDMycHggOHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAxMHB4IDEwcHg7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDFweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxuICAgIC5yZWNpcGVTbGlkZXJfX2NvbnRlbnQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDE2NnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgcGFkZGluZzogMjJweDtcclxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDBweCAxcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDFweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICAgIH1cclxuXHJcbiAgICAucmVjaXBlU2xpZGVyX190ZXh0IHtcclxuICAgICAgICBoZWlnaHQ6IDk0cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBjb2xvcjogIzI2MjUyNztcclxuICAgIH1cclxuXHJcbiAgICAucmVjaXBlU2xpZGVyX19jYXRlZ29yeSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBjb2xvcjogIzAxODc3YztcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG5cclxuICAgIC5yZWNpcGVTbGlkZXJfX2xpbmsge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5ZmE7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yZWNpcGVGaWx0ZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXgtd2lkdGg6ICRtb2JpbGUtY29udGVudC1zaXplO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDI0cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblxyXG4gICAgLmZpbHRlclRpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAucmVjaXBlQ2hlY2tib3gge1xyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDExNCwyMjAsMjEyLC43KTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCA0cHggNnB4IDAgcmdiYSgwLDAsMCwuMSk7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgbGluZWFyO1xyXG4gICAgICAgICAgICAvKmJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy9yZWNpcGUtaWNvbnMvZ2x1dGVuLWZyZWUucG5nXCIpOyovXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzhweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiA2cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogNnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgI2xibHZlZ2V0YXJpYW4ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvcmVjaXBlLWljb25zL3ZlZ2FuLmpwZ1wiKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICNsYmxsYWN0b3NlLWZyZWUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvcmVjaXBlLWljb25zL2xhY3Rvc2UtZnJlZS5qcGdcIik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAjbGJsdmVnYW4ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvcmVjaXBlLWljb25zL3ZlZ2V0YXJpYW4uanBnXCIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgI2xibGdsdXRlbmZyZWUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvcmVjaXBlLWljb25zL2dsdXRlbi1mcmVlLmpwZ1wiKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICNsYmxlbnRyZWUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvcmVjaXBlLWljb25zL2VudHJlZS5qcGdcIik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAjbGJsbWFpbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy9yZWNpcGUtaWNvbnMvbWFpbnMuanBnXCIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgI2xibGRlc3NlcnQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvcmVjaXBlLWljb25zL2Rlc3NlcnRzLmpwZ1wiKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG5cclxuICAgICAgICAgICAgJjpjaGVja2VkIHtcclxuICAgICAgICAgICAgICAgICsgbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMGMwYjU7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDBjMGI1O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5yZWNpcGVEcm9wZG93biB7XHJcbiAgICAgICAgc2VsZWN0IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzcwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNTJweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgICAgICAgICBjb2xvcjogIzI2MjUyNztcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDExNCwgMjIwLCAyMTIsIDAuNyk7XHJcblxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDEycHg7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLnJlY2lwZUZpbHRlciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4iLCLvu78vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRSZWNpcGUgU3R5bGVzXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLnJlY2lwZV9fZGV0YWlscyB7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHJcblx0LmRpZmZpY3VsdHlfX3RpdGxlIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR9XHJcblxyXG5cdC5kaWV0cnlfX2ljb25zIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxuXHJcblx0LnByZXBUaW1lX190ZXh0IHtcclxuXHRcdGZvbnQtc2l6ZTogMzJweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRjb2xvcjogIzAzMUY3MztcclxuXHR9XHJcbn1cclxuXHJcbi5oZXJvX19yZWNpcGVTb3VyY2Uge1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0c3BhbiB7XHJcblxyXG5cdH1cclxufVxyXG5cclxuXHJcbi5yZWNpcGVfX21ldGhvZCB7XHJcblx0bWFyZ2luLWJvdHRvbTogNDBweDtcclxuXHJcblx0Lm1ldGhvZCB7XHJcblxyXG5cclxuXHRcdHVsLCBvbCB7XHJcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdGxpIHtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRtaW4taGVpZ2h0OiA1MHB4O1xyXG5cclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiU3RlcCBcIiBhdHRyKGRhdGEtc3RlcCkgXCIgXCI7XHJcblx0XHRcdFx0Y29sb3I6ICMwMDgzN0I7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdCYuc3RlcDpiZWZvcmUge1xyXG5cdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdC5yZWNpcGVfX21ldGhvZCB7XHJcblxyXG5cdFx0aDQge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnJlY2lwZV9fZGV0YWlscyB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG5cdH1cclxuXHJcblx0Lmhlcm9fX3JlY2lwZVNvdXJjZSB7XHJcblx0XHRib3R0b206IDE4cHg7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblxyXG5cdC5kaWV0cnlfX2ljb25zIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHRcdG1hcmdpbi10b3A6IDE1cHg7XHJcblxyXG5cdFx0aW1nIHtcclxuXHRcdFx0bWFyZ2luOiAwcHggNXB4O1xyXG5cdFx0XHRtYXgtd2lkdGg6IDUwcHhcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbiIsIu+7v1xyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcblx0SG9tcGFnZSBTdHlsZXNcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5ob21lcGFnZSB7XHJcblx0bWFpbiB7XHJcbiAgICAvKnBhZGRpbmctYm90dG9tOiAxNXB4OyovXHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRGZWF0dXJlIFBhbmVsXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5ob21lcGFnZSB7XHJcblx0LnBhbmVsLS1mZWF0dXJlIHtcclxuXHRcdC5wYW5lbF9faW1nV3JhcDpiZWZvcmUge1xyXG5cdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHR0b3A6IDIyJTtcclxuXHRcdFx0bGVmdDogLTYlO1xyXG5cdFx0XHR3aWR0aDogODUlO1xyXG5cdFx0XHRoZWlnaHQ6IDg1JTtcclxuXHRcdH1cclxuXHJcblx0XHQucGFuZWxfX3RhZyB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblxyXG5cdFx0LnBhbmVsX19jdGEge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHQuaG9tZXBhZ2Uge1xyXG5cdFx0LnBhbmVsLS1mZWF0dXJlIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTI2cHg7XHJcblxyXG5cdFx0XHQucGFuZWxfX2NvbnRlbnQge1xyXG5cdFx0XHRcdG1heC13aWR0aDogNTAwcHg7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMjZweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblx0Q1RBIFBhbmVsXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5ob21lcGFnZSB7XHJcblx0LnBhbmVsLS1jdGEge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHJcblx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5wYW5lbF9faW1nV3JhcDpiZWZvcmUge1xyXG5cdFx0XHR0b3A6IDklO1xyXG5cdFx0XHRsZWZ0OiAtNiU7XHJcblx0XHR9XHJcblxyXG5cdFx0LnBhbmVsX190aXRsZSB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDE1cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0LnBhbmVsX190ZXh0IHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR9XHJcblxyXG5cdFx0LnBhbmVsX19jdGEge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAzMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdC5ob21lcGFnZSB7XHJcblx0XHQucGFuZWwtLWN0YSB7XHJcblx0XHRcdC5wYW5lbF9fdGl0bGUge1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDQwcHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5wYW5lbF9fY3RhIHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiA1MHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdC5ob21lcGFnZSB7XHJcblx0XHQubmF2U2xpZGVyIHtcclxuXHRcdFx0Lm5hdlNsaWRlcl9fd3JhcHBlciB7XHJcblx0XHRcdFx0aGVpZ2h0OiAzMzhweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lm5hdlNsaWRlcl9fc2Nyb2xsIHtcclxuXHRcdFx0XHRoZWlnaHQ6IDMzNnB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQubmF2U2xpZGVyX19jb250ZW50IHtcclxuXHRcdFx0XHRoZWlnaHQ6IDEyOHB4O1xyXG5cdFx0XHRcdHBhZGRpbmc6IDEwcHggMjBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuIiwi77u/XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuXHRDb21wb25lbnQgU3BhY2luZ1xyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuc2VjdGlvbiB7XHJcblx0KyBzZWN0aW9uLmRhcmsge1xyXG5cdFx0cGFkZGluZy10b3A6IDEzMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLnBhbmVsIHtcclxuXHQrIC5jYXJkTGlzdCB7XHJcblx0XHRtYXJnaW4tdG9wOiA1MXB4O1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi5uYXZTbGlkZXIge1xyXG5cdCsgLnBhbmVsLS1jdGEge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiA5NnB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi5jb250ZW50IHtcclxuXHQrIC5xdW90ZSB7XHJcblx0XHRtYXJnaW4tdG9wOiA1MHB4O1xyXG5cdH1cclxuXHJcblx0KyAuY2FyZExpc3Qge1xyXG5cdFx0bWFyZ2luLXRvcDogNDVweDtcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDkwcHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLnF1b3RlIHtcclxuXHQrIC5jb250ZW50IHtcclxuXHRcdG1hcmdpbi10b3A6IDQwcHg7XHJcblx0fVxyXG59Il19 */
