/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

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

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

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

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

@font-face {
  font-family: "l-gilroy";
  src: url(../fonts/gilroy/gilroy-regular.woff) format("woff"), url(../fonts/gilroy/gilroy-regular.woff2) format("woff2");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: "l-gilroy";
  src: url(../fonts/gilroy/gilroy-extrabold.woff) format("woff"), url(../fonts/gilroy/gilroy-extrabold.woff2) format("woff2");
  font-weight: 800;
  font-style: normal; }

@font-face {
  font-family: "l-oswald";
  src: url(../fonts/oswald/oswald-light.woff) format("woff"), url(../fonts/oswald/oswald-light.woff2) format("woff2");
  font-weight: 300;
  font-style: normal; }

@font-face {
  font-family: "l-oswald";
  src: url(../fonts/oswald/oswald-regular.woff) format("woff"), url(../fonts/oswald/oswald-regular.woff2) format("woff2");
  font-weight: 400;
  font-style: normal; }

@font-face {
  font-family: "l-oswald";
  src: url(../fonts/oswald/oswald-bold.woff) format("woff"), url(../fonts/oswald/oswald-bold.woff2) format("woff2");
  font-weight: 600;
  font-style: normal; }

ul, li {
  margin: 0;
  padding: 0;
  list-style: none; }

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  line-height: 1.4; }

p {
  padding: 0;
  margin: 0; }

body {
  min-width: 320px; }

html {
  box-sizing: border-box;
  font-size: calc(100vw / 1920 * 10);
  font-family: 'l-oswald', sans-serif;
  font-weight: 400;
  color: #fff;
  line-height: 1.23; }

html, body {
  height: 100%; }

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

button {
  cursor: pointer;
  background-color: transparent;
  padding: 0;
  margin: 0;
  border: none;
  outline: none; }

a {
  text-decoration: none;
  color: inherit; }

.visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px; }

.wrapper {
  position: relative;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  background-color: #2a2a2a;
  overflow: hidden; }

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0; }

.page-block {
  font-size: 1rem; }
  @media (max-width: 1439px) {
    .page-block {
      font-size: 0.63175vw; } }
  @media (max-width: 1199px) {
    .page-block {
      font-size: 0.68239vw; } }
  @media (max-width: 991px) {
    .page-block {
      font-size: 0.82561vw; } }
  @media (max-width: 767px) {
    .page-block {
      font-size: 1.06673vw; } }
  @media (max-width: 575px) {
    .page-block {
      font-size: 1.42292vw; } }

.swal2-popup.swal2-modal {
  font-size: 15px;
  width: 40em;
  background-size: cover !important;
  padding: 5.33333em;
  background-color: #e0e0e0;
  border-radius: 0;
  min-height: 26em; }
  @media (min-width: 1921px) {
    .swal2-popup.swal2-modal {
      font-size: 1.5rem; } }
  @media (max-width: 575px) {
    .swal2-popup.swal2-modal {
      padding: 80px 10px; } }

.swal2-popup .swal2-title {
  font-size: 3.2em;
  font-family: l-gilroy, sans-serif;
  color: #ff0000; }
  @media (max-width: 425px) {
    .swal2-popup .swal2-title {
      font-size: 36px; } }
  .swal2-popup .swal2-title.success {
    color: #29ba38; }

.swal2-popup .swal2-content {
  font-size: 2em;
  font-family: l-gilroy, sans-serif;
  color: #2a2a2a;
  line-height: 1.16667; }
  @media (max-width: 425px) {
    .swal2-popup .swal2-content {
      font-size: 24px; } }

.swal2-popup .swal2-text {
  display: block; }

.swal2-popup .swal2-button {
  font-size: 1.46667em !important;
  text-transform: uppercase;
  text-align: center;
  line-height: 1;
  min-width: 15.90909em;
  display: inline-block;
  padding: 0.77273em 0.45455em 0.68182em;
  border: 1px solid #fff;
  border-radius: 0 !important;
  background-color: #ff0000 !important;
  box-shadow: 0 0 5px 1px #da3d3d;
  position: relative;
  transition: all .2s ease; }
  @media (min-width: 1921px) {
    .swal2-popup .swal2-button {
      border-width: 0.06667em;
      box-shadow: 0 0 0.33333em 0.06667em #da3d3d; } }
  @media (max-width: 575px) {
    .swal2-popup .swal2-button {
      min-width: 290px; } }
  .swal2-popup .swal2-button:focus {
    box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(218, 61, 61, 0.4); }

.swal2-popup .swal2-close {
  color: #da3d3d; }
  .swal2-popup .swal2-close:hover {
    color: #ff0000; }
  .swal2-popup .swal2-close.success {
    color: #29ba38; }
    .swal2-popup .swal2-close.success:hover {
      color: #56da63; }

.page-loader {
  font-size: 1rem;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #2a2a2a;
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s ease, visibility .25s ease;
  z-index: 101; }
  .page-loader--show {
    opacity: 1;
    visibility: visible; }
  @media (max-width: 991px) {
    .page-loader {
      font-size: 0.76226vw; } }
  @media (max-width: 425px) {
    .page-loader {
      font-size: 1.21315vw; } }

.loader {
  display: block;
  width: 41.7em;
  height: 18.2em; }

.loader__letter {
  opacity: 0;
  visibility: hidden; }
  .loader__letter.fadeInOut {
    animation-duration: 1.5s;
    animation-iteration-count: infinite;
    animation-timing-function: linear; }
  .loader__letter--1.fadeInOut {
    animation-name: fadeInOut1; }
  .loader__letter--2.fadeInOut {
    animation-name: fadeInOut2; }
  .loader__letter--3.fadeInOut {
    animation-name: fadeInOut3; }
  .loader__letter--show {
    opacity: 1;
    visibility: visible; }

@keyframes fadeInOut1 {
  0% {
    opacity: 0;
    visibility: hidden; }
  25% {
    opacity: 1;
    visibility: visible; }
  50% {
    opacity: 0;
    visibility: hidden; } }

@keyframes fadeInOut2 {
  25% {
    opacity: 0;
    visibility: hidden; }
  50% {
    opacity: 1;
    visibility: visible; }
  75% {
    opacity: 0;
    visibility: hidden; } }

@keyframes fadeInOut3 {
  50% {
    opacity: 0;
    visibility: hidden; }
  75% {
    opacity: 1;
    visibility: visible; }
  100% {
    opacity: 0;
    visibility: hidden; } }

button.page-button,
label.page-button {
  color: #fff;
  cursor: pointer; }

a.page-button:link, a.page-button:visited {
  color: #fff; }

.page-button {
  text-transform: uppercase;
  text-align: center;
  line-height: 1.3;
  min-width: 35em;
  display: inline-block;
  padding: 1.7em 1em 1.5em;
  background-color: #fff;
  box-shadow: 0 0 5px 1px #da3d3d;
  position: relative;
  overflow: hidden;
  transition: all .2s ease; }
  .page-button::before, .page-button::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0; }
  .page-button::before {
    bottom: 0;
    left: 0;
    margin: 1px;
    background-color: #da3d3d;
    z-index: 1; }
    @media (min-width: 1921px) {
      .page-button::before {
        margin: 0.09995em; } }
  .page-button::after {
    width: 150%;
    height: 100%;
    transform: skewX(-45deg) translateX(94%);
    background-color: #2b2b2b;
    transition: transform .25s ease;
    z-index: 3;
    right: -18%; }
    @media (max-width: 1199px) {
      .page-button::after {
        transform: skewX(-45deg) translateX(92%); } }
    @media (max-width: 991px) {
      .page-button::after {
        display: none; } }
  .page-button:hover::after {
    transform: skewX(-45deg) translateX(10%); }
  .page-button .text {
    font-size: 2.2em;
    display: block;
    position: relative;
    z-index: 5; }
    @media (max-width: 425px) {
      .page-button .text {
        font-size: 20px; } }
  @media (min-width: 1921px) {
    .page-button {
      box-shadow: 0 0 0.49974em 0 #da3d3d; } }
  @media (max-width: 1199px) {
    .page-button {
      min-width: 24.44432em;
      padding: 1.83332em 0.97777em 1.34444em; } }
  @media (max-width: 991px) {
    .page-button {
      min-width: 35.44452em; } }
  @media (max-width: 425px) {
    .page-button {
      min-width: 290px;
      padding: 17px 10px 15px; } }
  .page-button--clean::before {
    transition: background-color .25s ease; }
  .page-button--clean::after {
    display: none; }
  .page-button--clean:hover::before {
    background-color: #cc2727; }

.page-title, .page-subtitle {
  font-size: 10em;
  font-family: l-gilroy, sans-serif;
  font-weight: 800;
  line-height: 1.23;
  text-shadow: 2px 2px #67686b, -2px 2px #67686b, 2px -2px #67686b, -2px -2px #67686b; }
  @media (min-width: 1921px) {
    .page-title, .page-subtitle {
      text-shadow: 0.02em 0.02em #67686b, 0.02em 0.02em #67686b, 0.02em 0.02em #67686b, 0.02em 0.02em #67686b; } }
  @media (max-width: 767px) {
    .page-title, .page-subtitle {
      font-size: 7.82222em;
      text-align: center; } }
  @media (max-width: 425px) {
    .page-title, .page-subtitle {
      font-size: 34px; } }
  .page-title--big {
    font-size: 14em; }
    @media (min-width: 1921px) {
      .page-title--big {
        text-shadow: 0.01429em 0.01429em #67686b, 0.01429em 0.01429em #67686b, 0.01429em 0.01429em #67686b, 0.01429em 0.01429em #67686b; } }
    @media (max-width: 767px) {
      .page-title--big {
        font-size: 9.28889em; } }
    @media (max-width: 425px) {
      .page-title--big {
        font-size: 48px; } }
  .page-title--small {
    font-size: 4.8em; }
    @media (min-width: 1921px) {
      .page-title--small {
        text-shadow: 0.04167em 0.04167em #67686b, 0.04167em 0.04167em #67686b, 0.04167em 0.04167em #67686b, 0.04167em 0.04167em #67686b; } }
    @media (max-width: 767px) {
      .page-title--small {
        font-size: 5.13333em; } }
    @media (max-width: 425px) {
      .page-title--small {
        font-size: 36px; } }

.page-title-wrapper {
  position: relative;
  display: flex;
  justify-content: center; }
  .page-title-wrapper .page-title, .page-title-wrapper .page-subtitle {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    opacity: 0;
    visibility: hidden;
    z-index: -1; }

.page-subtitle {
  font-size: 7.2em; }
  @media (min-width: 1921px) {
    .page-subtitle {
      text-shadow: 0.02778em 0.02778em #67686b, 0.02778em 0.02778em #67686b, 0.02778em 0.02778em #67686b, 0.02778em 0.02778em #67686b; } }
  @media (max-width: 767px) {
    .page-subtitle {
      font-size: 7.82222em; } }
  @media (max-width: 425px) {
    .page-subtitle {
      font-size: 48px; } }

.page-link {
  font-size: 2em;
  line-height: 1;
  border-bottom: 1px solid currentColor;
  display: inline-block;
  transition: all .2s ease; }
  .page-link:link, .page-link:visited {
    color: #fff; }
  .page-link:hover {
    border-bottom-color: transparent; }
  @media (min-width: 1921px) {
    .page-link {
      border-bottom-width: 0.04999em; } }
  @media (max-width: 575px) {
    .page-link {
      font-size: 18px; } }

.form__row {
  width: 100%;
  display: flex; }
  .form__row + .form__row {
    margin-top: 3em; }
    @media (max-width: 575px) {
      .form__row + .form__row {
        margin-top: 0; } }
  @media (max-width: 575px) {
    .form__row {
      flex-direction: column; } }
  .form__row--h-center {
    justify-content: center; }
  .form__row--v-center {
    align-items: center; }
  .form__row--no-wrap {
    flex-direction: row !important; }

.form__item {
  flex: 1; }
  .form__item + .form__item {
    margin-left: 3em; }
    @media (max-width: 575px) {
      .form__item + .form__item {
        margin-left: 0; } }
  @media (max-width: 575px) {
    .form__item {
      margin-bottom: 10px; } }
  .form__item--half {
    flex: .5;
    padding-right: 3em; }
    @media (max-width: 575px) {
      .form__item--half {
        flex: 1;
        padding-right: 0; } }
  .form__item.hide {
    display: none !important; }

.form__subblock {
  display: none; }
  .form__subblock.show {
    display: block; }

@font-face {
  font-family: "l-gilroy";
  src: url(../fonts/gilroy/gilroy-regular.woff) format("woff"), url(../fonts/gilroy/gilroy-regular.woff2) format("woff2");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: "l-gilroy";
  src: url(../fonts/gilroy/gilroy-extrabold.woff) format("woff"), url(../fonts/gilroy/gilroy-extrabold.woff2) format("woff2");
  font-weight: 800;
  font-style: normal; }

@font-face {
  font-family: "l-oswald";
  src: url(../fonts/oswald/oswald-light.woff) format("woff"), url(../fonts/oswald/oswald-light.woff2) format("woff2");
  font-weight: 300;
  font-style: normal; }

@font-face {
  font-family: "l-oswald";
  src: url(../fonts/oswald/oswald-regular.woff) format("woff"), url(../fonts/oswald/oswald-regular.woff2) format("woff2");
  font-weight: 400;
  font-style: normal; }

@font-face {
  font-family: "l-oswald";
  src: url(../fonts/oswald/oswald-bold.woff) format("woff"), url(../fonts/oswald/oswald-bold.woff2) format("woff2");
  font-weight: 600;
  font-style: normal; }

ul, li {
  margin: 0;
  padding: 0;
  list-style: none; }

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  line-height: 1.4; }

p {
  padding: 0;
  margin: 0; }

body {
  min-width: 320px; }

html {
  box-sizing: border-box;
  font-size: calc(100vw / 1920 * 10);
  font-family: 'l-oswald', sans-serif;
  font-weight: 400;
  color: #fff;
  line-height: 1.23; }

html, body {
  height: 100%; }

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

button {
  cursor: pointer;
  background-color: transparent;
  padding: 0;
  margin: 0;
  border: none;
  outline: none; }

a {
  text-decoration: none;
  color: inherit; }

.visually-hidden, .page__radio {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px; }

.wrapper {
  position: relative;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  background-color: #2a2a2a;
  overflow: hidden; }

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0; }

.page-input,
.page-textarea {
  font-size: 1.8em;
  font-weight: 300;
  line-height: 1.5;
  color: #67686b;
  width: 100%;
  background-color: #fff;
  padding: 0.61111em 1.11111em 0.44444em;
  border: 1px solid #67686b;
  display: block; }
  .page-input:focus,
  .page-textarea:focus {
    outline: none;
    box-shadow: 0 0 4px 2px #b4b5b7; }
    @media (min-width: 1921px) {
      .page-input:focus,
      .page-textarea:focus {
        box-shadow: 0 0 0.22222em 0.11111em #b4b5b7; } }
  .page-input:-ms-input-placeholder,
  .page-textarea:-ms-input-placeholder {
    line-height: 1.5;
    color: #67686b; }
  .page-input::-ms-input-placeholder,
  .page-textarea::-ms-input-placeholder {
    line-height: 1.5;
    color: #67686b; }
  .page-input::placeholder,
  .page-textarea::placeholder {
    line-height: 1.5;
    color: #67686b; }
  @media (max-width: 767px) {
    .page-input,
    .page-textarea {
      font-size: 2.2em; } }
  @media (max-width: 575px) {
    .page-input,
    .page-textarea {
      font-size: 18px; } }
  .page-input.validate-error,
  .page-textarea.validate-error {
    border-color: #ff0000; }

.page-textarea {
  min-height: 7em;
  resize: none; }

.page-label {
  font-size: 1.8em;
  text-transform: uppercase;
  margin-bottom: 0.44444em;
  display: inline-block; }
  @media (max-width: 767px) {
    .page-label {
      font-size: 2.2em; } }
  @media (max-width: 575px) {
    .page-label {
      font-size: 18px;
      margin-bottom: 8px; } }

.page-radio-label {
  display: inline-flex;
  align-items: center;
  cursor: pointer; }
  .page-radio-label .page__radio:checked ~ .page-radio-label__checkmark::after {
    opacity: 1;
    visibility: visible; }
  .page-radio-label + .page-radio-label {
    margin-left: 25.5em; }

.page-radio-label__caption {
  font-size: 3.6em;
  color: #fff;
  line-height: 1;
  text-shadow: 1px 1px #000, -1px 1px #000, 1px -1px #000, -1px -1px #000; }
  @media (min-width: 1921px) {
    .page-radio-label__caption {
      text-shadow: 0.02778em 0.02778em #000, -0.02778em 0.02778em #000, 0.02778em -0.02778em #000, -0.02778em -0.02778em #000; } }
  @media (max-width: 425px) {
    .page-radio-label__caption {
      font-size: 24px; } }
  .page-radio-label__caption--uppercase {
    text-transform: uppercase; }

.page-radio-label__checkmark {
  width: 3.5em;
  height: 3.5em;
  margin-right: 5em;
  margin-top: -0.4em;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #67686b;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center; }
  @media (min-width: 1921px) {
    .page-radio-label__checkmark {
      border-width: 0.09995em; } }
  @media (max-width: 425px) {
    .page-radio-label__checkmark {
      width: 35px;
      height: 35px;
      margin-right: 40px;
      margin-top: -6px; } }
  .page-radio-label__checkmark::after {
    content: '';
    width: 1.5em;
    height: 1.5em;
    border-radius: 50%;
    background-color: #d33333;
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s ease, visibility .25s ease; }
    @media (max-width: 425px) {
      .page-radio-label__checkmark::after {
        width: 15px;
        height: 15px; } }

.tab-header-item.active .page-button-action {
  background-color: #da3d3d; }

.tab-main-item {
  display: none; }
  .tab-main-item.active {
    display: block; }

.page-button-action {
  font-size: 2em;
  font-family: l-gilroy, sans-serif;
  font-weight: 800;
  color: #fff;
  line-height: 1.5;
  text-shadow: 1px 1px #67686b, -1px 1px #67686b, 1px -1px #67686b, -1px -1px #67686b;
  min-height: 100%;
  padding: 0.25em 0.5em;
  background-color: #1b1a1a;
  border-radius: 10px;
  border: none;
  outline-color: #010101;
  transition: background-color .25s ease;
  cursor: pointer; }
  .page-button-action:hover {
    background-color: black; }
  @media (min-width: 1921px) {
    .page-button-action {
      text-shadow: 0.1em 0.1em #67686b, 0.1em 0.1em #67686b, 0.1em 0.1em #67686b, 0.1em 0.1em #67686b;
      border-radius: 0.5em; } }
  @media (max-width: 1439px) {
    .page-button-action {
      font-size: 1.98001em; } }
  @media (max-width: 991px) {
    .page-button-action {
      font-size: 2.68889em; } }
  @media (max-width: 575px) {
    .page-button-action {
      font-size: 24px;
      padding: 13px 0 14px; } }

.page-list li {
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 3em; }
  @media (max-width: 575px) {
    .page-list li {
      padding-left: 24px; } }
  .page-list li::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    margin-top: 0.5em;
    width: 1em;
    height: 1em;
    background-color: #d33333; }
    @media (max-width: 575px) {
      .page-list li::before {
        width: 10px;
        height: 10px;
        margin-top: 5px; } }

.isMobile {
  display: none; }
  @media (max-width: 575px) {
    .isMobile {
      display: block; } }

.overflow-hidden {
  overflow: hidden; }

.main {
  position: relative;
  flex: 1;
  background-image: url(../images/content-background.jpg);
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat; }
  @media (max-width: 991px) {
    .main {
      background-image: url(../images/content-background-mobile.jpg); } }
  .main--home .hero__container {
    padding-bottom: 20em; }
    @media (max-width: 425px) {
      .main--home .hero__container {
        padding-bottom: 76px; } }
  .main--products {
    background-image: url(../images/content-background-products.jpg); }
  .main--quote .hero__title {
    text-transform: none; }
  .main--quote .hero .page-button {
    display: none; }
  @media (max-width: 575px) {
    .main--signs .hero {
      margin-bottom: 0; } }
  .main--signs .hero .page-button {
    display: none; }

.container {
  max-width: 87.5%;
  width: 100%;
  margin: 0 auto; }
  @media (max-width: 1439px) {
    .container {
      max-width: 88.95066%; } }
  @media (max-width: 1199px) {
    .container {
      max-width: 80.06672%; } }
  @media (max-width: 991px) {
    .container {
      max-width: 84.76287%; } }
  @media (max-width: 767px) {
    .container {
      max-width: 89.96089%; } }
  @media (max-width: 575px) {
    .container {
      max-width: 90.625%; } }

.horizontal-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.pos-relative {
  position: relative; }

.page-header {
  position: fixed;
  top: 1.4em;
  left: 0;
  width: 100%;
  background-color: rgba(9, 9, 9, 0.4);
  z-index: 99; }
  @supports ((-webkit-backdrop-filter: blur(5px)) or (backdrop-filter: blur(5px))) {
    .page-header {
      -webkit-backdrop-filter: blur(5px);
              backdrop-filter: blur(5px); }
      @media (max-width: 575px) {
        .page-header {
          -webkit-backdrop-filter: none;
                  backdrop-filter: none;
          background-color: transparent;
          top: 0; } } }
  @media (max-width: 575px) {
    .page-header {
      position: absolute; } }
  @media (max-width: 575px) {
    .page-header .nav-menu__list {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      min-height: 100vh;
      flex-direction: column;
      justify-content: flex-start;
      padding-top: 26.47059%;
      opacity: 0;
      visibility: hidden;
      transition: .3s all .3s ease;
      z-index: 7; }
      .page-header .nav-menu__list::before {
        content: '';
        position: absolute;
        top: -35%;
        left: 50%;
        width: 0;
        height: 0;
        border-radius: 50%;
        transform: translateX(-50%);
        background-image: linear-gradient(180deg, #2a2a2a 0%, rgba(42, 42, 42, 0.96) 74%, rgba(42, 42, 42, 0.5) 87%, rgba(42, 42, 42, 0.1) 100%);
        transition: all .3s ease;
        z-index: -1; } }

.page-header__container {
  display: flex; }
  @media (max-width: 575px) {
    .page-header__container {
      max-width: 100%; } }

.nav-menu {
  width: 100%; }
  @media (max-width: 575px) {
    .nav-menu {
      display: flex;
      flex-direction: column;
      align-items: center; } }

.nav-menu__list {
  display: flex;
  align-items: center;
  justify-content: space-between; }
  .nav-menu__list.show {
    opacity: 1;
    visibility: visible; }
    .nav-menu__list.show::before {
      width: 150%;
      height: 150%; }
    .nav-menu__list.show ~ .nav-menu__close {
      opacity: 1;
      visibility: visible; }

.nav-menu__item {
  position: relative;
  padding: 1.6em 0; }
  .nav-menu__item + .nav-menu__item {
    margin-left: 12.5em; }
    @media (max-width: 1439px) {
      .nav-menu__item + .nav-menu__item {
        margin-left: 7.70002em; } }
    @media (max-width: 1199px) {
      .nav-menu__item + .nav-menu__item {
        margin-left: 3.66665em; } }
    @media (max-width: 575px) {
      .nav-menu__item + .nav-menu__item {
        margin-left: 0;
        margin-top: 7vh; } }
    @media (max-width: 425px) {
      .nav-menu__item + .nav-menu__item {
        margin-top: 6.7vh; } }
  .nav-menu__item--desktop {
    display: flex;
    align-items: center; }
    @media (max-width: 991px) {
      .nav-menu__item--desktop {
        display: none; } }
    .nav-menu__item--desktop .social-icons {
      display: flex;
      align-items: center;
      margin-left: 20px; }
      .nav-menu__item--desktop .social-icons a {
        margin-left: 20px; }
  .nav-menu__item.active .nav-menu__link {
    pointer-events: none; }
    .nav-menu__item.active .nav-menu__link:link, .nav-menu__item.active .nav-menu__link:visited {
      color: rgba(255, 255, 255, 0.8); }
    .nav-menu__item.active .nav-menu__link::before {
      opacity: 1;
      visibility: visible; }
  .nav-menu__item:hover .nav-menu__link:link, .nav-menu__item:hover .nav-menu__link:visited {
    color: rgba(255, 255, 255, 0.8); }
  .nav-menu__item:hover .nav-menu__link::before {
    opacity: 1;
    visibility: visible; }
  @media (min-width: 1024px) {
    .nav-menu__item:hover .nav-menu__icon {
      opacity: .8;
      transform: translateY(-50%) rotate(180deg); }
    .nav-menu__item:hover .dropdown-menu {
      opacity: 1;
      visibility: visible; } }
  @media (max-width: 991px) {
    .nav-menu__item {
      padding: 3.66667em 0; } }
  @media (max-width: 575px) {
    .nav-menu__item {
      padding: 0; } }

.nav-mobile {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: baseline; }
  @media (min-width: 480px) {
    .nav-mobile {
      display: none; } }
  .nav-mobile .social-icons {
    margin-right: 10px; }
    .nav-mobile .social-icons a {
      margin-left: 20px; }

.nav-menu__link {
  font-size: 2.2em;
  font-weight: 600;
  text-transform: uppercase;
  text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  position: relative;
  display: inline-block;
  transition: all .2s ease;
  white-space: nowrap; }
  @media (min-width: 1921px) {
    .nav-menu__link {
      text-shadow: 0 0.18178em 0.18178em rgba(0, 0, 0, 0.25); } }
  @media (max-width: 575px) {
    .nav-menu__link {
      font-size: 3.66668em; } }
  @media (max-width: 425px) {
    .nav-menu__link {
      font-size: 22px; } }
  .nav-menu__link:link, .nav-menu__link:visited {
    color: white; }
  .nav-menu__link::before {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 0;
    color: #da3d3d;
    filter: blur(6px);
    opacity: 0;
    visibility: hidden;
    transition: all .2s ease;
    z-index: -1; }

.nav-menu__icon {
  position: absolute;
  left: 100%;
  top: calc(50% - 0.125em);
  transform: translateY(-50%);
  width: 1.1em;
  height: 1.2em;
  display: inline-block;
  padding: 0.6em;
  box-sizing: content-box;
  transition: all .2s ease;
  cursor: pointer; }
  .nav-menu__icon.active {
    opacity: .8;
    transform: translateY(-50%) rotate(180deg); }
    .nav-menu__icon.active ~ .dropdown-menu {
      opacity: 1;
      visibility: visible; }
  @media (min-width: 1024px) {
    .nav-menu__icon:hover {
      opacity: .8;
      transform: translateY(-50%) rotate(180deg); }
      .nav-menu__icon:hover ~ .dropdown-menu {
        opacity: 1;
        visibility: visible; } }
  @media (max-width: 575px) {
    .nav-menu__icon {
      top: calc(45% - 0.125em);
      width: 1.71112em;
      height: 1.83334em;
      padding: 0.73334em; } }
  @media (max-width: 425px) {
    .nav-menu__icon {
      width: 11px;
      height: 12px;
      padding: 6px; } }

.dropdown {
  padding-right: 0.18182em; }

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 2.3em;
  padding: 1.2em 0.5em;
  background-color: rgba(9, 9, 9, 0.6);
  min-width: 31.5em;
  opacity: 0;
  visibility: hidden;
  transition: all .2s ease;
  z-index: 99; }
  @supports ((-webkit-backdrop-filter: blur(5px)) or (backdrop-filter: blur(5px))) {
    .dropdown-menu {
      -webkit-backdrop-filter: blur(5px);
              backdrop-filter: blur(5px); } }
  .dropdown-menu::before {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 0;
    right: 0;
    height: 2.3em;
    z-index: -1; }
    @media (max-width: 991px) {
      .dropdown-menu::before {
        height: 0.61111em; } }
  @media (max-width: 991px) {
    .dropdown-menu {
      margin-top: 0.61111em; } }
  @media (max-width: 575px) {
    .dropdown-menu {
      margin-top: 3.42223em;
      padding: 1.22223em 0.61111em;
      min-width: 70.27802em; } }
  @media (max-width: 425px) {
    .dropdown-menu {
      margin-top: 5vh;
      padding: 10px 5px; } }
  .dropdown-menu.show {
    opacity: 1;
    visibility: visible; }

.dropdown-menu__item {
  text-align: center; }
  .dropdown-menu__item + .dropdown-menu__item {
    margin-top: 1em; }
    @media (max-width: 575px) {
      .dropdown-menu__item + .dropdown-menu__item {
        margin-top: 4.88891em; } }
    @media (max-width: 425px) {
      .dropdown-menu__item + .dropdown-menu__item {
        margin-top: 4.4vh; } }
  @media (max-width: 1024px) {
    .dropdown-menu__item.isMobile {
      display: block; } }
  .dropdown-menu__item.active .dropdown-menu__link {
    border-bottom-color: #fff; }

.dropdown-menu__link {
  font-size: 2em;
  border-bottom: 1px solid transparent;
  text-transform: uppercase;
  transition: border-bottom-color .2s ease; }
  .dropdown-menu__link:link, .dropdown-menu__link:visited {
    color: #fff; }
  .dropdown-menu__link:hover {
    border-bottom-color: #fff; }
  @media (min-width: 1921px) {
    .dropdown-menu__link {
      border-width: 0.05em; } }
  @media (max-width: 575px) {
    .dropdown-menu__link {
      font-size: 3.42223em; } }
  @media (max-width: 425px) {
    .dropdown-menu__link {
      font-size: 20px; } }

.nav-btn-open,
.nav-btn-close {
  border: none;
  outline: none;
  background-color: transparent; }

.nav-btn-close {
  position: absolute;
  top: 12px;
  right: 22px;
  opacity: 1;
  visibility: visible;
  transition: .3s all .3s ease;
  z-index: 9; }
  .nav-btn-close.hide {
    opacity: 0;
    visibility: hidden; }

.nav-btn-close__icon {
  display: block;
  width: 32px;
  height: 32px;
  fill: #fff; }

.nav-btn-open {
  display: none;
  margin-top: 26px;
  padding: 10px; }
  .nav-btn-open.hide .path--1,
  .nav-btn-open.hide .path--3 {
    transform: translateX(100%); }
  .nav-btn-open.hide .path--2,
  .nav-btn-open.hide .path--4 {
    transform: translateX(-100%); }
  @media (max-width: 575px) {
    .nav-btn-open {
      display: block; } }

.nav-btn-open__icon {
  display: block;
  width: 44px;
  height: 32px; }
  .nav-btn-open__icon .path {
    transition: all .3s ease; }

.page-footer {
  background-image: url(../images/footer-background.jpg);
  padding-top: 3.2em;
  padding-bottom: 2em; }
  .page-footer__social-icons {
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -5em; }
    @media (max-width: 1000px) {
      .page-footer__social-icons {
        position: initial;
        display: flex;
        justify-content: center;
        margin-top: 20px;
        width: 100%;
        margin-left: 0px; } }
    .page-footer__social-icons a {
      margin: 0 10px; }
  .page-footer::before {
    background-color: rgba(9, 9, 9, 0.5); }
    @supports ((-webkit-backdrop-filter: blur(2px)) or (backdrop-filter: blur(2px))) {
      .page-footer::before {
        -webkit-backdrop-filter: blur(2px);
                backdrop-filter: blur(2px); }
        @media (max-width: 767px) {
          .page-footer::before {
            -webkit-backdrop-filter: none;
                    backdrop-filter: none; } } }
  .page-footer .nav-menu {
    max-width: 48.33333%;
    flex-basis: 48.33333%; }
  .page-footer .nav-menu__list {
    align-items: flex-start; }
  .page-footer .nav-menu__item {
    padding: 0; }
  .page-footer .nav-menu__item + .nav-menu__item {
    margin-left: 3em; }
  .page-footer .nav-menu__link {
    font-size: 1.8em; }
  .page-footer .dropdown {
    padding-right: 0;
    justify-content: center; }
    .page-footer .dropdown::before {
      left: 50%;
      transform: translateX(-50%); }
    .page-footer .dropdown::after {
      display: none; }
  .page-footer .dropdown-menu {
    position: relative;
    top: auto;
    left: auto;
    transform: translateX(0);
    margin-top: 2em;
    padding: 0;
    background-color: transparent;
    min-width: auto;
    opacity: 1;
    visibility: visible; }
    .page-footer .dropdown-menu::before {
      display: none; }
    @supports ((-webkit-backdrop-filter: blur(5px)) or (backdrop-filter: blur(5px))) {
      .page-footer .dropdown-menu {
        -webkit-backdrop-filter: none;
                backdrop-filter: none; } }
  .page-footer .dropdown-menu__link {
    font-size: 1.6em;
    font-weight: 300; }
    @media (min-width: 1921px) {
      .page-footer .dropdown-menu__link {
        border-width: 0.0625em; } }

.page-footer__content {
  position: relative;
  display: flex;
  justify-content: space-between;
  z-index: 5;
  flex-wrap: wrap; }
  @media (max-width: 575px) {
    .page-footer__content {
      flex-direction: column;
      justify-content: flex-start; } }

@media (max-width: 1199px) {
  .page-footer__navigation {
    display: none; } }

.page-footer__address {
  max-width: 16.36905%;
  flex-basis: 16.36905%; }
  .page-footer__address .page-footer__text {
    text-transform: capitalize; }
  @media (max-width: 767px) {
    .page-footer__address {
      max-width: 50%;
      flex-basis: auto; } }
  @media (max-width: 425px) {
    .page-footer__address {
      max-width: 255px;
      margin-bottom: 50px; } }

.page-footer__contacts .page-footer__text {
  text-align: right; }
  .page-footer__contacts .page-footer__text + .page-footer__contacts .page-footer__text {
    margin-top: 0.55556em; }

.page-footer__text {
  font-size: 1.8em;
  font-weight: 600;
  line-height: 1.5; }
  .page-footer__text .page-link {
    font-size: 1em;
    line-height: 1;
    border-bottom-color: transparent; }
    .page-footer__text .page-link:hover {
      border-bottom-color: #fff; }
  @media (max-width: 767px) {
    .page-footer__text {
      font-size: 2.2em; } }
  @media (max-width: 575px) {
    .page-footer__text {
      font-size: 18px; } }

@media (max-width: 425px) {
  .page-footer.page-block {
    padding-top: 5em;
    padding-bottom: 4em; } }

.hero {
  background-image: url(../images/hero-background.jpg);
  margin-bottom: -6em;
  -webkit-clip-path: url(#hero-clip-shape);
          clip-path: url(#hero-clip-shape); }
  @media (max-width: 991px) {
    .hero {
      margin-bottom: -7.33335em; } }
  @media (max-width: 575px) {
    .hero {
      -webkit-clip-path: url(#hero-clip-shape--mobile);
              clip-path: url(#hero-clip-shape--mobile); } }
  .hero .page-button--mobile {
    display: none; }
    @media (max-width: 991px) {
      .hero .page-button--mobile {
        display: block;
        margin-top: 7.94446em; } }
    @media (max-width: 425px) {
      .hero .page-button--mobile {
        margin-top: 65px; } }

.hero,
.page-footer {
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  z-index: 5; }
  .hero::after, .hero::before,
  .page-footer::after,
  .page-footer::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
  .hero::before,
  .page-footer::before {
    background-color: rgba(9, 9, 9, 0.4);
    z-index: 2; }
  .hero::after,
  .page-footer::after {
    background: repeating-linear-gradient(to right, #fff, #fff 1px, transparent 1px, transparent 6.66667%);
    z-index: 1; }
    @media (min-width: 1921px) {
      .hero::after,
      .page-footer::after {
        background: repeating-linear-gradient(to right, #fff, #fff 0.09995em, transparent 0.09995em, transparent 6.66667%); } }
    @media (max-width: 767px) {
      .hero::after,
      .page-footer::after {
        background: repeating-linear-gradient(to right, #fff, #fff 1px, transparent 1px, transparent 25%); } }

.hero__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 16.4em;
  padding-bottom: 10em;
  position: relative;
  z-index: 5; }
  @media (max-width: 425px) {
    .hero__container {
      padding-top: 102px;
      padding-bottom: 102px; } }

.hero__logo {
  margin-bottom: 3em;
  position: relative; }
  @media (max-width: 425px) {
    .hero__logo {
      margin-bottom: 20px; } }

.hero__title {
  text-align: center;
  text-transform: uppercase;
  text-shadow: 0 4px 4px rgba(0, 0, 0, 0.55);
  -webkit-text-stroke: unset; }
  @media (min-width: 1921px) {
    .hero__title {
      text-shadow: 0 0.04em 0.04em rgba(0, 0, 0, 0.55); } }
  @media (max-width: 425px) {
    .hero__title {
      font-size: 32px; } }

.logo--small .logo__pic {
  width: 23em;
  height: 18.9em; }
  @media (max-width: 425px) {
    .logo--small .logo__pic {
      width: 194px;
      height: 159px; } }

.logo__pic {
  display: block;
  width: 39.8em;
  height: 32.7em; }
  .logo__pic--blurred {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1; }
    @supports (filter: blur(30px)) {
      .logo__pic--blurred {
        display: block;
        filter: blur(30px); } }
  @media (max-width: 425px) {
    .logo__pic {
      width: 194px;
      height: 159px; } }

.contacts {
  padding-top: 10em;
  margin-bottom: 5em;
  position: relative; }
  @media (max-width: 575px) {
    .contacts {
      padding-top: 50px;
      margin-bottom: 50px; } }
  .contacts::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 104.3em;
    background-image: url(../images/how-its-made-background.png);
    background-size: 147.6em 104.3em;
    background-position: left top;
    background-repeat: repeat-x;
    opacity: 0;
    z-index: 1; }
    @supports (mix-blend-mode: color-burn) {
      .contacts::before {
        opacity: .15;
        mix-blend-mode: color-burn; } }
    @media (max-width: 425px) {
      .contacts::before {
        display: none; } }
  .contacts .container {
    position: relative;
    z-index: 3; }

.contacts__title {
  font-size: 5.4em;
  font-family: l-gilroy, sans-serif;
  font-weight: 800;
  text-align: center;
  text-shadow: 1px 1px #67686b, -1px 1px #67686b, 1px -1px #67686b, -1px -1px #67686b, 0 4px 4px rgba(0, 0, 0, 0.55); }
  @media (min-width: 1921px) {
    .contacts__title {
      text-shadow: 0.03704em 0.03704em #67686b, 0.03704em 0.03704em #67686b, 0.03704em 0.03704em #67686b, 0.03704em 0.03704em #67686b, 0 0.07407em 0.07407em rgba(0, 0, 0, 0.55); } }
  @media (max-width: 575px) {
    .contacts__title {
      font-size: 36px; } }
  @media (max-width: 425px) {
    .contacts__title {
      font-size: 24px; } }

.contacts__wrapper {
  max-width: 82.7381%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 6.4em; }
  @media (max-width: 1439px) {
    .contacts__wrapper {
      max-width: 1180px; } }
  @media (max-width: 1199px) {
    .contacts__wrapper {
      max-width: 100%; } }

.contacts__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-left: -17.98561%; }
  @media (max-width: 1439px) {
    .contacts__list {
      margin-left: -7.8125%; } }
  @media (max-width: 1199px) {
    .contacts__list {
      margin-left: -2.60417%; } }
  @media (max-width: 767px) {
    .contacts__list {
      margin-left: 0; } }

.contact {
  width: 100%;
  max-width: 34.7561%;
  padding: 2.2em 2em;
  margin-left: 15.2439%;
  margin-bottom: 3em;
  box-shadow: -4px 4px 4px rgba(0, 0, 0, 0.25);
  background-color: #2b2b2b;
  position: relative; }
  @media (min-width: 1921px) {
    .contact {
      box-shadow: -0.4em 0.4em 0.4em rgba(0, 0, 0, 0.25); } }
  @media (max-width: 1439px) {
    .contact {
      max-width: 42.1875%;
      margin-left: 7.8125%; } }
  @media (max-width: 1199px) {
    .contact {
      max-width: 47.39583%;
      margin-left: 2.60417%; } }
  @media (max-width: 767px) {
    .contact {
      max-width: 100%;
      margin-left: 0;
      margin-bottom: 3.66667em; } }
  @media (max-width: 575px) {
    .contact {
      padding: 15px 20px;
      margin-bottom: 30px;
      box-shadow: -4px 4px 4px rgba(0, 0, 0, 0.25), 4px -4px 4px rgba(0, 0, 0, 0.25); } }

.contact__wrapper {
  display: flex; }

.contact__pic-wrapper {
  width: 17em;
  height: 25.5em;
  position: relative;
  flex-shrink: 0; }
  @media (max-width: 425px) {
    .contact__pic-wrapper {
      width: 170px;
      height: 255px; } }
  .contact__pic-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.25);
    border-radius: 30px; }
    @supports (filter: blur(50px)) {
      .contact__pic-wrapper::before {
        filter: blur(50px); } }
    @media (min-width: 1921px) {
      .contact__pic-wrapper::before {
        border-radius: 3em; } }

.contact__pic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover; }

.contact__desc {
  padding-left: 5.6em;
  flex: 1; }
  @media (max-width: 425px) {
    .contact__desc {
      padding-left: 4px; } }

.contact__name,
.contact__position {
  font-size: 3em;
  line-height: 1.46667;
  text-align: center; }
  @media (max-width: 340px) {
    .contact__name,
    .contact__position {
      text-align: right; } }

.contact__name {
  font-weight: 600;
  text-shadow: 1px 1px #67686b, -1px 1px #67686b, 1px -1px #67686b, -1px -1px #67686b, 0 4px 4px rgba(0, 0, 0, 0.5);
  margin-bottom: 0.6em;
  position: relative; }
  @media (min-width: 1921px) {
    .contact__name {
      text-shadow: 0.03333em 0.03333em #67686b, 0.03333em 0.03333em #67686b, 0.03333em 0.03333em #67686b, 0.03333em 0.03333em #67686b 0 0.05556em 0.05556em rgba(0, 0, 0, 0.5); } }
  @media (max-width: 575px) {
    .contact__name {
      margin-bottom: 26px;
      font-size: 24px; } }
  @media (max-width: 425px) {
    .contact__name {
      margin-left: -10px; } }
  .contact__name::after {
    content: '';
    position: absolute;
    top: 100%;
    right: 100%;
    margin-right: -0.7em;
    width: 4.33333em;
    height: 0.26667em;
    transform: translateY(-50%);
    background-color: #d33333;
    z-index: 4; }
    @media (max-width: 425px) {
      .contact__name::after {
        top: calc(100% + 10px);
        margin-right: -87px;
        width: 130px;
        height: 8px; } }

@media (max-width: 575px) {
  .contact__position {
    font-size: 20px; } }

.contact-details {
  padding-top: 3.5em; }
  @media (max-width: 425px) {
    .contact-details {
      display: none;
      padding-top: 16px; } }
  .contact-details.isMobile {
    display: none; }
    @media (max-width: 425px) {
      .contact-details.isMobile {
        display: block; } }

.contact-details__item + .contact-details__item {
  margin-top: 0.88889em; }
  @media (max-width: 575px) {
    .contact-details__item + .contact-details__item {
      margin-top: 16px; } }

.contact-details__link {
  font-size: 1.8em;
  line-height: 1.5;
  border-bottom-color: transparent;
  word-break: break-all; }
  .contact-details__link:hover {
    border-bottom-color: #fff; }
  @media (max-width: 575px) {
    .contact-details__link {
      font-size: 16px; } }

.contacts__assistance {
  padding-top: 8em;
  text-align: center; }
  @media (max-width: 575px) {
    .contacts__assistance {
      padding-top: 5px; } }

.contacts__text {
  font-size: 3.6em;
  font-weight: 300;
  text-align: center;
  line-height: 1.47222;
  margin-bottom: 0.88889em; }
  @media (max-width: 425px) {
    .contacts__text {
      font-size: 20px; } }

.contacts__decor-line-1.decor-line,
.contacts__decor-line-2.decor-line {
  z-index: 1; }
  @media (max-width: 991px) {
    .contacts__decor-line-1.decor-line,
    .contacts__decor-line-2.decor-line {
      display: none; } }

.contacts__decor-line-1 {
  top: 24em;
  left: -18em; }

.contacts__decor-line-2 {
  top: 100%;
  right: -10em;
  margin-top: 28em; }
  @media (max-width: 991px) {
    .contacts__decor-line-2 {
      right: -14.6667em; } }

.contacts__map {
  position: relative;
  padding-top: 9.2em;
  z-index: 4; }
  @media (max-width: 575px) {
    .contacts__map {
      padding-top: 32px; } }

.map__wrapper {
  min-height: 66.2em; }
  @media (max-width: 575px) {
    .map__wrapper {
      min-height: 457px; } }

.placeDiv {
  z-index: 9999;
  position: absolute; }

.map-container {
  position: relative; }

.placecard__container {
  box-shadow: rgba(0, 0, 0, 0.298039) 0px 1px 4px -1px;
  max-width: 330px;
  width: 100%;
  background: white none repeat scroll 0% 0%/auto padding-box border-box;
  border-radius: 2px 2px 2px 2px;
  font: normal normal normal normal 11px / normal Roboto, Arial, sans-serif;
  margin: 10px;
  padding: 9px 4px 9px 11px;
  overflow: hidden; }
  @media (max-width: 450px) {
    .placecard__container {
      width: auto; } }

.placecard__left {
  float: left;
  width: 75%; }

.placecard__right {
  text-align: center;
  float: left;
  width: 25%; }

.placecard__business-name {
  cursor: default;
  height: 19px;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 200px;
  perspective-origin: 100px 9.5px;
  transform-origin: 100px 9.5px;
  font: normal normal 500 normal 14px / normal Roboto, Arial;
  overflow: hidden;
  margin: 0;
  color: #000; }

.placecard__info {
  color: #5b5b5b;
  cursor: default;
  height: 32px;
  column-rule-color: #5b5b5b;
  perspective-origin: 100px 16px;
  transform-origin: 100px 16px;
  border: 0px none #5b5b5b;
  font: normal normal normal normal 12px / normal Roboto, Arial;
  margin: 6px 0px 0px;
  outline: #5b5b5b none 0px; }

.placecard__direction-icon {
  background: rgba(0, 0, 0, 0) url("https://maps.gstatic.com/mapfiles/embed/images/entity11.png") repeat scroll 0px 0px/70px 210px padding-box border-box;
  height: 22px;
  width: 22px;
  margin-right: auto;
  margin-left: auto; }

.placecard__direction-link {
  color: #3a84df;
  display: block;
  height: 43px;
  text-decoration: none;
  width: 54.7344px; }

.placecard__view-large {
  display: block;
  margin-top: 10px;
  color: #3a84df;
  text-decoration: none; }

.questions {
  position: relative;
  margin-bottom: 5em;
  z-index: 5; }
  @media (max-width: 575px) {
    .questions {
      margin-bottom: 80px; } }

.questions__title {
  font-size: 13.8em;
  margin-bottom: 0.36232em; }
  @media (min-width: 1921px) {
    .questions__title {
      -webkit-text-stroke: 0.01449em #67686b; } }
  @media (max-width: 1439px) {
    .questions__title {
      font-size: 11.00004em; } }
  @media (max-width: 1199px) {
    .questions__title {
      font-size: 9.53328em; } }
  @media (max-width: 767px) {
    .questions__title {
      font-size: 9.28889em;
      text-align: center; } }
  @media (max-width: 425px) {
    .questions__title {
      font-size: 48px;
      margin-bottom: 25px; } }

.questions__form {
  max-width: 40.83333%;
  margin: 0 auto; }
  .questions__form .form__button-wrapper {
    justify-content: center; }
    @media (max-width: 575px) {
      .questions__form .form__button-wrapper {
        padding-top: 15px; } }
  @media (max-width: 1439px) {
    .questions__form {
      max-width: 46.875%; } }
  @media (max-width: 1199px) {
    .questions__form {
      max-width: 62.5%; } }
  @media (max-width: 767px) {
    .questions__form {
      max-width: 86.95652%; } }
  @media (max-width: 575px) {
    .questions__form {
      max-width: 100%; } }

.decor-line {
  position: absolute;
  display: block;
  width: 41.5em;
  height: 3px;
  background-color: #d33333;
  transform: rotate(-45deg);
  z-index: -1; }
  @media (min-width: 1921px) {
    .decor-line {
      height: 0.29984em; } }

.breadcrumbs--light .breadcrumbs__text {
  color: #fff; }

.breadcrumbs--light .breadcrumbs__link:link, .breadcrumbs--light .breadcrumbs__link:visited {
  color: #fff; }

@media (max-width: 575px) {
  .breadcrumbs {
    display: none; } }

.breadcrumbs__list {
  display: flex;
  flex-wrap: wrap; }

.breadcrumbs__item + .breadcrumbs__item .breadcrumbs__text::before {
  content: '/';
  padding: 0 0.25em; }
  @media (max-width: 991px) {
    .breadcrumbs__item + .breadcrumbs__item .breadcrumbs__text::before {
      padding: 0 0.25em; } }

.breadcrumbs__text {
  font-size: 2.4em;
  font-weight: 600;
  text-transform: uppercase;
  color: #da3d3d;
  display: block; }
  @media (max-width: 991px) {
    .breadcrumbs__text {
      font-size: 1.95556em; } }

.breadcrumbs__link:link, .breadcrumbs__link:visited {
  color: #da3d3d; }

.breadcrumbs__link:hover {
  text-decoration: underline; }

.page-slider-wrapper {
  position: relative; }
  @media (max-width: 767px) {
    .page-slider-wrapper .swiper-navigation {
      display: flex;
      justify-content: center;
      align-items: center;
      margin-top: 2.44444em; } }
  @media (max-width: 575px) {
    .page-slider-wrapper .swiper-navigation {
      margin-top: 15px; } }
  .page-slider-wrapper .swiper-button-prev,
  .page-slider-wrapper .swiper-button-next {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    border: 1px solid #fff;
    width: 4em;
    height: 4em;
    margin-top: 0;
    transform: translateY(-50%);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 1.1em 1.9em; }
    .page-slider-wrapper .swiper-button-prev:focus,
    .page-slider-wrapper .swiper-button-next:focus {
      outline: none;
      box-shadow: 0 0 4px 2px #b4b5b7; }
      @media (min-width: 1921px) {
        .page-slider-wrapper .swiper-button-prev:focus,
        .page-slider-wrapper .swiper-button-next:focus {
          box-shadow: 0 0 0.4em 0.2em #b4b5b7; } }
      @media (max-width: 767px) {
        .page-slider-wrapper .swiper-button-prev:focus,
        .page-slider-wrapper .swiper-button-next:focus {
          box-shadow: none; } }
    @media (min-width: 1921px) {
      .page-slider-wrapper .swiper-button-prev,
      .page-slider-wrapper .swiper-button-next {
        border-width: 0.09995em; } }
    @media (max-width: 767px) {
      .page-slider-wrapper .swiper-button-prev,
      .page-slider-wrapper .swiper-button-next {
        position: relative;
        top: auto;
        margin-top: 0;
        border: none;
        outline: none;
        transform: translateY(0);
        width: 3.3em;
        height: 1.46667em;
        background-size: 3.3em 1.46667em;
        padding: 0.73333em;
        box-sizing: content-box; } }
    @media (max-width: 575px) {
      .page-slider-wrapper .swiper-button-prev,
      .page-slider-wrapper .swiper-button-next {
        width: 27px;
        height: 12px;
        background-size: 27px 12px;
        padding: 6px; } }
  .page-slider-wrapper .swiper-button-prev {
    left: auto;
    right: 100%;
    margin-right: 4em;
    background-image: url("data:image/svg+xml,%3Csvg width='11' height='19' viewBox='0 0 11 19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.474271 8.5594L8.64399 0.389957C9.16368 -0.129986 10.0063 -0.129986 10.5257 0.389958C11.0452 0.909439 11.0452 1.75199 10.5257 2.27143L3.29677 9.50014L10.5255 16.7286C11.045 17.2483 11.045 18.0907 10.5255 18.6102C10.006 19.1299 9.16347 19.1299 8.64377 18.6102L0.47406 10.4407C0.214318 10.1808 0.0845947 9.84057 0.0845947 9.50018C0.0845948 9.15962 0.214571 8.81914 0.474271 8.5594Z' fill='white'/%3E%3C/svg%3E%0A"); }
    @media (max-width: 1439px) {
      .page-slider-wrapper .swiper-button-prev {
        margin-right: 2.20001em; } }
    @media (max-width: 767px) {
      .page-slider-wrapper .swiper-button-prev {
        right: auto;
        margin-right: 0;
        background-image: url("data:image/svg+xml,%3Csvg width='27' height='12' viewBox='0 0 27 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 6L10 11.7735L10 0.226499L0 6ZM26.5 5L9 5L9 7L26.5 7L26.5 5Z' fill='white'/%3E%3C/svg%3E%0A"); } }
  .page-slider-wrapper .swiper-button-next {
    right: auto;
    left: 100%;
    margin-left: 4em;
    background-image: url("data:image/svg+xml,%3Csvg width='11' height='19' viewBox='0 0 11 19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.5258 10.4406L2.35605 18.61C1.83636 19.13 0.993769 19.13 0.474328 18.61C-0.0451539 18.0906 -0.0451537 17.248 0.474329 16.7286L7.70327 9.49986L0.474541 2.2714C-0.0449409 1.75171 -0.0449407 0.909249 0.474542 0.389768C0.994024 -0.129923 1.83657 -0.129923 2.35627 0.389769L10.526 8.55934C10.7857 8.81921 10.9154 9.15943 10.9154 9.49982C10.9154 9.84038 10.7855 10.1809 10.5258 10.4406Z' fill='white'/%3E%3C/svg%3E%0A"); }
    @media (max-width: 1439px) {
      .page-slider-wrapper .swiper-button-next {
        margin-left: 2.20001em; } }
    @media (max-width: 767px) {
      .page-slider-wrapper .swiper-button-next {
        left: auto;
        margin-left: 3.66667em;
        background-image: url("data:image/svg+xml,%3Csvg width='27' height='13' viewBox='0 0 27 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M26.5 6.5L16.5 0.726497V12.2735L26.5 6.5ZM0 7.5H17.5V5.5H0V7.5Z' fill='white'/%3E%3C/svg%3E%0A"); } }
    @media (max-width: 575px) {
      .page-slider-wrapper .swiper-button-next {
        margin-left: 30px; } }

.page-slider__pic-wrapper {
  position: relative;
  padding-top: 68.51145%;
  border: 1px solid #fff; }
  @media (min-width: 1921px) {
    .page-slider__pic-wrapper {
      border-width: 0.09995em; } }

.page-slider__pic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover; }

.sl-overlay {
  background: #2b2b2b !important;
  opacity: .9; }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbm9ybWFsaXplLmNzcyIsIndlYnBhY2s6Ly8vbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vL2ZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vL2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly8vdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vL3BhZ2UtYmxvY2suc2NzcyIsIndlYnBhY2s6Ly8vLi4vY29uZmlnL21peGlucy5zY3NzIiwid2VicGFjazovLy9zd2VldGFsZXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uL2NvbmZpZy92YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vbG9hZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uL3VpL2J1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vdWkvdGl0bGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uL3VpL2xpbmtzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uL3VpL2Zvcm0uc2NzcyIsIndlYnBhY2s6Ly8vLi4vY29uZmlnL2ZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uL2NvbmZpZy9iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uL3VpL2lucHV0cy5zY3NzIiwid2VicGFjazovLy8uLi91aS9sYWJlbHMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vdWkvdGFicy5zY3NzIiwid2VicGFjazovLy8uLi91aS9saXN0cy5zY3NzIiwid2VicGFjazovLy9kZWZhdWx0LWVsZW1lbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vL2hlYWRlci5zY3NzIiwid2VicGFjazovLy9mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vaGVyby5zY3NzIiwid2VicGFjazovLy9sb2dvLnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbnRhY3Quc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vY29uZmlnL21peGlucy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9jb25maWcvdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vL21hcC5zY3NzIiwid2VicGFjazovLy9xdWVzdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vZGVjb3Iuc2NzcyIsIndlYnBhY2s6Ly8vYnJlYWRjcnVtYnMuc2NzcyIsIndlYnBhY2s6Ly8vcGFnZS1zbGlkZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyRUFBMkU7O0FBRTNFOytFQUMrRTs7QUFFL0U7OztFQUdFOztBQUVGO0VBQ0UsaUJBQWlCLEVBQUUsTUFBTTtFQUN6Qiw4QkFBOEIsRUFBRSxNQUFNO0FBQ3hDOztBQUVBOytFQUMrRTs7QUFFL0U7O0VBRUU7O0FBRUY7RUFDRSxTQUFTO0FBQ1g7O0FBRUE7O0VBRUU7O0FBRUY7RUFDRSxjQUFjO0FBQ2hCOztBQUVBOzs7RUFHRTs7QUFFRjtFQUNFLGNBQWM7RUFDZCxnQkFBZ0I7QUFDbEI7O0FBRUE7K0VBQytFOztBQUUvRTs7O0VBR0U7O0FBRUY7RUFDRSx1QkFBdUIsRUFBRSxNQUFNO0VBQy9CLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLGlCQUFpQixFQUFFLE1BQU07QUFDM0I7O0FBRUE7OztFQUdFOztBQUVGO0VBQ0UsaUNBQWlDLEVBQUUsTUFBTTtFQUN6QyxjQUFjLEVBQUUsTUFBTTtBQUN4Qjs7QUFFQTsrRUFDK0U7O0FBRS9FOztFQUVFOztBQUVGO0VBQ0UsNkJBQTZCO0FBQy9COztBQUVBOzs7RUFHRTs7QUFFRjtFQUNFLG1CQUFtQixFQUFFLE1BQU07RUFDM0IsMEJBQTBCLEVBQUUsTUFBTTtFQUNsQyxpQ0FBaUMsRUFBRSxNQUFNO0FBQzNDOztBQUVBOztFQUVFOztBQUVGOztFQUVFLG1CQUFtQjtBQUNyQjs7QUFFQTs7O0VBR0U7O0FBRUY7OztFQUdFLGlDQUFpQyxFQUFFLE1BQU07RUFDekMsY0FBYyxFQUFFLE1BQU07QUFDeEI7O0FBRUE7O0VBRUU7O0FBRUY7RUFDRSxjQUFjO0FBQ2hCOztBQUVBOzs7RUFHRTs7QUFFRjs7RUFFRSxjQUFjO0VBQ2QsY0FBYztFQUNkLGtCQUFrQjtFQUNsQix3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSxlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsV0FB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IHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAZnVuY3Rpb24gY2FsY3VsYXRlQmxvY2tGWigkY3VycmVudF9lbV9zaXplLCAkZnV0dXJlX3B4X3NpemUsICRjdXJyZW50X3Z3KSB7XHJcbiAgJGZ1dHVyZV9iYXNlOiAkZnV0dXJlX3B4X3NpemUgLyAkY3VycmVudF9lbV9zaXplO1xyXG4gICRmdXR1cmVfdndfc2l6ZTogKCRmdXR1cmVfYmFzZSAqIDEwMCAvICRjdXJyZW50X3Z3KSAqIDF2dzsgXHJcblxyXG4gIEByZXR1cm4gJGZ1dHVyZV92d19zaXplO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZWxlbUVtU2l6ZSgkYmxvY2tfYmFzZSwgJGZvbnRfc2l6ZSkge1xyXG4gIEByZXR1cm4gKCRmb250X3NpemUgLyAkYmxvY2tfYmFzZSkgKiAxZW07XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBjYWxjLXZ3KCRjb250ZXh0LCAkdGFyZ2V0LXB4KSB7XHJcbiAgQHJldHVybiAkdGFyZ2V0LXB4IC8gJGNvbnRleHQgKiAxMDB2dztcclxufVxyXG5cclxuQG1peGluIGZvbnQtZmFjZSgkZm9udC1uYW1lLCAkZm9sZGVyLW5hbWUsICRmaWxlLW5hbWUsICR3ZWlnaHQ6IG5vcm1hbCwgJHN0eWxlOiBub3JtYWwpIHtcclxuICBAZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkZm9udC1uYW1lKTtcclxuICAgIHNyYzogdXJsKFwiLi4vLi4vLi4vZm9udHMvI3skZm9sZGVyLW5hbWV9LyN7JGZpbGUtbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgdXJsKFwiLi4vLi4vLi4vZm9udHMvI3skZm9sZGVyLW5hbWV9LyN7JGZpbGUtbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XHJcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiByZXNwb25zaXZlLWltZygpIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzb2x1dGUtcmVzcG9uc2l2ZS1pbWcoKSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBvYmplY3QtZml0OiBjb3ZlcjtcclxufVxyXG5cclxuIiwiQGltcG9ydCBcImNvbmZpZ1wiO1xyXG5cclxuLy8gRm9udHNcclxuLy9AaW5jbHVkZSBmb250LWZhY2UoJ2wtZ2lscm95JywgJ2dpbHJveScsICdnaWxyb3ktbGlnaHQnLCAzMDApO1xyXG5AaW5jbHVkZSBmb250LWZhY2UoJ2wtZ2lscm95JywgJ2dpbHJveScsICdnaWxyb3ktcmVndWxhcicpO1xyXG4vL0BpbmNsdWRlIGZvbnQtZmFjZSgnbC1naWxyb3knLCAnZ2lscm95JywgJ2dpbHJveS1tZWRpdW0nLCA1MDApO1xyXG4vL0BpbmNsdWRlIGZvbnQtZmFjZSgnbC1naWxyb3knLCAnZ2lscm95JywgJ2dpbHJveS1ib2xkJywgNzAwKTtcclxuLy9AaW5jbHVkZSBmb250LWZhY2UoJ2wtZ2lscm95JywgJ2dpbHJveScsICdnaWxyb3ktYm9sZGl0YWxpYycsIDcwMCwgaXRhbGljKTtcclxuQGluY2x1ZGUgZm9udC1mYWNlKCdsLWdpbHJveScsICdnaWxyb3knLCAnZ2lscm95LWV4dHJhYm9sZCcsIDgwMCk7XHJcbi8vQGluY2x1ZGUgZm9udC1mYWNlKCdsLWdpbHJveScsICdnaWxyb3knLCAnZ2lscm95LWV4dHJhYm9sZGl0YWxpYycsIDgwMCwgaXRhbGljKTtcclxuXHJcbkBpbmNsdWRlIGZvbnQtZmFjZSgnbC1vc3dhbGQnLCAnb3N3YWxkJywgJ29zd2FsZC1saWdodCcsIDMwMCk7XHJcbkBpbmNsdWRlIGZvbnQtZmFjZSgnbC1vc3dhbGQnLCAnb3N3YWxkJywgJ29zd2FsZC1yZWd1bGFyJywgNDAwKTtcclxuQGluY2x1ZGUgZm9udC1mYWNlKCdsLW9zd2FsZCcsICdvc3dhbGQnLCAnb3N3YWxkLWJvbGQnLCA2MDApO1xyXG5cclxuIiwiQGltcG9ydCBcImNvbmZpZ1wiO1xyXG5AaW1wb3J0IFwiZm9udHNcIjtcclxuXHJcbnVsLCBsaSB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG5cclxucCB7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gIG1pbi13aWR0aDogMzIwcHg7XHJcbn1cclxuXHJcbmh0bWwge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgZm9udC1zaXplOiBjYWxjKDEwMHZ3IC8gMTkyMCAqIDEwKTtcclxuICBmb250LWZhbWlseTogJ2wtb3N3YWxkJywgc2Fucy1zZXJpZjtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGNvbG9yOiAkbGlnaHQ7XHJcbiAgbGluZS1oZWlnaHQ6ICgxMjMgLyAxMDApO1xyXG59XHJcblxyXG5odG1sLCBib2R5IHtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbiosIFxyXG4qOjpiZWZvcmUsXHJcbio6OmFmdGVyIHtcclxuICBib3gtc2l6aW5nOiBpbmhlcml0O1xyXG59XHJcblxyXG5idXR0b24ge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgb3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuYSB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIGNvbG9yOiBpbmhlcml0O1xyXG59XHJcblxyXG4udmlzdWFsbHktaGlkZGVuIHtcclxuICBib3JkZXI6IDA7XHJcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcclxuICBoZWlnaHQ6IDFweDtcclxuICBtYXJnaW46IC0xcHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIHdpZHRoOiAxcHg7XHJcbn1cclxuXHJcbi53cmFwcGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWluLWhlaWdodDogMTAwJTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktc2Vjb25kYXJ5O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcclxuaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcbiIsIi8vIENvbG9yc1xyXG4kbGlnaHQ6ICNmZmY7XHJcbiRibGFjazogIzAwMDtcclxuJGdyYXk6ICMwOTA5MDk7XHJcbiRncmF5LXNlY29uZGFyeTogIzJhMmEyYTtcclxuJGxpZ2h0LWdyYXk6ICM2NzY4NmI7XHJcbiRyZWQ6ICNkYTNkM2Q7XHJcbiRyZWQtc2Vjb25kYXJ5OiAjZDMzMzMzO1xyXG5cclxuLy8gYnJlYWtwb2ludHNcclxuJGJwLTE5MjE6IDE5MjFweDtcclxuJGJwLTE0Mzk6IDE0MzlweDtcclxuJGJwLTExOTk6IDExOTlweDtcclxuJGJwLTk5MTogOTkxcHg7XHJcbiRicC03Njc6IDc2N3B4O1xyXG4kYnAtNTc1OiA1NzVweDtcclxuJGJwLTQyNTogNDI1cHg7XHJcblxyXG4vLyBicmVha3BvaW50cyBmb250LXNpemVcclxuJGJwLWZ6LTE0Mzk6IDkuMDkwODg7XHJcbiRicC1mei0xMTk5OiA4LjE4MTg2O1xyXG4kYnAtZnotOTkxOiA4LjE4MTg7XHJcbiRicC1mei03Njc6IDguMTgxODI7XHJcbiRicC1mei01NzU6IDguMTgxNzk7XHJcblxyXG4vLyBjb250YWluZXIgd2lkdGhcclxuJGNvbnRhaW5lci13aWR0aC0xOTIwOiAxNjgwO1xyXG4kY29udGFpbmVyLXdpZHRoLTE0Mzk6IDEyODA7XHJcbiRjb250YWluZXItd2lkdGgtMTE5OTogOTYwO1xyXG4kY29udGFpbmVyLXdpZHRoLTk5MTogODQwO1xyXG4kY29udGFpbmVyLXdpZHRoLTc2NzogNjkwO1xyXG4kY29udGFpbmVyLXdpZHRoLTU3NTogMjkwOyIsIkBpbXBvcnQgXCIuLi9jb25maWcvY29uZmlnXCI7XHJcblxyXG5cclxuLnBhZ2UtYmxvY2sge1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC0xNDM5KSB7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZUJsb2NrRlooMi4yLCAyMCwgMTQzOSk7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTExOTkpIHtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlQmxvY2tGWigyLjIsIDE4LCAxMTk5KTtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtOTkxKSB7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZUJsb2NrRlooMi4yLCAxOCwgOTkxKTtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNzY3KSB7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZUJsb2NrRlooMi4yLCAxOCwgNzY3KTtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNTc1KSB7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZUJsb2NrRlooMi4yLCAxOCwgNTc1KTtcclxuICB9XHJcbn0iLCJAZnVuY3Rpb24gY2FsY3VsYXRlQmxvY2tGWigkY3VycmVudF9lbV9zaXplLCAkZnV0dXJlX3B4X3NpemUsICRjdXJyZW50X3Z3KSB7XHJcbiAgJGZ1dHVyZV9iYXNlOiAkZnV0dXJlX3B4X3NpemUgLyAkY3VycmVudF9lbV9zaXplO1xyXG4gICRmdXR1cmVfdndfc2l6ZTogKCRmdXR1cmVfYmFzZSAqIDEwMCAvICRjdXJyZW50X3Z3KSAqIDF2dzsgXHJcblxyXG4gIEByZXR1cm4gJGZ1dHVyZV92d19zaXplO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZWxlbUVtU2l6ZSgkYmxvY2tfYmFzZSwgJGZvbnRfc2l6ZSkge1xyXG4gIEByZXR1cm4gKCRmb250X3NpemUgLyAkYmxvY2tfYmFzZSkgKiAxZW07XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBjYWxjLXZ3KCRjb250ZXh0LCAkdGFyZ2V0LXB4KSB7XHJcbiAgQHJldHVybiAkdGFyZ2V0LXB4IC8gJGNvbnRleHQgKiAxMDB2dztcclxufVxyXG5cclxuQG1peGluIGZvbnQtZmFjZSgkZm9udC1uYW1lLCAkZm9sZGVyLW5hbWUsICRmaWxlLW5hbWUsICR3ZWlnaHQ6IG5vcm1hbCwgJHN0eWxlOiBub3JtYWwpIHtcclxuICBAZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkZm9udC1uYW1lKTtcclxuICAgIHNyYzogdXJsKFwiLi4vLi4vLi4vZm9udHMvI3skZm9sZGVyLW5hbWV9LyN7JGZpbGUtbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgdXJsKFwiLi4vLi4vLi4vZm9udHMvI3skZm9sZGVyLW5hbWV9LyN7JGZpbGUtbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XHJcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiByZXNwb25zaXZlLWltZygpIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5AbWl4aW4gYWJzb2x1dGUtcmVzcG9uc2l2ZS1pbWcoKSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBvYmplY3QtZml0OiBjb3ZlcjtcclxufVxyXG5cclxuIiwiQGltcG9ydCBcIi4uL2NvbmZpZy9jb25maWdcIjtcclxuXHJcbi5zd2FsMi1wb3B1cCB7XHJcblxyXG4gICYuc3dhbDItbW9kYWwge1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgd2lkdGg6IGVsZW1FbVNpemUoMTUsIDYwMCk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nOiBlbGVtRW1TaXplKDE1LCA4MCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIG1pbi1oZWlnaHQ6IGVsZW1FbVNpemUoMTUsIDM5MCk7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE5MjFweCkge1xyXG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTU3NSkge1xyXG4gICAgICBwYWRkaW5nOiA4MHB4IDEwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLy5zd2FsMi1pY29uIHtcclxuICAvLyAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIC8vfVxyXG5cclxuICAuc3dhbDItdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiBlbGVtRW1TaXplKDE1LCA0OCk7XHJcbiAgICBmb250LWZhbWlseTogbC1naWxyb3ksIHNhbnMtc2VyaWY7XHJcbiAgICBjb2xvcjogI2ZmMDAwMDtcclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTQyNSkge1xyXG4gICAgICBmb250LXNpemU6IDM2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5zdWNjZXNzIHtcclxuICAgICAgY29sb3I6ICMyOWJhMzg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc3dhbDItY29udGVudCB7XHJcbiAgICBmb250LXNpemU6IGVsZW1FbVNpemUoMTUsIDMwKTtcclxuICAgIGZvbnQtZmFtaWx5OiBsLWdpbHJveSwgc2Fucy1zZXJpZjtcclxuICAgIGNvbG9yOiAkZ3JheS1zZWNvbmRhcnk7XHJcbiAgICBsaW5lLWhlaWdodDogKDM1IC8gMzApO1xyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNDI1KSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zd2FsMi10ZXh0IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuXHJcbiAgLnN3YWwyLWJ1dHRvbiB7XHJcbiAgICBmb250LXNpemU6IGVsZW1FbVNpemUoMTUsIDIyKSAhaW1wb3J0YW50O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgbWluLXdpZHRoOiBlbGVtRW1TaXplKDIyLCAzNTApO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcGFkZGluZzogZWxlbUVtU2l6ZSgyMiwgMTcpIGVsZW1FbVNpemUoMjIsIDEwKSBlbGVtRW1TaXplKDIyLCAxNSk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4IDFweCAkcmVkO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlO1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnAtMTkyMSkge1xyXG4gICAgICBib3JkZXItd2lkdGg6IGVsZW1FbVNpemUoMTUsIDEpO1xyXG4gICAgICBib3gtc2hhZG93OiAwIDAgZWxlbUVtU2l6ZSgxNSwgNSkgZWxlbUVtU2l6ZSgxNSwgMSkgJHJlZDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTU3NSkge1xyXG4gICAgICBtaW4td2lkdGg6IDI5MHB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgM3B4IHJnYmEoJHJlZCwgLjQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnN3YWwyLWNsb3NlIHtcclxuICAgIGNvbG9yOiAkcmVkO1xyXG4gICAgLy9jb2xvcjogJGxpZ2h0LWdyYXk7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAjZmYwMDAwO1xyXG4gICAgICAvL2NvbG9yOiBsaWdodGVuKCRsaWdodC1ncmF5LCAxNSUpO1xyXG4gICAgfVxyXG5cclxuICAgICYuc3VjY2VzcyB7XHJcbiAgICAgIGNvbG9yOiAjMjliYTM4O1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oIzI5YmEzOCwgMTUlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBDb2xvcnNcclxuJGxpZ2h0OiAjZmZmO1xyXG4kYmxhY2s6ICMwMDA7XHJcbiRncmF5OiAjMDkwOTA5O1xyXG4kZ3JheS1zZWNvbmRhcnk6ICMyYTJhMmE7XHJcbiRsaWdodC1ncmF5OiAjNjc2ODZiO1xyXG4kcmVkOiAjZGEzZDNkO1xyXG4kcmVkLXNlY29uZGFyeTogI2QzMzMzMztcclxuXHJcbi8vIGJyZWFrcG9pbnRzXHJcbiRicC0xOTIxOiAxOTIxcHg7XHJcbiRicC0xNDM5OiAxNDM5cHg7XHJcbiRicC0xMTk5OiAxMTk5cHg7XHJcbiRicC05OTE6IDk5MXB4O1xyXG4kYnAtNzY3OiA3NjdweDtcclxuJGJwLTU3NTogNTc1cHg7XHJcbiRicC00MjU6IDQyNXB4O1xyXG5cclxuLy8gYnJlYWtwb2ludHMgZm9udC1zaXplXHJcbiRicC1mei0xNDM5OiA5LjA5MDg4O1xyXG4kYnAtZnotMTE5OTogOC4xODE4NjtcclxuJGJwLWZ6LTk5MTogOC4xODE4O1xyXG4kYnAtZnotNzY3OiA4LjE4MTgyO1xyXG4kYnAtZnotNTc1OiA4LjE4MTc5O1xyXG5cclxuLy8gY29udGFpbmVyIHdpZHRoXHJcbiRjb250YWluZXItd2lkdGgtMTkyMDogMTY4MDtcclxuJGNvbnRhaW5lci13aWR0aC0xNDM5OiAxMjgwO1xyXG4kY29udGFpbmVyLXdpZHRoLTExOTk6IDk2MDtcclxuJGNvbnRhaW5lci13aWR0aC05OTE6IDg0MDtcclxuJGNvbnRhaW5lci13aWR0aC03Njc6IDY5MDtcclxuJGNvbnRhaW5lci13aWR0aC01NzU6IDI5MDsiLCJAaW1wb3J0IFwiLi4vY29uZmlnL2NvbmZpZ1wiO1xyXG5cclxuJGR1cmF0aW9uOiAxLjVzO1xyXG5cclxuXHJcbi5wYWdlLWxvYWRlciB7XHJcbiAgZm9udC1zaXplOiAxcmVtO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5LXNlY29uZGFyeTtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgZWFzZSwgdmlzaWJpbGl0eSAuMjVzIGVhc2U7XHJcbiAgei1pbmRleDogMTAxO1xyXG5cclxuICAmLS1zaG93IHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxuICAgIC8vLmxvYWRlcl9fbGV0dGVyIHtcclxuICAgIC8vICBhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZztcclxuICAgIC8vfVxyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC05OTEpIHtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlQmxvY2tGWig0MS43LCAzMTUsIDk5MSk7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTQyNSkge1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVCbG9ja0ZaKDQxLjcsIDIxNSwgNDI1KTtcclxuICB9XHJcbn1cclxuXHJcbi5sb2FkZXIge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiBlbGVtRW1TaXplKDEwLCA0MTcpO1xyXG4gIGhlaWdodDogZWxlbUVtU2l6ZSgxMCwgMTgyKTtcclxufVxyXG5cclxuLmxvYWRlcl9fbGV0dGVyIHtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAvL3RyYW5zaXRpb246IG9wYWNpdHkgLjI1cyBlYXNlLCB2aXNpYmlsaXR5IC4yNXMgZWFzZTtcclxuXHJcbiAgJi5mYWRlSW5PdXQge1xyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XHJcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICAgIC8vYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcclxuICB9XHJcblxyXG4gICYtLTEge1xyXG4gICAgJi5mYWRlSW5PdXQge1xyXG4gICAgICBhbmltYXRpb24tbmFtZTogZmFkZUluT3V0MTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtLTIge1xyXG4gICAgJi5mYWRlSW5PdXQge1xyXG4gICAgICBhbmltYXRpb24tbmFtZTogZmFkZUluT3V0MjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtLTMge1xyXG4gICAgJi5mYWRlSW5PdXQge1xyXG4gICAgICBhbmltYXRpb24tbmFtZTogZmFkZUluT3V0MztcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtLXNob3cge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy9Aa2V5ZnJhbWVzIGZhZGVJbk91dDEge1xyXG4vLyAgMCUge1xyXG4vLyAgICBvcGFjaXR5OiAwO1xyXG4vLyAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbi8vICB9XHJcbi8vICAxNi42NjY2NjY2JSB7XHJcbi8vICAgIG9wYWNpdHk6IDE7XHJcbi8vICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbi8vICB9XHJcbi8vICAzMy4zMzMzMzMzJSB7XHJcbi8vICAgIG9wYWNpdHk6IDA7XHJcbi8vICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuLy8gIH1cclxuLy8gIDQ5Ljk5OTk5OTklIHtcclxuLy8gICAgb3BhY2l0eTogMDtcclxuLy8gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4vLyAgfVxyXG4vLyAgNjYuNjY2NjY2NiUge1xyXG4vLyAgICBvcGFjaXR5OiAwO1xyXG4vLyAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbi8vICB9XHJcbi8vICA4My4zMzMzMzMzJSB7XHJcbi8vICAgIG9wYWNpdHk6IDA7XHJcbi8vICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuLy8gIH1cclxuLy8gIDEwMCUge1xyXG4vLyAgICBvcGFjaXR5OiAwO1xyXG4vLyAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbi8vICB9XHJcbi8vfVxyXG4vL1xyXG4vL0BrZXlmcmFtZXMgZmFkZUluT3V0MiB7XHJcbi8vICAwJSB7XHJcbi8vICAgIG9wYWNpdHk6IDA7XHJcbi8vICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuLy8gIH1cclxuLy8gIDE2LjY2NjY2NjYlIHtcclxuLy8gICAgb3BhY2l0eTogMDtcclxuLy8gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4vLyAgfVxyXG4vLyAgMzMuMzMzMzMzMyUge1xyXG4vLyAgICBvcGFjaXR5OiAwO1xyXG4vLyAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbi8vICB9XHJcbi8vICA0OS45OTk5OTk5JSB7XHJcbi8vICAgIG9wYWNpdHk6IDE7XHJcbi8vICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbi8vICB9XHJcbi8vICA2Ni42NjY2NjY2JSB7XHJcbi8vICAgIG9wYWNpdHk6IDA7XHJcbi8vICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuLy8gIH1cclxuLy8gIDgzLjMzMzMzMzMlIHtcclxuLy8gICAgb3BhY2l0eTogMDtcclxuLy8gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4vLyAgfVxyXG4vLyAgMTAwJSB7XHJcbi8vICAgIG9wYWNpdHk6IDA7XHJcbi8vICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuLy8gIH1cclxuLy99XHJcbi8vXHJcbi8vQGtleWZyYW1lcyBmYWRlSW5PdXQzIHtcclxuLy8gIDAlIHtcclxuLy8gICAgb3BhY2l0eTogMDtcclxuLy8gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4vLyAgfVxyXG4vLyAgMTYuNjY2NjY2NiUge1xyXG4vLyAgICBvcGFjaXR5OiAwO1xyXG4vLyAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbi8vICB9XHJcbi8vICAzMy4zMzMzMzMzJSB7XHJcbi8vICAgIG9wYWNpdHk6IDA7XHJcbi8vICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuLy8gIH1cclxuLy8gIDQ5Ljk5OTk5OTklIHtcclxuLy8gICAgb3BhY2l0eTogMDtcclxuLy8gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4vLyAgfVxyXG4vLyAgNjYuNjY2NjY2NiUge1xyXG4vLyAgICBvcGFjaXR5OiAwO1xyXG4vLyAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbi8vICB9XHJcbi8vICA4My4zMzMzMzMzJSB7XHJcbi8vICAgIG9wYWNpdHk6IDE7XHJcbi8vICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbi8vICB9XHJcbi8vICAxMDAlIHtcclxuLy8gICAgb3BhY2l0eTogMDtcclxuLy8gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4vLyAgfVxyXG4vL31cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluT3V0MSB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB9XHJcbiAgMjUlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIH1cclxuICA1MCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluT3V0MiB7XHJcbiAgMjUlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgfVxyXG4gIDUwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICB9XHJcbiAgNzUlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJbk91dDMge1xyXG4gIDUwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIH1cclxuICA3NSUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB9XHJcbn0iLCJAaW1wb3J0IFwiLi4vY29uZmlnL2NvbmZpZ1wiO1xyXG5cclxuXHJcbmJ1dHRvbi5wYWdlLWJ1dHRvbixcclxubGFiZWwucGFnZS1idXR0b24ge1xyXG4gIGNvbG9yOiAkbGlnaHQ7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5hLnBhZ2UtYnV0dG9uIHtcclxuICAmOmxpbmssXHJcbiAgJjp2aXNpdGVkIHtcclxuICAgIGNvbG9yOiAkbGlnaHQ7XHJcbiAgfVxyXG59XHJcblxyXG4ucGFnZS1idXR0b24ge1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGxpbmUtaGVpZ2h0OiAoMTMgLyAxMCk7XHJcbiAgbWluLXdpZHRoOiBlbGVtRW1TaXplKDEwLCAzNTApO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwYWRkaW5nOiBlbGVtRW1TaXplKDEwLCAxNykgZWxlbUVtU2l6ZSgxMCwgMTApIGVsZW1FbVNpemUoMTAsIDE1KTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQ7XHJcbiAgYm94LXNoYWRvdzogMCAwIDVweCAxcHggJHJlZDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7XHJcblxyXG4gICY6OmJlZm9yZSxcclxuICAmOjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gIH1cclxuXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBtYXJnaW46IDFweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XHJcbiAgICB6LWluZGV4OiAxO1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnAtMTkyMSkge1xyXG4gICAgICBtYXJnaW46IGVsZW1FbVNpemUoMTAuMDA1MiwgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICB3aWR0aDogMTUwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHRyYW5zZm9ybTogc2tld1goLTQ1ZGVnKSB0cmFuc2xhdGVYKDk0JSk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIyYjJiO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4yNXMgZWFzZTtcclxuICAgIHotaW5kZXg6IDM7XHJcbiAgICByaWdodDotMTglO1xyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtMTE5OSkge1xyXG4gICAgICB0cmFuc2Zvcm06IHNrZXdYKC00NWRlZykgdHJhbnNsYXRlWCg5MiUpO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtOTkxKSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyIHtcclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgdHJhbnNmb3JtOiBza2V3WCgtNDVkZWcpIHRyYW5zbGF0ZVgoMTAlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC50ZXh0IHtcclxuICAgIGZvbnQtc2l6ZTogZWxlbUVtU2l6ZSgxMCwgMjIpO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiA1O1xyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNDI1KSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnAtMTkyMSkge1xyXG4gICAgYm94LXNoYWRvdzogMCAwIGVsZW1FbVNpemUoMTAuMDA1MiwgNSkgMCAkcmVkO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC0xMTk5KSB7XHJcbiAgICBtaW4td2lkdGg6IGVsZW1FbVNpemUoJGJwLWZ6LTExOTksIDIwMCk7XHJcbiAgICBwYWRkaW5nOiBlbGVtRW1TaXplKCRicC1mei0xMTk5LCAxNSkgZWxlbUVtU2l6ZSgkYnAtZnotMTE5OSwgOCkgZWxlbUVtU2l6ZSgkYnAtZnotMTE5OSwgMTEpO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC05OTEpIHtcclxuICAgIG1pbi13aWR0aDogZWxlbUVtU2l6ZSgkYnAtZnotOTkxLCAyOTApO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC00MjUpIHtcclxuICAgIG1pbi13aWR0aDogMjkwcHg7XHJcbiAgICBwYWRkaW5nOiAxN3B4IDEwcHggMTVweDtcclxuICB9XHJcblxyXG4gICYtLWNsZWFuIHtcclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4yNXMgZWFzZTtcclxuICAgIH1cclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcblxyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkcmVkLCA3JSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCJAaW1wb3J0IFwiLi4vY29uZmlnL2NvbmZpZ1wiO1xyXG5cclxuLnBhZ2UtdGl0bGUge1xyXG4gIGZvbnQtc2l6ZTogZWxlbUVtU2l6ZSgxMCwgMTAwKTtcclxuICBmb250LWZhbWlseTogbC1naWxyb3ksIHNhbnMtc2VyaWY7XHJcbiAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICBsaW5lLWhlaWdodDogKDEyMyAvIDEwMCk7XHJcbiAgLy8td2Via2l0LXRleHQtc3Ryb2tlOiAycHggJGxpZ2h0LWdyYXk7XHJcbiAgdGV4dC1zaGFkb3c6IDJweCAycHggJGxpZ2h0LWdyYXksXHJcbiAgICAgICAgICAgICAgIC0ycHggMnB4ICRsaWdodC1ncmF5LFxyXG4gICAgICAgICAgICAgICAycHggLTJweCAkbGlnaHQtZ3JheSxcclxuICAgICAgICAgICAgICAgLTJweCAtMnB4ICRsaWdodC1ncmF5O1xyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogJGJwLTE5MjEpIHtcclxuICAgIC8vLXdlYmtpdC10ZXh0LXN0cm9rZTogZWxlbUVtU2l6ZSgxMDAsIDIpICRsaWdodC1ncmF5O1xyXG4gICAgdGV4dC1zaGFkb3c6IGVsZW1FbVNpemUoMTAwLCAyKSBlbGVtRW1TaXplKDEwMCwgMikgJGxpZ2h0LWdyYXksXHJcbiAgICAgICAgICAgICAgICAgZWxlbUVtU2l6ZSgxMDAsIDIpIGVsZW1FbVNpemUoMTAwLCAyKSAkbGlnaHQtZ3JheSxcclxuICAgICAgICAgICAgICAgICBlbGVtRW1TaXplKDEwMCwgMikgZWxlbUVtU2l6ZSgxMDAsIDIpICRsaWdodC1ncmF5LFxyXG4gICAgICAgICAgICAgICAgIGVsZW1FbVNpemUoMTAwLCAyKSBlbGVtRW1TaXplKDEwMCwgMikgJGxpZ2h0LWdyYXk7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTc2Nykge1xyXG4gICAgZm9udC1zaXplOiBlbGVtRW1TaXplKCRicC1mei03NjcsIDY0KTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNDI1KSB7XHJcbiAgICBmb250LXNpemU6IDM0cHg7XHJcbiAgfVxyXG5cclxuICAmLS1iaWcge1xyXG4gICAgZm9udC1zaXplOiBlbGVtRW1TaXplKDEwLCAxNDApO1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnAtMTkyMSkge1xyXG4gICAgICAvLy13ZWJraXQtdGV4dC1zdHJva2U6IGVsZW1FbVNpemUoMTQwLCAyKSAkbGlnaHQtZ3JheTtcclxuICAgICAgdGV4dC1zaGFkb3c6IGVsZW1FbVNpemUoMTQwLCAyKSBlbGVtRW1TaXplKDE0MCwgMikgJGxpZ2h0LWdyYXksXHJcbiAgICAgICAgICAgICAgICAgICBlbGVtRW1TaXplKDE0MCwgMikgZWxlbUVtU2l6ZSgxNDAsIDIpICRsaWdodC1ncmF5LFxyXG4gICAgICAgICAgICAgICAgICAgZWxlbUVtU2l6ZSgxNDAsIDIpIGVsZW1FbVNpemUoMTQwLCAyKSAkbGlnaHQtZ3JheSxcclxuICAgICAgICAgICAgICAgICAgIGVsZW1FbVNpemUoMTQwLCAyKSBlbGVtRW1TaXplKDE0MCwgMikgJGxpZ2h0LWdyYXk7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC03NjcpIHtcclxuICAgICAgZm9udC1zaXplOiBlbGVtRW1TaXplKCRicC1mei03NjcsIDc2KTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTQyNSkge1xyXG4gICAgICBmb250LXNpemU6IDQ4cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLS1zbWFsbCB7XHJcbiAgICBmb250LXNpemU6IGVsZW1FbVNpemUoMTAsIDQ4KTtcclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJwLTE5MjEpIHtcclxuICAgICAgLy8td2Via2l0LXRleHQtc3Ryb2tlOiBlbGVtRW1TaXplKDE0MCwgMikgJGxpZ2h0LWdyYXk7XHJcbiAgICAgIHRleHQtc2hhZG93OiBlbGVtRW1TaXplKDQ4LCAyKSBlbGVtRW1TaXplKDQ4LCAyKSAkbGlnaHQtZ3JheSxcclxuICAgICAgICAgICAgICAgICAgIGVsZW1FbVNpemUoNDgsIDIpIGVsZW1FbVNpemUoNDgsIDIpICRsaWdodC1ncmF5LFxyXG4gICAgICAgICAgICAgICAgICAgZWxlbUVtU2l6ZSg0OCwgMikgZWxlbUVtU2l6ZSg0OCwgMikgJGxpZ2h0LWdyYXksXHJcbiAgICAgICAgICAgICAgICAgICBlbGVtRW1TaXplKDQ4LCAyKSBlbGVtRW1TaXplKDQ4LCAyKSAkbGlnaHQtZ3JheTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTc2Nykge1xyXG4gICAgICBmb250LXNpemU6IGVsZW1FbVNpemUoJGJwLWZ6LTc2NywgNDIpO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNDI1KSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wYWdlLXRpdGxlLXdyYXBwZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAucGFnZS10aXRsZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgfVxyXG59XHJcblxyXG4ucGFnZS1zdWJ0aXRsZSB7XHJcbiAgQGV4dGVuZCAucGFnZS10aXRsZTtcclxuICBmb250LXNpemU6IGVsZW1FbVNpemUoMTAsIDcyKTtcclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicC0xOTIxKSB7XHJcbiAgICB0ZXh0LXNoYWRvdzogZWxlbUVtU2l6ZSg3MiwgMikgZWxlbUVtU2l6ZSg3MiwgMikgJGxpZ2h0LWdyYXksXHJcbiAgICAgICAgICAgICAgICAgZWxlbUVtU2l6ZSg3MiwgMikgZWxlbUVtU2l6ZSg3MiwgMikgJGxpZ2h0LWdyYXksXHJcbiAgICAgICAgICAgICAgICAgZWxlbUVtU2l6ZSg3MiwgMikgZWxlbUVtU2l6ZSg3MiwgMikgJGxpZ2h0LWdyYXksXHJcbiAgICAgICAgICAgICAgICAgZWxlbUVtU2l6ZSg3MiwgMikgZWxlbUVtU2l6ZSg3MiwgMikgJGxpZ2h0LWdyYXk7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTc2Nykge1xyXG4gICAgZm9udC1zaXplOiBlbGVtRW1TaXplKCRicC1mei03NjcsIDY0KTtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNDI1KSB7XHJcbiAgICBmb250LXNpemU6IDQ4cHg7XHJcbiAgfVxyXG59IiwiQGltcG9ydCBcIi4uL2NvbmZpZy9jb25maWdcIjtcclxuXHJcbi5wYWdlLWxpbmsge1xyXG4gIGZvbnQtc2l6ZTogZWxlbUVtU2l6ZSgxMCwgMjApO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjdXJyZW50Q29sb3I7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTtcclxuXHJcbiAgJjpsaW5rLFxyXG4gICY6dmlzaXRlZCB7XHJcbiAgICBjb2xvcjogJGxpZ2h0O1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnAtMTkyMSkge1xyXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogZWxlbUVtU2l6ZSgyMC4wMDUyLCAxKVxyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC01NzUpIHtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uL2NvbmZpZy9jb25maWdcIjtcclxuXHJcbi5mb3JtX19yb3cge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICYgKyAmIHtcclxuICAgIG1hcmdpbi10b3A6IGVsZW1FbVNpemUoMTAsIDMwKTtcclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTU3NSkge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC01NzUpIHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgfVxyXG5cclxuICAmLS1oLWNlbnRlciB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICB9XHJcblxyXG4gICYtLXYtY2VudGVyIHtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAmLS1uby13cmFwIHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4uZm9ybV9faXRlbSB7XHJcbiAgZmxleDogMTtcclxuXHJcbiAgJiArICYge1xyXG4gICAgbWFyZ2luLWxlZnQ6IGVsZW1FbVNpemUoMTAsIDMwKTtcclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTU3NSkge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNTc1KSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgJi0taGFsZiB7XHJcbiAgICBmbGV4OiAuNTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IGVsZW1FbVNpemUoMTAsIDMwKTtcclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTU3NSkge1xyXG4gICAgICBmbGV4OiAxO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5oaWRlIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5mb3JtX19zdWJibG9jayB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgJi5zaG93IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiY29uZmlnXCI7XHJcblxyXG4vLyBGb250c1xyXG4vL0BpbmNsdWRlIGZvbnQtZmFjZSgnbC1naWxyb3knLCAnZ2lscm95JywgJ2dpbHJveS1saWdodCcsIDMwMCk7XHJcbkBpbmNsdWRlIGZvbnQtZmFjZSgnbC1naWxyb3knLCAnZ2lscm95JywgJ2dpbHJveS1yZWd1bGFyJyk7XHJcbi8vQGluY2x1ZGUgZm9udC1mYWNlKCdsLWdpbHJveScsICdnaWxyb3knLCAnZ2lscm95LW1lZGl1bScsIDUwMCk7XHJcbi8vQGluY2x1ZGUgZm9udC1mYWNlKCdsLWdpbHJveScsICdnaWxyb3knLCAnZ2lscm95LWJvbGQnLCA3MDApO1xyXG4vL0BpbmNsdWRlIGZvbnQtZmFjZSgnbC1naWxyb3knLCAnZ2lscm95JywgJ2dpbHJveS1ib2xkaXRhbGljJywgNzAwLCBpdGFsaWMpO1xyXG5AaW5jbHVkZSBmb250LWZhY2UoJ2wtZ2lscm95JywgJ2dpbHJveScsICdnaWxyb3ktZXh0cmFib2xkJywgODAwKTtcclxuLy9AaW5jbHVkZSBmb250LWZhY2UoJ2wtZ2lscm95JywgJ2dpbHJveScsICdnaWxyb3ktZXh0cmFib2xkaXRhbGljJywgODAwLCBpdGFsaWMpO1xyXG5cclxuQGluY2x1ZGUgZm9udC1mYWNlKCdsLW9zd2FsZCcsICdvc3dhbGQnLCAnb3N3YWxkLWxpZ2h0JywgMzAwKTtcclxuQGluY2x1ZGUgZm9udC1mYWNlKCdsLW9zd2FsZCcsICdvc3dhbGQnLCAnb3N3YWxkLXJlZ3VsYXInLCA0MDApO1xyXG5AaW5jbHVkZSBmb250LWZhY2UoJ2wtb3N3YWxkJywgJ29zd2FsZCcsICdvc3dhbGQtYm9sZCcsIDYwMCk7XHJcblxyXG4iLCJAaW1wb3J0IFwiY29uZmlnXCI7XHJcbkBpbXBvcnQgXCJmb250c1wiO1xyXG5cclxudWwsIGxpIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBsaW5lLWhlaWdodDogMS40O1xyXG59XHJcblxyXG5wIHtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuYm9keSB7XHJcbiAgbWluLXdpZHRoOiAzMjBweDtcclxufVxyXG5cclxuaHRtbCB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBmb250LXNpemU6IGNhbGMoMTAwdncgLyAxOTIwICogMTApO1xyXG4gIGZvbnQtZmFtaWx5OiAnbC1vc3dhbGQnLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgY29sb3I6ICRsaWdodDtcclxuICBsaW5lLWhlaWdodDogKDEyMyAvIDEwMCk7XHJcbn1cclxuXHJcbmh0bWwsIGJvZHkge1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuKiwgXHJcbio6OmJlZm9yZSxcclxuKjo6YWZ0ZXIge1xyXG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XHJcbn1cclxuXHJcbmJ1dHRvbiB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG5hIHtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgY29sb3I6IGluaGVyaXQ7XHJcbn1cclxuXHJcbi52aXN1YWxseS1oaWRkZW4ge1xyXG4gIGJvcmRlcjogMDtcclxuICBjbGlwOiByZWN0KDAgMCAwIDApO1xyXG4gIGhlaWdodDogMXB4O1xyXG4gIG1hcmdpbjogLTFweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgd2lkdGg6IDFweDtcclxufVxyXG5cclxuLndyYXBwZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1zZWNvbmRhcnk7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxyXG5pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uL2NvbmZpZy9jb25maWdcIjtcclxuQGltcG9ydCBcIi4uL2NvbmZpZy9iYXNlXCI7XHJcblxyXG4ucGFnZS1pbnB1dCxcclxuLnBhZ2UtdGV4dGFyZWEge1xyXG4gIGZvbnQtc2l6ZTogZWxlbUVtU2l6ZSgxMCwgMTgpO1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgbGluZS1oZWlnaHQ6ICgyNyAvIDE4KTtcclxuICBjb2xvcjogJGxpZ2h0LWdyYXk7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0O1xyXG4gIHBhZGRpbmc6IGVsZW1FbVNpemUoMTgsIDExKSBlbGVtRW1TaXplKDE4LCAyMCkgZWxlbUVtU2l6ZSgxOCwgOCk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICY6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJveC1zaGFkb3c6IDAgMCA0cHggMnB4IGxpZ2h0ZW4oJGxpZ2h0LWdyYXksIDMwJSk7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicC0xOTIxKSB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMCBlbGVtRW1TaXplKDE4LCA0KSBlbGVtRW1TaXplKDE4LCAyKSBsaWdodGVuKCRsaWdodC1ncmF5LCAzMCUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgbGluZS1oZWlnaHQ6ICgyNyAvIDE4KTtcclxuICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNzY3KSB7XHJcbiAgICBmb250LXNpemU6IGVsZW1FbVNpemUoJGJwLWZ6LTc2NywgMTgpO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC01NzUpIHtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICB9XHJcblxyXG4gICYudmFsaWRhdGUtZXJyb3Ige1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjZmYwMDAwO1xyXG4gIH1cclxufVxyXG5cclxuLnBhZ2UtdGV4dGFyZWEge1xyXG4gIG1pbi1oZWlnaHQ6IGVsZW1FbVNpemUoMTgsIDEyNik7XHJcbiAgcmVzaXplOiBub25lO1xyXG59XHJcblxyXG4ucGFnZV9fcmFkaW8ge1xyXG4gIEBleHRlbmQgLnZpc3VhbGx5LWhpZGRlbjtcclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vY29uZmlnL2NvbmZpZ1wiO1xyXG5cclxuLnBhZ2UtbGFiZWwge1xyXG4gIGZvbnQtc2l6ZTogZWxlbUVtU2l6ZSgxMCwgMTgpO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgbWFyZ2luLWJvdHRvbTogZWxlbUVtU2l6ZSgxOCwgOCk7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTc2Nykge1xyXG4gICAgZm9udC1zaXplOiBlbGVtRW1TaXplKCRicC1mei03NjcsIDE4KTtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNTc1KSB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgfVxyXG59XHJcblxyXG4ucGFnZS1yYWRpby1sYWJlbCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gIC5wYWdlX19yYWRpbzpjaGVja2VkIHtcclxuXHJcbiAgICB+LnBhZ2UtcmFkaW8tbGFiZWxfX2NoZWNrbWFyazo6YWZ0ZXIge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJiArICYge1xyXG4gICAgbWFyZ2luLWxlZnQ6IGVsZW1FbVNpemUoMTAsIDI1NSk7XHJcbiAgfVxyXG59XHJcblxyXG4ucGFnZS1yYWRpby1sYWJlbF9fY2FwdGlvbiB7XHJcbiAgZm9udC1zaXplOiBlbGVtRW1TaXplKDEwLCAzNik7XHJcbiAgY29sb3I6ICRsaWdodDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAkYmxhY2ssXHJcbiAgICAgICAgICAgICAgIC0xcHggMXB4ICRibGFjayxcclxuICAgICAgICAgICAgICAgMXB4IC0xcHggJGJsYWNrLFxyXG4gICAgICAgICAgICAgICAtMXB4IC0xcHggJGJsYWNrO1xyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogJGJwLTE5MjEpIHtcclxuICAgIHRleHQtc2hhZG93OiBlbGVtRW1TaXplKDM2LCAxKSBlbGVtRW1TaXplKDM2LCAxKSAkYmxhY2ssXHJcbiAgICAgICAgICAgICAgICAgZWxlbUVtU2l6ZSgzNiwgLTEpIGVsZW1FbVNpemUoMzYsIDEpICRibGFjayxcclxuICAgICAgICAgICAgICAgICBlbGVtRW1TaXplKDM2LCAxKSBlbGVtRW1TaXplKDM2LCAtMSkgJGJsYWNrLFxyXG4gICAgICAgICAgICAgICAgIGVsZW1FbVNpemUoMzYsIC0xKSBlbGVtRW1TaXplKDM2LCAtMSkgJGJsYWNrO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC00MjUpIHtcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICB9XHJcblxyXG4gICYtLXVwcGVyY2FzZSB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIH1cclxufVxyXG5cclxuLnBhZ2UtcmFkaW8tbGFiZWxfX2NoZWNrbWFyayB7XHJcbiAgLy9mbGV4LXNocmluazogMDtcclxuICB3aWR0aDogZWxlbUVtU2l6ZSgxMCwgMzUpO1xyXG4gIGhlaWdodDogZWxlbUVtU2l6ZSgxMCwgMzUpO1xyXG4gIG1hcmdpbi1yaWdodDogZWxlbUVtU2l6ZSgxMCwgNTApO1xyXG4gIG1hcmdpbi10b3A6IGVsZW1FbVNpemUoMTAsIC00KTtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicC0xOTIxKSB7XHJcbiAgICBib3JkZXItd2lkdGg6IGVsZW1FbVNpemUoMTAuMDA1MiwgMSk7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTQyNSkge1xyXG4gICAgd2lkdGg6IDM1cHg7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xyXG4gIH1cclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICB3aWR0aDogZWxlbUVtU2l6ZSgxMCwgMTUpO1xyXG4gICAgaGVpZ2h0OiBlbGVtRW1TaXplKDEwLCAxNSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLXNlY29uZGFyeTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgZWFzZSwgdmlzaWJpbGl0eSAuMjVzIGVhc2U7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC00MjUpIHtcclxuICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgIGhlaWdodDogMTVweDtcclxuICAgIH1cclxuICB9XHJcbn0iLCJAaW1wb3J0IFwiLi4vY29uZmlnL2NvbmZpZ1wiO1xyXG5cclxuLnRhYi1oZWFkZXItaXRlbSB7XHJcblxyXG4gICYuYWN0aXZlIHtcclxuXHJcbiAgICAucGFnZS1idXR0b24tYWN0aW9uIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi50YWItbWFpbi1pdGVtIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAmLmFjdGl2ZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbn1cclxuXHJcbi5wYWdlLWJ1dHRvbi1hY3Rpb24ge1xyXG4gIGZvbnQtc2l6ZTogZWxlbUVtU2l6ZSgxMCwgMjApO1xyXG4gIGZvbnQtZmFtaWx5OiBsLWdpbHJveSwgc2Fucy1zZXJpZjtcclxuICBmb250LXdlaWdodDogODAwO1xyXG4gIGNvbG9yOiAkbGlnaHQ7XHJcbiAgbGluZS1oZWlnaHQ6ICgzMCAvIDIwKTtcclxuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAkbGlnaHQtZ3JheSxcclxuICAtMXB4IDFweCAkbGlnaHQtZ3JheSxcclxuICAxcHggLTFweCAkbGlnaHQtZ3JheSxcclxuICAtMXB4IC0xcHggJGxpZ2h0LWdyYXk7XHJcbiAgbWluLWhlaWdodDogMTAwJTtcclxuICBwYWRkaW5nOiBlbGVtRW1TaXplKDIwLCA1KSBlbGVtRW1TaXplKDIwLCAxMCk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWExYTtcclxuICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBvdXRsaW5lLWNvbG9yOiBkYXJrZW4oIzFiMWExYSwgMTAlKTtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4yNXMgZWFzZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCMxYjFhMWEsIDEyJSk7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogJGJwLTE5MjEpIHtcclxuICAgIHRleHQtc2hhZG93OiBlbGVtRW1TaXplKDIwLCAyKSBlbGVtRW1TaXplKDIwLCAyKSAkbGlnaHQtZ3JheSxcclxuICAgIGVsZW1FbVNpemUoMjAsIDIpIGVsZW1FbVNpemUoMjAsIDIpICRsaWdodC1ncmF5LFxyXG4gICAgZWxlbUVtU2l6ZSgyMCwgMikgZWxlbUVtU2l6ZSgyMCwgMikgJGxpZ2h0LWdyYXksXHJcbiAgICBlbGVtRW1TaXplKDIwLCAyKSBlbGVtRW1TaXplKDIwLCAyKSAkbGlnaHQtZ3JheTtcclxuICAgIGJvcmRlci1yYWRpdXM6IGVsZW1FbVNpemUoMjAsIDEwKTtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtMTQzOSkge1xyXG4gICAgZm9udC1zaXplOiBlbGVtRW1TaXplKCRicC1mei0xNDM5LCAxOCk7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTk5MSkge1xyXG4gICAgZm9udC1zaXplOiBlbGVtRW1TaXplKCRicC1mei05OTEsIDIyKTtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNTc1KSB7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBwYWRkaW5nOiAxM3B4IDAgMTRweDtcclxuICB9XHJcbn0iLCJAaW1wb3J0IFwiLi4vY29uZmlnL2NvbmZpZ1wiO1xyXG5cclxuLnBhZ2UtbGlzdCB7XHJcblxyXG4gIGxpIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZy1sZWZ0OiBlbGVtRW1TaXplKDEwLCAzMCk7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC01NzUpIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgbWFyZ2luLXRvcDogZWxlbUVtU2l6ZSgxMCwgNSk7XHJcbiAgICAgIHdpZHRoOiBlbGVtRW1TaXplKDEwLCAxMCk7XHJcbiAgICAgIGhlaWdodDogZWxlbUVtU2l6ZSgxMCwgMTApO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLXNlY29uZGFyeTtcclxuXHJcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNTc1KSB7XHJcbiAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIkBpbXBvcnQgXCIuLi9jb25maWcvY29uZmlnXCI7XHJcblxyXG5AaW1wb3J0IFwiLi4vcGFydGlhbHMvcGFnZS1ibG9ja1wiO1xyXG5AaW1wb3J0IFwiLi4vcGFydGlhbHMvc3dlZXRhbGVydFwiO1xyXG5AaW1wb3J0IFwiLi9sb2FkZXJcIjtcclxuXHJcbkBpbXBvcnQgXCIuLi91aS9idXR0b25zXCI7XHJcbkBpbXBvcnQgXCIuLi91aS90aXRsZXNcIjtcclxuQGltcG9ydCBcIi4uL3VpL2xpbmtzXCI7XHJcbkBpbXBvcnQgXCIuLi91aS9mb3JtXCI7XHJcbkBpbXBvcnQgXCIuLi91aS9pbnB1dHNcIjtcclxuQGltcG9ydCBcIi4uL3VpL2xhYmVsc1wiO1xyXG5AaW1wb3J0IFwiLi4vdWkvdGFic1wiO1xyXG5AaW1wb3J0IFwiLi4vdWkvbGlzdHNcIjtcclxuXHJcblxyXG4uaXNNb2JpbGUge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNTc1KSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbn1cclxuXHJcbi5vdmVyZmxvdy1oaWRkZW4ge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5tYWluIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLy96LWluZGV4OiA5O1xyXG4gIGZsZXg6IDE7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1hZ2VzL2NvbnRlbnQtYmFja2dyb3VuZC5qcGdcIik7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtOTkxKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWFnZXMvY29udGVudC1iYWNrZ3JvdW5kLW1vYmlsZS5qcGdcIik7XHJcbiAgfVxyXG5cclxuICAmLS1ob21lIHtcclxuXHJcbiAgICAuaGVyb19fY29udGFpbmVyIHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IGVsZW1FbVNpemUoMTAsIDIwMCk7XHJcblxyXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTQyNSkge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA3NnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLS1wcm9kdWN0cyB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWFnZXMvY29udGVudC1iYWNrZ3JvdW5kLXByb2R1Y3RzLmpwZ1wiKTtcclxuICB9XHJcblxyXG4gICYtLXF1b3RlIHtcclxuXHJcbiAgICAuaGVybyB7XHJcblxyXG4gICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5wYWdlLWJ1dHRvbiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi0tc2lnbnMge1xyXG5cclxuICAgIC5oZXJvIHtcclxuXHJcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNTc1KSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnBhZ2UtYnV0dG9uIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY29udGFpbmVyIHtcclxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbnRhaW5lci13aWR0aC0xOTIwIC8gMTkyMCk7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtMTQzOSkge1xyXG4gICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRjb250YWluZXItd2lkdGgtMTQzOSAvIDE0MzkpO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC0xMTk5KSB7XHJcbiAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbnRhaW5lci13aWR0aC0xMTk5IC8gMTE5OSk7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTk5MSkge1xyXG4gICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRjb250YWluZXItd2lkdGgtOTkxIC8gOTkxKTtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNzY3KSB7XHJcbiAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbnRhaW5lci13aWR0aC03NjcgLyA3NjcpO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC01NzUpIHtcclxuICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgkY29udGFpbmVyLXdpZHRoLTU3NSAvIDMyMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uaG9yaXpvbnRhbC1saXN0IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbn1cclxuXHJcblxyXG4ucG9zLXJlbGF0aXZlIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uL2NvbmZpZy9jb25maWdcIjtcclxuXHJcbi5wYWdlLWhlYWRlciB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogZWxlbUVtU2l6ZSgxMCwgMTQpO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZ3JheSwgLjQpO1xyXG4gIHotaW5kZXg6IDk5O1xyXG5cclxuICBAc3VwcG9ydHMgKGJhY2tkcm9wLWZpbHRlcjogYmx1cig1cHgpKSB7XHJcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNXB4KTtcclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTU3NSkge1xyXG4gICAgICBiYWNrZHJvcC1maWx0ZXI6IG5vbmU7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTU3NSkge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIH1cclxuXHJcbiAgLm5hdi1tZW51X19saXN0IHtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNTc1KSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoMTgwIC8gNjgwKTtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICB0cmFuc2l0aW9uOiAuM3MgYWxsIC4zcyBlYXNlO1xyXG4gICAgICB6LWluZGV4OiA3O1xyXG5cclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAtMzUlO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDE4MGRlZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktc2Vjb25kYXJ5IDAlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRncmF5LXNlY29uZGFyeSwgLjk2KSA3NCUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdyYXktc2Vjb25kYXJ5LCAuNSkgODclLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRncmF5LXNlY29uZGFyeSwgLjEpIDEwMCUpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnBhZ2UtaGVhZGVyX19jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNTc1KSB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG4ubmF2LW1lbnUge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTU3NSkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIH1cclxufVxyXG5cclxuLm5hdi1tZW51X19saXN0IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAmLnNob3cge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgd2lkdGg6IDE1MCU7XHJcbiAgICAgIGhlaWdodDogMTUwJTtcclxuICAgIH1cclxuXHJcbiAgICB+Lm5hdi1tZW51X19jbG9zZSB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubmF2LW1lbnVfX2l0ZW0ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nOiBlbGVtRW1TaXplKDEwLCAxNikgMDtcclxuXHJcbiAgJiArICYge1xyXG4gICAgbWFyZ2luLWxlZnQ6IGVsZW1FbVNpemUoMTAsIDEyNSk7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC0xNDM5KSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiBlbGVtRW1TaXplKCRicC1mei0xNDM5LCA3MCk7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC0xMTk5KSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiBlbGVtRW1TaXplKCRicC1mei0xMTk5LCAzMCk7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC01NzUpIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgIC8vbWFyZ2luLXRvcDogZWxlbUVtU2l6ZSgkYnAtZnotNTc1LCA1OCk7XHJcbiAgICAgIG1hcmdpbi10b3A6IDd2aDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTQyNSkge1xyXG4gICAgICAvL21hcmdpbi10b3A6IDM4cHg7XHJcbiAgICAgIG1hcmdpbi10b3A6IDYuN3ZoO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi0tZGVza3RvcCB7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTk5MSkge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgLnNvY2lhbC1pY29ucyB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmFjdGl2ZSB7XHJcbiAgICAubmF2LW1lbnVfX2xpbmsge1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcbiAgICAgICY6bGluayxcclxuICAgICAgJjp2aXNpdGVkIHtcclxuICAgICAgICBjb2xvcjogcmdiYSgkbGlnaHQsIC44KVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICAubmF2LW1lbnVfX2xpbmsge1xyXG4gICAgICAmOmxpbmssXHJcbiAgICAgICY6dmlzaXRlZCB7XHJcbiAgICAgICAgY29sb3I6IHJnYmEoJGxpZ2h0LCAuOClcclxuICAgICAgfVxyXG5cclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAgIC5uYXYtbWVudV9faWNvbiB7XHJcbiAgICAgICAgb3BhY2l0eTogLjg7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTk5MSkge1xyXG4gICAgcGFkZGluZzogZWxlbUVtU2l6ZSgkYnAtZnotOTkxLCAzMCkgMDtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNTc1KSB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLm5hdi1tb2JpbGUge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuXHJcbiAgQG1lZGlhKG1pbi13aWR0aDo0ODBweCl7XHJcbiAgICBkaXNwbGF5Om5vbmU7XHJcbiAgfVxyXG5cclxuICAuc29jaWFsLWljb25ze1xyXG4gICAgbWFyZ2luLXJpZ2h0OjEwcHg7XHJcblxyXG4gICAgYXtcclxuICAgICAgbWFyZ2luLWxlZnQ6MjBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5uYXYtbWVudV9fbGluayB7XHJcbiAgZm9udC1zaXplOiBlbGVtRW1TaXplKDEwLCAyMik7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIC8vbGluZS1oZWlnaHQ6IDE7XHJcbiAgdGV4dC1zaGFkb3c6IDAgNHB4IDRweCByZ2JhKCRibGFjaywgLjI1KTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogJGJwLTE5MjEpIHtcclxuICAgIHRleHQtc2hhZG93OiAwIGVsZW1FbVNpemUoMjIuMDA1MiwgNCkgZWxlbUVtU2l6ZSgyMi4wMDUyLCA0KSByZ2JhKCRibGFjaywgLjI1KTtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNTc1KSB7XHJcbiAgICBmb250LXNpemU6IGVsZW1FbVNpemUoJGJwLWZ6LTU3NSwgMzApO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC00MjUpIHtcclxuICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICB9XHJcblxyXG4gICY6bGluayxcclxuICAmOnZpc2l0ZWQge1xyXG4gICAgY29sb3I6IHJnYmEoJGxpZ2h0LCAxKVxyXG4gIH1cclxuXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10ZXh0KTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBjb2xvcjogJHJlZDtcclxuICAgIGZpbHRlcjogYmx1cig2cHgpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gIH1cclxufVxyXG5cclxuLm5hdi1tZW51X19pY29uIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMTAwJTtcclxuICB0b3A6IGNhbGMoNTAlIC0gMC4xMjVlbSk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIHdpZHRoOiBlbGVtRW1TaXplKDEwLCAxMSk7XHJcbiAgaGVpZ2h0OiBlbGVtRW1TaXplKDEwLCAxMik7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBhZGRpbmc6IGVsZW1FbVNpemUoMTAsIDYpO1xyXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICYuYWN0aXZlIHtcclxuICAgIG9wYWNpdHk6IC44O1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpO1xyXG5cclxuICAgIH4gLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjpob3ZlciB7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG4gICAgICBvcGFjaXR5OiAuODtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpO1xyXG5cclxuICAgICAgfiAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTU3NSkge1xyXG4gICAgdG9wOiBjYWxjKDQ1JSAtIDAuMTI1ZW0pO1xyXG4gICAgd2lkdGg6IGVsZW1FbVNpemUoJGJwLWZ6LTU3NSwgMTQpO1xyXG4gICAgaGVpZ2h0OiBlbGVtRW1TaXplKCRicC1mei01NzUsIDE1KTtcclxuICAgIHBhZGRpbmc6IGVsZW1FbVNpemUoJGJwLWZ6LTU3NSwgNik7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTQyNSkge1xyXG4gICAgd2lkdGg6IDExcHg7XHJcbiAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICBwYWRkaW5nOiA2cHg7XHJcbiAgfVxyXG59XHJcblxyXG4uZHJvcGRvd24ge1xyXG4gIHBhZGRpbmctcmlnaHQ6IGVsZW1FbVNpemUoMjIsIDQpO1xyXG59XHJcblxyXG4uZHJvcGRvd24tbWVudSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMTAwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gIG1hcmdpbi10b3A6IGVsZW1FbVNpemUoMTAsIDIzKTtcclxuICBwYWRkaW5nOiBlbGVtRW1TaXplKDEwLCAxMikgZWxlbUVtU2l6ZSgxMCwgNSk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZ3JheSwgLjYpO1xyXG4gIG1pbi13aWR0aDogZWxlbUVtU2l6ZSgxMCwgMzE1KTtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7XHJcbiAgei1pbmRleDogOTk7XHJcblxyXG4gIEBzdXBwb3J0cyAoYmFja2Ryb3AtZmlsdGVyOiBibHVyKDVweCkpIHtcclxuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig1cHgpO1xyXG4gIH1cclxuXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAxMDAlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgaGVpZ2h0OiBlbGVtRW1TaXplKDEwLCAyMyk7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTk5MSkge1xyXG4gICAgICBoZWlnaHQ6IGVsZW1FbVNpemUoJGJwLWZ6LTk5MSwgNSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTk5MSkge1xyXG4gICAgbWFyZ2luLXRvcDogZWxlbUVtU2l6ZSgkYnAtZnotOTkxLCA1KTtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNTc1KSB7XHJcbiAgICBtYXJnaW4tdG9wOiBlbGVtRW1TaXplKCRicC1mei01NzUsIDI4KTtcclxuICAgIHBhZGRpbmc6IGVsZW1FbVNpemUoJGJwLWZ6LTU3NSwgMTApIGVsZW1FbVNpemUoJGJwLWZ6LTU3NSwgNSk7XHJcbiAgICBtaW4td2lkdGg6IGVsZW1FbVNpemUoJGJwLWZ6LTU3NSwgNTc1KTtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNDI1KSB7XHJcbiAgICAvL21hcmdpbi10b3A6IDI4cHg7XHJcbiAgICBtYXJnaW4tdG9wOiA1dmg7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDVweDtcclxuICB9XHJcblxyXG4gICYuc2hvdyB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICB9XHJcbn1cclxuXHJcbi5kcm9wZG93bi1tZW51X19pdGVtIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICYgKyAmIHtcclxuICAgIG1hcmdpbi10b3A6IGVsZW1FbVNpemUoMTAsIDEwKTtcclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTU3NSkge1xyXG4gICAgICBtYXJnaW4tdG9wOiBlbGVtRW1TaXplKCRicC1mei01NzUsIDQwKTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTQyNSkge1xyXG4gICAgICAvL21hcmdpbi10b3A6IDI1cHg7XHJcbiAgICAgIG1hcmdpbi10b3A6IDQuNHZoO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG4gICAgJi5pc01vYmlsZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5hY3RpdmUge1xyXG5cclxuICAgIC5kcm9wZG93bi1tZW51X19saW5rIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGxpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmRyb3Bkb3duLW1lbnVfX2xpbmsge1xyXG4gIGZvbnQtc2l6ZTogZWxlbUVtU2l6ZSgxMCwgMjApO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20tY29sb3IgLjJzIGVhc2U7XHJcblxyXG4gICY6bGluayxcclxuICAmOnZpc2l0ZWQge1xyXG4gICAgY29sb3I6ICRsaWdodDtcclxuICB9XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGxpZ2h0O1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicC0xOTIxKSB7XHJcbiAgICBib3JkZXItd2lkdGg6IGVsZW1FbVNpemUoMjAsIDEpO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC01NzUpIHtcclxuICAgIGZvbnQtc2l6ZTogZWxlbUVtU2l6ZSgkYnAtZnotNTc1LCAyOCk7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTQyNSkge1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLm5hdi1idG4tb3BlbixcclxuLm5hdi1idG4tY2xvc2Uge1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4ubmF2LWJ0bi1jbG9zZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMTJweDtcclxuICByaWdodDogMjJweDtcclxuICBvcGFjaXR5OiAxO1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgdHJhbnNpdGlvbjogLjNzIGFsbCAuM3MgZWFzZTtcclxuICB6LWluZGV4OiA5O1xyXG5cclxuICAmLmhpZGUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB9XHJcbn1cclxuXHJcbi5uYXYtYnRuLWNsb3NlX19pY29uIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMzJweDtcclxuICBoZWlnaHQ6IDMycHg7XHJcbiAgZmlsbDogJGxpZ2h0XHJcbn1cclxuXHJcblxyXG4ubmF2LWJ0bi1vcGVuIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIG1hcmdpbi10b3A6IDI2cHg7XHJcbiAgcGFkZGluZzogMTBweDtcclxuXHJcbiAgJi5oaWRlIHtcclxuICAgIC5wYXRoLS0xLFxyXG4gICAgLnBhdGgtLTMge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICB9XHJcblxyXG4gICAgLnBhdGgtLTIsXHJcbiAgICAucGF0aC0tNCB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTU3NSkge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG59XHJcblxyXG4ubmF2LWJ0bi1vcGVuX19pY29uIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogNDRweDtcclxuICBoZWlnaHQ6IDMycHg7XHJcblxyXG4gIC5wYXRoIHtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uL2NvbmZpZy9jb25maWdcIjtcclxuXHJcbi5wYWdlLWZvb3RlciB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1hZ2VzL2Zvb3Rlci1iYWNrZ3JvdW5kLmpwZ1wiKTtcclxuICBwYWRkaW5nLXRvcDogZWxlbUVtU2l6ZSgxMCwgMzIpO1xyXG4gIHBhZGRpbmctYm90dG9tOiBlbGVtRW1TaXplKDEwLCAyMCk7XHJcblxyXG4gICZfX3NvY2lhbC1pY29ucyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICBtYXJnaW4tbGVmdDogLTVlbTtcclxuXHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOjEwMDBweCl7XHJcbiAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgYXtcclxuICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOjpiZWZvcmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZ3JheSwgLjUpO1xyXG5cclxuICAgIEBzdXBwb3J0cyAoYmFja2Ryb3AtZmlsdGVyOiBibHVyKDJweCkpIHtcclxuICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDJweCk7XHJcblxyXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTc2Nykge1xyXG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm5hdi1tZW51IHtcclxuICAgIG1heC13aWR0aDogcGVyY2VudGFnZSg4MTIgLyAkY29udGFpbmVyLXdpZHRoLTE5MjApO1xyXG4gICAgZmxleC1iYXNpczogcGVyY2VudGFnZSg4MTIgLyAkY29udGFpbmVyLXdpZHRoLTE5MjApO1xyXG4gIH1cclxuXHJcbiAgLm5hdi1tZW51X19saXN0IHtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gIH1cclxuXHJcbiAgLm5hdi1tZW51X19pdGVtIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG5cclxuICAubmF2LW1lbnVfX2l0ZW0gKyAubmF2LW1lbnVfX2l0ZW0ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IGVsZW1FbVNpemUoMTAsIDMwKTtcclxuICB9XHJcblxyXG4gIC5uYXYtbWVudV9fbGluayB7XHJcbiAgICBmb250LXNpemU6IGVsZW1FbVNpemUoMTAsIDE4KTtcclxuICB9XHJcblxyXG4gIC5kcm9wZG93biB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiBhdXRvO1xyXG4gICAgbGVmdDogYXV0bztcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIG1hcmdpbi10b3A6IGVsZW1FbVNpemUoMTAsIDIwKTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIG1pbi13aWR0aDogYXV0bztcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgQHN1cHBvcnRzIChiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNXB4KSkge1xyXG4gICAgICBiYWNrZHJvcC1maWx0ZXI6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZHJvcGRvd24tbWVudV9fbGluayB7XHJcbiAgICBmb250LXNpemU6IGVsZW1FbVNpemUoMTAsIDE2KTtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicC0xOTIxKSB7XHJcbiAgICAgIGJvcmRlci13aWR0aDogZWxlbUVtU2l6ZSgxNiwgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucGFnZS1mb290ZXJfX2NvbnRlbnQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICB6LWluZGV4OiA1O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC01NzUpIHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgfVxyXG59XHJcblxyXG4ucGFnZS1mb290ZXJfX25hdmlnYXRpb24ge1xyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtMTE5OSkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5wYWdlLWZvb3Rlcl9fYWRkcmVzcyB7XHJcbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDI3NSAvICRjb250YWluZXItd2lkdGgtMTkyMCk7XHJcbiAgZmxleC1iYXNpczogcGVyY2VudGFnZSgyNzUgLyAkY29udGFpbmVyLXdpZHRoLTE5MjApO1xyXG5cclxuICAucGFnZS1mb290ZXJfX3RleHQge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTc2Nykge1xyXG4gICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC00MjUpIHtcclxuICAgIG1heC13aWR0aDogMjU1cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gIH1cclxufVxyXG5cclxuLnBhZ2UtZm9vdGVyX19jb250YWN0cyB7XHJcbiAgLnBhZ2UtZm9vdGVyX190ZXh0IHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cclxuICAgICYgKyAmIHtcclxuICAgICAgbWFyZ2luLXRvcDogZWxlbUVtU2l6ZSgxOCwgMTApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnBhZ2UtZm9vdGVyX190ZXh0IHtcclxuICBmb250LXNpemU6IGVsZW1FbVNpemUoMTAsIDE4KTtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAoMjcgLyAxOCk7XHJcblxyXG4gIC5wYWdlLWxpbmsge1xyXG4gICAgZm9udC1zaXplOiBlbGVtRW1TaXplKDE4LCAxOCk7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbGlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTc2Nykge1xyXG4gICAgZm9udC1zaXplOiBlbGVtRW1TaXplKCRicC1mei03NjcsIDE4KTtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNTc1KSB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRicC00MjUpe1xyXG4gIC5wYWdlLWZvb3Rlci5wYWdlLWJsb2Nre1xyXG4gICAgcGFkZGluZy10b3A6IGVsZW1FbVNpemUoMTAsIDUwKTtcclxuICAgIHBhZGRpbmctYm90dG9tOiBlbGVtRW1TaXplKDEwLCA0MCk7XHJcbiAgfVxyXG59IiwiQGltcG9ydCBcIi4uL2NvbmZpZy9jb25maWdcIjtcclxuXHJcbi5oZXJvIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWFnZXMvaGVyby1iYWNrZ3JvdW5kLmpwZ1wiKTtcclxuICBtYXJnaW4tYm90dG9tOiBlbGVtRW1TaXplKDEwLCAtNjApO1xyXG4gIGNsaXAtcGF0aDogdXJsKCNoZXJvLWNsaXAtc2hhcGUpO1xyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTk5MSkge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogZWxlbUVtU2l6ZSgkYnAtZnotOTkxLCAtNjApO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC01NzUpIHtcclxuICAgIGNsaXAtcGF0aDogdXJsKCNoZXJvLWNsaXAtc2hhcGUtLW1vYmlsZSk7XHJcbiAgfVxyXG5cclxuICAucGFnZS1idXR0b24tLW1vYmlsZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtOTkxKSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW4tdG9wOiBlbGVtRW1TaXplKCRicC1mei05OTEsIDY1KTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTQyNSkge1xyXG4gICAgICBtYXJnaW4tdG9wOiA2NXB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmhlcm8sXHJcbi5wYWdlLWZvb3RlciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgei1pbmRleDogNTtcclxuXHJcbiAgJjo6YWZ0ZXIsXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gIH1cclxuXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGdyYXksIC40KTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgfVxyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LFxyXG4gICAgICAgICAgICAjZmZmLFxyXG4gICAgICAgICAgICAjZmZmIDFweCxcclxuICAgICAgICAgICAgdHJhbnNwYXJlbnQgMXB4LFxyXG4gICAgICAgICAgICB0cmFuc3BhcmVudCBwZXJjZW50YWdlKDEyOCAvIDE5MjApKTtcclxuICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicC0xOTIxKSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsXHJcbiAgICAgICAgICAgICAgI2ZmZixcclxuICAgICAgICAgICAgICAjZmZmIGVsZW1FbVNpemUoMTAuMDA1MiwgMSksXHJcbiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgZWxlbUVtU2l6ZSgxMC4wMDUyLCAxKSxcclxuICAgICAgICAgICAgICB0cmFuc3BhcmVudCBwZXJjZW50YWdlKDEyOCAvIDE5MjApKTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTc2Nykge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LFxyXG4gICAgICAgICAgICAgICNmZmYsXHJcbiAgICAgICAgICAgICAgI2ZmZiAxcHgsXHJcbiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgMXB4LFxyXG4gICAgICAgICAgICAgIHRyYW5zcGFyZW50IHBlcmNlbnRhZ2UoODAgLyAzMjApKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5oZXJvX19jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHBhZGRpbmctdG9wOiBlbGVtRW1TaXplKDEwLCAxNjQpO1xyXG4gIHBhZGRpbmctYm90dG9tOiBlbGVtRW1TaXplKDEwLCAxMDApO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiA1O1xyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTQyNSkge1xyXG4gICAgcGFkZGluZy10b3A6IDEwMnB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwMnB4O1xyXG4gIH1cclxufVxyXG5cclxuLmhlcm9fX2xvZ28ge1xyXG4gIG1hcmdpbi1ib3R0b206IGVsZW1FbVNpemUoMTAsIDMwKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNDI1KSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmhlcm9fX3RpdGxlIHtcclxuICAvLyBjb2xvcjpyZWQ7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgdGV4dC1zaGFkb3c6IDAgNHB4IDRweCByZ2JhKCRibGFjaywgLjU1KTtcclxuICAtd2Via2l0LXRleHQtc3Ryb2tlOiB1bnNldDtcclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicC0xOTIxKSB7XHJcbiAgICB0ZXh0LXNoYWRvdzogMCBlbGVtRW1TaXplKDEwMCwgNCkgZWxlbUVtU2l6ZSgxMDAsIDQpIHJnYmEoJGJsYWNrLCAuNTUpO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC00MjUpIHtcclxuICAgIGZvbnQtc2l6ZTogMzJweDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uL2NvbmZpZy9jb25maWdcIjtcclxuXHJcbi5sb2dvIHtcclxuXHJcbiAgJi0tc21hbGwge1xyXG5cclxuICAgIC5sb2dvX19waWMge1xyXG4gICAgICB3aWR0aDogZWxlbUVtU2l6ZSgxMCwgMjMwKTtcclxuICAgICAgaGVpZ2h0OiBlbGVtRW1TaXplKDEwLCAxODkpO1xyXG5cclxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC00MjUpIHtcclxuICAgICAgICB3aWR0aDogMTk0cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNTlweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmxvZ29fX3BpYyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IGVsZW1FbVNpemUoMTAsIDM5OCk7XHJcbiAgaGVpZ2h0OiBlbGVtRW1TaXplKDEwLCAzMjcpO1xyXG5cclxuICAmLS1ibHVycmVkIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgei1pbmRleDogLTE7XHJcblxyXG4gICAgQHN1cHBvcnRzIChmaWx0ZXI6IGJsdXIoMzBweCkpIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGZpbHRlcjogYmx1cigzMHB4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNDI1KSB7XHJcbiAgICB3aWR0aDogMTk0cHg7XHJcbiAgICBoZWlnaHQ6IDE1OXB4O1xyXG4gIH1cclxufSIsIkBpbXBvcnQgXCIuLi8uLi9jb25maWcvY29uZmlnLnNjc3NcIjtcclxuXHJcbi5jb250YWN0cyB7XHJcbiAgcGFkZGluZy10b3A6IGVsZW1FbVNpemUoMTAsIDEwMCk7XHJcbiAgbWFyZ2luLWJvdHRvbTogZWxlbUVtU2l6ZSgxMCwgNTApO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC01NzUpIHtcclxuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICB9XHJcblxyXG4gICY6OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGhlaWdodDogZWxlbUVtU2l6ZSgxMCwgMTA0Myk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi8uLi9pbWFnZXMvaG93LWl0cy1tYWRlLWJhY2tncm91bmQucG5nXCIpO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBlbGVtRW1TaXplKDEwLCAxNDc2KSBlbGVtRW1TaXplKDEwLCAxMDQzKTtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgQHN1cHBvcnRzIChtaXgtYmxlbmQtbW9kZTogY29sb3ItYnVybikge1xyXG4gICAgICBvcGFjaXR5OiAuMTU7XHJcbiAgICAgIG1peC1ibGVuZC1tb2RlOiBjb2xvci1idXJuO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNDI1KSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDM7XHJcbiAgfVxyXG59XHJcblxyXG4uY29udGFjdHNfX3RpdGxlIHtcclxuICBmb250LXNpemU6IGVsZW1FbVNpemUoMTAsIDU0KTtcclxuICBmb250LWZhbWlseTogbC1naWxyb3ksIHNhbnMtc2VyaWY7XHJcbiAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdGV4dC1zaGFkb3c6IDFweCAxcHggJGxpZ2h0LWdyYXksXHJcbiAgICAgICAgICAgICAgLTFweCAxcHggJGxpZ2h0LWdyYXksXHJcbiAgICAgICAgICAgICAgMXB4IC0xcHggJGxpZ2h0LWdyYXksXHJcbiAgICAgICAgICAgICAgLTFweCAtMXB4ICRsaWdodC1ncmF5LFxyXG4gICAgICAgICAgICAgIDAgNHB4IDRweCByZ2JhKCRibGFjaywgLjU1KTtcclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicC0xOTIxKSB7XHJcbiAgICB0ZXh0LXNoYWRvdzogZWxlbUVtU2l6ZSg1NCwgMikgZWxlbUVtU2l6ZSg1NCwgMikgJGxpZ2h0LWdyYXksXHJcbiAgICAgICAgICAgICAgICAgZWxlbUVtU2l6ZSg1NCwgMikgZWxlbUVtU2l6ZSg1NCwgMikgJGxpZ2h0LWdyYXksXHJcbiAgICAgICAgICAgICAgICAgZWxlbUVtU2l6ZSg1NCwgMikgZWxlbUVtU2l6ZSg1NCwgMikgJGxpZ2h0LWdyYXksXHJcbiAgICAgICAgICAgICAgICAgZWxlbUVtU2l6ZSg1NCwgMikgZWxlbUVtU2l6ZSg1NCwgMikgJGxpZ2h0LWdyYXksXHJcbiAgICAgICAgICAgICAgICAgMCBlbGVtRW1TaXplKDU0LCA0KSBlbGVtRW1TaXplKDU0LCA0KSByZ2JhKCRibGFjaywgLjU1KTtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNTc1KSB7XHJcbiAgICBmb250LXNpemU6IDM2cHg7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTQyNSkge1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmNvbnRhY3RzX193cmFwcGVyIHtcclxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoMTM5MCAvICRjb250YWluZXItd2lkdGgtMTkyMCk7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIHBhZGRpbmctdG9wOiBlbGVtRW1TaXplKDEwLCA2NCk7XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtMTQzOSkge1xyXG4gICAgbWF4LXdpZHRoOiAoJGNvbnRhaW5lci13aWR0aC0xNDM5IC0gMTAwKSArIHB4O1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC0xMTk5KSB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG4uY29udGFjdHNfX2xpc3Qge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgtMjUwIC8gMTM5MCk7XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtMTQzOSkge1xyXG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoLTEwMCAvICRjb250YWluZXItd2lkdGgtMTQzOSk7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTExOTkpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKC0yNSAvICRjb250YWluZXItd2lkdGgtMTE5OSk7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTc2Nykge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4uY29udGFjdCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDU3MCAvICgxMzkwICsgMjUwKSk7XHJcbiAgcGFkZGluZzogZWxlbUVtU2l6ZSgxMCwgMjIpIGVsZW1FbVNpemUoMTAsIDIwKTtcclxuICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgyNTAgLyAoMTM5MCArIDI1MCkpO1xyXG4gIG1hcmdpbi1ib3R0b206IGVsZW1FbVNpemUoMTAsIDMwKTtcclxuICBib3gtc2hhZG93OiAtNHB4IDRweCA0cHggcmdiYSgkYmxhY2ssIC4yNSk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJiMmIyYjtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnAtMTkyMSkge1xyXG4gICAgYm94LXNoYWRvdzogZWxlbUVtU2l6ZSgxMCwgLTQpIGVsZW1FbVNpemUoMTAsIDQpIGVsZW1FbVNpemUoMTAsIDQpIHJnYmEoJGJsYWNrLCAuMjUpO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC0xNDM5KSB7XHJcbiAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoNTQwIC8gKCRjb250YWluZXItd2lkdGgtMTQzOSkpO1xyXG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoMTAwIC8gKCRjb250YWluZXItd2lkdGgtMTQzOSkpO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC0xMTk5KSB7XHJcbiAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoKCgkY29udGFpbmVyLXdpZHRoLTExOTkgLyAyKSAtIDI1KSAvICRjb250YWluZXItd2lkdGgtMTE5OSk7XHJcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgyNSAvICRjb250YWluZXItd2lkdGgtMTE5OSk7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTc2Nykge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiBlbGVtRW1TaXplKCRicC1mei03NjcsIDMwKTtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNTc1KSB7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgYm94LXNoYWRvdzogLTRweCA0cHggNHB4IHJnYmEoJGJsYWNrLCAuMjUpLCA0cHggLTRweCA0cHggcmdiYSgkYmxhY2ssIC4yNSk7XHJcbiAgfVxyXG59XHJcblxyXG4uY29udGFjdF9fd3JhcHBlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLmNvbnRhY3RfX3BpYy13cmFwcGVyIHtcclxuICB3aWR0aDogZWxlbUVtU2l6ZSgxMCwgMTcwKTtcclxuICBoZWlnaHQ6IGVsZW1FbVNpemUoMTAsIDI1NSk7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGZsZXgtc2hyaW5rOiAwO1xyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTQyNSkge1xyXG4gICAgd2lkdGg6IDE3MHB4O1xyXG4gICAgaGVpZ2h0OiAyNTVweDtcclxuICB9XHJcblxyXG4gICY6OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoJGxpZ2h0LCAuMjUpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcbiAgICBAc3VwcG9ydHMgKGZpbHRlcjogYmx1cig1MHB4KSkge1xyXG4gICAgICBmaWx0ZXI6IGJsdXIoNTBweCk7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicC0xOTIxKSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IGVsZW1FbVNpemUoMTAsIDMwKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jb250YWN0X19waWMge1xyXG4gIEBpbmNsdWRlIGFic29sdXRlLXJlc3BvbnNpdmUtaW1nO1xyXG59XHJcblxyXG4uY29udGFjdF9fZGVzYyB7XHJcbiAgcGFkZGluZy1sZWZ0OiBlbGVtRW1TaXplKDEwLCA1Nik7XHJcbiAgZmxleDogMTtcclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC00MjUpIHtcclxuICAgIHBhZGRpbmctbGVmdDogNHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmNvbnRhY3RfX25hbWUsXHJcbi5jb250YWN0X19wb3NpdGlvbiB7XHJcbiAgZm9udC1zaXplOiBlbGVtRW1TaXplKDEwLCAzMCk7XHJcbiAgbGluZS1oZWlnaHQ6ICg0NCAvIDMwKTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAzNDBweCkge1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgfVxyXG59XHJcblxyXG4uY29udGFjdF9fbmFtZSB7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAkbGlnaHQtZ3JheSxcclxuICAgICAgICAgICAgICAtMXB4IDFweCAkbGlnaHQtZ3JheSxcclxuICAgICAgICAgICAgICAxcHggLTFweCAkbGlnaHQtZ3JheSxcclxuICAgICAgICAgICAgICAtMXB4IC0xcHggJGxpZ2h0LWdyYXksXHJcbiAgICAgICAgICAgICAgMCA0cHggNHB4IHJnYmEoJGJsYWNrLCAuNSk7XHJcbiAgbWFyZ2luLWJvdHRvbTogZWxlbUVtU2l6ZSgzMCwgMTgpO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicC0xOTIxKSB7XHJcbiAgICB0ZXh0LXNoYWRvdzogZWxlbUVtU2l6ZSgzMCwgMSkgZWxlbUVtU2l6ZSgzMCwgMSkgJGxpZ2h0LWdyYXksXHJcbiAgICAgICAgICAgICAgICAgZWxlbUVtU2l6ZSgzMCwgMSkgZWxlbUVtU2l6ZSgzMCwgMSkgJGxpZ2h0LWdyYXksXHJcbiAgICAgICAgICAgICAgICAgZWxlbUVtU2l6ZSgzMCwgMSkgZWxlbUVtU2l6ZSgzMCwgMSkgJGxpZ2h0LWdyYXksXHJcbiAgICAgICAgICAgICAgICAgZWxlbUVtU2l6ZSgzMCwgMSkgZWxlbUVtU2l6ZSgzMCwgMSkgJGxpZ2h0LWdyYXlcclxuICAgICAgICAgICAgICAgICAwIGVsZW1FbVNpemUoNzIsIDQpIGVsZW1FbVNpemUoNzIsIDQpIHJnYmEoJGJsYWNrLCAuNSk7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTU3NSkge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjZweDtcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNDI1KSB7XHJcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XHJcbiAgfVxyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTAwJTtcclxuICAgIHJpZ2h0OiAxMDAlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBlbGVtRW1TaXplKDMwLCAoLTc3ICsgNTYpKTtcclxuICAgIHdpZHRoOiBlbGVtRW1TaXplKDMwLCAxMzApO1xyXG4gICAgaGVpZ2h0OiBlbGVtRW1TaXplKDMwLCA4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQtc2Vjb25kYXJ5O1xyXG4gICAgei1pbmRleDogNDtcclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTQyNSkge1xyXG4gICAgICB0b3A6IGNhbGMoMTAwJSArIDEwcHgpO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6ICgtNzcgLSAxMCkgKyBweDtcclxuICAgICAgd2lkdGg6IDEzMHB4O1xyXG4gICAgICBoZWlnaHQ6IDhweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jb250YWN0X19wb3NpdGlvbiB7XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNTc1KSB7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4uY29udGFjdC1kZXRhaWxzIHtcclxuICBwYWRkaW5nLXRvcDogZWxlbUVtU2l6ZSgxMCwgMzUpO1xyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTQyNSkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHBhZGRpbmctdG9wOiAxNnB4O1xyXG4gIH1cclxuXHJcbiAgJi5pc01vYmlsZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNDI1KSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNvbnRhY3QtZGV0YWlsc19faXRlbSB7XHJcblxyXG4gICYgKyAmIHtcclxuICAgIG1hcmdpbi10b3A6IGVsZW1FbVNpemUoMTgsIDE2KTtcclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTU3NSkge1xyXG4gICAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNvbnRhY3QtZGV0YWlsc19fbGluayB7XHJcbiAgZm9udC1zaXplOiBlbGVtRW1TaXplKDEwLCAxOCk7XHJcbiAgbGluZS1oZWlnaHQ6ICgyNyAvIDE4KTtcclxuICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGxpZ2h0O1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC01NzUpIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICB9XHJcbn1cclxuXHJcbi5jb250YWN0c19fYXNzaXN0YW5jZSB7XHJcbiAgcGFkZGluZy10b3A6IGVsZW1FbVNpemUoMTAsIDgwKTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNTc1KSB7XHJcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLmNvbnRhY3RzX190ZXh0IHtcclxuICBmb250LXNpemU6IGVsZW1FbVNpemUoMTAsIDM2KTtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBsaW5lLWhlaWdodDogKDUzIC8gMzYpO1xyXG4gIG1hcmdpbi1ib3R0b206IGVsZW1FbVNpemUoMzYsIDMyKTtcclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC00MjUpIHtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICB9XHJcbn1cclxuXHJcbi5jb250YWN0c19fZGVjb3ItbGluZS0xLFxyXG4uY29udGFjdHNfX2RlY29yLWxpbmUtMiB7XHJcblxyXG4gICYuZGVjb3ItbGluZSB7XHJcbiAgICB6LWluZGV4OiAxO1xyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtOTkxKSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY29udGFjdHNfX2RlY29yLWxpbmUtMSB7XHJcbiAgdG9wOiBlbGVtRW1TaXplKDEwLCAyNDApO1xyXG4gIGxlZnQ6IGVsZW1FbVNpemUoMTAsIC0xODApO1xyXG59XHJcblxyXG4uY29udGFjdHNfX2RlY29yLWxpbmUtMiB7XHJcbiAgdG9wOiAxMDAlO1xyXG4gIHJpZ2h0OiBlbGVtRW1TaXplKDEwLCAtMTAwKTtcclxuICBtYXJnaW4tdG9wOiBlbGVtRW1TaXplKDEwLCAyODApO1xyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTk5MSkge1xyXG4gICAgcmlnaHQ6IGVsZW1FbVNpemUoJGJwLWZ6LTk5MSwgLTEyMCk7XHJcbiAgfVxyXG59XHJcbiIsIkBmdW5jdGlvbiBjYWxjdWxhdGVCbG9ja0ZaKCRjdXJyZW50X2VtX3NpemUsICRmdXR1cmVfcHhfc2l6ZSwgJGN1cnJlbnRfdncpIHtcclxuICAkZnV0dXJlX2Jhc2U6ICRmdXR1cmVfcHhfc2l6ZSAvICRjdXJyZW50X2VtX3NpemU7XHJcbiAgJGZ1dHVyZV92d19zaXplOiAoJGZ1dHVyZV9iYXNlICogMTAwIC8gJGN1cnJlbnRfdncpICogMXZ3OyBcclxuXHJcbiAgQHJldHVybiAkZnV0dXJlX3Z3X3NpemU7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBlbGVtRW1TaXplKCRibG9ja19iYXNlLCAkZm9udF9zaXplKSB7XHJcbiAgQHJldHVybiAoJGZvbnRfc2l6ZSAvICRibG9ja19iYXNlKSAqIDFlbTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGNhbGMtdncoJGNvbnRleHQsICR0YXJnZXQtcHgpIHtcclxuICBAcmV0dXJuICR0YXJnZXQtcHggLyAkY29udGV4dCAqIDEwMHZ3O1xyXG59XHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCRmb250LW5hbWUsICRmb2xkZXItbmFtZSwgJGZpbGUtbmFtZSwgJHdlaWdodDogbm9ybWFsLCAkc3R5bGU6IG5vcm1hbCkge1xyXG4gIEBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IHF1b3RlKCRmb250LW5hbWUpO1xyXG4gICAgc3JjOiB1cmwoXCIuLi8uLi8uLi9mb250cy8jeyRmb2xkZXItbmFtZX0vI3skZmlsZS1uYW1lfS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICB1cmwoXCIuLi8uLi8uLi9mb250cy8jeyRmb2xkZXItbmFtZX0vI3skZmlsZS1uYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHJlc3BvbnNpdmUtaW1nKCkge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNvbHV0ZS1yZXNwb25zaXZlLWltZygpIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIG9iamVjdC1maXQ6IGNvdmVyO1xyXG59XHJcblxyXG4iLCIvLyBDb2xvcnNcclxuJGxpZ2h0OiAjZmZmO1xyXG4kYmxhY2s6ICMwMDA7XHJcbiRncmF5OiAjMDkwOTA5O1xyXG4kZ3JheS1zZWNvbmRhcnk6ICMyYTJhMmE7XHJcbiRsaWdodC1ncmF5OiAjNjc2ODZiO1xyXG4kcmVkOiAjZGEzZDNkO1xyXG4kcmVkLXNlY29uZGFyeTogI2QzMzMzMztcclxuXHJcbi8vIGJyZWFrcG9pbnRzXHJcbiRicC0xOTIxOiAxOTIxcHg7XHJcbiRicC0xNDM5OiAxNDM5cHg7XHJcbiRicC0xMTk5OiAxMTk5cHg7XHJcbiRicC05OTE6IDk5MXB4O1xyXG4kYnAtNzY3OiA3NjdweDtcclxuJGJwLTU3NTogNTc1cHg7XHJcbiRicC00MjU6IDQyNXB4O1xyXG5cclxuLy8gYnJlYWtwb2ludHMgZm9udC1zaXplXHJcbiRicC1mei0xNDM5OiA5LjA5MDg4O1xyXG4kYnAtZnotMTE5OTogOC4xODE4NjtcclxuJGJwLWZ6LTk5MTogOC4xODE4O1xyXG4kYnAtZnotNzY3OiA4LjE4MTgyO1xyXG4kYnAtZnotNTc1OiA4LjE4MTc5O1xyXG5cclxuLy8gY29udGFpbmVyIHdpZHRoXHJcbiRjb250YWluZXItd2lkdGgtMTkyMDogMTY4MDtcclxuJGNvbnRhaW5lci13aWR0aC0xNDM5OiAxMjgwO1xyXG4kY29udGFpbmVyLXdpZHRoLTExOTk6IDk2MDtcclxuJGNvbnRhaW5lci13aWR0aC05OTE6IDg0MDtcclxuJGNvbnRhaW5lci13aWR0aC03Njc6IDY5MDtcclxuJGNvbnRhaW5lci13aWR0aC01NzU6IDI5MDsiLCJAaW1wb3J0IFwiLi4vLi4vY29uZmlnL2NvbmZpZ1wiO1xyXG5cclxuLmNvbnRhY3RzX19tYXAge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nLXRvcDogZWxlbUVtU2l6ZSgxMCwgOTIpO1xyXG4gIHotaW5kZXg6IDQ7XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNTc1KSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMzJweDtcclxuICB9XHJcbn1cclxuXHJcbi5tYXBfX3dyYXBwZXIge1xyXG4gIG1pbi1oZWlnaHQ6IGVsZW1FbVNpemUoMTAsIDY2Mik7XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNTc1KSB7XHJcbiAgICBtaW4taGVpZ2h0OiA0NTdweDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4ucGxhY2VEaXYge1xyXG4gIHotaW5kZXg6IDk5OTk7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcblxyXG4ubWFwLWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4ucGxhY2VjYXJkIHtcclxuXHJcbiAgJl9fY29udGFpbmVyIHtcclxuICAgIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4yOTgwMzkpIDBweCAxcHggNHB4IC0xcHg7XHJcbiAgICBtYXgtd2lkdGg6IDMzMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMjU1LCAyNTUsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDAlIC8gYXV0byBwYWRkaW5nLWJveCBib3JkZXItYm94O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMnB4IDJweCAycHggMnB4O1xyXG4gICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgbm9ybWFsIDExcHggLyBub3JtYWwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICAgIG1hcmdpbjogMTBweDtcclxuICAgIHBhZGRpbmc6IDlweCA0cHggOXB4IDExcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIEBtZWRpYShtYXgtd2lkdGg6NDUwcHgpe1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2xlZnQge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogNzUlO1xyXG4gIH1cclxuXHJcbiAgJl9fcmlnaHQge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogMjUlO1xyXG4gIH1cclxuXHJcbiAgJl9fYnVzaW5lc3MtbmFtZSB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBoZWlnaHQ6IDE5cHg7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBwZXJzcGVjdGl2ZS1vcmlnaW46IDEwMHB4IDkuNXB4O1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwcHggOS41cHg7XHJcbiAgICBmb250OiBub3JtYWwgbm9ybWFsIDUwMCBub3JtYWwgMTRweCAvIG5vcm1hbCBSb2JvdG8sIEFyaWFsO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGNvbG9yOiMwMDA7XHJcbiAgfVxyXG5cclxuICAmX19pbmZvIHtcclxuICAgIGNvbG9yOiByZ2IoOTEsIDkxLCA5MSk7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICBjb2x1bW4tcnVsZS1jb2xvcjogcmdiKDkxLCA5MSwgOTEpO1xyXG4gICAgcGVyc3BlY3RpdmUtb3JpZ2luOiAxMDBweCAxNnB4O1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwcHggMTZweDtcclxuICAgIGJvcmRlcjogMHB4IG5vbmUgcmdiKDkxLCA5MSwgOTEpO1xyXG4gICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgbm9ybWFsIDEycHggLyBub3JtYWwgUm9ib3RvLCBBcmlhbDtcclxuICAgIG1hcmdpbjogNnB4IDBweCAwcHg7XHJcbiAgICBvdXRsaW5lOiByZ2IoOTEsIDkxLCA5MSkgbm9uZSAwcHg7XHJcbiAgfVxyXG5cclxuICAmX19kaXJlY3Rpb24taWNvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDApIHVybChcImh0dHBzOi8vbWFwcy5nc3RhdGljLmNvbS9tYXBmaWxlcy9lbWJlZC9pbWFnZXMvZW50aXR5MTEucG5nXCIpIHJlcGVhdCBzY3JvbGwgMHB4IDBweCAvIDcwcHggMjEwcHggcGFkZGluZy1ib3ggYm9yZGVyLWJveDtcclxuICAgIGhlaWdodDogMjJweDtcclxuICAgIHdpZHRoOiAyMnB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICAmX19kaXJlY3Rpb24tbGluayB7XHJcbiAgICBjb2xvcjogcmdiKDU4LCAxMzIsIDIyMyk7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogNDNweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHdpZHRoOiA1NC43MzQ0cHg7XHJcbiAgfVxyXG5cclxuICAmX192aWV3LWxhcmdlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIGNvbG9yOiByZ2IoNTgsIDEzMiwgMjIzKTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcblxyXG59IiwiQGltcG9ydCBcIi4uL2NvbmZpZy9jb25maWdcIjtcclxuXHJcbi5xdWVzdGlvbnMge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW4tYm90dG9tOiBlbGVtRW1TaXplKDEwLCA1MCk7XHJcbiAgei1pbmRleDogNTtcclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC01NzUpIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4ucXVlc3Rpb25zX190aXRsZSB7XHJcbiAgZm9udC1zaXplOiBlbGVtRW1TaXplKDEwLCAxMzgpO1xyXG4gIG1hcmdpbi1ib3R0b206IGVsZW1FbVNpemUoMTM4LCA1MCk7XHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnAtMTkyMSkge1xyXG4gICAgLXdlYmtpdC10ZXh0LXN0cm9rZTogZWxlbUVtU2l6ZSgxMzgsIDIpICRsaWdodC1ncmF5O1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC0xNDM5KSB7XHJcbiAgICBmb250LXNpemU6IGVsZW1FbVNpemUoJGJwLWZ6LTE0MzksIDEwMCk7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTExOTkpIHtcclxuICAgIGZvbnQtc2l6ZTogZWxlbUVtU2l6ZSgkYnAtZnotMTE5OSwgNzgpO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC03NjcpIHtcclxuICAgIGZvbnQtc2l6ZTogZWxlbUVtU2l6ZSgkYnAtZnotNzY3LCA3Nik7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTQyNSkge1xyXG4gICAgZm9udC1zaXplOiA0OHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICB9XHJcbn1cclxuXHJcbi5xdWVzdGlvbnNfX2Zvcm0ge1xyXG4gIG1heC13aWR0aDogcGVyY2VudGFnZSg2ODYgLyAkY29udGFpbmVyLXdpZHRoLTE5MjApO1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAuZm9ybV9fYnV0dG9uLXdyYXBwZXIge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC01NzUpIHtcclxuICAgICAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTE0MzkpIHtcclxuICAgIG1heC13aWR0aDogcGVyY2VudGFnZSg2MDAgLyAkY29udGFpbmVyLXdpZHRoLTE0MzkpO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC0xMTk5KSB7XHJcbiAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoNjAwIC8gJGNvbnRhaW5lci13aWR0aC0xMTk5KTtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNzY3KSB7XHJcbiAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoNjAwIC8gJGNvbnRhaW5lci13aWR0aC03NjcpO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC01NzUpIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcbn0iLCJAaW1wb3J0IFwiLi4vY29uZmlnL2NvbmZpZ1wiO1xyXG5cclxuLmRlY29yLWxpbmUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogZWxlbUVtU2l6ZSgxMCwgNDE1KTtcclxuICBoZWlnaHQ6IDNweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLXNlY29uZGFyeTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gIHotaW5kZXg6IC0xO1xyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogJGJwLTE5MjEpIHtcclxuICAgIGhlaWdodDogZWxlbUVtU2l6ZSgxMC4wMDUyLCAzKVxyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vY29uZmlnL2NvbmZpZ1wiO1xyXG5cclxuLmJyZWFkY3J1bWJzIHtcclxuXHJcbiAgJi0tbGlnaHQge1xyXG5cclxuICAgIC5icmVhZGNydW1ic19fdGV4dCB7XHJcbiAgICAgIGNvbG9yOiAkbGlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmJyZWFkY3J1bWJzX19saW5rIHtcclxuXHJcbiAgICAgICY6bGluayxcclxuICAgICAgJjp2aXNpdGVkIHtcclxuICAgICAgICBjb2xvcjogJGxpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTU3NSkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5icmVhZGNydW1ic19fbGlzdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcbi5icmVhZGNydW1ic19faXRlbSB7XHJcblxyXG4gICYgKyAmIHtcclxuXHJcbiAgICAuYnJlYWRjcnVtYnNfX3RleHQ6OmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICcvJztcclxuICAgICAgcGFkZGluZzogMCBlbGVtRW1TaXplKDI0LCA2KTtcclxuXHJcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtOTkxKSB7XHJcbiAgICAgICAgcGFkZGluZzogMCBlbGVtRW1TaXplKDE2LCA0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJyZWFkY3J1bWJzX190ZXh0IHtcclxuICBmb250LXNpemU6IGVsZW1FbVNpemUoMTAsIDI0KTtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgY29sb3I6ICRyZWQ7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtOTkxKSB7XHJcbiAgICBmb250LXNpemU6IGVsZW1FbVNpemUoJGJwLWZ6LTk5MSwgMTYpO1xyXG4gIH1cclxufVxyXG5cclxuLmJyZWFkY3J1bWJzX19saW5rIHtcclxuXHJcbiAgJjpsaW5rLFxyXG4gICY6dmlzaXRlZCB7XHJcbiAgICBjb2xvcjogJHJlZDtcclxuICB9XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgfVxyXG59IiwiQGltcG9ydCBcIi4uL2NvbmZpZy9jb25maWdcIjtcclxuXHJcbi5wYWdlLXNsaWRlci13cmFwcGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIC5zd2lwZXItbmF2aWdhdGlvbiB7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC03NjcpIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbi10b3A6IGVsZW1FbVNpemUoJGJwLWZ6LTc2NywgMjApO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNTc1KSB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc3dpcGVyLWJ1dHRvbi1wcmV2LFxyXG4gIC5zd2lwZXItYnV0dG9uLW5leHQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodDtcclxuICAgIHdpZHRoOiBlbGVtRW1TaXplKDEwLCA0MCk7XHJcbiAgICBoZWlnaHQ6IGVsZW1FbVNpemUoMTAsIDQwKTtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBlbGVtRW1TaXplKDEwLCAxMSkgZWxlbUVtU2l6ZSgxMCwgMTkpO1xyXG5cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICBib3gtc2hhZG93OiAwIDAgNHB4IDJweCBsaWdodGVuKCRsaWdodC1ncmF5LCAzMCUpO1xyXG5cclxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicC0xOTIxKSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIGVsZW1FbVNpemUoMTAsIDQpIGVsZW1FbVNpemUoMTAsIDIpIGxpZ2h0ZW4oJGxpZ2h0LWdyYXksIDMwJSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNzY3KSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnAtMTkyMSkge1xyXG4gICAgICBib3JkZXItd2lkdGg6IGVsZW1FbVNpemUoMTAuMDA1MiwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC03NjcpIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB0b3A6IGF1dG87XHJcbiAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICB3aWR0aDogZWxlbUVtU2l6ZSgkYnAtZnotNzY3LCAyNyk7XHJcbiAgICAgIGhlaWdodDogZWxlbUVtU2l6ZSgkYnAtZnotNzY3LCAxMik7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogZWxlbUVtU2l6ZSgkYnAtZnotNzY3LCAyNykgZWxlbUVtU2l6ZSgkYnAtZnotNzY3LCAxMik7XHJcbiAgICAgIHBhZGRpbmc6IGVsZW1FbVNpemUoJGJwLWZ6LTc2NywgNik7XHJcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNTc1KSB7XHJcbiAgICAgIHdpZHRoOiAyN3B4O1xyXG4gICAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjdweCAxMnB4O1xyXG4gICAgICBwYWRkaW5nOiA2cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICByaWdodDogMTAwJTtcclxuICAgIG1hcmdpbi1yaWdodDogZWxlbUVtU2l6ZSgxMCwgNDApO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTEnIGhlaWdodD0nMTknIHZpZXdCb3g9JzAgMCAxMSAxOScgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTAuNDc0MjcxIDguNTU5NEw4LjY0Mzk5IDAuMzg5OTU3QzkuMTYzNjggLTAuMTI5OTg2IDEwLjAwNjMgLTAuMTI5OTg2IDEwLjUyNTcgMC4zODk5NThDMTEuMDQ1MiAwLjkwOTQzOSAxMS4wNDUyIDEuNzUxOTkgMTAuNTI1NyAyLjI3MTQzTDMuMjk2NzcgOS41MDAxNEwxMC41MjU1IDE2LjcyODZDMTEuMDQ1IDE3LjI0ODMgMTEuMDQ1IDE4LjA5MDcgMTAuNTI1NSAxOC42MTAyQzEwLjAwNiAxOS4xMjk5IDkuMTYzNDcgMTkuMTI5OSA4LjY0Mzc3IDE4LjYxMDJMMC40NzQwNiAxMC40NDA3QzAuMjE0MzE4IDEwLjE4MDggMC4wODQ1OTQ3IDkuODQwNTcgMC4wODQ1OTQ3IDkuNTAwMThDMC4wODQ1OTQ4IDkuMTU5NjIgMC4yMTQ1NzEgOC44MTkxNCAwLjQ3NDI3MSA4LjU1OTRaJyBmaWxsPSd3aGl0ZScvJTNFJTNDL3N2ZyUzRSUwQVwiKTtcclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTE0MzkpIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiBlbGVtRW1TaXplKCRicC1mei0xNDM5LCAyMCk7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC03NjcpIHtcclxuICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMjcnIGhlaWdodD0nMTInIHZpZXdCb3g9JzAgMCAyNyAxMicgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTAgNkwxMCAxMS43NzM1TDEwIDAuMjI2NDk5TDAgNlpNMjYuNSA1TDkgNUw5IDdMMjYuNSA3TDI2LjUgNVonIGZpbGw9J3doaXRlJy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnN3aXBlci1idXR0b24tbmV4dCB7XHJcbiAgICByaWdodDogYXV0bztcclxuICAgIGxlZnQ6IDEwMCU7XHJcbiAgICBtYXJnaW4tbGVmdDogZWxlbUVtU2l6ZSgxMCwgNDApO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTEnIGhlaWdodD0nMTknIHZpZXdCb3g9JzAgMCAxMSAxOScgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTEwLjUyNTggMTAuNDQwNkwyLjM1NjA1IDE4LjYxQzEuODM2MzYgMTkuMTMgMC45OTM3NjkgMTkuMTMgMC40NzQzMjggMTguNjFDLTAuMDQ1MTUzOSAxOC4wOTA2IC0wLjA0NTE1MzcgMTcuMjQ4IDAuNDc0MzI5IDE2LjcyODZMNy43MDMyNyA5LjQ5OTg2TDAuNDc0NTQxIDIuMjcxNEMtMC4wNDQ5NDA5IDEuNzUxNzEgLTAuMDQ0OTQwNyAwLjkwOTI0OSAwLjQ3NDU0MiAwLjM4OTc2OEMwLjk5NDAyNCAtMC4xMjk5MjMgMS44MzY1NyAtMC4xMjk5MjMgMi4zNTYyNyAwLjM4OTc2OUwxMC41MjYgOC41NTkzNEMxMC43ODU3IDguODE5MjEgMTAuOTE1NCA5LjE1OTQzIDEwLjkxNTQgOS40OTk4MkMxMC45MTU0IDkuODQwMzggMTAuNzg1NSAxMC4xODA5IDEwLjUyNTggMTAuNDQwNlonIGZpbGw9J3doaXRlJy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO1xyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtMTQzOSkge1xyXG4gICAgICBtYXJnaW4tbGVmdDogZWxlbUVtU2l6ZSgkYnAtZnotMTQzOSwgMjApO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNzY3KSB7XHJcbiAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiBlbGVtRW1TaXplKCRicC1mei03NjcsIDMwKTtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMjcnIGhlaWdodD0nMTMnIHZpZXdCb3g9JzAgMCAyNyAxMycgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTI2LjUgNi41TDE2LjUgMC43MjY0OTdWMTIuMjczNUwyNi41IDYuNVpNMCA3LjVIMTcuNVY1LjVIMFY3LjVaJyBmaWxsPSd3aGl0ZScvJTNFJTNDL3N2ZyUzRSUwQVwiKTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTU3NSkge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wYWdlLXNsaWRlcl9fcGljLXdyYXBwZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSgzNTkgLyA1MjQpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodDtcclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicC0xOTIxKSB7XHJcbiAgICBib3JkZXItd2lkdGg6IGVsZW1FbVNpemUoMTAuMDA1MiwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG4ucGFnZS1zbGlkZXJfX3BpYyB7XHJcbiAgQGluY2x1ZGUgYWJzb2x1dGUtcmVzcG9uc2l2ZS1pbWc7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi5zbC1vdmVybGF5e1xyXG4gICAgYmFja2dyb3VuZDogIzJiMmIyYiFpbXBvcnRhbnQ7XHJcbiAgICBvcGFjaXR5OiAuOTtcclxufVxyXG5cclxuLy8gLnNsLXdyYXBwZXIgLnNsLW5hdmlnYXRpb24ge1xyXG5cclxuLy8gLnNsLXByZXYsXHJcbi8vIC5zbC1uZXh0IHtcclxuLy8gICBkaXNwbGF5OiBmbGV4O1xyXG4vLyAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4vLyAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbi8vICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4vLyAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodDtcclxuLy8gICB3aWR0aDogZWxlbUVtU2l6ZSgxMCwgNDApO1xyXG4vLyAgIGhlaWdodDogZWxlbUVtU2l6ZSgxMCwgNDApO1xyXG4vLyAgIG1hcmdpbi10b3A6IDA7XHJcbi8vICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4vLyAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbi8vICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4vLyAgIGJhY2tncm91bmQtc2l6ZTogZWxlbUVtU2l6ZSgxMCwgMTEpIGVsZW1FbVNpemUoMTAsIDE5KTtcclxuXHJcbi8vICAgJjpmb2N1cyB7XHJcbi8vICAgICBvdXRsaW5lOiBub25lO1xyXG4vLyAgICAgYm94LXNoYWRvdzogMCAwIDRweCAycHggbGlnaHRlbigkbGlnaHQtZ3JheSwgMzAlKTtcclxuXHJcbi8vICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJwLTE5MjEpIHtcclxuLy8gICAgICAgYm94LXNoYWRvdzogMCAwIGVsZW1SZW1TaXplKDEwLCA0KSBlbGVtRW1TaXplKDEwLCAyKSBsaWdodGVuKCRsaWdodC1ncmF5LCAzMCUpO1xyXG4vLyAgICAgfVxyXG5cclxuLy8gICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNzY3KSB7XHJcbi8vICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbi8vICAgICB9XHJcbi8vICAgfVxyXG5cclxuLy8gICBAbWVkaWEgKG1pbi13aWR0aDogJGJwLTE5MjEpIHtcclxuLy8gICAgIGJvcmRlci13aWR0aDogZWxlbUVtU2l6ZSgxMC4wMDUyLCAxKTtcclxuLy8gICB9XHJcblxyXG4vLyAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNzY3KSB7XHJcbi8vICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbi8vICAgICB0b3A6IGF1dG87XHJcbi8vICAgICBtYXJnaW4tdG9wOiAwO1xyXG4vLyAgICAgYm9yZGVyOiBub25lO1xyXG4vLyAgICAgb3V0bGluZTogbm9uZTtcclxuLy8gICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuLy8gICAgIHdpZHRoOiBlbGVtRW1TaXplKCRicC1mei03NjcsIDI3KTtcclxuLy8gICAgIGhlaWdodDogZWxlbUVtU2l6ZSgkYnAtZnotNzY3LCAxMik7XHJcbi8vICAgICBiYWNrZ3JvdW5kLXNpemU6IGVsZW1FbVNpemUoJGJwLWZ6LTc2NywgMjcpIGVsZW1FbVNpemUoJGJwLWZ6LTc2NywgMTIpO1xyXG4vLyAgICAgcGFkZGluZzogZWxlbUVtU2l6ZSgkYnAtZnotNzY3LCA2KTtcclxuLy8gICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4vLyAgIH1cclxuXHJcbi8vICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC01NzUpIHtcclxuLy8gICAgIHdpZHRoOiAyN3B4O1xyXG4vLyAgICAgaGVpZ2h0OiAxMnB4O1xyXG4vLyAgICAgYmFja2dyb3VuZC1zaXplOiAyN3B4IDEycHg7XHJcbi8vICAgICBwYWRkaW5nOiA2cHg7XHJcbi8vICAgfVxyXG4vLyB9XHJcbi8vICAgLnNsLXByZXYge1xyXG4vLyAgICAgbGVmdDogYXV0bztcclxuLy8gICAgIHJpZ2h0OiAxMDAlO1xyXG4vLyAgICAgbWFyZ2luLXJpZ2h0OiBlbGVtRW1TaXplKDEwLCA0MCk7XHJcbi8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMScgaGVpZ2h0PScxOScgdmlld0JveD0nMCAwIDExIDE5JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNMC40NzQyNzEgOC41NTk0TDguNjQzOTkgMC4zODk5NTdDOS4xNjM2OCAtMC4xMjk5ODYgMTAuMDA2MyAtMC4xMjk5ODYgMTAuNTI1NyAwLjM4OTk1OEMxMS4wNDUyIDAuOTA5NDM5IDExLjA0NTIgMS43NTE5OSAxMC41MjU3IDIuMjcxNDNMMy4yOTY3NyA5LjUwMDE0TDEwLjUyNTUgMTYuNzI4NkMxMS4wNDUgMTcuMjQ4MyAxMS4wNDUgMTguMDkwNyAxMC41MjU1IDE4LjYxMDJDMTAuMDA2IDE5LjEyOTkgOS4xNjM0NyAxOS4xMjk5IDguNjQzNzcgMTguNjEwMkwwLjQ3NDA2IDEwLjQ0MDdDMC4yMTQzMTggMTAuMTgwOCAwLjA4NDU5NDcgOS44NDA1NyAwLjA4NDU5NDcgOS41MDAxOEMwLjA4NDU5NDggOS4xNTk2MiAwLjIxNDU3MSA4LjgxOTE0IDAuNDc0MjcxIDguNTU5NFonIGZpbGw9J3doaXRlJy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO1xyXG5cclxuLy8gICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtMTQzOSkge1xyXG4vLyAgICAgICBtYXJnaW4tcmlnaHQ6IGVsZW1FbVNpemUoJGJwLWZ6LTE0MzksIDIwKTtcclxuLy8gICAgIH1cclxuXHJcbi8vICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTc2Nykge1xyXG4vLyAgICAgICByaWdodDogYXV0bztcclxuLy8gICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4vLyAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScyNycgaGVpZ2h0PScxMicgdmlld0JveD0nMCAwIDI3IDEyJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNMCA2TDEwIDExLjc3MzVMMTAgMC4yMjY0OTlMMCA2Wk0yNi41IDVMOSA1TDkgN0wyNi41IDdMMjYuNSA1WicgZmlsbD0nd2hpdGUnLyUzRSUzQy9zdmclM0UlMEFcIik7XHJcbi8vICAgICB9XHJcbi8vICAgfVxyXG5cclxuLy8gICAuc2wtbmV4dCB7XHJcbi8vICAgICByaWdodDogYXV0bztcclxuLy8gICAgIGxlZnQ6IDEwMCU7XHJcbi8vICAgICBtYXJnaW4tbGVmdDogZWxlbUVtU2l6ZSgxMCwgNDApO1xyXG4vLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTEnIGhlaWdodD0nMTknIHZpZXdCb3g9JzAgMCAxMSAxOScgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTEwLjUyNTggMTAuNDQwNkwyLjM1NjA1IDE4LjYxQzEuODM2MzYgMTkuMTMgMC45OTM3NjkgMTkuMTMgMC40NzQzMjggMTguNjFDLTAuMDQ1MTUzOSAxOC4wOTA2IC0wLjA0NTE1MzcgMTcuMjQ4IDAuNDc0MzI5IDE2LjcyODZMNy43MDMyNyA5LjQ5OTg2TDAuNDc0NTQxIDIuMjcxNEMtMC4wNDQ5NDA5IDEuNzUxNzEgLTAuMDQ0OTQwNyAwLjkwOTI0OSAwLjQ3NDU0MiAwLjM4OTc2OEMwLjk5NDAyNCAtMC4xMjk5MjMgMS44MzY1NyAtMC4xMjk5MjMgMi4zNTYyNyAwLjM4OTc2OUwxMC41MjYgOC41NTkzNEMxMC43ODU3IDguODE5MjEgMTAuOTE1NCA5LjE1OTQzIDEwLjkxNTQgOS40OTk4MkMxMC45MTU0IDkuODQwMzggMTAuNzg1NSAxMC4xODA5IDEwLjUyNTggMTAuNDQwNlonIGZpbGw9J3doaXRlJy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO1xyXG5cclxuLy8gICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtMTQzOSkge1xyXG4vLyAgICAgICBtYXJnaW4tbGVmdDogZWxlbUVtU2l6ZSgkYnAtZnotMTQzOSwgMjApO1xyXG4vLyAgICAgfVxyXG5cclxuLy8gICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtNzY3KSB7XHJcbi8vICAgICAgIGxlZnQ6IGF1dG87XHJcbi8vICAgICAgIG1hcmdpbi1sZWZ0OiBlbGVtRW1TaXplKCRicC1mei03NjcsIDMwKTtcclxuLy8gICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMjcnIGhlaWdodD0nMTMnIHZpZXdCb3g9JzAgMCAyNyAxMycgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTI2LjUgNi41TDE2LjUgMC43MjY0OTdWMTIuMjczNUwyNi41IDYuNVpNMCA3LjVIMTcuNVY1LjVIMFY3LjVaJyBmaWxsPSd3aGl0ZScvJTNFJTNDL3N2ZyUzRSUwQVwiKTtcclxuLy8gICAgIH1cclxuXHJcbi8vICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJwLTU3NSkge1xyXG4vLyAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuLy8gICAgIH1cclxuLy8gICB9XHJcblxyXG4vLyB9Il0sInNvdXJjZVJvb3QiOiIifQ==*/