/*
 * Modified Bootstrap Reboot v5.1.1 (https://getbootstrap.com/) (removed colors and links underlining)
 * Copyright 2011-2020 The Bootstrap Authors
 * Copyright 2011-2020 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}
body {
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important;
}

hr {
  margin: 1rem 0;
  color: inherit;
  background-color: currentColor;
  border: 0;
  opacity: 0.25;
}

hr:not([size]) {
  height: 1px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
}

h1 {
  font-size: calc(1.375rem + 1.5vw);
}

@media (min-width: 1200px) {
  h1 {
    font-size: 2.5rem;
  }
}
h2 {
  font-size: calc(1.325rem + 0.9vw);
}

@media (min-width: 1200px) {
  h2 {
    font-size: 2rem;
  }
}
h3 {
  font-size: calc(1.3rem + 0.6vw);
}

@media (min-width: 1200px) {
  h3 {
    font-size: 1.75rem;
  }
}
h4 {
  font-size: calc(1.275rem + 0.3vw);
}

p {
  margin-top: 0;
  margin-bottom: 0;
}

abbr[title],
abbr[data-original-title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul {
  list-style: none;
}

ol,
ul,
dl {
  margin: 0;
  padding: 0;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 0.875em;
}

mark {
  padding: 0.2em;
  background-color: #fcf8e3;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  text-decoration: none;
}

a:not([href]):not([class]),
a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
  direction: ltr;
  unicode-bidi: bidi-override;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
}

pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

code {
  font-size: 0.875em;
  color: #d63384;
  word-wrap: break-word;
}

a > code {
  color: inherit;
}

kbd {
  padding: 0.2rem 0.4rem;
  font-size: 0.875em;
  color: #fff;
  background-color: #212529;
  border-radius: 0.2rem;
}

kbd kbd {
  padding: 0;
  font-size: 1em;
  font-weight: 700;
}

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
}

table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: #6c757d;
  text-align: left;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}

[list]::-webkit-calendar-picker-indicator {
  display: none;
}

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

button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

textarea {
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: calc(1.275rem + 0.3vw);
  line-height: inherit;
  white-space: normal;
}

@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}
legend + * {
  clear: left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button {
  height: auto;
}

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

::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

iframe {
  border: 0;
}

summary {
  display: list-item;
  cursor: pointer;
}

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}

/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
:root {
  /* Layout Settings */
  --phone-width: 576px;
  --tablet-width: 768px;
  --desktop-width: 1112px;
  --desktop-width-sm: 1024px;
  --desktop-width-m: 1280px;
  --desktop-width-l: 1440px;
  --desktop-width-xl: 1660px;
  --content-width: var(--desktop-width-l);
  --blog-width: 760px;
  --page-gutter: 20px;
  --grid-gutter: 24px;
  --vertical-gap: 8vmin;
  --base-transition: .3s;
  /* Colors */
  --primary-color1: #213B8C;
  --primary-color2: #F5DD57;
  --primary-color3: #fff;
  --secondary-color1: #F5FAFE;
  --secondary-color2: #D2D8E0;
  --secondary-color3: #213B8C;
  --secondary-color4: #5E328A;
  --secondary-color5: #2455C9;
  --body-bg: #fff;
  --body-bg-alt: var(--primary-color1);
  --body-text-color: var(--secondary-color3);
  --body-text-color-alt: var(--primary-color3);
  --titles-color: var(--primary-color1);
  --titles-color-alt: var(--primary-color3);
  --titles-color-accent: inherit;
  --primary-link-color: var(--secondary-color3);
  --primary-link-color-alt: var(--secondary-color2);
  --border-color: #DEE2E8;
}
@media (max-width: 1112px) {
  :root {
    --vertical-gap: 35px;
  }
}

/* Typography */
/* Mixin origin: https://marc-ed-raffalli.github.io/2017/10/14/sass-font-face.html */
@font-face {
  font-family: "inter";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("../../fonts/inter/inter-v11-latin-regular.woff") format("woff"), url("../../fonts/inter/inter-v11-latin-regular.woff2") format("woff2");
}
@font-face {
  font-family: "inter";
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  src: url("../../fonts/inter/inter-v11-latin-600.woff") format("woff"), url("../../fonts/inter/inter-v11-latin-600.woff2") format("woff2");
}
@font-face {
  font-family: "inter";
  font-weight: 800;
  font-style: normal;
  font-display: swap;
  src: url("../../fonts/inter/inter-v11-latin-800.woff") format("woff"), url("../../fonts/inter/inter-v11-latin-800.woff2") format("woff2");
}
@font-face {
  font-family: "roboto";
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url("../../fonts/roboto/roboto-v30-latin-500.woff") format("woff"), url("../../fonts/roboto/roboto-v30-latin-500.woff2") format("woff2");
}
:root {
  --font-family-primary: "inter", sans-serif;
  --font-family-secondary: "inter", sans-serif;
  --font-family-secondary-2: "roboto", sans-serif;
  --base-text-size: clamp(14px, 1.05vw, 2rem);
  --base-text-font: var(--font-family-primary);
  --base-text-line-height: 1.5;
  --base-text-font-weight: 400;
  --larger-text-size: 2.6rem;
  --larger-text-font-weight: 400;
  --smaller-text-size: clamp(12px, 0.84vw, 1.6rem);
  --smaller-text-font-weight: 400;
  --blog-text-size: clamp(1.6rem, 1.05vw, 2rem);
  --blog-text-font-weight: 400;
  --h-clamp-formula: 3vw + 1.8rem;
  --h1-font-size: 6.8rem;
  --h1-font-size-mobile: 30px;
  --h1-line-height: 1.1;
  --h1-letter-spacing: -0.03em;
  --h1-margin-bottom: 0;
  --h1-font: var(--font-family-primary);
  --h1-font-weight: 800;
  --h1-text-transform: none;
  --h1-subtitle-font-size: 2.6rem;
  --h1-subtitle-font-size-mobile: 18px;
  --h2-font-size: 5.4rem;
  --h2-font-size-mobile: 25px;
  --h2-line-height: 1.2;
  --h2-letter-spacing: -0.03em;
  --h2-margin-bottom: .5em;
  --h2-font: var(--font-family-secondary);
  --h2-font-weight: 800;
  --h2-text-transform: none;
  --h2-subtitle-font-size: 2.2rem;
  --h2-subtitle-font-size-mobile: 16px;
  --h3-font-size: 3rem;
  --h3-font-size-mobile: 18px;
  --h3-line-height: 1.3;
  --h3-letter-spacing: 0;
  --h3-margin-bottom: .5em;
  --h3-font: var(--font-family-secondary);
  --h3-font-weight: 800;
  --h3-text-transform: none;
  --h4-font-size: 2.1rem;
  --h4-font-size-mobile: 18px;
  --h4-line-height: 1.3;
  --h4-letter-spacing: -0.03em;
  --h4-margin-bottom: .5em;
  --h4-font: var(--font-family-secondary);
  --h4-font-weight: 700;
  --h4-text-transform: none;
  --pretitle-color: currentColor;
  --pretitle-color-alt: currentColor;
  --pretitle-font-size: 2.2rem;
  --pretitle-font-size-mobile: 20px;
  --pretitle-line-height: 1.2;
  --pretitle-letter-spacing: 0;
  --pretitle-margin-bottom: .5em;
  --pretitle-font: var(--font-family-primary);
  --pretitle-font-weight: 400;
  --pretitle-text-transform: none;
  --subtitle-color: currentColor;
  --subtitle-color-alt: currentColor;
  --subtitle-font-size: 2.4rem;
  --subtitle-font-size-mobile: 16px;
  --subtitle-line-height: 1.6;
  --subtitle-letter-spacing: 0;
  --subtitle-margin-bottom: 1em;
  --subtitle-font: var(--font-family-primary);
  --subtitle-font-weight: 400;
  --subtitle-text-transform: none;
}
@media (max-width: 767px) {
  :root {
    --h2-margin-bottom: 1.2em;
  }
}

/* Buttons*/
:root {
  --btn-font-family: var(--font-family-primary);
  --btn-font-size: clamp(14px, 0.95vw, 1.8rem);
  --btn-font-weight: 600;
  --btn-text-transform: none;
  --btn-padding-top-bottom: 13px;
  --btn-padding-left-right: 30px;
  --btn-border-radius: 35px;
  --btn-primary-color: var(--secondary-color3);
  --btn-primary-color-hover: var(--secondary-color3);
  --btn-primary-bg: var(--primary-color2);
  --btn-primary-bg-hover: var(--primary-color2);
  --btn-primary-border-color: var(--primary-color1);
  --btn-primary-border-color-hover: var(--secondary-color3);
  --btn-primary-border: 0;
  --btn-primary-shadow: none;
  --btn-secondary-color: var(--secondary-color3);
  --btn-secondary-color-hover: var(--primary-color1);
  --primary-color3: var(--secondary-color1);
  --btn-secondary-bg: #fff;
  --btn-secondary-bg-hover: var(--primary-color2);
  --btn-secondary-border-color: var(--secondary-color2);
  --btn-secondary-border-color-hover: var(--secondary-color2);
  --btn-secondary-border: 2px;
  --btn-secondary-shadow: none;
  --btn-link-color: var(--primary-color1);
  --btn-link-color-hover: var(--secondary-color5);
  --link-icon-color: var(--primary-color2);
  --button-flex-direction: row;
}

/* Forms */
:root {
  --label-font-size: clamp(1.3rem, 0.84vw, 1.6rem);
  --label-font-weight: 300;
  --label-color: var(--primary-color1);
  --input-border-width: 1px;
  --input-border-radius: 120px;
  --input-padding-top-bottom: 10px;
  --input-padding-left-right: 25px;
  --input-font-size: clamp(1.3rem, 0.84vw, 1.6rem);
  --input-font-weight: 400;
  --input-color: var(--primary-color1);
  --input-background-color: #fff;
  --input-border-color: var(--secondary-color2);
  --form-row-margin-top-bottom: 15px;
  --form-row-margin-left-right: 0px;
  --message-font-size: clamp(1.3rem, 0.84vw, 1.6rem);
  --message-line-height: 1.5;
  --message-font-weight: 400;
  --validation-error-color: #da747b;
  --validation-success-color: #50b2a0;
  --validation-notice-color: #ffb700;
}

/* Header */
:root {
  --header-hight: 145px;
}
@media (max-width: 1112px) {
  :root {
    --header-hight: 20px;
  }
}

.site-header {
  --header-sticky-type: fixed;
  --header-sticky-bg: #fff;
  --header-top-bg: transparent;
  --header-top-color: var(--secondary-color3);
  --header-top-color-hover: var(--secondary-color4);
  --header-top-size: clamp(12px, 0.85vw, 16px);
  --header-top-vertical-padding: clamp(5px, 0.67vw, 13px);
  --header-top-gap-between-items: 12px;
  --header-main-bg: #fff;
  --header-main-color: var(--secondary-color3);
  --header-main-color-hover: var(--secondary-color4);
  --header-main-font-size: clamp(12px, 0.85vw, 16px);
  --header-main-font-weight: 600;
  --header-main-text-transform: uppercase;
  --header-main-gap-between-items: 20px;
  --header-main-vertical-padding: 0;
  --header-main-nav-height: clamp(40px, 3.12vw, 60px);
  --header-logo-width: 100%;
  --header-logo-height: 64px;
  --dropdown-bg: #fff;
  --dropdown-color: var(--primary-color1);
  --dropdown-color-active: var(--primary-color2);
  --dropdown-font-size: clamp(14px, 0.84vw, 16px);
  --dropdown-font-weight: 400;
  --dropdown-padding: 40px 25px 20px;
  --dropdown-width: 276px;
  --burger-width: 18px;
  --burger-segment-hight: 3px;
  --burger-segment-gap: 7px;
  --burger-segment-radius: 5px;
  --burger-color: #fff;
  --burger-bg: var(--primary-color1);
}
@media (max-width: 1112px) {
  .site-header {
    --header-hight: 55px;
    --header-mobile-bg: #fff;
    --header-main-color-hover: var(--primary-color2);
    --link-size-l1: 14px;
    --link-size-l2: 14px;
    --link-color: #fff;
    --link-gap: 10px;
  }
}

.site-search {
  --search-size: clamp(24px, 1.57vw, 28px);
  --search-btn-bg: transparent;
  --search-btn-radius: 4px;
  --search-height: 30px;
  --search-width: 250px;
  --search-radius: 15px;
  --search-outer-bg: #fff;
  --search-outer-gap: 5px;
  --search-outer-border: var(--secondary-color2);
}

/* Footer */
.site-footer {
  --footer-bg-color: linear-gradient(to top, rgba(245, 250, 254, 0) 0%, #F5FAFE 100%);
  --footer-color: var(--secondary-color3);
  --footer-top-padding: clamp(50px, 6vw, 115px) 0;
  --footer-top-font-size: 1.6rem;
  --footer-top-nav-direction: column;
  --footer-bottom-bg-color: var(--secondary-color3);
  --footer-bottom-color: var(--primary-color3);
  --footer-bottom-padding: 1.2em;
  --footer-bottom-font-size: 14px;
  --footer-top-border: transparent;
  --footer-top-border-size: 0;
  --footer-link-gap_v: .5em;
  --footer-link-gap_h: 0;
  --footer-logo-height: 60px;
  --footer-logo-width: 305px;
  --footer-title-size: 2.2rem;
  --footer-title-weight: 700;
  --footer-title-transform: none;
}
@media (max-width: 1112px) {
  .site-footer {
    --footer-top-padding: 30px 0;
    --footer-bottom-font-size: 12px;
    --footer-bottom-padding: 0.5em;
  }
}

:root {
  --l-block-gap-vertical: 15px;
  --l-block-gap-horizontal: 16px;
  --c-block-title-size: clamp(var(--h4-font-size-mobile), 1.1vw, var(--h4-font-size));
  --c-block-title-weight: var(--h4-font-weight);
  --c-block-title-transform: var(--h4-text-transform);
  --c-block-title-color: var(--titles-color);
  --c-block-text-size: var(--base-text-size);
  --c-block-padding: 15px;
  --c-block-align: left;
  --c-block-bg: #fff;
  --c-block-color: inherit;
  --c-block-shadow: none;
  --c-block-radius: clamp(10px, 1.05vw, 20px);
  --c-block-border: var(--border-color);
  --overlay-opacity: .9;
  --overlay-color: var(--primary-color1);
  --blockquote-style: url("data:image/svg+xml,%3Csvg width='55' height='46' viewBox='0 0 55 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M31.2463 6.41861L31.2463 27.6C31.2463 31.7364 32.0214 35.1597 33.5717 37.8698C36.5313 43.2899 41.7457 46 49.2151 46L51.1177 46L53.443 45.5721L53.443 38.0837L53.0202 38.0837C48.3695 38.0837 46.0441 35.6589 46.0441 30.8093L46.0441 25.0326L48.7923 25.0326C52.5974 25.0326 54.5 23.0357 54.5 19.0419L54.5 6.41861C54.5 2.13954 52.5974 -7.83517e-07 48.7923 -4.5086e-07L36.954 5.84071e-07C33.1489 9.16728e-07 31.2463 2.13954 31.2463 6.41861ZM18.8143 46C19.6599 46 20.7169 45.8574 21.9853 45.5721L21.9853 38.0837L21.5625 38.0837C17.0527 38.0837 14.7978 35.6589 14.7978 30.8093L14.7978 25.0326L17.3346 25.0326C21.2806 25.0326 23.2537 23.0357 23.2537 19.0419L23.2537 6.41862C23.2537 2.13954 21.2806 1.95428e-06 17.3346 2.29926e-06L5.49632 3.33419e-06C1.8321 3.65453e-06 -3.8344e-06 2.13955 -3.46031e-06 6.41862L-1.60858e-06 27.6C-5.36193e-07 39.8667 6.27145 46 18.8143 46Z' fill='%233397EF'/%3E%3C/svg%3E%0A");
}

/* WYSIWYG */
.is-wysiwyg {
  --wysiwyg-margin: 1.5em;
  --wysiwyg-li-padding: 0 0 0 30px;
  --wysiwyg-li-bgp: 0 .4em;
  --wysiwyg-li-margin: 1em;
  --list-item-style: url("data:image/svg+xml,%3Csvg width='22' height='16' viewBox='0 0 22 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='5.1484' y='11.2759' width='16' height='4' rx='2' transform='rotate(-42.638 5.1484 11.2759)' fill='%233397EF'/%3E%3Crect x='7.4336' y='14.5288' width='10' height='4' rx='2' transform='rotate(-132.638 7.4336 14.5288)' fill='%2370B6F4'/%3E%3C/svg%3E");
}
@media (max-width: 1112px) {
  .is-wysiwyg {
    --wysiwyg-li-padding: 0 0 0 25px;
  }
}

/* Social Icons */
.social-list {
  --social-icon-color: var(--primary-color1);
  --social-icon-color-hover: var(--primary-color3);
  --social-icon-bg: var(--primary-color2);
  --social-icon-bg-hover: var(--primary-color1);
  --social-icon-radius: 50%;
  --social-icon-size: clamp(35px, 5.2vw, 50px);
}

.blog-filter {
  --filter-bg: #fff;
  --filter-link-color: var(--primary-color1);
  --filter-link-color-active: #fff;
  --filter-link-size: clamp(14px, 0.84vw, 18px);
  --filter-link-weight: 600;
  --filter-vspace: 0;
}

.m-slider {
  --swiper-outer-gap: 80px;
  --swiper-arrows-bg: var(--primary-color2);
  --swiper-arrows-color: var(--primary-color1);
  --swiper-arrows-shadow: 0 12px 14px rgba(33, 33, 33, 0.1), 0 4px 4px rgba(33, 33, 33, 0.1);
  --swiper-pagination-bullet-horizontal-gap: 10px;
  --swiper-pagination-bullet-size: 24px;
  --swiper-pagination-bullet-border: #ccc;
  --swiper-pagination-bullet-inactive-color: transparent;
  --swiper-pagination-bullet-border-active: var(--primary-color1);
  --swiper-pagination-color: var(--primary-color1);
  --swiper-pagination-bullet-inactive-opacity: .8;
  --swiper-pagination-radius: 20px;
  --swiper-navigation-size: 52px;
}
@media (max-width: 1112px) {
  .m-slider {
    --swiper-navigation-size: 45px;
    --swiper-outer-gap: 40px;
    --thumb-size: 30px;
  }
}

/**** Site Header */
/* Base Typography */
/* 1rem = 10px */
html {
  font-size: 50%;
}
@media (min-width: 1281px) {
  html {
    font-size: 58%;
  }
}
@media (min-width: 1441px) {
  html {
    font-size: 62.5%;
  }
}

body {
  font-family: var(--font-family-primary);
  font-size: var(--base-text-size);
  font-weight: var(--base-text-font-weight, 400);
  line-height: var(--base-text-line-height, 1);
}
body::-webkit-scrollbar {
  background-color: white;
  width: 15px;
}
body::-webkit-scrollbar-track {
  box-shadow: inset 20px 20px 0 var(--secondary-color2);
}
body::-webkit-scrollbar-thumb {
  background-color: var(--secondary-color5);
  border: 1px solid var(--secondary-color5);
  border-radius: 10px;
  outline: 1px solid var(--secondary-color5);
}
body.last_section_blue .cta-banner__wrap.-blue.-last,
body.last_section_blue .product-tabs.-last,
body.last_section_blue .cards-programs__wrap.colors-inverted.-last {
  padding-bottom: 215px;
}
body.last_section_blue .site-footer {
  margin-top: -60px;
}

/* Base Colors */
body {
  background-color: var(--body-bg, #ffffff);
  color: var(--body-text-color, #333333);
}
[color-mode=dark] body {
  background-color: #222222;
  color: var(--body-bg, #ffffff);
}

a {
  color: var(--primary-link-color);
}
[color-mode=dark] a {
  color: var(--primary-link-color-alt);
}

.colors-inverted,
.bg-alt {
  background-color: var(--body-bg-alt);
  color: var(--body-text-color-alt);
  --section-title-color: var(--section-title-color-alt);
}

/* Base layout */
body,
html {
  height: 100%;
  min-height: 100%;
}

.wrapper {
  align-items: stretch;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
@media (max-width: 1112px) {
  .woocommerce-account .wrapper {
    padding-bottom: 0;
  }
}

.site-content {
  flex-grow: 1;
  min-height: 400px;
  padding-bottom: 5vmin;
}
@media (max-width: 1112px) {
  .site-content {
    padding-bottom: 80px;
  }
}
.blog .site-content {
  padding-bottom: 0;
}
.site-content > section:first-child:not(.m-banner):not(.blog-wrapper) {
  padding-top: calc(var(--header-hight) + clamp(100px, 7.8vw, 150px));
}

.site-header,
.site-content,
.site-footer {
  flex-shrink: 0;
}

.container-fluid,
.container {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

img {
  max-width: 100%;
  width: 100%;
}

.container {
  padding-left: var(--page-gutter);
  padding-right: var(--page-gutter);
  transition: max-width var(--base-transition);
}
@media (min-width: 1113px) and (max-width: 1440px) {
  .container {
    --content-width: var(--desktop-width-m);
  }
}
@media (max-width: 1112px) {
  .container {
    --page-gutter: 20px;
    --content-width: var(--tablet-width);
  }
}

.container-fluid {
  padding-left: var(--grid-outer-margin, 2em);
  padding-right: var(--grid-outer-margin, 2em);
}

.container {
  max-width: clamp(1024px, 83.5vw, var(--content-width) + var(--page-gutter, 20px) * 2);
}

@media (max-width: 1112px) {
  .gap-top,
.gap-top-s,
.gap-top-l {
    padding-top: var(--vertical-gap);
  }
  .gap-bot,
.gap-bot-s,
.gap-bot-l {
    padding-bottom: var(--vertical-gap);
  }
}
@media (min-width: 1113px) {
  .gap-top {
    padding-top: var(--vertical-gap);
  }
  .gap-bot {
    padding-bottom: var(--vertical-gap);
  }
  .gap-top-s {
    padding-top: calc(var(--vertical-gap) / 2);
  }
  .gap-bot-s {
    padding-bottom: calc(var(--vertical-gap) / 2);
  }
  .gap-top-l {
    padding-top: calc(var(--vertical-gap) * 1.5);
  }
  .gap-bot-l {
    padding-bottom: calc(var(--vertical-gap) * 1.5);
  }
}
.site-header {
  width: 100%;
  top: 0;
  left: 0;
  transition: transform var(--base-transition), background-color var(--base-transition), box-shadow var(--base-transition);
  z-index: 102;
}
@media (max-width: 1112px) {
  .site-header {
    background-color: #fff;
    max-height: var(--header-hight);
    position: sticky;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0px 0px 16px rgba(92, 95, 107, 0.25);
  }
}
@media (min-width: 1113px) {
  .site-header {
    position: var(--header-sticky-type, sticky);
  }
  .admin-bar .site-header {
    top: 28px;
  }
}
.nav-active .site-header {
  background-color: var(--header-mobile-bg);
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
.site-header__logo {
  display: flex;
  align-items: center;
}
@media (min-width: 1113px) {
  .site-header__logo {
    transition: all var(--base-transition);
    max-width: 100%;
  }
}
.site-header__logo img,
.site-header__logo svg {
  max-width: clamp(150px, 15.6vw, 300px);
  max-height: 100px;
  min-width: 60px;
  width: var(--header-logo-width);
  height: var(--header-logo-height);
  object-fit: contain;
  object-position: left center;
}
@media (max-width: 1112px) {
  .site-header__logo img,
.site-header__logo svg {
    max-width: 150px;
    max-height: 45px;
  }
}
@media (min-width: 1113px) {
  .site-header__logo img,
.site-header__logo svg {
    transition: all var(--base-transition);
  }
}
.nav-active .site-header__logo svg path[fill="#16275C"] {
  fill: #fff !important;
}
.site-header__inner {
  display: flex;
  justify-content: space-between;
  transition: all var(--base-transition);
}
.site-header__row {
  display: flex;
  justify-content: space-between;
  transition: all var(--base-transition);
}
.site-header__col {
  transition: padding var(--base-transition);
}
@media (max-width: 1112px) {
  .site-header__col {
    flex-direction: column;
    width: 100%;
  }
}
@media (min-width: 1113px) {
  .site-header__col {
    gap: calc(var(--header-horizontal-gap, 1vw) * 2);
    display: flex;
    align-items: center;
  }
  .site-header__col.-left {
    justify-content: flex-start;
  }
  .site-header__col.-center {
    justify-content: center;
    text-align: center;
  }
  .site-header__col.-right {
    justify-content: flex-end;
  }
}
.site-header .social-list {
  gap: var(--header-horizontal-gap);
}
.site-header a:not(.c-btn):not(.wpcf7-submit):not(.gform_button) {
  color: var(--header-link-color);
}
.site-header a:not(.c-btn):not(.wpcf7-submit):not(.gform_button):hover {
  color: var(--header-link-color-hover, var(--primary-color2));
}

/* Header Main Row */
.site-header__main {
  --header-link-color: var(--header-main-color);
  --header-link-color-hover: var(--header-main-color-hover);
  --header-horizontal-gap: var(--header-main-gap-between-items);
  font-weight: var(--header-main-font-weight);
  text-transform: var(--header-main-text-transform, uppercase);
  font-size: var(--header-main-font-size, 16px);
  transition: all var(--base-transition);
}
.site-header__main .site-header__row {
  padding-top: var(--header-main-vertical-padding);
  padding-bottom: var(--header-main-vertical-padding);
  padding-left: 0;
  padding-right: 0;
}
@media (min-width: 1113px) {
  .site-header__main .site-header__row {
    position: relative;
  }
}

/* Header Top Row */
.site-header__top {
  --header-link-color: var(--header-top-color);
  --header-link-color-hover: var(--header-top-color-hover);
  --header-horizontal-gap: var(--header-top-gap-between-items);
  background-color: var(--header-top-bg);
  font-size: var(--header-top-size);
  color: var(--header-top-color);
}
@media (max-width: 1112px) {
  .site-header__top {
    width: 100%;
    padding-right: 40px;
    height: 55px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
}
.site-header__top .container {
  justify-content: space-between;
  padding-top: var(--header-top-vertical-padding);
  padding-bottom: var(--header-top-vertical-padding);
}

@media (min-width: 1113px) {
  .is-sticky:hover .site-header__main {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }
  .is-sticky:hover .site-header__main .site-header__row:after {
    height: 140%;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
  .is-sticky:hover .site-header__top {
    box-shadow: none;
  }
}
@media (min-width: 1113px) {
  .is-sticky {
    --header-main-vertical-padding: 1px;
    --header-top-vertical-padding: 1px;
    --header-main-bg: var(--header-sticky-bg, var(--primary-color1));
    --header-main-nav-height: 50px;
  }
  .is-sticky .site-header__top {
    position: relative;
    padding-top: 13px;
    z-index: 2;
  }
  .is-sticky .site-header__top .container {
    box-shadow: 0 11px 40px rgba(145, 137, 130, 0.2);
    border-radius: 40px;
    background-color: var(--header-main-bg);
  }
  .is-sticky .site-header__logo {
    max-height: 50px;
  }
  .is-sticky .site-header__logo img,
.is-sticky .site-header__logo svg {
    max-height: 50px;
  }
  .is-sticky .site-header__main {
    transform: translateY(-200%);
    opacity: 0;
    pointer-events: none;
  }
  .is-sticky .nav-main__btn.-desktop {
    display: block;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
  }
}

@media (max-width: 1112px) {
  .nav-active .site-header__main {
    --header-main-bg: var(--header-mobile-bg);
  }
  .site-header__col.-left {
    max-width: 165px;
  }
  .nav-secondary {
    justify-content: flex-end;
  }
  .nav-secondary .desktop-header {
    margin-left: 10px;
  }
  .nav-secondary .desktop-header .icon {
    width: 22px;
    height: 22px;
  }
  .nav-main {
    /* Style the menu itself */
  }
  .nav-main a {
    color: var(--link-color);
  }
  .nav-main__inner {
    --nav-padding: 15px;
    opacity: 1;
    max-height: 0;
    overflow: hidden;
    pointer-events: none;
    transition: all var(--base-transition);
    top: var(--header-hight);
    background-color: var(--header-mobile-bg);
    background-image: var(--logo-light);
    background-position: -180% 120%;
    background-repeat: no-repeat;
    background-size: 450px;
    width: 100%;
    right: 0;
    position: absolute;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="203" height="290" viewBox="0 0 203 290" fill="none"><g opacity="0.1"><path d="M244.026 10.6171C258.15 -3.53905 281.282 -3.53906 295.406 10.6172C309.531 24.7735 309.531 47.9569 295.406 62.1131L226.423 131.253C212.298 145.409 189.167 145.409 175.042 131.253C160.917 117.097 160.917 93.9135 175.042 79.7573L244.026 10.6171Z" fill="%23213B8C" fill-opacity="0.25"/><path d="M255.001 203.39L295.407 243.887C309.531 258.043 309.531 281.226 295.407 295.382C281.282 309.539 258.15 309.539 244.026 295.382L203.494 254.76L203.62 254.697L175.229 226.242C161.104 212.086 161.104 189.108 175.229 174.746C189.353 160.59 212.485 160.59 226.609 174.746L255.063 203.264L255.001 203.39Z" fill="%23213B8C" fill-opacity="0.25"/><path d="M61.9742 10.6175C47.8496 -3.53868 24.718 -3.5387 10.5934 10.6175C-3.53116 24.7738 -3.53113 47.9571 10.5935 62.1134L79.5772 131.254C93.7018 145.41 116.833 145.41 130.958 131.254C145.083 117.097 145.083 93.9141 130.958 79.7578L61.9742 10.6175Z" fill="%23213B8C" fill-opacity="0.25"/><path d="M50.9993 203.391L10.5937 243.887C-3.5309 258.043 -3.53088 281.227 10.5937 295.383C24.7183 309.539 47.8499 309.539 61.9745 295.383L102.506 254.761L102.38 254.698L130.771 226.243C144.896 212.087 144.896 189.108 130.771 174.747C116.647 160.591 93.5152 160.591 79.3906 174.747L50.9368 203.264L50.9993 203.391Z" fill="%23213B8C" fill-opacity="0.25"/></g></svg>');
    background-size: 190px;
    background-position: bottom right;
  }
  .nav-main__inner.--bg-blue {
    background-color: #F5FAFE;
  }
  .nav-active .nav-main__inner {
    opacity: 1;
    max-height: 100vh;
    height: calc(100vh - 55px);
    pointer-events: auto;
    overflow-y: auto;
    padding: 0;
  }
  .nav-active.admin-bar .nav-main__inner {
    height: calc(100vh - 55px - 46px);
  }
  .nav-main .site-header__widget {
    padding-bottom: 5px;
  }
  .nav-main__wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .nav-main__links {
    /* Hide every sub-menu by default */
    /* Style every list item and link, regardless the level */
  }
  .nav-main__links .sub-menu {
    display: none;
  }
  .nav-main__links .sub-menu.--active {
    display: block;
  }
  .nav-main__links li {
    border-bottom: 1px solid rgba(33, 59, 140, 0.2);
    position: relative;
    /* Style every menu item that has children */
    /* Style every active element */
    /* Style every hidden element */
  }
  .nav-main__links li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.333em;
    line-height: 1.2;
    padding: 1.33em var(--nav-padding);
  }
  .nav-main__links li a svg {
    display: none;
  }
  .nav-main__links li a .menu-item__title {
    display: flex;
    align-items: center;
    gap: 0.5em;
  }
  .nav-main__links li a .menu-item__title img {
    width: 20px;
    height: 20px;
  }
  .nav-main__links li:last-child {
    border-bottom: none;
  }
  .nav-main__links li.menu-item-has-children > a::after {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="9" height="14" viewBox="0 0 9 14" fill="none"><path d="M5.81973 7.00031L1.28706 11.6608C0.789729 12.1764 0.789729 13.0105 1.28706 13.526C1.78973 14.0409 2.60173 14.0409 3.1044 13.526L8.54106 7.93255C9.0384 7.41702 9.0384 6.58222 8.54106 6.06737L3.1044 0.473901C2.60173 -0.041633 1.78973 -0.0402509 1.28706 0.473901C0.789729 0.988743 0.789729 1.82286 1.28706 2.33839L5.81973 7.00031Z" fill="%2316275C"/></svg>');
    width: 8px;
    height: 14px;
  }
  .nav-main__links li.--active {
    border-bottom: none;
  }
  .nav-main__links li.--active::after {
    transition: var(--base-transition) all;
    background-color: var(--primary-color1);
  }
  .nav-main__links li.--active > a {
    color: #fff !important;
    background-color: var(--primary-color1);
    text-transform: uppercase;
  }
  .nav-main__links li.--active > a::after {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="9" height="14" viewBox="0 0 9 14" fill="none"><path d="M4.0084 6.99969L8.54106 2.33915C9.0384 1.82362 9.0384 0.989507 8.54106 0.473973C8.0384 -0.0408698 7.2264 -0.0408699 6.72373 0.473973L1.28706 6.06744C0.78973 6.58298 0.78973 7.41778 1.28706 7.93263L6.72373 13.5261C7.2264 14.0416 8.0384 14.0403 8.54106 13.5261C9.0384 13.0113 9.0384 12.1771 8.54106 11.6616L4.0084 6.99969Z" fill="%23F5DD57"/></svg>');
  }
  .nav-main__links li.--hidden {
    border: none;
    padding: 0;
  }
  .nav-main__links li.--hidden > a,
.nav-main__links li.--hidden > span {
    display: none;
  }
}
.page-template-template-simple-text .site-header__main,
.single-post .site-header__main,
.page-template-template-styleguide .site-header__main,
.error404 .site-header__main {
  background-color: var(--header-sticky-bg, var(--primary-color1));
}
@media (min-width: 1113px) {
  .page-template-template-simple-text .site-content,
.single-post .site-content,
.page-template-template-styleguide .site-content,
.error404 .site-content {
    padding-top: var(--header-hight);
  }
}

@media (min-width: 1113px) {
  .page-template-default .site-content {
    padding-top: var(--header-hight);
  }
}

.search .pt-panel > div > a {
  display: block;
  color: #fff;
  margin-bottom: 0.5em;
}
.search .pt-panel__products {
  --l-block-col: 4;
}

@media (max-width: 1112px) {
  .site-header__top .nav-secondary__links {
    display: none;
  }
}

@media (min-width: 1113px) {
  .site-header__main .nav-secondary__links {
    display: none !important;
  }
}

@media (max-width: 1112px) {
  .nav-main__btn.-desktop {
    display: none;
  }
}
@media (min-width: 1113px) {
  .nav-main__btn.-mobile {
    display: none;
  }
}
/* Navbar Main */
.nav-main {
  --navbar-border-radius: 25px;
  --navbar-border-active-width: 4px;
  --header-link-color: var(--primary-color1);
  --header-link-color-hover: var(--primary-color1);
}
@media (min-width: 1113px) {
  .nav-main__wrap {
    width: 100%;
  }
  .nav-main__links {
    display: flex;
    justify-content: space-between;
    border-radius: var(--navbar-border-radius);
    padding-inline: 2em;
  }
  .nav-main__links > .menu-item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-basis: auto;
    flex-grow: 1;
    max-width: 100%;
    text-align: center;
    border-bottom: var(--navbar-border-active-width) solid transparent;
    padding-top: var(--navbar-border-active-width);
    transition: var(--base-transition) all;
  }
  .nav-main__links > .menu-item:not(.menu-item-has-children):hover > a:before, .nav-main__links > .menu-item:not(.menu-item-has-children):active > a:before, .nav-main__links > .menu-item:not(.menu-item-has-children):focus > a:before {
    width: calc(100% - var(--header-main-gap-between-items, 1vw));
  }
  .nav-main__links > .menu-item:first-child > a,
.nav-main__links > .menu-item:first-child > span {
    padding-left: 0;
  }
  .nav-main__links > .menu-item:first-child:hover > a:before {
    left: 0;
    width: calc(100% - var(--header-main-gap-between-items, 1vw));
  }
  .nav-main__links > .menu-item:last-child > a,
.nav-main__links > .menu-item:last-child > span {
    padding-right: 0;
  }
  .nav-main__links > .menu-item:hover > a, .nav-main__links > .menu-item:hover > span, .nav-main__links > .menu-item:active > a, .nav-main__links > .menu-item:active > span, .nav-main__links > .menu-item:focus > a, .nav-main__links > .menu-item:focus > span {
    color: var(--primary-color1) !important;
  }
  .nav-main__links > .menu-item:hover > a, .nav-main__links > .menu-item:active > a, .nav-main__links > .menu-item:focus > a {
    position: relative;
  }
  .nav-main__links > .menu-item:hover > a:before, .nav-main__links > .menu-item:active > a:before, .nav-main__links > .menu-item:focus > a:before {
    content: "";
    position: absolute;
    left: var(--header-main-gap-between-items, 1vw);
    bottom: 13px;
    width: calc(100% - var(--header-main-gap-between-items, 1vw) * 2);
    border-bottom: 3px solid var(--primary-color1);
  }
  .nav-main__links > .menu-item > a,
.nav-main__links > .menu-item .plain-menu-item {
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 0.5em;
    width: 100%;
    white-space: nowrap;
    padding: 0 var(--header-main-gap-between-items, 1vw);
    line-height: var(--header-main-nav-height);
    letter-spacing: 0.06em;
    transition: color var(--base-transition), font-size var(--base-transition), background-color var(--base-transition);
  }
  .nav-main__links > .menu-item .sub-menu {
    top: calc(100% - 12px);
  }
  .nav-main__links .menu-item__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5em;
  }
  .nav-main__links .menu-item__ico {
    width: 16px;
    height: 16px;
  }
  .nav-main__links .menu-item__icon {
    width: 14px;
    height: 8px;
    flex: 0 0 14px;
    fill: var(--primary-color1);
    transform: translateX(-0.5em);
    opacity: 0;
    visibility: hidden;
    transition: var(--base-transition) all;
  }
  .nav-main__links .menu-item:hover, .nav-main__links .menu-item:active, .nav-main__links .menu-item:focus, .nav-main__links .menu-item.--active {
    background-color: var(--secondary-color1);
  }
  .nav-main__links .menu-item:hover > a svg, .nav-main__links .menu-item:hover > span svg, .nav-main__links .menu-item:active > a svg, .nav-main__links .menu-item:active > span svg, .nav-main__links .menu-item:focus > a svg, .nav-main__links .menu-item:focus > span svg, .nav-main__links .menu-item.--active > a svg, .nav-main__links .menu-item.--active > span svg {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
  }
}
@media (min-width: 1113px) {
  .nav-main .current-menu-item {
    border-bottom-color: var(--primary-color1);
  }
}
.nav-main .current-menu-item > a {
  color: var(--header-link-color-hover, var(--primary-color2));
}

/* Navbar Secondary */
@media (min-width: 1113px) {
  .site-header .nav-main__links li.menu-item__megamenu > .sub-menu {
    top: calc(100% - 12px);
  }
}
@media (min-width: 1113px) {
  .site-header .nav-secondary__links .sub-menu .menu-item__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5em;
  }
  .site-header .nav-secondary__links .sub-menu .menu-item__ico {
    width: 16px;
    height: 16px;
  }
  .site-header .nav-secondary__links .sub-menu .menu-item__icon {
    width: 14px;
    height: 8px;
    flex: 0 0 14px;
    fill: var(--primary-color1);
    transform: translateX(-0.5em);
    opacity: 0;
    visibility: hidden;
    transition: var(--base-transition) all;
  }
  .site-header .nav-secondary__links .sub-menu .menu-item:hover, .site-header .nav-secondary__links .sub-menu .menu-item:active, .site-header .nav-secondary__links .sub-menu .menu-item:focus, .site-header .nav-secondary__links .sub-menu .menu-item.--active {
    background-color: var(--secondary-color1);
  }
  .site-header .nav-secondary__links .sub-menu .menu-item:hover > a svg, .site-header .nav-secondary__links .sub-menu .menu-item:hover > span svg, .site-header .nav-secondary__links .sub-menu .menu-item:active > a svg, .site-header .nav-secondary__links .sub-menu .menu-item:active > span svg, .site-header .nav-secondary__links .sub-menu .menu-item:focus > a svg, .site-header .nav-secondary__links .sub-menu .menu-item:focus > span svg, .site-header .nav-secondary__links .sub-menu .menu-item.--active > a svg, .site-header .nav-secondary__links .sub-menu .menu-item.--active > span svg {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
  }
}
@media (max-width: 1112px) {
  .site-header .nav-secondary {
    display: flex;
    flex-direction: row;
    align-items: center;
  }
  .site-header .nav-secondary__links {
    border-top: 1px solid rgba(33, 59, 140, 0.2);
    padding: 15px;
  }
  .site-header .nav-secondary__links.--hidden {
    display: none;
  }
  .site-header .nav-secondary__links a {
    display: block;
    color: var(--primary-color1) !important;
    padding: 10px 0;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
  }
  .site-header .nav-secondary__links .sub-menu li {
    padding-left: 20px;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='3' viewBox='0 0 12 3' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='10.5' y1='1.5' x2='1.5' y2='1.5' stroke='%236E88DB' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-position: 0 50%;
  }
  .site-header .nav-secondary__links .sub-menu li a {
    font-size: 13px;
    font-weight: 400;
    text-transform: capitalize;
  }
  .site-header .nav-secondary__links .sub-menu li .menu-item__icon {
    display: none;
  }
  .site-header .nav-secondary__links .current-menu-item > a,
.site-header .nav-secondary__links .current_page_parent > a {
    color: var(--primary-color2) !important;
  }
}
@media (min-width: 1113px) {
  .site-header .nav-secondary__links {
    display: flex;
    justify-content: flex-end;
    gap: 1.75em;
  }
  .site-header .nav-secondary__links a {
    display: flex;
    align-items: center;
    gap: 5px;
  }
  .site-header .nav-secondary__links a:after {
    display: flex;
  }
}
.site-header .nav-secondary .current_page_parent > a,
.site-header .nav-secondary .current_page_item > a {
  font-weight: 600;
}
.site-header .nav-secondary a {
  display: flex;
  align-items: center;
  gap: 0.5em;
  white-space: nowrap;
  color: var(--header-link-color);
}
@media (max-width: 1112px) {
  .nav-active .site-header .nav-secondary a {
    color: #fff;
  }
}
.site-header .nav-secondary a:hover {
  text-decoration: underline;
  color: var(--header-link-color-hover, var(--primary-color2));
}
.site-header .nav-secondary a .icon {
  width: clamp(24px, 1.57vw, 28px);
  height: clamp(24px, 1.57vw, 28px);
}
.site-header .nav-secondary .c-btn, .site-header .nav-secondary .wpcf7-submit,
.site-header .nav-secondary .gform_button,
.site-header .nav-secondary .m-banner .search-submit,
.m-banner .site-header .nav-secondary .search-submit {
  text-decoration: none !important;
  border-width: 1px;
  cursor: pointer;
}
@media (max-width: 1112px) {
  .site-header .nav-secondary .c-btn, .site-header .nav-secondary .wpcf7-submit,
.site-header .nav-secondary .gform_button,
.site-header .nav-secondary .m-banner .search-submit,
.m-banner .site-header .nav-secondary .search-submit {
    padding: 1rem 2rem;
  }
  .nav-active .site-header .nav-secondary .c-btn, .nav-active .site-header .nav-secondary .wpcf7-submit,
.nav-active .site-header .nav-secondary .gform_button,
.nav-active .site-header .nav-secondary .m-banner .search-submit,
.m-banner .nav-active .site-header .nav-secondary .search-submit {
    color: var(--primary-color1);
  }
}
@media (min-width: 768px) {
  .hs-web-interactives-top-banner-open .site-header {
    top: 90px !important;
  }
}

.site-header .sub-menu {
  text-align: left;
  --submenu-postion-left: 50%;
  --submenu-postion-right: auto;
  --submenu-postion-top: calc( 100% + var(--navbar-border-active-width) );
  --submenu-bottom: auto;
  --submenu-transform: translate(-50%, -10px);
  --submenu-link-padding: 1.4rem 1.4rem;
}
@media (min-width: 1113px) {
  .site-header .sub-menu {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    top: var(--submenu-postion-top);
    bottom: var(--submenu-bottom);
    transform: var(--submenu-transform);
    left: var(--submenu-postion-left);
    right: var(--submenu-postion-right);
    padding: 0 0 25px 0;
    min-width: var(--dropdown-width);
    z-index: 10;
    transition: opacity var(--base-transition), transform var(--base-transition);
    background-color: var(--dropdown-bg);
    box-shadow: 0 4px 34px rgba(0, 7, 63, 0.1);
    border-radius: 0 0 var(--navbar-border-radius) var(--navbar-border-radius);
  }
  .site-header .sub-menu > li:last-child > a, .site-header .sub-menu > li:last-child > span {
    border-radius: 0 0 var(--navbar-border-radius) var(--navbar-border-radius);
  }
  .site-header .sub-menu a {
    color: var(--dropdown-color);
    display: flex;
    gap: 0.6em;
    width: 100%;
    align-items: center;
    font-weight: var(--dropdown-font-weight);
    font-size: var(--dropdown-font-size);
  }
  .site-header .sub-menu .current-menu-item a {
    color: var(--dropdown-color-active);
  }
  .site-header .sub-menu .menu-item-content {
    min-width: 250px;
  }
  .site-header .sub-menu .menu-item-title {
    display: block;
    margin-bottom: 5px;
  }
  .site-header .sub-menu .menu-item-caption {
    font-weight: 400;
    color: var(--primary-color1);
  }
  .site-header .sub-menu .menu-item-img-wrapper {
    margin-right: 10px;
    min-width: 30px;
    max-width: 150px;
  }
  .site-header .sub-menu .menu-item-img-wrapper img,
.site-header .sub-menu .menu-item-img-wrapper svg {
    max-width: 100%;
    height: auto;
  }
  .site-header .sub-menu .menu-item {
    position: relative;
  }
  .site-header .sub-menu .menu-item a {
    padding: var(--submenu-link-padding);
    transition: all var(--base-transition);
    text-transform: none;
  }
}
@media (min-width: 1113px) {
  .site-header .menu-item-has-children {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.5em;
  }
  .site-header .menu-item-has-children:hover > .sub-menu {
    --submenu-transform: translate(-50%, 0);
    opacity: 1;
    pointer-events: auto;
  }
  .site-header .menu-item-has-children > .sub-menu {
    z-index: 10;
  }
  .site-header .menu-item-has-children > .sub-menu li a {
    font-weight: 600;
  }
  .site-header .menu-item-has-children > .sub-menu li:first-child {
    border-radius: 0;
  }
  .site-header .menu-item-has-children > .sub-menu li:first-child > a, .site-header .menu-item-has-children > .sub-menu li:first-child > span {
    border-radius: 0;
  }
  .site-header .menu-item-has-children > .sub-menu li:last-child {
    border-radius: 0;
  }
  .site-header .menu-item-has-children > .sub-menu li:last-child > a, .site-header .menu-item-has-children > .sub-menu li:last-child > span {
    border-radius: 0;
  }
  .site-header .menu-item-has-children > .sub-menu ul {
    --submenu-transform: none !important;
    --submenu-postion-left: 100%;
    --submenu-postion-top: -50%;
    z-index: 9;
    border-radius: var(--navbar-border-radius);
  }
  .site-header .menu-item-has-children > .sub-menu ul ul {
    z-index: 8;
  }
  .site-header .menu-item-has-children > .sub-menu ul ul ul {
    z-index: 7;
  }
}
@media (min-width: 1113px) {
  .site-header {
    /* Target first level links, and add carret */
  }
  .site-header .nav-main__links > li,
.site-header .nav-secondary__links > li {
    /* Target last few li elements */
  }
  .site-header .nav-main__links > li.menu-item-has-children > a:after, .site-header .nav-main__links > li.menu-item-has-children > span:after,
.site-header .nav-secondary__links > li.menu-item-has-children > a:after,
.site-header .nav-secondary__links > li.menu-item-has-children > span:after {
    content: "";
    position: relative;
    top: 2px;
    width: 7px;
    height: 7px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: translateY(-50%) rotate(135deg);
    transition: transform 0.1s ease-in;
  }
  .site-header .nav-main__links > li.menu-item-has-children:hover > a:after, .site-header .nav-main__links > li.menu-item-has-children:hover > span:after, .site-header .nav-main__links > li.menu-item-has-children:active > a:after, .site-header .nav-main__links > li.menu-item-has-children:active > span:after, .site-header .nav-main__links > li.menu-item-has-children:focus > a:after, .site-header .nav-main__links > li.menu-item-has-children:focus > span:after,
.site-header .nav-secondary__links > li.menu-item-has-children:hover > a:after,
.site-header .nav-secondary__links > li.menu-item-has-children:hover > span:after,
.site-header .nav-secondary__links > li.menu-item-has-children:active > a:after,
.site-header .nav-secondary__links > li.menu-item-has-children:active > span:after,
.site-header .nav-secondary__links > li.menu-item-has-children:focus > a:after,
.site-header .nav-secondary__links > li.menu-item-has-children:focus > span:after {
    transform: translateY(-20%) rotate(-45deg);
    color: var(--primary-color2);
  }
  .site-header .nav-main__links > li:hover, .site-header .nav-main__links > li:active, .site-header .nav-main__links > li:focus,
.site-header .nav-secondary__links > li:hover,
.site-header .nav-secondary__links > li:active,
.site-header .nav-secondary__links > li:focus {
    background-color: transparent;
  }
  .site-header .nav-main__links > li:nth-last-child(-n+3) > .sub-menu,
.site-header .nav-secondary__links > li:nth-last-child(-n+3) > .sub-menu {
    --submenu-postion-left: 0%;
  }
  .site-header .nav-main__links > li:nth-last-child(-n+3) > .sub-menu .sub-menu,
.site-header .nav-secondary__links > li:nth-last-child(-n+3) > .sub-menu .sub-menu {
    --submenu-postion-left: auto;
    --submenu-postion-right: 100%;
  }
  .site-header .nav-main__links {
    /* Target first level links, and remove border radius */
  }
  .site-header .nav-main__links > li > ul > li:first-child:not(:last-child) {
    border-radius: 0 !important;
  }
  .site-header .nav-main__links > li > ul > li:first-child:not(:last-child) > a, .site-header .nav-main__links > li > ul > li:first-child:not(:last-child) > span {
    border-radius: 0;
  }
  .site-header .nav-secondary__links {
    --navbar-border-radius: 25px;
  }
  .site-header .nav-secondary__links .sub-menu {
    --submenu-link-padding: 1.1em 1.5em;
  }
  .site-header .nav-secondary__links .sub-menu li:hover {
    background-color: var(--secondary-color1);
  }
  .site-header .nav-secondary__links .sub-menu a {
    font-weight: 600;
    font-size: 15px;
  }
  .site-header .nav-secondary__links > li > a {
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
  }
  .site-header .nav-secondary__links > li:hover > a {
    border-bottom-color: var(--header-top-color, #213B8C);
  }
  .site-header .nav-secondary__links > li > ul {
    --submenu-postion-top: 100%;
    border-radius: 0 0 var(--navbar-border-radius) var(--navbar-border-radius);
  }
  .site-header .nav-secondary__links > li > ul > li:first-child {
    border-radius: 0;
  }
  .site-header .nav-secondary__links > li > ul > li:first-child > a, .site-header .nav-secondary__links > li > ul > li:first-child > span {
    border-radius: 0;
  }
  .site-header .nav-secondary__links > li > ul > li:last-child {
    border-radius: 0 0 var(--navbar-border-radius) var(--navbar-border-radius);
  }
}

.nav-main__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 30px;
  width: 55px;
  transform: translateY(-50%);
  top: 50%;
  border-radius: 110px 0 0 110px;
  color: var(--burger-color);
  background-color: var(--burger-bg);
  padding: 18px 5px;
  cursor: pointer;
  text-align: center;
  position: absolute;
  right: 0;
  transition: all var(--base-transition);
  z-index: 10;
}
.nav-active .nav-main__btn {
  background-color: var(--primary-color1);
  color: #fff;
}

.burger-icon {
  width: var(--burger-width);
  height: 20px;
  cursor: pointer;
  transition: box-shadow 0.4s ease;
  backface-visibility: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.burger-icon > div {
  position: relative;
  flex: none;
  width: 100%;
  height: var(--burger-segment-hight);
  background: currentColor;
  transition: all 0.4s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--burger-segment-radius);
}
.burger-icon > div:before, .burger-icon > div:after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  width: 120%;
  height: var(--burger-segment-hight);
  border-radius: var(--burger-segment-radius);
  background: inherit;
  transition: all 0.4s ease;
}
.burger-icon > div:before {
  top: calc(var(--burger-segment-gap) * -1);
}
.burger-icon > div:after {
  top: var(--burger-segment-gap);
}
.is-active .burger-icon > div {
  transform: rotate(135deg);
}
.is-active .burger-icon > div:before, .is-active .burger-icon > div:after {
  top: 0;
  transform: rotate(90deg);
  width: 100%;
}
.is-active .burger-icon > div:after {
  opacity: 0;
}

@media (min-width: 1113px) {
  .site-header {
    --mega-menu-width: 885px;
    --mega-menu-left: 0;
    --mega-menu-right: auto;
  }
}
@media (min-width: 1113px) and (max-width: 1439px) {
  .site-header {
    --mega-menu-width: 650px;
  }
}
@media (min-width: 1113px) {
  .site-header .nav-main {
    /* This is a root level ul */
  }
  .site-header .nav-main__links .menu-item {
    /* This is a li item, that has a megamenu class */
  }
  .site-header .nav-main__links .menu-item__megamenu > .sub-menu {
    min-width: var(--mega-menu-width);
    transform: none;
    left: var(--mega-menu-left);
    right: var(--mega-menu-right);
    padding: 0;
    background-color: var(--dropdown-bg);
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    top: calc(100% + var(--navbar-border-active-width, 4px));
    border-radius: 0 0 var(--navbar-border-radius) var(--navbar-border-radius);
    overflow: hidden;
    box-shadow: 0px 11px 40px 0px rgba(144, 137, 130, 0.4);
  }
  .site-header .nav-main__links .menu-item__megamenu > .sub-menu::before, .site-header .nav-main__links .menu-item__megamenu > .sub-menu::after {
    display: none;
  }
  .site-header .nav-main__links .menu-item__megamenu > .sub-menu .sub-menu {
    display: none;
  }
  .site-header .nav-main__links .menu-item__megamenu > .sub-menu .menu-item-megamenu__label {
    width: 210px;
    min-width: 210px;
    flex: 0 0 210px;
  }
  .site-header .nav-main__links .menu-item__megamenu > .sub-menu .menu-item-megamenu__content {
    width: 100%;
    background-color: var(--secondary-color1);
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul {
    columns: 2;
    -webkit-columns: 2;
    -moz-columns: 2;
    padding: 1.4rem 3rem 1.4rem 3rem;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li {
    flex-direction: column;
    align-items: flex-start;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > a, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > span {
    align-items: flex-start;
    flex-direction: row-reverse;
    justify-content: flex-end;
    padding: 0;
    gap: 0.5em;
    margin-bottom: 1em;
    gap: 0.5em;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > a::after, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > span::after {
    display: none;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > a:hover, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > a:active, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > a:focus, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > span:hover, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > span:active, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > span:focus {
    text-decoration: underline;
    color: var(--primary-color1);
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > a .icon, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li > span .icon {
    transform: translateY(0.5em);
    opacity: 1;
    visibility: visible;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li:after {
    display: none;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li.current-menu-item > a, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul li.current-menu-item > span {
    text-decoration: underline;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul ul {
    display: flex !important;
    opacity: 1;
    flex-direction: column;
    position: static;
    transform: none;
    padding: 0 0 0 1em;
    background-color: transparent;
    box-shadow: none;
    border-radius: 0;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul ul::before, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__content ul ul::after {
    display: none;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li a,
.site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li span {
    padding: 1.4rem 0 1.4rem 1.5em;
    gap: 0.5em;
    color: var(--primary-color1);
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li a strong,
.site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li span strong {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5em;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li a strong img,
.site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li span strong img {
    width: 16px;
    height: 16px;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li a svg,
.site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li span svg {
    width: 14px;
    height: 8px;
    flex: 0 0 14px;
    fill: var(--primary-color1);
    transform: translateX(-0.5em);
    opacity: 0;
    visibility: hidden;
    transition: var(--base-transition) all;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li a:after,
.site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li span:after {
    display: none;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:hover, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:active, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:focus, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li.--active {
    background-color: var(--secondary-color1);
    color: var(--primary-color1);
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:hover > a, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:hover > span, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:active > a, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:active > span, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:focus > a, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:focus > span, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li.--active > a, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li.--active > span {
    color: var(--primary-color1);
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:hover svg, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:active svg, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:focus svg, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li.--active svg {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:first-child {
    border-radius: 0;
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:last-child {
    border-radius: 0 0 0 var(--navbar-border-radius);
  }
  .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:last-child > a, .site-header .nav-main__links .menu-item__megamenu .menu-item-megamenu__label li:last-child > span {
    border-radius: 0 0 0 var(--navbar-border-radius);
  }
  .site-header .nav-main__links li:nth-child(n+4) > .sub-menu {
    --mega-menu-left: auto;
    --mega-menu-right: 0;
  }
}
/* Style mobile megamenu items */
@media (max-width: 1112px) {
  .menu-item__megamenu > ul > li ul {
    padding: 10px 0;
  }
  .menu-item__megamenu > ul > li ul li {
    border: none;
  }
  .menu-item__megamenu > ul > li ul li a {
    font-size: 15px;
    padding: 0.667em 1.33em;
    text-transform: none;
  }
  .menu-item__megamenu > ul > li ul li:not(.menu-item-has-children) a {
    justify-content: flex-start;
  }
  .menu-item__megamenu > ul > li ul li:not(.menu-item-has-children) a:before {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="8" height="8" viewBox="0 0 8 8" fill="none"><path d="M0.540381 6.41904C0.28654 6.67288 0.28654 7.08444 0.540381 7.33828C0.794221 7.59212 1.20578 7.59212 1.45962 7.33828L0.540381 6.41904ZM7.65 0.878662C7.65 0.519677 7.35899 0.228662 7 0.228662L1.15 0.228662C0.791016 0.228662 0.500001 0.519677 0.500001 0.878662C0.5 1.23765 0.791016 1.52866 1.15 1.52866H6.35V6.72866C6.35 7.08765 6.64102 7.37866 7 7.37866C7.35899 7.37866 7.65 7.08765 7.65 6.72866L7.65 0.878662ZM1.45962 7.33828L7.45962 1.33828L6.54038 0.419042L0.540381 6.41904L1.45962 7.33828Z" fill="%23F5DD57"/></svg>');
    width: 18px;
    height: 16px;
  }
}
/**
 * Header Block: Who We Serve Dropdown
 *
 * Audience-segmentation dropdown sitting in the header top row next to the logo.
 * Inherits header CSS variables for consistent colour and typography.
 */
.wws-dropdown {
  display: none;
}
@media (min-width: 1113px) {
  .wws-dropdown {
    display: flex;
    align-items: center;
    position: relative;
  }
}
.wws-dropdown__toggle {
  align-items: center;
  background: none;
  border: none;
  color: var(--header-link-color);
  cursor: pointer;
  display: flex;
  font-size: var(--header-top-size);
  font-weight: var(--header-main-font-weight);
  gap: 0.4em;
  padding: 0;
  text-transform: var(--header-main-text-transform, uppercase);
  transition: color var(--base-transition);
}
.wws-dropdown__toggle:hover {
  color: var(--header-link-color-hover, var(--primary-color2));
}
.wws-dropdown__toggle::after {
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  content: "";
  display: inline-block;
  height: 7px;
  transform: translateY(-2px) rotate(135deg);
  transition: transform var(--base-transition);
  width: 7px;
}
.wws-dropdown__toggle[aria-expanded=true]::after {
  transform: translateY(2px) rotate(-45deg);
}
.wws-dropdown__panel {
  background-color: var(--dropdown-bg);
  border-radius: 0 0 var(--navbar-border-radius) var(--navbar-border-radius);
  box-shadow: 0 4px 34px rgba(0, 7, 63, 0.1);
  display: none;
  left: 50%;
  min-width: 220px;
  position: absolute;
  top: calc(100% + 10px);
  transform: translateX(-50%);
  z-index: 10;
}
.wws-dropdown__panel.is-open {
  display: block;
}
.wws-dropdown__links {
  list-style: none;
  margin: 0;
  padding: 0;
}
.wws-dropdown__links li:not(:last-child)::after {
  background-color: #c4c4c4;
  content: "";
  display: block;
  height: 1px;
  margin: 0 auto;
  opacity: 0.2;
  width: 90%;
}
.wws-dropdown__links li a {
  color: var(--dropdown-color);
  display: block;
  font-size: var(--dropdown-font-size);
  font-weight: var(--dropdown-font-weight);
  padding: 1.4rem 1.6rem;
  transition: color var(--base-transition);
  white-space: nowrap;
}
.wws-dropdown__links li a:hover {
  color: var(--dropdown-color-active);
}

.site-search {
  align-items: center;
  display: flex;
  flex-direction: row-reverse;
  height: var(--search-size);
  position: relative;
  width: var(--search-size);
}
.site-search__toggle {
  background-color: var(--search-btn-bg);
  background-position: 50% 50%;
  background-repeat: no-repeat;
  border: none;
  border-radius: var(--search-btn-radius);
  display: flex;
  height: var(--search-size);
  outline-color: transparent !important;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: transform var(--base-transition);
  width: var(--search-size);
  z-index: 10;
}
.site-search__toggle.is-active {
  pointer-events: none;
}
.site-search__toggle:hover {
  --header-link-color: var(--header-link-color-hover);
}
.site-search__icon {
  color: var(--secondary-color3);
}
.site-header .site-search__icon {
  stroke: #ffffff;
}
.site-search__inner {
  max-width: 0;
  overflow: hidden;
  position: absolute;
  transition: all var(--base-transition);
}
.site-search__inner.is-shown {
  background-color: var(--search-outer-bg);
  border: 1px solid var(--search-outer-border);
  border-radius: var(--search-radius) 0 var(--search-radius) var(--search-radius);
  max-width: calc(var(--search-width) + 20px);
  overflow: visible;
  padding: var(--search-outer-gap);
  transform: translateY(40px);
  z-index: 10;
}
@media (max-width: 767px) {
  .site-search__inner.is-shown {
    left: 0;
    margin: auto;
    max-width: calc(100vw - 30px);
    position: fixed;
    right: 0;
    top: 5px;
    width: calc(100vw - 30px);
    z-index: 11;
  }
}
.site-search__inner.is-shown .search-field {
  max-width: var(--search-width);
  padding-right: 40px;
  transform: translate(0);
}
@media (max-width: 767px) {
  .site-search__inner.is-shown .search-field {
    max-width: calc(100vw - 41px);
    width: calc(100vw - 41px);
    font-size: 16px !important;
  }
}
.site-search__inner.is-shown .search-field::-webkit-search-cancel-button {
  border-radius: 10px;
  height: 20px;
  position: relative;
  right: -10px;
  width: 20px;
}
.site-search__inner.is-shown .search-field::-webkit-search-cancel-button:hover {
  cursor: pointer;
}
.site-search__inner.is-shown + .site-search__toggle {
  color: var(--primary-color1);
  pointer-events: none;
  right: 5px;
  transform: translateY(40px) scale(0.6);
}
@media (max-width: 767px) {
  .site-search__inner.is-shown + .site-search__toggle {
    position: fixed;
    right: 25px;
    top: 15px;
    transform: translateY(40px) scale(0.8);
    z-index: 12;
  }
}
@media (max-width: 1112px) {
  .nav-active .site-search__inner.is-shown + .site-search__toggle .site-search__icon {
    color: var(--header-link-color);
    stroke: #ffffff;
  }
}
.site-search__inner.is-shown .site-search__close {
  color: var(--header-link-color-hover);
  display: flex;
}
.site-search__inner.is-shown .site-search__close svg {
  pointer-events: none;
  width: clamp(18px, 0.7vw, 22px);
  height: clamp(18px, 0.7vw, 22px);
}
@media (max-width: 1112px) {
  .nav-active .site-search__inner.is-shown .site-search__icon {
    color: var(--header-link-color);
    stroke: #ffffff;
  }
  .nav-active .site-search__inner.is-shown a {
    color: var(--header-link-color);
  }
}
.site-search__icon {
  fill: var(--header-link-color);
  height: 100%;
  margin: auto;
  pointer-events: none;
  width: 100%;
}
.site-search [type=submit] {
  background: transparent;
  border: none;
  font-size: 0;
  height: var(--search-height);
  position: absolute;
  right: 5px;
  width: 30px;
}
@media (max-width: 767px) {
  .site-search [type=submit] {
    top: 5px;
  }
}
.site-search [type=submit]:focus {
  outline: none;
}
.site-search__close {
  align-items: center;
  background: var(--search-outer-bg);
  border: 1px solid var(--search-outer-border);
  border-bottom: none;
  border-radius: 20px 20px 0 0;
  cursor: pointer;
  display: none;
  height: 36px;
  justify-content: center;
  position: absolute;
  right: 0;
  top: 14px;
  transform: translateY(-50px);
  width: 38px;
  z-index: 1000;
}

.search-field {
  background: #ffffff;
  border: none;
  border-radius: var(--search-radius);
  font-size: clamp(14px, 0.84vw, 16px);
  height: var(--search-height);
  color: var(--primary-color1);
  margin: 0;
  padding: 5px 10px;
  transition: all 0.2s;
  width: var(--search-width);
}
.site-header .search-field {
  max-width: 0;
  transform: translate(0, -100%);
}
.search-field:focus {
  outline: none;
}

.general-bg-logo {
  display: flex;
  flex-wrap: wrap;
  height: 100%;
  justify-content: center;
  left: 0;
  margin: 0 auto;
  max-height: 730px;
  max-width: 730px;
  object-fit: contain;
  object-position: center;
  opacity: 0.2;
  position: absolute;
  right: 0;
  top: -80px;
  width: 100%;
  z-index: -1;
}

@media (min-width: 1113px) {
  .search-no-results .m-banner.header-lap .m-banner__inner,
.search-results .m-banner.header-lap .m-banner__inner {
    padding-top: 125px;
  }
}
@media (max-width: 1112px) {
  .search-no-results .m-banner__container,
.search-results .m-banner__container {
    min-height: auto;
  }
}
.search-no-results .m-banner .l-banner,
.search-results .m-banner .l-banner {
  margin: 0 auto;
  padding-top: clamp(40px, 3.6vw, 80px);
  text-align: center;
}
@media (max-width: 767px) {
  .search-no-results .m-banner .l-banner,
.search-results .m-banner .l-banner {
    padding-bottom: 20px;
  }
}
.search-no-results .m-banner .l-banner .c-heading__title,
.search-results .m-banner .l-banner .c-heading__title {
  margin-bottom: 3rem;
}
.search-no-results .m-banner .l-banner .search-form,
.search-results .m-banner .l-banner .search-form {
  align-items: center;
  display: flex;
  justify-content: center;
}
@media (min-width: 768px) {
  .search-no-results .m-banner .l-banner .search-form,
.search-results .m-banner .l-banner .search-form {
    padding: 0 10%;
  }
}
.search-no-results .m-banner .l-banner .search-form__label,
.search-results .m-banner .l-banner .search-form__label {
  width: calc(100% - 60px);
}
.search-no-results .m-banner .l-banner .search-field,
.search-results .m-banner .l-banner .search-field {
  border-radius: var(--search-radius) 0 0 var(--search-radius);
  max-width: 100%;
  padding: 12px 25px;
  width: 100%;
}
.search-no-results .m-banner .l-banner .search-submit,
.search-results .m-banner .l-banner .search-submit {
  background-image: url("data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.9641 15.7885h-1.1193l-.3872-.3904c1.3798-1.6109 2.2105-3.7044 2.2105-5.9966 0-5.0955-4.0971-9.2257-9.1514-9.2257C4.4622.1758.3651 4.306.3651 9.4014c0 5.0955 4.097 9.2257 9.1515 9.2257 2.2737 0 4.3504-.8374 5.9484-2.2212l.3871.3903v1.1213l7.0396 7.0824 2.0978-2.1148-7.0255-7.0966Zm-8.4474 0c-3.4987 0-6.3357-2.86-6.3357-6.387 0-3.527 2.837-6.387 6.3357-6.387 3.4986 0 6.3355 2.86 6.3355 6.387 0 3.527-2.8369 6.387-6.3355 6.387Z' fill='%23112239'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 20px;
  border-radius: 0 var(--search-radius) var(--search-radius) 0;
  font-size: 0;
  height: 60px;
  margin-top: 20px;
  width: 60px;
}
.search-no-results .cards-programs__wrap .c-heading,
.search-results .cards-programs__wrap .c-heading {
  margin-bottom: 0;
}
.search-no-results .cards-programs__wrap .c-heading__title,
.search-results .cards-programs__wrap .c-heading__title {
  font-size: 3rem;
  letter-spacing: 0;
  text-transform: capitalize;
}

@media (max-width: 1112px) {
  .site-header__search {
    /*		position: absolute;
      top: 10px;
      right: 60px;*/
  }
}
@keyframes overlay-appear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.site-header__account {
  display: flex;
  justify-content: space-between;
  gap: var(--header-horizontal-gap, 1vw);
  width: 100%;
  align-items: center;
  position: relative;
}
@media (min-width: 1113px) {
  .site-header__account {
    max-width: 360px;
  }
}
@media (max-width: 1111px) {
  .site-header__account {
    max-width: 100%;
    width: auto;
  }
}
.site-header__account a {
  transition: var(--base-transition);
  position: relative;
  z-index: 999;
}
.site-header__account-text {
  font-family: var(--base-text-font);
  font-size: clamp(14px, 0.84vw, 16px);
  font-weight: var(--base-text-font-weight);
  line-height: var(--base-text-line-height);
  margin: 0;
}
@media (max-width: 1111px) {
  .site-header__account-text {
    color: rgba(255, 255, 255, 0);
  }
}
.site-header__account a.desktop-header, .site-header__account-cart {
  display: flex;
  justify-content: center;
  flex-direction: row;
  align-items: center;
}
.site-header__account a.desktop-header .hover-cart > a, .site-header__account-cart .hover-cart > a {
  display: flex;
  align-items: center;
}
@media (max-width: 1111px) {
  .site-header__account a.desktop-header .hover-cart > a, .site-header__account-cart .hover-cart > a {
    width: 26px;
    height: 26px;
    margin-right: 7px;
    margin-left: 10px;
  }
}
.site-header__account a.desktop-header .hover-cart > a .icon, .site-header__account-cart .hover-cart > a .icon {
  transition: none;
  width: clamp(24px, 1.57vw, 28px);
  height: clamp(24px, 1.57vw, 28px);
}
@media (max-width: 1111px) {
  .site-header__account a.desktop-header .hover-cart > a .icon, .site-header__account-cart .hover-cart > a .icon {
    margin-bottom: 0;
    height: 100%;
  }
}
.site-header__account a.desktop-header .popup-show, .site-header__account-cart .popup-show {
  display: block;
  top: 81px;
  left: -175px;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.11);
  border-radius: 10px;
  z-index: 99;
  width: 380px;
  padding-bottom: 0;
}
.site-header__account a.desktop-header .popup-show::after, .site-header__account-cart .popup-show::after {
  content: "";
  position: absolute;
  left: calc(50% - 10px);
  top: -23px;
  border: 10px solid rgba(255, 255, 255, 0);
}
.site-header__account a.desktop-header .popup-show .cart-title, .site-header__account-cart .popup-show .cart-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 15px 25px 15px;
}
.site-header__account a.desktop-header .popup-show .cart-title a, .site-header__account-cart .popup-show .cart-title a {
  font-family: var(--base-text-font);
  font-size: var(--base-text-size);
  font-weight: var(--h2-font-weight);
  line-height: var(--base-text-line-height);
  letter-spacing: 0.32px;
  display: flex;
  align-items: center;
  text-transform: uppercase;
}
.site-header__account a.desktop-header .popup-show .cart-title .icon, .site-header__account-cart .popup-show .cart-title .icon {
  margin-left: 8px;
  margin-bottom: 0;
}
.site-header__account a.desktop-header .popup-show .cart-title-text, .site-header__account-cart .popup-show .cart-title-text {
  font-family: var(--base-text-font);
  font-size: var(--base-text-size);
  font-weight: var(--h2-font-weight);
  line-height: var(--base-text-line-height);
  margin-bottom: 0;
}
.site-header__account a.desktop-header .popup-show .cart-product, .site-header__account-cart .popup-show .cart-product {
  display: flex;
  min-height: 110px;
  padding: 20px 25px;
  justify-content: space-between;
  align-items: flex-start;
}
.site-header__account a.desktop-header .popup-show .cart-product:hover, .site-header__account-cart .popup-show .cart-product:hover {
  background: #f8f9fb;
}
.site-header__account a.desktop-header .popup-show .cart-product:hover .cart-product-edit-delete, .site-header__account-cart .popup-show .cart-product:hover .cart-product-edit-delete {
  opacity: 1;
}
.site-header__account a.desktop-header .popup-show .cart-product img, .site-header__account-cart .popup-show .cart-product img {
  width: auto;
  max-height: 68px;
  max-width: 45px;
  height: auto;
  object-fit: contain;
}
.site-header__account a.desktop-header .popup-show .cart-product-info, .site-header__account-cart .popup-show .cart-product-info {
  margin-left: 20px;
  margin-bottom: 10px;
  width: 100%;
  min-height: 75px;
  flex-direction: column;
  display: flex;
  justify-content: space-between;
  font-family: var(--base-text-font);
  font-size: var(--base-text-size);
  font-weight: var(--base-text-font-weight);
  line-height: var(--base-text-line-height);
}
.site-header__account a.desktop-header .popup-show .cart-product-info a, .site-header__account-cart .popup-show .cart-product-info a {
  font-family: var(--base-text-font);
  font-size: var(--base-text-size);
  font-weight: var(--base-text-font-weight);
  line-height: var(--base-text-line-height);
}
.site-header__account a.desktop-header .popup-show .cart-product-info-atr, .site-header__account-cart .popup-show .cart-product-info-atr {
  font-family: var(--base-text-font);
  font-size: var(--base-text-size);
  font-weight: var(--base-text-font-weight);
  line-height: var(--base-text-line-height);
  margin: 0;
}
.site-header__account a.desktop-header .popup-show .cart-product-edit, .site-header__account-cart .popup-show .cart-product-edit {
  height: 75px;
  position: relative;
  margin-left: 20px;
}
.site-header__account a.desktop-header .popup-show .cart-product-edit-money, .site-header__account-cart .popup-show .cart-product-edit-money {
  font-family: var(--base-text-font);
  font-size: var(--base-text-size);
  font-weight: var(--base-text-font-weight);
  line-height: var(--base-text-line-height);
}
.site-header__account a.desktop-header .popup-show .cart-product-edit-delete, .site-header__account-cart .popup-show .cart-product-edit-delete {
  position: absolute;
  opacity: 0;
  transition: var(--base-transition);
  bottom: 0;
  right: 0;
  display: flex;
}
.site-header__account a.desktop-header .popup-show .cart-product-edit-delete .icon, .site-header__account-cart .popup-show .cart-product-edit-delete .icon {
  margin: 0;
}
.site-header__account a.desktop-header .popup-show .cart-product-edit-delete a:first-child, .site-header__account-cart .popup-show .cart-product-edit-delete a:first-child {
  font-family: var(--base-text-font);
  font-size: var(--base-text-size);
  font-weight: var(--base-text-font-weight);
  line-height: var(--base-text-line-height);
}
.site-header__account a.desktop-header .popup-show .cart-product-edit-delete a:first-child:hover, .site-header__account-cart .popup-show .cart-product-edit-delete a:first-child:hover {
  text-decoration: underline;
  opacity: 1;
}
.site-header__account a.desktop-header .popup-show .cart-product-edit-delete a:last-child, .site-header__account-cart .popup-show .cart-product-edit-delete a:last-child {
  margin-left: 25px;
  color: #db757c;
}
.site-header__account a.desktop-header .popup-show .cart-product-subtotal, .site-header__account-cart .popup-show .cart-product-subtotal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 25px 10px;
}
.site-header__account a.desktop-header .popup-show .cart-product-subtotal-text, .site-header__account-cart .popup-show .cart-product-subtotal-text {
  font-family: var(--base-text-font);
  font-size: var(--base-text-size);
  font-weight: var(--base-text-font-weight);
  line-height: var(--base-text-line-height);
  margin-bottom: 0;
}
.site-header__account a.desktop-header .popup-show .cart-product-subtotal-summ, .site-header__account-cart .popup-show .cart-product-subtotal-summ {
  font-family: var(--base-text-font);
  font-size: var(--base-text-size);
  font-weight: var(--base-text-font-weight);
  line-height: var(--base-text-line-height);
  margin-bottom: 0;
}
.site-header__account a.desktop-header .popup-show .cart-product-order, .site-header__account-cart .popup-show .cart-product-order {
  font-family: var(--base-text-font);
  font-size: var(--base-text-size);
  font-weight: var(--base-text-font-weight);
  line-height: var(--base-text-line-height);
  display: flex;
  text-align: center;
  align-items: center;
  justify-content: center;
  height: 60px;
  text-transform: uppercase;
  border-bottom-left-radius: 7px;
  border-bottom-right-radius: 7px;
}
.site-header__account a.desktop-header .popup-show .cart-product-order .icon, .site-header__account-cart .popup-show .cart-product-order .icon {
  margin: 0;
  margin-left: 20px;
  height: 17px;
}
.site-header__account a.desktop-header .cart-value, .site-header__account-cart .cart-value {
  position: absolute;
  top: -6px;
  right: -9px;
  left: auto;
  z-index: 1;
  width: 18px;
  height: 18px;
  border-radius: 100%;
  color: var(--btn-primary-color);
  background-color: var(--btn-primary-bg);
  font-weight: 500;
  font-family: var(--font-family-secondary-2);
  font-size: 12px;
  text-align: center;
  letter-spacing: 0.012em;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 0;
}
@media (max-width: 1112px) {
  .site-header__account a.desktop-header .cart-value, .site-header__account-cart .cart-value {
    right: 0;
  }
}
@media (max-width: 1111px) {
  .site-header__account a.desktop-header {
    display: none;
  }
}
.site-header__account .open-cart > .icon,
.site-header__account .desktop-header > .icon {
  display: block;
  margin: auto 10px auto 0;
}
@media (max-width: 1111px) {
  .site-header__account .open-cart > .icon,
.site-header__account .desktop-header > .icon {
    width: 24px;
    height: 22px;
  }
}

.site-header__account-cart {
  --wc-quantity-input-size: 59px;
}
.site-header__account-cart .is-sticky .cart-popup {
  max-height: 85vh;
}
.site-header__account-cart .cart-popup {
  background-color: #ffffff;
  border: 1px solid var(--secondary-color2);
  border-radius: 15px;
  box-shadow: 0 10px 40px rgba(89, 119, 215, 0.2);
  color: var(--body-text-color, #333333);
  display: flex;
  flex-direction: column;
  left: auto;
  margin-left: auto;
  max-height: 75vh;
  max-width: 330px;
  min-width: 330px;
  opacity: 0 !important;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  right: -25px;
  top: 40px;
  transition: var(--base-transition);
  visibility: hidden;
  z-index: 1001;
}
.site-header__account-cart .cart-popup a {
  color: var(--primary-color1);
}
.site-header__account-cart .cart-popup a:hover {
  color: var(--primary-color2);
}
.site-header__account-cart .cart-popup .cart-products-list {
  max-height: 80%;
  overflow-y: auto;
  padding: 0;
}
.site-header__account-cart .cart-popup .popup-header {
  background-color: #213b8c;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  padding: 10px 20px;
  line-height: 20px;
}
.site-header__account-cart .cart-popup .popup-header span {
  display: block;
  margin-right: auto;
  font-size: var(--smaller-text-size);
  font-weight: 600;
}
.site-header__account-cart .cart-popup .popup-header a {
  display: none;
  font-size: 0;
  height: 20px;
  position: relative;
  width: 20px;
  transition: opacity ease-in-out 250ms;
}
.site-header__account-cart .cart-popup .popup-header a:before {
  align-items: center;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='13' viewBox='0 0 12 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.78807 11.9099L6 8.12183L2.21193 11.9099C1.79524 12.3266 1.11339 12.3266 0.696699 11.9099C0.280011 11.4932 0.280012 10.8114 0.6967 10.3947L4.48477 6.6066L0.696699 2.81853C0.280011 2.40184 0.280011 1.71999 0.696699 1.3033C1.11339 0.886613 1.79524 0.886613 2.21193 1.3033L6 5.09137L9.78807 1.3033C10.2048 0.886613 10.8866 0.886613 11.3033 1.3033C11.72 1.71999 11.72 2.40184 11.3033 2.81853L7.51523 6.6066L11.3033 10.3947C11.72 10.8114 11.72 11.4932 11.3033 11.9099C10.8866 12.3266 10.2048 12.3266 9.78807 11.9099Z' fill='%23213B8C'/%3E%3C/svg%3E%0A");
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 10px;
  border-radius: 50%;
  content: "";
  display: flex;
  font-size: 20px;
  height: 20px;
  justify-content: center;
  padding: 3px;
  position: absolute;
  right: 0;
  top: 0;
  transform-origin: center;
  width: 20px;
}
.site-header__account-cart .cart-popup .popup-header a:hover {
  opacity: 0.75;
}
.site-header__account-cart .cart-popup .cart-product {
  display: flex;
  flex-direction: row;
  overflow: hidden;
  padding: 20px 20px 15px 20px;
}
.site-header__account-cart .cart-popup .cart-product:not(:first-child) {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.site-header__account-cart .cart-popup .cart-product-image {
  align-items: center;
  display: flex;
  height: 60px;
  padding: 0 5px 0 0;
  width: 30%;
}
.site-header__account-cart .cart-popup .cart-product-image a {
  align-items: center;
  display: flex;
  height: 100%;
  border: 1px solid var(--secondary-color2);
}
.site-header__account-cart .cart-popup .cart-product-image img {
  border-radius: 3px;
  display: block;
  height: auto;
  max-width: 100%;
}
.site-header__account-cart .cart-popup .cart-product-content {
  padding-left: 10px;
  position: relative;
  width: 70%;
}
.site-header__account-cart .cart-popup .cart-product-order {
  margin-left: 2px;
}
.site-header__account-cart .cart-popup .cart-product-info {
  flex: 0 0 100%;
  margin-bottom: 8px;
}
.site-header__account-cart .cart-popup .cart-product-info > *:last-child {
  margin-bottom: 0;
}
.site-header__account-cart .cart-popup .cart-product-info a {
  display: block;
  font-size: var(--smaller-text-size);
  line-height: 1.2em;
  font-weight: 700;
  margin-bottom: 5px;
  white-space: initial;
  padding-right: 30px;
}
.site-header__account-cart .cart-popup .cart-product-info-attr {
  color: var(--body-text-color);
  font-size: 1.2rem;
  font-weight: 400;
  margin: 0 0 8px;
}
.site-header__account-cart .cart-popup .cart-product-info-attr:empty {
  display: none;
}
.site-header__account-cart .cart-popup .cart-product-total {
  color: var(--primary-color1);
  flex: 0 0 80px;
  font-size: var(--smaller-text-size);
  font-weight: 400;
  margin-bottom: 0;
}
.site-header__account-cart .cart-popup .cart-product-edit-quantity {
  align-items: center;
  border: 1px solid var(--border-color);
  display: flex;
}
.site-header__account-cart .cart-popup .cart-product-edit-quantity .ds-qty-button {
  padding: 2px 12px;
}
.site-header__account-cart .cart-popup .cart-product-edit-quantity .ds-btn-sub {
  border-right: 1px solid var(--border-color);
  margin-left: 0;
}
.site-header__account-cart .cart-popup .cart-product-edit-quantity .ds-btn-inc {
  border-left: 1px solid var(--border-color);
  margin-right: 0;
}
.site-header__account-cart .cart-popup .cart-product-edit-quantity .quantity .item_qty {
  display: none;
}
.site-header__account-cart .cart-popup .cart-product-edit-quantity input {
  -moz-appearance: textfield;
  border: none;
  height: 30px;
  text-align: center;
  width: var(--wc-quantity-input-size);
}
.site-header__account-cart .cart-popup .cart-product-edit-quantity input::-webkit-outer-spin-button, .site-header__account-cart .cart-popup .cart-product-edit-quantity input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.site-header__account-cart .cart-popup .cart-product-edit-delete {
  font-size: 0.8em;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
}
.site-header__account-cart .cart-popup .cart-product-order {
  color: var(--btn-primary-color);
}
.site-header__account-cart .cart-popup .remove-item {
  color: transparent;
  display: block;
  font-size: 0;
  height: 20px;
  position: relative;
  width: 20px;
}
.site-header__account-cart .cart-popup .remove-item:before {
  align-items: center;
  background-color: var(--secondary-color2);
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='13' viewBox='0 0 12 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.78807 11.9099L6 8.12183L2.21193 11.9099C1.79524 12.3266 1.11339 12.3266 0.696699 11.9099C0.280011 11.4932 0.280012 10.8114 0.6967 10.3947L4.48477 6.6066L0.696699 2.81853C0.280011 2.40184 0.280011 1.71999 0.696699 1.3033C1.11339 0.886613 1.79524 0.886613 2.21193 1.3033L6 5.09137L9.78807 1.3033C10.2048 0.886613 10.8866 0.886613 11.3033 1.3033C11.72 1.71999 11.72 2.40184 11.3033 2.81853L7.51523 6.6066L11.3033 10.3947C11.72 10.8114 11.72 11.4932 11.3033 11.9099C10.8866 12.3266 10.2048 12.3266 9.78807 11.9099Z' fill='%23213B8C'/%3E%3C/svg%3E%0A");
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 10px;
  border-radius: 50%;
  content: "";
  display: flex;
  font-size: 20px;
  height: 20px;
  justify-content: center;
  padding: 3px;
  position: absolute;
  right: 0;
  top: 0;
  transform-origin: center;
  width: 20px;
}
.site-header__account-cart .cart-popup .no-products {
  align-items: flex-start;
  color: var(--secondary-color3);
  display: flex;
  flex-wrap: wrap;
  font-size: 1.6rem;
  font-weight: 700;
  justify-content: center;
  padding: 0 0 2rem 0;
  text-align: center;
}
.site-header__account-cart .cart-popup .no-products p {
  border-bottom: 1px solid #d0d4de;
  color: var(--secondary-color3);
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2.5rem;
  padding: 3rem 4rem;
  text-align: center;
  width: 100%;
  justify-content: center;
}
.site-header__account-cart .cart-popup .no-products .c-btn, .site-header__account-cart .cart-popup .no-products .wpcf7-submit,
.site-header__account-cart .cart-popup .no-products .gform_button,
.site-header__account-cart .cart-popup .no-products .m-banner .search-submit,
.m-banner .site-header__account-cart .cart-popup .no-products .search-submit {
  display: flex;
  flex-wrap: nowrap;
  margin: 0 20px;
}
.site-header__account-cart .cart-popup .no-products .c-btn:hover, .site-header__account-cart .cart-popup .no-products .wpcf7-submit:hover,
.site-header__account-cart .cart-popup .no-products .gform_button:hover,
.site-header__account-cart .cart-popup .no-products .m-banner .search-submit:hover,
.m-banner .site-header__account-cart .cart-popup .no-products .search-submit:hover {
  color: var(--secondary-color3);
}
.site-header__account-cart .cart-popup .cart-products-subtotal {
  align-items: center;
  border-top: 1px solid var(--secondary-color1);
  display: flex;
  font-size: var(--smaller-text-size);
  font-weight: 600;
  justify-content: space-between;
  padding: 18px 20px 18px;
}
.site-header__account-cart .cart-popup .cart-products-subtotal-text {
  color: #2a3d24;
}
.site-header__account-cart .cart-popup .cart-products-subtotal-summ {
  color: var(--primary-color1);
}
.site-header__account-cart .cart-popup .cart-checkout {
  padding: 0 20px 20px;
  text-align: center;
}
.site-header__account-cart .cart-popup .cart-checkout .c-block__btn {
  margin-top: 0;
  margin-bottom: 14px;
}
.site-header__account-cart .cart-popup .cart-checkout .c-block__btn:last-child {
  margin-bottom: 0;
}
.site-header__account-cart .cart-popup .cart-checkout .c-btn, .site-header__account-cart .cart-popup .cart-checkout .wpcf7-submit,
.site-header__account-cart .cart-popup .cart-checkout .gform_button,
.site-header__account-cart .cart-popup .cart-checkout .m-banner .search-submit,
.m-banner .site-header__account-cart .cart-popup .cart-checkout .search-submit {
  display: inline-flex;
  width: 100%;
  margin: 0;
}
.site-header__account-cart .cart-popup .cart-checkout .c-btn:hover, .site-header__account-cart .cart-popup .cart-checkout .wpcf7-submit:hover,
.site-header__account-cart .cart-popup .cart-checkout .gform_button:hover,
.site-header__account-cart .cart-popup .cart-checkout .m-banner .search-submit:hover,
.m-banner .site-header__account-cart .cart-popup .cart-checkout .search-submit:hover {
  color: var(--primary-color1);
  text-decoration: none;
}
.site-header__account-cart .hover-cart {
  display: flex;
  position: relative;
}
.site-header__account-cart .hover-cart:before, .site-header__account-cart .hover-cart:after {
  bottom: 100%;
  content: "";
  display: block;
  height: 0;
  opacity: 0;
  position: absolute;
  width: 0;
  z-index: 1002;
}
.site-header__account-cart .hover-cart:before {
  border: 9px solid transparent;
  border-bottom-color: var(--secondary-color2);
  left: 8px;
  top: 23px;
  transition: opacity var(--base-transition);
}
.site-header__account-cart .hover-cart:after {
  border: 8px solid transparent;
  border-bottom-color: #213b8c;
  left: 9px;
  top: 25px;
  transition: opacity var(--base-transition);
}
.site-header__account-cart .hover-cart:hover:before, .site-header__account-cart .hover-cart:hover:after {
  opacity: 1;
}
.site-header__account-cart .hover-cart:hover .cart-popup {
  opacity: 1 !important;
  pointer-events: initial;
  visibility: visible;
}
.site-header__account-cart .hover-cart.active:before, .site-header__account-cart .hover-cart.active:after {
  opacity: 1;
}
.site-header__account-cart .hover-cart.active:after {
  border-bottom-color: #213b8c;
}
.site-header__account-cart .hover-cart.active .cart-popup {
  opacity: 1 !important;
  pointer-events: initial;
  visibility: visible;
}
.site-header__account-cart .hover-cart.active .cart-popup .popup-header a {
  display: block;
}
.site-header__account-cart .cart-notify {
  background-color: #333333;
  color: #ffffff;
  font-size: var(--smaller-text-size);
  font-weight: 400;
  left: auto;
  line-height: 1;
  opacity: 0;
  padding: 10px;
  pointer-events: none;
  position: absolute;
  right: 5px;
  top: 37px;
  transform: scale(0.8, 0.8);
  transition: all 0.2s;
  white-space: nowrap;
  z-index: 1000;
}
.site-header__account-cart .cart-notify:before {
  border: solid rgba(51, 51, 51, 0);
  border-bottom-color: #333333;
  border-width: 10px;
  bottom: 100%;
  content: "";
  height: 0;
  margin-left: -10px;
  pointer-events: none;
  position: absolute;
  right: 5px;
  width: 0;
}
.site-header__account-cart .cart-notify.active {
  opacity: 1;
}

/**** End Header */
/* Above the fold modules */
/**
 ####################
 #   Module: BANNERS
 ####################
 */
/**
 ################
 #   Module BANNERS: Core
 ################
 */
.m-banner {
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  --search-height: 60px;
  position: relative;
  --search-radius: 45px;
  --search-width: 200px;
  width: 100%;
  /**
   ***************
   **  Variations
   ***************
   *  .m-banner--small, --medium, --full
   */
}
.m-banner__container {
  align-items: center;
  display: flex;
  min-height: var(--bannerHeight, auto);
  padding-left: 0;
  padding-right: 0;
  position: relative;
}
@media (max-width: 1112px) {
  .m-banner__container {
    min-height: 30vh;
    overflow: hidden;
  }
}
.m-banner__inner {
  padding-left: 0;
  padding-right: 0;
}
.m-banner .search-field {
  margin-top: 20px;
  max-width: 200px;
}
.m-banner__media {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  user-select: none;
  pointer-events: none;
}
.m-banner__media img,
.m-banner__media picture,
.m-banner__media video,
.m-banner__media iframe {
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}
.has-overlay .m-banner__media:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background-color: var(--overlay-color);
  opacity: var(--overlay-opacity);
  z-index: 1;
}
.fixed-header.single-product .m-banner {
  margin-bottom: 30px;
  max-height: 200px;
  overflow: hidden;
}
@media (min-width: 1113px) {
  .m-banner.header-lap .m-banner__inner {
    padding-top: var(--header-hight);
  }
}
.m-banner.-advanced:before, .m-banner.-hero-wc:before {
  background: linear-gradient(90deg, #FFFFFF 0%, #FFFFFF 27.43%, rgba(255, 255, 255, 0.94) 47.74%, rgba(255, 255, 255, 0.85) 72.51%, rgba(255, 255, 255, 0.59) 85.59%, rgba(255, 255, 255, 0) 100%);
  content: "";
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 70%;
  z-index: 1;
}
@media (max-width: 767px) {
  .m-banner.-advanced:before, .m-banner.-hero-wc:before {
    width: 100%;
  }
}
.m-banner.-advanced:after, .m-banner.-hero-wc:after {
  content: "";
  background: linear-gradient(180deg, #FFFFFF 0%, rgba(255, 255, 255, 0.637153) 36.28%, rgba(255, 255, 255, 0) 100%);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(25% + var(--header-hight));
  pointer-events: none;
}
@media (max-width: 767px) {
  .m-banner.-advanced:after, .m-banner.-hero-wc:after {
    background: linear-gradient(0deg, rgba(245, 250, 254, 0) 0%, #F5FAFE 100%);
    height: 50%;
  }
  .m-banner.-advanced:before, .m-banner.-hero-wc:before {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 21.89%, #FFFFFF 97.98%), linear-gradient(0deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 49.81%);
    width: 100%;
    height: 70%;
    top: auto;
    bottom: 0;
  }
}
.m-banner.-advanced.no-gradient:before, .m-banner.-advanced.no-gradient:after, .m-banner.-hero-wc.no-gradient:before, .m-banner.-hero-wc.no-gradient:after {
  display: none;
}
.m-banner.-hero-wc {
  --bannerHeight: 300px;
}
@media (max-width: 767px) {
  .m-banner.-hero-wc:after, .m-banner.-hero-wc:before {
    left: -20px;
    right: -20px;
    width: auto;
    height: 100%;
  }
}
@media (min-width: 768px) {
  .m-banner.-hero-wc {
    background: linear-gradient(180deg, rgba(245, 250, 254, 0) 0%, #f5fafe 100%);
  }
}
.single .m-banner.-hero-wc {
  margin-bottom: 50px;
  text-align: left;
}
.single .m-banner.-hero-wc .l-banner {
  padding-top: clamp(50px, 3vw, 150px);
}
@media (min-width: 1113px) {
  .single .m-banner.-hero-wc {
    margin-top: 80px;
  }
  .single .m-banner.-hero-wc.header-lap .m-banner__inner {
    padding-top: 70px;
  }
  .single .m-banner.-hero-wc.header-lap .l-banner {
    padding-top: var(--banner-top-padding, 0);
  }
}
.m-banner.-hero-wc .l-banner {
  max-width: 750px;
}
@media (min-width: 1113px) {
  .m-banner.-hero-wc .l-banner {
    max-width: 50%;
    min-width: 600px;
  }
}
.archive .m-banner.-hero-wc .l-banner {
  margin: 0 auto;
  text-align: center;
}
.m-banner.-hero-wc img {
  max-height: 100%;
  width: 100%;
  height: 100%;
}
@media (max-width: 767px) {
  .m-banner.-hero-wc .m-banner__container {
    margin-left: -20px;
    margin-right: -20px;
    width: auto;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.m-banner.-hero-wc.no-gradient {
  background: transparent;
}
.m-banner.-hero-wc.no-gradient:before {
  background: transparent;
}
.single-product .m-banner.-hero-wc.no-gradient.has-overlay .m-banner__media:after {
  background-color: var(--overlay-color);
}
.m-banner.-simple {
  background-image: url("data:image/svg+xml,%3Csvg width='1177' height='496' viewBox='0 0 1177 496' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='a' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='1177' height='496'%3E%3Cpath d='M0 0h1177v496H0V0Z' fill='%23C4C4C4'/%3E%3C/mask%3E%3Cg opacity='.1' mask='url(%23a)'%3E%3Crect x='224' y='33.5619' width='160.601' height='366.02' rx='80.3004' transform='rotate(-45 224 33.5619)' fill='%232455C9'/%3E%3Crect x='952' y='532.709' width='160.601' height='366.02' rx='80.3004' transform='rotate(135 952 532.709)' fill='%23EB8B34'/%3E%3Crect width='160.601' height='366.02' rx='80.3004' transform='scale(-1 1) rotate(-45 -435.487 1165.9462)' fill='%2381B25C'/%3E%3Crect width='160.601' height='366.02' rx='80.3004' transform='scale(1 -1) rotate(-45 -531.0365 -536.7463)' fill='%235E328B'/%3E%3C/g%3E%3C/svg%3E");
  background-position: 50% 0;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
@media (max-width: 1112px) {
  .m-banner.-simple {
    background-image: url("data:image/svg+xml,%3Csvg width='1177' height='496' viewBox='0 0 1177 496' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='a' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='1177' height='496'%3E%3Cpath d='M0 0h1177v496H0V0Z' fill='%23C4C4C4'/%3E%3C/mask%3E%3Cg opacity='.5' mask='url(%23a)'%3E%3Crect x='224' y='33.5619' width='160.601' height='366.02' rx='80.3004' transform='rotate(-45 224 33.5619)' fill='%232455C9'/%3E%3Crect x='952' y='532.709' width='160.601' height='366.02' rx='80.3004' transform='rotate(135 952 532.709)' fill='%23EB8B34'/%3E%3Crect width='160.601' height='366.02' rx='80.3004' transform='scale(-1 1) rotate(-45 -435.487 1165.9462)' fill='%2381B25C'/%3E%3Crect width='160.601' height='366.02' rx='80.3004' transform='scale(1 -1) rotate(-45 -531.0365 -536.7463)' fill='%235E328B'/%3E%3C/g%3E%3C/svg%3E");
    background-position: 50% 50%;
    background-size: 150% 150%;
  }
}
.m-banner.-simple:after {
  background: linear-gradient(180deg, rgba(245, 250, 254, 0) 0%, #f5fafe 100%);
  bottom: 0;
  content: "";
  height: 50%;
  left: 0;
  position: absolute;
  width: 100%;
}
@media (max-width: 1112px) {
  .m-banner.-simple:after {
    height: 100%;
  }
}
.m-banner.-simple.-left {
  text-align: left;
}
.m-banner.-simple.-left .l-banner {
  margin: 0;
}
@media (max-width: 767px) {
  .m-banner.-simple.-left .l-banner {
    margin-left: auto;
    margin-right: auto;
  }
}
.m-banner.-simple.-center {
  text-align: center;
}
.m-banner.-simple.-center .l-banner {
  margin: 0 auto;
}
.m-banner.-simple .c-heading.-h1 {
  text-transform: capitalize;
}
.home .m-banner--hero {
  --h1-font-size: 7.5rem;
  --h1-margin-bottom: 1em;
}
.blog .m-banner--hero {
  --h1-margin-bottom: 0;
}
@media (min-width: 768px) {
  .m-banner--hero .l-banner {
    max-width: 50%;
    padding-top: clamp(70px, 7.8vw, 70px);
  }
  .home .m-banner--hero .l-banner, .archive .m-banner--hero .l-banner, .blog .m-banner--hero .l-banner, .page-contact .m-banner--hero .l-banner, .page-template-page-template-individual .m-banner--hero .l-banner {
    max-width: 63%;
  }
}
@media (min-width: 1113px) {
  .m-banner--hero .m-banner__media img {
    object-position: top center;
  }
}
.m-banner--hero .c-heading__sub {
  color: var(--secondary-color3);
}
.m-banner--hero .c-heading__btn .c-btn, .m-banner--hero .c-heading__btn .wpcf7-submit,
.m-banner--hero .c-heading__btn .gform_button,
.m-banner--hero .c-heading__btn .m-banner .search-submit,
.m-banner .m-banner--hero .c-heading__btn .search-submit {
  text-transform: capitalize;
}
.m-banner--hero.-advanced {
  --bannerHeight: var(--banner-height--full, 100vh);
  min-height: 70vh;
}
@media (min-width: 1113px) {
  .m-banner--hero.-advanced {
    margin-top: 80px;
  }
  .m-banner--hero.-advanced.header-lap .m-banner__inner {
    padding-top: 70px;
  }
}
@media (max-width: 1112px) {
  .m-banner--hero.-advanced {
    min-height: 60vh;
  }
}
@media (orientation: portrait) {
  .m-banner--hero.-advanced {
    min-height: max-content;
  }
}
@media (max-width: 767px) {
  .m-banner--hero.-advanced .m-banner__container {
    align-items: flex-start;
    min-height: 550px;
  }
  .home .m-banner--hero.-advanced .m-banner__container {
    min-height: 500px;
  }
}
@media (max-width: 767px) {
  .m-banner--hero.-advanced .m-banner__media {
    position: absolute;
    top: 45%;
  }
  .home .m-banner--hero.-advanced .m-banner__media {
    top: 30%;
    bottom: 30%;
  }
  .home .m-banner--hero.-advanced .m-banner__media:after {
    background: linear-gradient(to bottom, rgba(245, 250, 254, 0) 0%, #f8fcff 100%);
    content: "";
    height: 25%;
    left: 0;
    position: absolute;
    bottom: 0;
    width: 100%;
    z-index: 1;
  }
  .m-banner--hero.-advanced .m-banner__media img {
    object-position: center right;
  }
  .m-banner--hero.-advanced .m-banner__media:before {
    background: linear-gradient(to top, rgba(245, 250, 254, 0) 0%, #f8fcff 100%);
    background-position-y: 1px;
    content: "";
    height: 25%;
    left: 0;
    position: absolute;
    top: -1px;
    width: 100%;
    z-index: 1;
  }
}
@media (max-width: 1112px) and (min-width: 768px) {
  .m-banner--hero.-advanced .l-tbpanel__item {
    padding: clamp(10px, 1.57vw, 30px);
  }
}
@media (max-width: 1112px) and (min-width: 768px) {
  .m-banner--hero.-advanced .l-tbpanel__label {
    display: none;
  }
}
@media (max-width: 767px) {
  .m-banner--hero.-advanced .l-banner {
    padding-bottom: 0;
  }
}
.m-banner--hero.-simple {
  --bannerHeight: 496px;
}
.m-banner--hero.-simple.-center {
  text-align: center;
}
.m-banner--hero.-simple.-center .l-banner {
  margin: 0 auto;
}
@media (min-width: 1112px) {
  .m-banner--blog {
    --bannerHeight: var(--banner-height--blog, 420px);
    text-align: center;
  }
  .m-banner--small {
    --bannerHeight: var(--banner-height--small, 300px);
  }
  .m-banner--medium {
    --bannerHeight: var(--banner-height--medium, 450px);
  }
  .m-banner--full {
    --bannerHeight: var(--banner-height--full, 100vh);
  }
  .m-banner--full .m-banner__container {
    max-height: 800px;
  }
}
@media (max-width: 767px) {
  .m-banner + .product-tabs {
    margin-top: 0;
  }
}
.m-banner.hero-product-cards .l-banner {
  margin-inline: auto;
  text-align: center;
  max-width: 945px;
}
.m-banner .cta-block {
  margin-top: 30px;
  margin-bottom: 20px;
}
.m-banner .cta-block h4 {
  font-weight: 600;
}
.m-banner .cta-block .c-btn, .m-banner .cta-block .wpcf7-submit,
.m-banner .cta-block .gform_button,
.m-banner .cta-block .search-submit {
  margin-top: 20px;
}

.general-bg-logo + .m-banner.-hero-wc:before {
  display: none;
}

/**
 ################
 #   Module BANNERS: Base Layout
 ################
 */
.l-banner {
  width: 100%;
  position: relative;
  padding-top: var(--banner-top-padding, 0);
  padding-bottom: var(--banner-bot-padding, 0);
  z-index: 2;
}
@media (max-width: 1112px) {
  .l-banner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 767px) {
  .l-banner {
    text-align: center;
  }
}
.l-banner__media {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 1113px) {
  .l-banner__media {
    flex: 1 1 auto;
  }
}
.l-banner__media .c-image {
  height: 100%;
  width: 100%;
}

/* Banners */
.m-banner {
  --banner-height--small: 300px;
  --banner-height--medium: 650px;
  --banner-height--blog: 400px;
  --banner-height--full: 70vh;
  --banner-top-padding: 5vmin;
  --banner-bot-padding: 5vmin;
}

.cta-banner {
  --h2-font-weight: 400;
  background-image: var(--logo-dark);
  background-color: #F5DD57;
  background-position: 0 50%;
  background-size: 35%;
  background-repeat: no-repeat;
  border-radius: clamp(10px, 1.05vw, 20px);
  max-width: 950px;
  padding: clamp(25px, 2.6vw, 50px);
  margin: 0 auto;
  text-align: center;
}
.cta-banner__wrap.-blue {
  background-color: var(--primary-color1);
}
@media (max-width: 1112px) {
  .cta-banner__wrap {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.cta-banner .c-heading__title {
  color: var(--secondary-color3);
  letter-spacing: -0.03em;
}
.cta-banner .c-heading__title span {
  display: block;
  font-weight: 700;
}
.cta-banner .c-btn.-secondary:hover, .cta-banner .-secondary.wpcf7-submit:hover,
.cta-banner .-secondary.gform_button:hover,
.cta-banner .m-banner .-secondary.search-submit:hover,
.m-banner .cta-banner .-secondary.search-submit:hover {
  background-color: var(--btn-secondary-bg);
}

.c-heading__btn + .filter-search {
  margin-top: 2em;
}

.filter-search {
  --c-block-bg: transparent;
  width: 75%;
}
@media (max-width: 1112px) {
  .filter-search {
    width: 100%;
  }
}
.filter-search .m-tabs {
  --tbpanel-padding: 35px;
}
.filter-search .l-tbnav {
  justify-content: flex-start;
}
@media (min-width: 768px) {
  .filter-search .l-tbnav {
    width: fit-content;
  }
  .filter-search .l-tbnav__item {
    flex: 0 0 auto;
  }
}
@media (max-width: 767px) {
  .filter-search .l-tbnav {
    display: flex;
  }
}
@media (max-width: 767px) {
  .filter-search.product-tabs .c-tbnav__label {
    padding: 0 1em;
    font-size: 15px;
  }
}
.filter-search .l-tbpanel {
  border-radius: 0 clamp(10px, 1.05vw, 20px) clamp(10px, 1.05vw, 20px) clamp(10px, 1.05vw, 20px);
}
@media (max-width: 1112px) {
  .filter-search .l-tbpanel {
    border-radius: 0 clamp(10px, 1.05vw, 20px) clamp(10px, 1.05vw, 20px) clamp(10px, 1.05vw, 20px);
  }
}
@media (max-width: 767px) {
  .filter-search .l-tbpanel {
    padding: 20px;
    border-top-right-radius: 0;
  }
  .filter-search .l-tbpanel .l-tbpanel__item {
    border: none;
  }
  .filter-search .l-tbpanel .l-tbpanel__label {
    display: none;
  }
}
.filter-search .c-block {
  border: none;
}
.filter-search .pt-panel {
  padding: 0;
}
.filter-search .filter-search-box {
  width: 100%;
}
@media (min-width: 768px) {
  .filter-search .filter-search-box {
    display: flex;
    border-radius: 35px;
    overflow: hidden;
    padding-left: 10px;
    background: #F7F7F7;
  }
}
@media (min-width: 768px) {
  .filter-search__select:first-child {
    width: 30%;
  }
}
@media (min-width: 768px) {
  .filter-search__select:nth-child(2) {
    width: 60%;
  }
}
.filter-search__select:hover {
  cursor: pointer;
}
@media (max-width: 767px) {
  .filter-search__select {
    margin-bottom: 10px;
  }
}
@media (min-width: 768px) {
  .filter-search__select {
    width: 44%;
  }
  .filter-search__select:not(:first-child) {
    border-left: 2px solid #DBE0ED;
  }
  #data-tab-filter-1 .filter-search__select {
    width: 85%;
  }
}
.filter-search__select select:hover,
.filter-search__select .select2:hover {
  cursor: pointer;
}
.filter-search__select .dropdown-list {
  display: none;
}
.filter-search__btn {
  padding: 0;
}
@media (min-width: 768px) {
  .filter-search__btn {
    width: 60px;
    flex: 1 1 auto;
  }
}
.filter-search__btn .c-btn, .filter-search__btn .wpcf7-submit,
.filter-search__btn .gform_button,
.filter-search__btn .m-banner .search-submit,
.m-banner .filter-search__btn .search-submit {
  padding: 0;
  width: 100%;
}
@media (max-width: 767px) {
  .filter-search__btn .c-btn__txt {
    font-size: 13px;
  }
}
@media (min-width: 768px) {
  .filter-search__btn .c-btn__txt {
    display: none;
  }
}
@media (min-width: 768px) {
  .filter-search__btn .c-btn__ico {
    padding: 0 !important;
  }
}
.filter-search__btn .c-btn:hover .c-btn__ico .icon, .filter-search__btn .wpcf7-submit:hover .c-btn__ico .icon,
.filter-search__btn .gform_button:hover .c-btn__ico .icon,
.filter-search__btn .m-banner .search-submit:hover .c-btn__ico .icon,
.m-banner .filter-search__btn .search-submit:hover .c-btn__ico .icon {
  transform: scale(1.1);
}
.filter-search__btn .icon {
  width: 24px;
  height: 24px;
}
.filter-search input,
.filter-search select,
.filter-search button,
.filter-search .select2 {
  height: clamp(45px, 3.12vw, 60px);
}
@media (min-width: 768px) {
  .filter-search input,
.filter-search select,
.filter-search button,
.filter-search .select2 {
    border-radius: 0;
    margin: 0;
  }
}
.filter-search .select2-container.select2 {
  border: none;
  background-color: #F7F7F7;
  width: 100%;
  font-size: clamp(1.3rem, 0.95vw, 1.8rem);
  color: var(--secondary-color3);
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
}
.filter-search .select2-container.select2:focus {
  outline: 0;
}
@media (max-width: 767px) {
  .filter-search .select2-container.select2 {
    border-radius: 25px;
    padding: 0 15px;
    font-size: clamp(1.6rem, 1.1vw, 2.1rem);
  }
}
@media (min-width: 768px) {
  .filter-search .select2-container.select2 {
    background-position: right 0 center;
    width: 90%;
    padding-left: clamp(10px, 1.05vw, 20px);
  }
}
.filter-search .select2-container.select2.btn::before, .filter-search .select2-container.select2.c-btn::before, .filter-search .select2-container.select2.wpcf7-submit::before,
.filter-search .select2-container.select2.gform_button::before,
.filter-search .m-banner .select2-container.select2.search-submit::before,
.m-banner .filter-search .select2-container.select2.search-submit::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  right: 2px;
  top: 46%;
  transform: translateY(-50%) rotate(135deg);
  transition: transform 0.1s ease-in;
}
.filter-search .select2-container .select2-selection.select2-selection--single {
  padding-left: 0;
  padding-right: 35px;
}
.filter-search .select2-container .select2-selection.select2-selection--single .select2-selection__rendered {
  line-height: clamp(45px, 3.12vw, 60px);
}
.filter-search .select2-container .select2-selection.select2-selection--single .select2-selection__arrow {
  pointer-events: none;
  right: 15px;
}

/**
 * Banner Layout: Gateway Hero
 *
 * Extends the base .m-banner styles with the two-button "Who we serve"
 * audience segmentation layout.
 */
.m-banner--gateway .gateway-hero__ctas {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 28px;
}
@media (max-width: 767px) {
  .m-banner--gateway .gateway-hero__ctas {
    align-items: center;
  }
}
.m-banner--gateway .gateway-hero__label {
  color: var(--secondary-color3);
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin-bottom: 4px;
  text-transform: uppercase;
}
.m-banner--gateway .gateway-hero__btn {
  min-width: 220px;
}

/* Heading Component */ /**
 * HEADING Module
 *
 * Standalone heading selectors, title, pre/sub-title
 *
 */
.-h1 {
  line-height: var(--h1-line-height, 1);
  font-weight: var(--h1-font-weight, 600);
  font-family: var(--h1-font);
  margin-bottom: var(--h1-margin-bottom, 0.5em);
  text-transform: var(--h1-text-transform);
  letter-spacing: var(--h1-letter-spacing, 0);
  font-size: clamp(var(--h1-font-size-mobile), 4.5vw, var(--h1-font-size));
  color: var(--titles-color);
}
.colors-inverted .-h1 {
  color: var(--titles-color-alt);
}
.-h1 .c-heading__sub {
  font-size: clamp(var(--h1-subtitle-font-size-mobile, 18px), 1.354vw, var(--h1-subtitle-font-size, 2.6rem));
}

.-h2, .is-wysiwyg h2 {
  line-height: var(--h2-line-height, 1);
  font-weight: var(--h2-font-weight, 600);
  font-family: var(--h2-font);
  text-transform: var(--h2-text-transform);
  letter-spacing: var(--h2-letter-spacing, 0);
  font-size: clamp(var(--h2-font-size-mobile), 2.82vw, var(--h2-font-size));
  margin-bottom: var(--h2-margin-bottom, 0.5em);
}
.-h2 .c-heading__sub, .is-wysiwyg h2 .c-heading__sub {
  font-size: clamp(var(--h2-subtitle-font-size-mobile, 16px), 1.146vw, var(--h2-subtitle-font-size, 2.2rem));
}

.-h3, .is-wysiwyg h3 {
  line-height: var(--h3-line-height, 1);
  font-weight: var(--h3-font-weight, 600);
  font-family: var(--h3-font);
  text-transform: var(--h3-text-transform);
  letter-spacing: var(--h3-letter-spacing, 0);
  font-size: clamp(var(--h3-font-size-mobile), 1.57vw, var(--h3-font-size));
  margin-bottom: var(--h3-margin-bottom, 0.5em);
}

.-h4, .is-wysiwyg h4 {
  line-height: var(--h4-line-height, 1);
  font-weight: var(--h4-font-weight, 600);
  font-family: var(--h4-font);
  text-transform: var(--h4-text-transform);
  letter-spacing: var(--h4-letter-spacing, 0);
  font-size: clamp(var(--h4-font-size-mobile), 1.1vw, var(--h4-font-size));
  margin-bottom: var(--h4-margin-bottom, 0.5em);
}

.c-heading {
  /**
   * #.# Modifiers
   */
}
.c-heading__title {
  position: relative;
  font-size: inherit;
  font-weight: inherit;
  text-transform: inherit;
  line-height: inherit;
  margin: 0;
  z-index: 1;
  color: var(--titles-color);
}
.colors-inverted .c-heading__title {
  color: var(--titles-color-alt);
}
.c-heading__title span {
  color: var(--titles-color-accent);
}
.text-center .c-heading__title {
  margin: 0 auto;
}
.c-heading__pre {
  color: var(--pretitle-color, var(--primary-color2));
  line-height: var(--pretitle-line-height, 1.4);
  letter-spacing: var(--pretitle-letter-spacing, 0);
  margin: var(--pretitle-margin-bottom, 0.5em) 0;
  font-family: var(--pretitle-font);
  font-weight: var(--pretitle-font-weight, 500);
  text-transform: var(--pretitle-text-transform);
  font-size: clamp(var(--pretitle-font-size-mobile, 18px), 2.25vw, var(--pretitle-font-size, 2.4rem));
}
.colors-inverted .c-heading__pre, .style-dark .c-heading__pre {
  color: var(--pretitle-color-alt);
}
.c-heading__sub {
  color: var(--subtitle-color, var(--primary-color2));
  line-height: var(--subtitle-line-height, 1.4);
  letter-spacing: var(--subtitle-letter-spacing, 0);
  margin: var(--subtitle-margin-bottom, 0.5em) 0;
  font-family: var(--subtitle-font);
  font-weight: var(--subtitle-font-weight, 500);
  text-transform: var(--subtitle-text-transform);
  font-size: clamp(var(--subtitle-font-size-mobile, 16px), 1.146vw, var(--subtitle-font-size, 2.4rem));
}
.colors-inverted .c-heading__sub, .style-dark .c-heading__sub {
  color: var(--subtitle-color-alt);
}
.c-heading__text {
  font-size: var(--base-text-size);
}
.text-center .c-heading {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.c-heading.-small.-h2 {
  --h2-font-size: 3rem;
  --h2-margin-bottom: 32px;
}

/* Heading Layout */
.l-heading-v2 {
  --h2-letter-spacing: .1em;
  --h2-font: var(--font-family-primary);
  --h2-font-weight: 500;
  --h2-text-transform: uppercase;
  --pretitle-color: var(--secondary-color2);
  --pretitle-font-size: 2rem;
  --pretitle-letter-spacing: 0;
  --subtitle-color: var(--primary-color1);
  --subtitle-font-size: 1.8rem;
  --subtitle-letter-spacing: 0;
  --h2-font-size: 2.8rem;
}
.l-heading-v2 .c-heading__title {
  font-size: 2.8rem;
}

/**
 ############################
 #   Buttons Component
 ############################
 */
/**
 *************
 **  Core
 *************
 *  Common properties of buttons
 */
/** Buttons Core Component */
.btn, .c-btn, .wpcf7-submit,
.gform_button,
.m-banner .search-submit {
  --btn-ico-color: currentColor;
  --icon-shift: 10px;
  display: inline-flex;
  flex-direction: row-reverse;
  justify-content: center;
  backface-visibility: hidden;
  background-color: transparent;
  position: relative;
  text-decoration: none;
  border: none;
  text-align: center;
  white-space: nowrap;
  transition: all var(--base-transition);
}

.c-btn, .wpcf7-submit,
.gform_button,
.m-banner .search-submit {
  font-size: var(--btn-font-size, 1.8rem);
  font-family: var(--btn-font-family);
  text-transform: var(--btn-text-transform, none);
  font-weight: var(--btn-font-weight, 400);
  letter-spacing: 0;
  box-shadow: var(--btn-box-shadow, none);
  border-radius: var(--btn-border-radius, 0);
  margin: 2px;
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  padding: var(--btn-padding-top-bottom, 10px) var(--btn-padding-left-right, 20px);
  /* Button Visual Variants */
  /* Button Size Variants */
  /* Button Icon */
}
@media (max-width: 767px) {
  .c-btn, .wpcf7-submit,
.gform_button,
.m-banner .search-submit {
    font-size: 14px;
  }
}
.c-btn > span, .wpcf7-submit > span,
.gform_button > span,
.m-banner .search-submit > span {
  box-sizing: border-box;
}
.c-btn:focus, .wpcf7-submit:focus,
.gform_button:focus,
.m-banner .search-submit:focus {
  outline: 0;
}
.c-btn.-more, .-more.wpcf7-submit,
.-more.gform_button,
.m-banner .-more.search-submit {
  font-weight: 700;
  padding: 0;
  flex-direction: row;
  margin-top: 15px;
}
.c-btn.-more:after, .-more.wpcf7-submit:after,
.-more.gform_button:after,
.m-banner .-more.search-submit:after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg width='11' height='6' viewBox='0 0 11 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.49972 3.67925L1.79136 0.27975C1.38115 -0.0932504 0.717451 -0.0932504 0.307244 0.279749C-0.102414 0.656749 -0.102414 1.26575 0.307244 1.64275L4.75794 5.72025C5.16815 6.09325 5.8324 6.09325 6.24206 5.72025L10.6928 1.64275C11.103 1.26575 11.1019 0.65675 10.6928 0.27975C10.2831 -0.09325 9.6194 -0.0932501 9.20919 0.27975L5.49972 3.67925Z' fill='%233397EF'/%3E%3C/svg%3E%0A");
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: 50%;
  width: 11px;
  height: 6px;
  margin-left: 5px;
  position: relative;
  top: 1px;
}
.is-active .c-btn.-more:after, .is-active .-more.wpcf7-submit:after,
.is-active .-more.gform_button:after,
.is-active .m-banner .-more.search-submit:after,
.m-banner .is-active .-more.search-submit:after {
  transform: rotate(180deg);
}
.c-btn.-primary .c-btn__ico, .wpcf7-submit .c-btn__ico,
.gform_button .c-btn__ico,
.m-banner .search-submit .c-btn__ico, .c-btn.-secondary .c-btn__ico {
  padding-right: calc(var(--btn-padding-left-right, 20px) / 2);
}
@media (max-width: 767px) {
  .c-btn.-primary .c-btn__ico, .wpcf7-submit .c-btn__ico,
.gform_button .c-btn__ico,
.m-banner .search-submit .c-btn__ico, .c-btn.-secondary .c-btn__ico {
    padding-right: 10px;
  }
}
.c-btn.-primary, .wpcf7-submit,
.gform_button,
.m-banner .search-submit {
  background-color: var(--btn-primary-bg);
  color: var(--btn-primary-color);
  border: var(--btn-primary-border) solid var(--btn-primary-border-color);
}
@media (hover: hover) {
  .c-btn.-primary:hover, .wpcf7-submit:hover,
.gform_button:hover,
.m-banner .search-submit:hover {
    background-color: var(--btn-primary-bg-hover);
    color: var(--btn-primary-color-hover);
    border-color: var(--btn-primary-border-color-hover);
  }
}
.c-btn.-primary.-white, .-white.wpcf7-submit,
.-white.gform_button,
.m-banner .-white.search-submit {
  --btn-primary-bg: #ffffff;
}
.c-btn.-secondary, .-secondary.wpcf7-submit,
.-secondary.gform_button,
.m-banner .-secondary.search-submit {
  background-color: var(--btn-secondary-bg);
  color: var(--btn-secondary-color);
  border: var(--btn-secondary-border) solid var(--btn-secondary-border-color);
}
@media (hover: hover) {
  .c-btn.-secondary:hover, .-secondary.wpcf7-submit:hover,
.-secondary.gform_button:hover,
.m-banner .-secondary.search-submit:hover {
    background-color: var(--btn-secondary-bg-hover);
    color: var(--btn-secondary-color-hover);
    border-color: var(--btn-secondary-border-color-hover);
  }
}
.c-btn.-secondary:focus, .-secondary.wpcf7-submit:focus,
.-secondary.gform_button:focus,
.m-banner .-secondary.search-submit:focus {
  background-color: var(--btn-secondary-bg-hover);
  color: var(--btn-secondary-color-hover);
  border-color: var(--btn-secondary-border-color-hover);
}
.c-btn.-link, .-link.wpcf7-submit,
.-link.gform_button,
.m-banner .-link.search-submit {
  color: var(--btn-link-color);
  box-shadow: none !important;
  padding: 0;
  /*        &.icon-left {
      .c-btn__ico {
          margin-right: 10px;
          margin-left: 0;
      }
  }*/
}
.c-btn.-link .c-btn__ico, .-link.wpcf7-submit .c-btn__ico,
.-link.gform_button .c-btn__ico,
.m-banner .-link.search-submit .c-btn__ico {
  max-width: 35px;
  margin-left: 10px;
}
.c-btn.-link .c-btn__ico svg, .-link.wpcf7-submit .c-btn__ico svg,
.-link.gform_button .c-btn__ico svg,
.m-banner .-link.search-submit .c-btn__ico svg {
  color: var(--link-icon-color, currentColor);
}
.c-btn.-link .c-btn__ico svg, .-link.wpcf7-submit .c-btn__ico svg,
.-link.gform_button .c-btn__ico svg,
.m-banner .-link.search-submit .c-btn__ico svg,
.c-btn.-link .c-btn__ico img,
.-link.wpcf7-submit .c-btn__ico img,
.-link.gform_button .c-btn__ico img,
.m-banner .-link.search-submit .c-btn__ico img {
  max-height: 1em;
}
@media (hover: hover) {
  .c-btn.-link:hover, .-link.wpcf7-submit:hover,
.-link.gform_button:hover,
.m-banner .-link.search-submit:hover {
    color: var(--btn-link-color-hover);
  }
}
.c-btn.-small, .-small.wpcf7-submit,
.-small.gform_button,
.m-banner .-small.search-submit {
  --btn-padding-left-right: 20px;
  --btn-padding-top-bottom: 10px;
  font-size: 0.8em;
}
.c-btn.-small .icon, .-small.wpcf7-submit .icon,
.-small.gform_button .icon,
.m-banner .-small.search-submit .icon {
  max-width: 60%;
}
.c-btn.-large, .-large.wpcf7-submit,
.-large.gform_button,
.m-banner .-large.search-submit {
  font-size: 1.4em;
}
.c-btn__ico {
  min-width: 40px;
  max-width: 40px;
  position: relative;
  transition: transform var(--base-transition), filter var(--base-transition), opacity var(--base-transition);
  pointer-events: none;
  display: flex;
}
@media (max-width: 767px) {
  .c-btn__ico {
    min-width: 30px;
    max-width: 30px;
  }
}
.c-btn__ico svg,
.c-btn__ico img {
  margin: auto;
  max-height: 1.5em;
  transition: transform 0.3s;
}
.c-btn__ico svg {
  fill: var(--btn-ico-color);
  color: var(--btn-ico-color);
}
.c-btn__ico img {
  transition: transform var(--base-transition), filter var(--base-transition), opacity var(--base-transition);
  max-width: 100%;
}
.c-btn.icon-right, .icon-right.wpcf7-submit,
.icon-right.gform_button,
.m-banner .icon-right.search-submit {
  flex-direction: row;
}
.c-btn.icon-right .c-btn__ico, .icon-right.wpcf7-submit .c-btn__ico,
.icon-right.gform_button .c-btn__ico,
.m-banner .icon-right.search-submit .c-btn__ico {
  padding-left: calc(var(--btn-padding-left-right, 20px) / 2);
  padding-right: 0;
}
.c-btn.icon-right:hover .c-btn__ico .icon, .icon-right.wpcf7-submit:hover .c-btn__ico .icon,
.icon-right.gform_button:hover .c-btn__ico .icon,
.m-banner .icon-right.search-submit:hover .c-btn__ico .icon {
  transform: translate(5px);
}
.c-btn-bar .c-btn, .c-btn-bar .wpcf7-submit,
.c-btn-bar .gform_button,
.c-btn-bar .m-banner .search-submit,
.m-banner .c-btn-bar .search-submit {
  vertical-align: middle;
}
@media (hover: hover) {
  .c-btn:hover .c-btn__ico .icon:not(.icon-shopping-cart):not(.icon-search), .wpcf7-submit:hover .c-btn__ico .icon:not(.icon-shopping-cart):not(.icon-search),
.gform_button:hover .c-btn__ico .icon:not(.icon-shopping-cart):not(.icon-search),
.m-banner .search-submit:hover .c-btn__ico .icon:not(.icon-shopping-cart):not(.icon-search) {
    transform: rotate(180deg);
  }
  .c-btn:hover .c-btn__ico.icon-reversed, .wpcf7-submit:hover .c-btn__ico.icon-reversed,
.gform_button:hover .c-btn__ico.icon-reversed,
.m-banner .search-submit:hover .c-btn__ico.icon-reversed {
    transform: translateX(-5px) scaleX(-1);
  }
}
.c-btn.loading:hover .c-btn__ico, .loading.wpcf7-submit:hover .c-btn__ico,
.loading.gform_button:hover .c-btn__ico,
.m-banner .loading.search-submit:hover .c-btn__ico {
  transform-origin: 69%;
}
@media (max-width: 1112px) {
  .c-btn.loading:hover .c-btn__ico, .loading.wpcf7-submit:hover .c-btn__ico,
.loading.gform_button:hover .c-btn__ico,
.m-banner .loading.search-submit:hover .c-btn__ico {
    transform-origin: 75%;
  }
}
.c-btn.loading .c-btn__ico, .loading.wpcf7-submit .c-btn__ico,
.loading.gform_button .c-btn__ico,
.m-banner .loading.search-submit .c-btn__ico {
  animation: rotation 1s infinite linear;
  transform-origin: 69%;
}
@media (max-width: 1112px) {
  .c-btn.loading .c-btn__ico, .loading.wpcf7-submit .c-btn__ico,
.loading.gform_button .c-btn__ico,
.m-banner .loading.search-submit .c-btn__ico {
    transform-origin: 75%;
  }
}

@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}
/* CF7 Submit Button */
.wpcf7-submit,
.gform_button,
.m-banner .search-submit {
  font-size: var(--btn-font-size, 1.8rem);
  font-family: var(--btn-font-family);
  text-transform: var(--btn-text-transform, none);
  font-weight: var(--btn-font-weight, 400);
  box-shadow: var(--btn-box-shadow, none);
  border-radius: var(--btn-border-radius, 0);
  padding: var(--btn-padding-top-bottom) var(--btn-padding-left-right);
  transition: all var(--base-transition);
}
@media (hover: hover) {
  .wpcf7-submit:hover,
.gform_button:hover,
.m-banner .search-submit:hover {
    box-shadow: 0 2px 2px rgba(0, 7, 63, 0.2);
  }
}
@media (max-width: 767px) {
  .wpcf7-submit,
.gform_button,
.m-banner .search-submit {
    font-size: 14px;
  }
}

.sso-login .shortcode-wrap {
  display: none;
}
.sso-login .c-btn, .sso-login .wpcf7-submit,
.sso-login .gform_button,
.sso-login .m-banner .search-submit,
.m-banner .sso-login .search-submit {
  margin-top: 0;
  width: 100%;
  margin-bottom: 30px;
}
.sso-login .c-btn:last-of-type, .sso-login .wpcf7-submit:last-of-type,
.sso-login .gform_button:last-of-type,
.sso-login .m-banner .search-submit:last-of-type,
.m-banner .sso-login .search-submit:last-of-type {
  margin-bottom: 0;
}

/**
 ############################
 #   Content Block Component
 ############################
 */
.c-block {
  background-color: var(--c-block-bg);
  box-shadow: var(--c-block-shadow);
  border-radius: var(--c-block-radius);
  border: 1px solid var(--c-block-border);
  isolation: isolate;
}
.c-block__body {
  padding: var(--c-block-padding, 15px);
  text-align: var(--c-block-align, left);
  font-size: var(--c-block-text-size);
  color: var(--c-block-color);
}
.c-block__title {
  position: relative;
  font-size: var(--c-block-title-size);
  font-weight: var(--c-block-title-weight);
  text-transform: var(--c-block-title-transform);
  color: var(--c-block-title-color);
  margin-bottom: var(--h4-margin-bottom, 0.5em);
}
.c-block__title a {
  color: inherit;
  display: block;
}
.c-block__title a:hover {
  color: var(--btn-link-color-hover);
}
.c-block__pretitle {
  margin-bottom: 0.5em;
}
.c-block__media {
  aspect-ratio: var(--c-block-img-ratio, 4/3);
  position: relative;
}
.c-block__media img {
  max-width: 100%;
  max-height: 100%;
}
.c-block__btn {
  margin-top: 1em;
}
.c-block .c-image {
  width: 100%;
}
.c-block ul {
  text-align: left;
}

.check-list li {
  margin-bottom: 1em;
  display: flex;
}
.check-list .icon {
  width: 22px;
  min-width: 22px;
  color: var(--wc-product-bullet-icon-p, #5E328B);
  fill: var(--wc-product-bullet-icon-s, #8E6FAE);
  height: clamp(13px, 0.93vw, 18px);
  margin-top: clamp(3px, 0.26vw, 5px);
  /*.bullet-style1 & {
      color: #5E328B;
      fill: #8E6FAE;
  }

  .bullet-style2 & {
      color: #81B25C;
      fill: #B1D299;
  }

  .bullet-style3 & {
      color: #573586;
      fill: #EB8B34;
  }

  .bullet-style4 & {
      color: #81B25C;
      fill: #B1D299;
  }

  .bullet-style5 & {
      color: #5E328B;
      fill: #5EBFCF;
  }

  .bullet-style6 & {
      color: #81B25C;
      fill: #2455C9;
  }

  .bullet-style7 & {
      color: #2455C9;
      fill: #EC8B34;
  }*/
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9faGVscGVycy9fcmVib290LnNjc3MiLCJfX2NvcmUvbWl4aW5zL19hc3BlY3QtcmF0aW8uc2NzcyIsIl9fY29yZS9taXhpbnMvX3BhZ2Utc2l6ZXMuc2NzcyIsIl9fY29yZS9zZXR0aW5ncy9fc2V0dGluZ3MtbWFpbi5zY3NzIiwiX19jb3JlL21peGlucy9faW5jbHVkZS1tZWRpYS5zY3NzIiwiX19jb3JlL3NldHRpbmdzL19zZXR0aW5ncy1mb250LnNjc3MiLCJfX2NvcmUvbWl4aW5zL19mb250LWZhY2Uuc2NzcyIsIl9fY29yZS9zZXR0aW5ncy9fc2V0dGluZ3MtYnV0dG9ucy5zY3NzIiwiX19jb3JlL3NldHRpbmdzL19zZXR0aW5ncy1mb3Jtcy5zY3NzIiwiX19jb3JlL3NldHRpbmdzL19zZXR0aW5ncy1oZWFkZXIuc2NzcyIsIl9fY29yZS9zZXR0aW5ncy9fc2V0dGluZ3MtZm9vdGVyLnNjc3MiLCJfX2NvcmUvc2V0dGluZ3MvX3NldHRpbmdzLW1vZHVsZXMuc2NzcyIsIl9fY29yZS9zZXR0aW5ncy9fc2V0dGluZ3Mtc2xpZGVycy5zY3NzIiwiY3JpdGljYWwuc2NzcyIsIl9sYXlvdXQvX19iYXNlLnNjc3MiLCJfbGF5b3V0L2hlYWRlci9faGVhZGVyLWNvcmUuc2NzcyIsIl9sYXlvdXQvaGVhZGVyL2xheW91dHMvX2hlYWRlcl9yb3dzLnNjc3MiLCJfbGF5b3V0L2hlYWRlci9sYXlvdXRzL19oZWFkZXJfc3RpY2t5LnNjc3MiLCJfbGF5b3V0L2hlYWRlci9sYXlvdXRzL19oZWFkZXJfbW9iaWxlLnNjc3MiLCJfbGF5b3V0L2hlYWRlci9sYXlvdXRzL19oZWFkZXJfc2ltcGxlLnNjc3MiLCJfbGF5b3V0L2hlYWRlci9sYXlvdXRzL19oZWFkZXJfZGV2aWNlcy5zY3NzIiwiX2xheW91dC9oZWFkZXIvYmxvY2tzL19uYXZiYXJfbWVudS5zY3NzIiwiX2xheW91dC9oZWFkZXIvYmxvY2tzL19uYXZiYXJfZHJvcGRvd24uc2NzcyIsIl9sYXlvdXQvaGVhZGVyL2Jsb2Nrcy9fbmF2YmFyX2J1cmdlci5zY3NzIiwiX2xheW91dC9oZWFkZXIvYmxvY2tzL19uYXZiYXJfbWVnYW1lbnUuc2NzcyIsIl9sYXlvdXQvaGVhZGVyL2Jsb2Nrcy9fbmF2YmFyX3dob193ZV9zZXJ2ZS5zY3NzIiwiX2xheW91dC9oZWFkZXIvYmxvY2tzL19zaXRlX3NlYXJjaC5zY3NzIiwiX2xheW91dC9oZWFkZXIvYmxvY2tzL19hY2NvdW50LnNjc3MiLCJfbGF5b3V0L2hlYWRlci9ibG9ja3MvX2NhcnQuc2NzcyIsIl9tb2R1bGVzL19iYW5uZXJzLnNjc3MiLCJfbW9kdWxlcy9iYW5uZXJzL19fYmFubmVycy1jb3JlLnNjc3MiLCJfX2NvcmUvbWl4aW5zL19taW5pLW1peGlucy5zY3NzIiwiX21vZHVsZXMvYmFubmVycy9fX2Jhbm5lcnMtbGF5b3V0LnNjc3MiLCJfbW9kdWxlcy9iYW5uZXJzL19fYmFubmVycy1zZXR0aW5ncy5zY3NzIiwiX21vZHVsZXMvYmFubmVycy9sYXlvdXRzL19jdGEtYmFubmVyLnNjc3MiLCJfbW9kdWxlcy9iYW5uZXJzL2xheW91dHMvX2ZpbHRlci1zZWFyY2guc2NzcyIsIl9tb2R1bGVzL2Jhbm5lcnMvbGF5b3V0cy9fZ2F0ZXdheS1oZXJvLnNjc3MiLCJfbW9kdWxlcy9faGVhZGluZ3Muc2NzcyIsIl9tb2R1bGVzL2hlYWRpbmdzL19faGVhZGluZ3MtY29yZS5zY3NzIiwiX21vZHVsZXMvaGVhZGluZ3MvX19oZWFkaW5ncy1sYXlvdXRzLnNjc3MiLCJfY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiX2NvbXBvbmVudHMvYnV0dG9ucy9fYnV0dG9ucy1jb3JlLnNjc3MiLCJfY29tcG9uZW50cy9fYy1ibG9jay5zY3NzIiwiX2NvbXBvbmVudHMvYy1ibG9jay9fYy1ibG9jay1jb3JlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtBQUFBO0FBQUE7RUFHSTs7O0FBR0o7RUFDSztJQUNHOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQU1JO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0lBQ0k7OztBQUlSO0VBQ0k7OztBQUdKO0VBQ0k7SUFDSTs7O0FBSVI7RUFDSTs7O0FBR0o7RUFDSTtJQUNJOzs7QUFJUjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtFQUVJOzs7QUFHSjtBQUFBO0FBQUE7RUFHSTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtFQUlJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0FBQUE7RUFFSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUtKO0FBQUE7RUFFSTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtFQUlJO0VBQ0E7RUFDQTtFQUVBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7QUFBQTtFQUVJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUk7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtFQUVJOzs7QUFHSjtBQUFBO0VBRUk7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0VBSUk7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0VBSUk7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtJQUNJOzs7QUFJUjtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQU9JOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUNoWko7QUFBQTtBQUFBO0FBQUE7QUNsQkE7QUFZQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FDWkE7QUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBSUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FDeWdCQTtFRDdpQko7SUFnQlE7Ozs7QUVoQlI7QUNpQ0E7QUFWRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsS0FSTTs7QUFHUDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsS0FSTTs7QUFHUDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsS0FSTTs7QUFHUDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsS0FSTTs7QURkVDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRGllQTtFQ3ZpQko7SUF3RVE7Ozs7QUU5RVI7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUM5Qko7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ3RCSjtBQUVBO0VBQ0k7O0FMMGlCQTtFSzNpQko7SUFHUTs7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7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RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBRUE7O0FBR1I7RUFDSTtFQUdBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7O0FBQ0E7RUFDSTs7QUFNUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdSO0VBQ0k7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTs7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7O0FBS2hCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUVBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFFQTs7QUFHUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7RUFDQTs7QUFDQTtFQUVJO0VBQ0E7RUFDQTs7QUFLaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QXZCOFJaO0V1QmpUUTtJQXFCUTs7O0F2QjRSaEI7RXVCeFJJO0lBRVE7OztBQUtKO0FBQUE7RUFDSTtFQUNBOztBdkIrUVo7RXVCalJRO0FBQUE7SUFJUTtJQUNBOzs7O0FDalNoQjtFQUNJOztBQUNBO0VBQ0k7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTs7QUFDQTtFQUNJOztBQUdSO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTs7QUFJWjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7O0FBRUo7RUFDSTtFQUVBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHUjtFQUlJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7RUFDQTs7QUFDQTtFQUNJOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFJQTtFQUNJOztBQUlaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFNQTtFQUNJO0VBQ0E7RUFDQTs7QUFDQTtFQUNJOztBQUVKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFFSTtFQUNBOztBQUlaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHUjtFQUNJOztBQUdSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQU1SO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0FBQUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBOztBQUNBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7O0FBSVo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJOztBQUVKO0VBQ0k7O0FBR1I7RUFDSTtFQUNBOztBQUNBO0VBQ0k7RUFDQTs7QUFDQTtFQUNJOztBQUdSO0FBQUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBOztBQUNBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTs7QUFjaEI7RUFDSTtFQUNBOztBQUNBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUVBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBRUk7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBSUo7RUFFSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUVJO0VBQ0k7O0FBTXBCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7OztBZmpZaEI7QUFHQTtBZ0JwQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE4SEE7QUFBQTtBQUFBO0FBQUE7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RUFDQTs7QUFDQTtFQUNJO0VBQ0E7O0FBR1I7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7OztBQUtKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBIiwiZmlsZSI6ImNyaXRpY2FsLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIE1vZGlmaWVkIEJvb3RzdHJhcCBSZWJvb3QgdjUuMS4xIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKSAocmVtb3ZlZCBjb2xvcnMgYW5kIGxpbmtzIHVuZGVybGluaW5nKVxyXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDIwIFRoZSBCb290c3RyYXAgQXV0aG9yc1xyXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDIwIFR3aXR0ZXIsIEluYy5cclxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYWluL0xJQ0VOU0UpXHJcbiAqIEZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MsIGxpY2Vuc2VkIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9ibG9iL21hc3Rlci9MSUNFTlNFLm1kKVxyXG4gKi9cclxuXHJcbiosXHJcbio6OmJlZm9yZSxcclxuKjo6YWZ0ZXIge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XHJcbiAgICAgOnJvb3Qge1xyXG4gICAgICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xyXG4gICAgfVxyXG59XHJcblxyXG5ib2R5IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGZvbnQtZmFtaWx5OiBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcclxufVxyXG5cclxuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XHJcbiAgICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmhyIHtcclxuICAgIG1hcmdpbjogMXJlbSAwO1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBvcGFjaXR5OiAwLjI1O1xyXG59XHJcblxyXG5ocjpub3QoW3NpemVdKSB7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxufVxyXG5cclxuaDEsXHJcbmgyLFxyXG5oMyxcclxuaDQsXHJcbmg1LFxyXG5oNiB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbn1cclxuXHJcbmgxIHtcclxuICAgIGZvbnQtc2l6ZTogY2FsYygxLjM3NXJlbSArIDEuNXZ3KTtcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gICAgaDEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG5oMiB7XHJcbiAgICBmb250LXNpemU6IGNhbGMoMS4zMjVyZW0gKyAwLjl2dyk7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuICAgIGgyIHtcclxuICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbmgzIHtcclxuICAgIGZvbnQtc2l6ZTogY2FsYygxLjNyZW0gKyAwLjZ2dyk7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuICAgIGgzIHtcclxuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbmg0IHtcclxuICAgIGZvbnQtc2l6ZTogY2FsYygxLjI3NXJlbSArIDAuM3Z3KTtcclxufVxyXG5cclxucCB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuYWJiclt0aXRsZV0sXHJcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0ge1xyXG4gICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XHJcbiAgICBjdXJzb3I6IGhlbHA7XHJcbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcclxuICAgIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcclxufVxyXG5cclxuYWRkcmVzcyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbn1cclxuXHJcbm9sLFxyXG51bCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG5vbCxcclxudWwsXHJcbmRsIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbm9sIG9sLFxyXG51bCB1bCxcclxub2wgdWwsXHJcbnVsIG9sIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbmR0IHtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbmRkIHtcclxuICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbn1cclxuXHJcbmJsb2NrcXVvdGUge1xyXG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcclxufVxyXG5cclxuYixcclxuc3Ryb25nIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbn1cclxuXHJcbnNtYWxsIHtcclxuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcclxufVxyXG5cclxubWFyayB7XHJcbiAgICBwYWRkaW5nOiAwLjJlbTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2Y4ZTM7XHJcbn1cclxuXHJcbnN1Yixcclxuc3VwIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGZvbnQtc2l6ZTogMC43NWVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbnN1YiB7XHJcbiAgICBib3R0b206IC0uMjVlbTtcclxufVxyXG5cclxuc3VwIHtcclxuICAgIHRvcDogLS41ZW07XHJcbn1cclxuXHJcbmEge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG5hOmhvdmVyIHt9XHJcblxyXG5hOm5vdChbaHJlZl0pOm5vdChbY2xhc3NdKSxcclxuYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSk6aG92ZXIge1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbnByZSxcclxuY29kZSxcclxua2JkLFxyXG5zYW1wIHtcclxuICAgIGZvbnQtZmFtaWx5OiBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbiAgICBkaXJlY3Rpb246IGx0ci8qIHJ0bDppZ25vcmUgKi9cclxuICAgIDtcclxuICAgIHVuaWNvZGUtYmlkaTogYmlkaS1vdmVycmlkZTtcclxufVxyXG5cclxucHJlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcclxufVxyXG5cclxucHJlIGNvZGUge1xyXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XHJcbn1cclxuXHJcbmNvZGUge1xyXG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xyXG4gICAgY29sb3I6ICNkNjMzODQ7XHJcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbn1cclxuXHJcbmE+Y29kZSB7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxufVxyXG5cclxua2JkIHtcclxuICAgIHBhZGRpbmc6IDAuMnJlbSAwLjRyZW07XHJcbiAgICBmb250LXNpemU6IDAuODc1ZW07XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTI1Mjk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjJyZW07XHJcbn1cclxuXHJcbmtiZCBrYmQge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuZmlndXJlIHtcclxuICAgIG1hcmdpbjogMCAwIDFyZW07XHJcbn1cclxuXHJcbmltZyxcclxuc3ZnIHtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbnRhYmxlIHtcclxuICAgIGNhcHRpb24tc2lkZTogYm90dG9tO1xyXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxufVxyXG5cclxuY2FwdGlvbiB7XHJcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcclxuICAgIGNvbG9yOiAjNmM3NTdkO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxudGgge1xyXG4gICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcclxuICAgIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50O1xyXG59XHJcblxyXG50aGVhZCxcclxudGJvZHksXHJcbnRmb290LFxyXG50cixcclxudGQsXHJcbnRoIHtcclxuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItd2lkdGg6IDA7XHJcbn1cclxuXHJcbmxhYmVsIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuYnV0dG9uIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbn1cclxuXHJcbmJ1dHRvbjpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkO1xyXG4gICAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xyXG59XHJcblxyXG5pbnB1dCxcclxuYnV0dG9uLFxyXG5zZWxlY3QsXHJcbm9wdGdyb3VwLFxyXG50ZXh0YXJlYSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG5idXR0b24sXHJcbmlucHV0IHtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG59XHJcblxyXG5idXR0b24sXHJcbnNlbGVjdCB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuW3JvbGU9XCJidXR0b25cIl0ge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5zZWxlY3Qge1xyXG4gICAgd29yZC13cmFwOiBub3JtYWw7XHJcbn1cclxuXHJcbltsaXN0XTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbmJ1dHRvbixcclxuW3R5cGU9XCJidXR0b25cIl0sXHJcblt0eXBlPVwicmVzZXRcIl0sXHJcblt0eXBlPVwic3VibWl0XCJdIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xyXG59XHJcblxyXG5idXR0b246bm90KDpkaXNhYmxlZCksXHJcblt0eXBlPVwiYnV0dG9uXCJdOm5vdCg6ZGlzYWJsZWQpLFxyXG5bdHlwZT1cInJlc2V0XCJdOm5vdCg6ZGlzYWJsZWQpLFxyXG5bdHlwZT1cInN1Ym1pdFwiXTpub3QoOmRpc2FibGVkKSB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbjo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG59XHJcblxyXG50ZXh0YXJlYSB7XHJcbiAgICByZXNpemU6IHZlcnRpY2FsO1xyXG59XHJcblxyXG5maWVsZHNldCB7XHJcbiAgICBtaW4td2lkdGg6IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG5sZWdlbmQge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiAgICBmb250LXNpemU6IGNhbGMoMS4yNzVyZW0gKyAwLjN2dyk7XHJcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuICAgIGxlZ2VuZCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbmxlZ2VuZCsqIHtcclxuICAgIGNsZWFyOiBsZWZ0O1xyXG59XHJcblxyXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1maWVsZHMtd3JhcHBlcixcclxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtdGV4dCxcclxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLFxyXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxkLFxyXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQsXHJcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxkLFxyXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxkIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcblt0eXBlPVwic2VhcmNoXCJdIHtcclxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XHJcbn1cclxuXHJcbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbn1cclxuXHJcbjo6LXdlYmtpdC1jb2xvci1zd2F0Y2gtd3JhcHBlciB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcclxuICAgIGZvbnQ6IGluaGVyaXQ7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcclxufVxyXG5cclxub3V0cHV0IHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuaWZyYW1lIHtcclxuICAgIGJvcmRlcjogMDtcclxufVxyXG5cclxuc3VtbWFyeSB7XHJcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbnByb2dyZXNzIHtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuW2hpZGRlbl0ge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59IiwiQG1peGluIGFzcGVjdC1yYXRpbygkd2lkdGgsICRoZWlnaHQpIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0JjpiZWZvcmV7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGNvbnRlbnQ6IFwiIFwiO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRwYWRkaW5nLXRvcDogKCRoZWlnaHQgLyAkd2lkdGgpICogMTAwJTtcclxuXHR9XHJcblxyXG5cdD4gLmNvbnRlbnQge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdH1cclxufVxyXG5cclxuLypcclxuLnNpeHRlZW4tbmluZSB7XHJcblx0QGluY2x1ZGUgYXNwZWN0LXJhdGlvKDE2LDkpO1xyXG59Ki9cclxuIiwiLyogTWVkaWEgUXVlcmllcyBCcmVha3BvaW50cyAqL1xyXG5cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgICAgICAgJ3Bob25lJzogMzIwcHgsXHJcbiAgICAgICAgJ3Bob25lLWwnOiA1NzVweCxcclxuICAgICAgICAndGFibGV0JzogNzY3cHgsXHJcbiAgICAgICAgJ2Rlc2t0b3AnOiAxMTEycHgsXHJcbiAgICAgICAgJ2Rlc2t0b3AtbSc6IDEyODBweCxcclxuICAgICAgICAnZGVza3RvcC1sJzogMTQ0MHB4LFxyXG4gICAgICAgICdkZXNrdG9wLXhsJzogMTY2MHB4XHJcbik7XHJcblxyXG4vKipcclxuKiAqKioqKioqKioqKioqKioqKioqXHJcbiogIFVzYWdlIGV4YW1wbGVzXHJcbiogKioqKioqKioqKioqKioqKioqKlxyXG4qXHJcbi8vXHJcbi8vICB1c2UgPD1cclxuKiAgIEFMV0FZUyB1c2UgPD0gKCAnPCcgd2l0aCAnPScgY2hhcmFjdGVyKSBmb3IgYWxsIGJyZWFrcG9pbnRzXHJcbiogICB3aGVuIHNldHRpbmcgbWF4LXdpZHRoLCBleDogbWF4LXdpZHRoOiA3NjdweCxcclxuKlxyXG4qICAgc28gbWF4LXdpZHRoOiAxNDQwcHggID09IG1lZGlhKCc8PWRlc2t0b3AtbCcpXHJcbipcclxuKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qXHJcbi8vICB1c2UgPlxyXG4qICAgQUxXQVlTIHVzZSBvbmx5ID4gYXMgc2luZ2xlIGNoYXJhY3RlciBmb3IgYWxsIGJyZWFrcG9pbnRzXHJcbiogICB3aGVuIHNldHRpbmcgbWluLXdpZHRoLCBleDogbWluLXdpZHRoOiA3NjhweCxcclxuKlxyXG4qICAgc28gbWluLXdpZHRoOiAxMDI1cHggID09IG1lZGlhKCc+ZGVza3RvcCcpXHJcbipcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qXHJcbiojIyBFWEFNUExFOlxyXG4qXHJcbiogICAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweClcclxuKiAgID1cclxuKiAgIG1lZGlhICgnPnRhYmxldCcpLCAoJzw9ZGVza3RvcCcpXHJcbipcclxuLy9cclxuXHJcbiAqL1xyXG4iLCI6cm9vdCB7XHJcbiAgICAvKiBMYXlvdXQgU2V0dGluZ3MgKi9cclxuICAgIC0tcGhvbmUtd2lkdGg6IDU3NnB4O1xyXG4gICAgLS10YWJsZXQtd2lkdGg6IDc2OHB4O1xyXG4gICAgLS1kZXNrdG9wLXdpZHRoOiAxMTEycHg7XHJcbiAgICAtLWRlc2t0b3Atd2lkdGgtc206IDEwMjRweDtcclxuICAgIC0tZGVza3RvcC13aWR0aC1tOiAxMjgwcHg7XHJcbiAgICAtLWRlc2t0b3Atd2lkdGgtbDogMTQ0MHB4O1xyXG4gICAgLS1kZXNrdG9wLXdpZHRoLXhsOiAxNjYwcHg7XHJcbiAgICAtLWNvbnRlbnQtd2lkdGg6IHZhcigtLWRlc2t0b3Atd2lkdGgtbCk7IC8vIERlZmF1bHQgY29udGVudCB3aWR0aCAoMTI4MClcclxuICAgIC0tYmxvZy13aWR0aDogNzYwcHg7XHJcbiAgICAtLXBhZ2UtZ3V0dGVyOiAyMHB4O1xyXG4gICAgLS1ncmlkLWd1dHRlcjogMjRweDtcclxuICAgIC0tdmVydGljYWwtZ2FwOiA4dm1pbjsgLy8gdmVydGljYWwgc3BhY2UgYmV0d2VlbiBwYWdlIHNlY3Rpb25zICguZ2FwLXRvcCwgLmdhcC10b3AtcywgLmdhcC10b3AtbCwgLmdhcC1ib3QsIC5nYXAtYm90LXMsIC5nYXAtYm90LWwpXHJcbiAgICAtLWJhc2UtdHJhbnNpdGlvbjogLjNzOyAvLyBkZWZhdWx0IHRyYW5zaXRpb24gZm9yIGhvdmVyc1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9ZGVza3RvcCcpIHtcclxuICAgICAgICAtLXZlcnRpY2FsLWdhcDogMzVweDtcclxuICAgIH1cclxuICAgIC8qIENvbG9ycyAqL1xyXG4gICAgLS1wcmltYXJ5LWNvbG9yMTogIzIxM0I4QztcclxuICAgIC0tcHJpbWFyeS1jb2xvcjI6ICNGNURENTc7XHJcbiAgICAtLXByaW1hcnktY29sb3IzOiAjZmZmO1xyXG4gICAgLS1zZWNvbmRhcnktY29sb3IxOiAjRjVGQUZFO1xyXG4gICAgLS1zZWNvbmRhcnktY29sb3IyOiAjRDJEOEUwO1xyXG4gICAgLS1zZWNvbmRhcnktY29sb3IzOiAjMjEzQjhDO1xyXG4gICAgLS1zZWNvbmRhcnktY29sb3I0OiAjNUUzMjhBO1xyXG4gICAgLS1zZWNvbmRhcnktY29sb3I1OiAjMjQ1NUM5O1xyXG4gICAgLS1ib2R5LWJnOiAjZmZmO1xyXG4gICAgLS1ib2R5LWJnLWFsdDogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgLS1ib2R5LXRleHQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjMpO1xyXG4gICAgLS1ib2R5LXRleHQtY29sb3ItYWx0OiB2YXIoLS1wcmltYXJ5LWNvbG9yMyk7IC8vIGludmVydGVkIGNvbG9yXHJcbiAgICAtLXRpdGxlcy1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgLS10aXRsZXMtY29sb3ItYWx0OiB2YXIoLS1wcmltYXJ5LWNvbG9yMyk7IC8vIGludmVydGVkIGNvbG9yXHJcbiAgICAtLXRpdGxlcy1jb2xvci1hY2NlbnQ6IGluaGVyaXQ7XHJcbiAgICAtLXByaW1hcnktbGluay1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMyk7XHJcbiAgICAtLXByaW1hcnktbGluay1jb2xvci1hbHQ6IHZhcigtLXNlY29uZGFyeS1jb2xvcjIpOyAvLyBpbnZlcnRlZCBjb2xvclxyXG4gICAgLS1ib3JkZXItY29sb3I6ICNERUUyRTg7XHJcbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cclxuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxyXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cclxuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcclxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxyXG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxyXG4vL1xyXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xyXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxyXG4vL1xyXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXHJcbi8vXHJcbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxyXG4vLyAgICAgICAgICAgICAgICAgIEh1Z28gR2lyYXVkZWwgKEBodWdvZ2lyYXVkZWwpXHJcbi8vXHJcbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcclxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XHJcbi8vL1xyXG4kYnJlYWtwb2ludHM6IChcclxuICAncGhvbmUnOiAzMjBweCxcclxuICAndGFibGV0JzogNzY4cHgsXHJcbiAgJ2Rlc2t0b3AnOiAxMDI0cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLy9cclxuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcclxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcclxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcclxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xyXG4vLy8gICk7XHJcbi8vL1xyXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcclxuICAnc2NyZWVuJzogJ3NjcmVlbicsXHJcbiAgJ3ByaW50JzogJ3ByaW50JyxcclxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxyXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcclxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxyXG4gICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXHJcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cclxuLy8vXHJcbiR1bml0LWludGVydmFsczogKFxyXG4gICdweCc6IDEsXHJcbiAgJ2VtJzogMC4wMSxcclxuICAncmVtJzogMC4xLFxyXG4gICcnOiAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xyXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3JcclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXHJcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gICAuZm9vIHtcclxuLy8vICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XHJcblxyXG4vLy8vXHJcbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXHJcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxyXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcclxuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xyXG4gICAgQGVycm9yICRtZXNzYWdlO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHdhcm4gJG1lc3NhZ2U7XHJcbiAgICAkXzogbm9vcCgpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbWVzc2FnZTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxyXG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXHJcbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXHJcbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XHJcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xyXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cclxuLy8vXHJcbkBmdW5jdGlvbiBub29wKCkge31cclxuXHJcbi8vL1xyXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XHJcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XHJcblxyXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xyXG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XHJcbiAgfVxyXG5cclxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcclxuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XHJcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XHJcblxyXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xyXG4gICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG4gICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiB0cnVlO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBQYXJzaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XHJcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XHJcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xyXG4gICRkaW1lbnNpb246ICd3aWR0aCc7XHJcblxyXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xyXG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRkaW1lbnNpb247XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xyXG4gIEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcclxuXHJcbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XHJcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcclxuICB9XHJcblxyXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XHJcblxyXG4gIEBpZiBub3QgJGludGVydmFsIHtcclxuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cclxuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXHJcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XHJcbiAgfVxyXG5cclxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XHJcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcclxuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xyXG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxyXG4vLy9cclxuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcclxuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXHJcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcclxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xyXG4gIH1cclxuXHJcbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XHJcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblxyXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcclxuLy8vXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3RcclxuLy8vXHJcbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XHJcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xyXG4gICAgQHJldHVybiAoKTtcclxuICB9XHJcblxyXG4gICRyZXN1bHQ6ICgpO1xyXG5cclxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XHJcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcmVzdWx0O1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XHJcbi8vL1xyXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xyXG4gICAgQHJldHVybiAkdmFsdWU7XHJcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xyXG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcclxuICB9XHJcblxyXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xyXG4gICRyZXN1bHQ6IDA7XHJcbiAgJGRpZ2l0czogMDtcclxuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XHJcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xyXG5cclxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XHJcbiAgICAkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xyXG4gIH1cclxuXHJcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xyXG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcclxuXHJcbiAgICBAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XHJcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcclxuICAgICAgJGRpZ2l0czogMTtcclxuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcclxuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xyXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxyXG4vLy9cclxuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XHJcbiAgJHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcclxuXHJcbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xyXG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXHJcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXHJcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcclxuLy8vIGZvciBpbnN0YW5jZS5cclxuLy8vXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2BcclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcclxuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xyXG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcclxuXHJcbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XHJcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XHJcblxyXG4gIEBjb250ZW50O1xyXG5cclxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XHJcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cclxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XHJcbi8vL1xyXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcclxuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXHJcbiAgICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XHJcbiAgICBAY29udGVudDtcclxuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcclxuICAgIEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcclxuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLyogVHlwb2dyYXBoeSAqL1xyXG5cclxuQGltcG9ydCAnLi4vbWl4aW5zL2ZvbnQtZmFjZSc7XHJcbi8vIEZvciBnb29nbGUgZm9udHMgcGxlYXNlIHVzZSBodHRwczovL2dvb2dsZS13ZWJmb250cy1oZWxwZXIuaGVyb2t1YXBwLmNvbS9mb250cyBpZiBwb3NzaWJsZVxyXG5AaW5jbHVkZSBhZGRGb250RmFjZSgnaW50ZXInLCAnLi4vLi4vZm9udHMvaW50ZXInLCAoJ3dvZmYnLCAnd29mZjInKSwgKCBjcmVhdGVGb250TWFwKCdpbnRlci12MTEtbGF0aW4tcmVndWxhcicsIDQwMCksIGNyZWF0ZUZvbnRNYXAoJ2ludGVyLXYxMS1sYXRpbi02MDAnLCA2MDApLCBjcmVhdGVGb250TWFwKCdpbnRlci12MTEtbGF0aW4tODAwJywgODAwKSkpO1xyXG5AaW5jbHVkZSBhZGRGb250RmFjZSgncm9ib3RvJywgJy4uLy4uL2ZvbnRzL3JvYm90bycsICgnd29mZicsICd3b2ZmMicpLCAoIGNyZWF0ZUZvbnRNYXAoJ3JvYm90by12MzAtbGF0aW4tNTAwJywgNTAwKSwgKSk7XHJcbjpyb290IHtcclxuICAgIC0tZm9udC1mYW1pbHktcHJpbWFyeTogXCJpbnRlclwiLCBzYW5zLXNlcmlmO1xyXG4gICAgLS1mb250LWZhbWlseS1zZWNvbmRhcnk6IFwiaW50ZXJcIiwgc2Fucy1zZXJpZjtcclxuICAgIC0tZm9udC1mYW1pbHktc2Vjb25kYXJ5LTI6IFwicm9ib3RvXCIsIHNhbnMtc2VyaWY7XHJcbiAgICAtLWJhc2UtdGV4dC1zaXplOiBjbGFtcCgxNHB4LCAxLjA1dncsIDJyZW0pO1xyXG4gICAgLS1iYXNlLXRleHQtZm9udDogdmFyKC0tZm9udC1mYW1pbHktcHJpbWFyeSk7XHJcbiAgICAtLWJhc2UtdGV4dC1saW5lLWhlaWdodDogMS41O1xyXG4gICAgLS1iYXNlLXRleHQtZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIC0tbGFyZ2VyLXRleHQtc2l6ZTogMi42cmVtO1xyXG4gICAgLS1sYXJnZXItdGV4dC1mb250LXdlaWdodDogNDAwO1xyXG4gICAgLS1zbWFsbGVyLXRleHQtc2l6ZTogY2xhbXAoMTJweCwgMC44NHZ3LCAxLjZyZW0pO1xyXG4gICAgLS1zbWFsbGVyLXRleHQtZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIC0tYmxvZy10ZXh0LXNpemU6IGNsYW1wKDEuNnJlbSwgMS4wNXZ3LCAycmVtKTtcclxuICAgIC0tYmxvZy10ZXh0LWZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAtLWgtY2xhbXAtZm9ybXVsYTogM3Z3ICsgMS44cmVtOyAvLyBoZWFkaW5ncyBzaXplIHRyYW5zZm9ybWF0aW9uXHJcbiAgICAtLWgxLWZvbnQtc2l6ZTogNi44cmVtO1xyXG4gICAgLS1oMS1mb250LXNpemUtbW9iaWxlOiAzMHB4O1xyXG4gICAgLS1oMS1saW5lLWhlaWdodDogMS4xO1xyXG4gICAgLS1oMS1sZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcclxuICAgIC0taDEtbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIC0taDEtZm9udDogdmFyKC0tZm9udC1mYW1pbHktcHJpbWFyeSk7XHJcbiAgICAtLWgxLWZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICAtLWgxLXRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgLS1oMS1zdWJ0aXRsZS1mb250LXNpemU6IDIuNnJlbTtcclxuICAgIC0taDEtc3VidGl0bGUtZm9udC1zaXplLW1vYmlsZTogMThweDtcclxuICAgIC0taDItZm9udC1zaXplOiA1LjRyZW07XHJcbiAgICAtLWgyLWZvbnQtc2l6ZS1tb2JpbGU6IDI1cHg7XHJcbiAgICAtLWgyLWxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAtLWgyLWxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xyXG4gICAgLS1oMi1tYXJnaW4tYm90dG9tOiAuNWVtO1xyXG4gICAgLS1oMi1mb250OiB2YXIoLS1mb250LWZhbWlseS1zZWNvbmRhcnkpO1xyXG4gICAgLS1oMi1mb250LXdlaWdodDogODAwO1xyXG4gICAgLS1oMi10ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIC0taDItc3VidGl0bGUtZm9udC1zaXplOiAyLjJyZW07XHJcbiAgICAtLWgyLXN1YnRpdGxlLWZvbnQtc2l6ZS1tb2JpbGU6IDE2cHg7XHJcbiAgICAtLWgzLWZvbnQtc2l6ZTogM3JlbTtcclxuICAgIC0taDMtZm9udC1zaXplLW1vYmlsZTogMThweDtcclxuICAgIC0taDMtbGluZS1oZWlnaHQ6IDEuMztcclxuICAgIC0taDMtbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICAtLWgzLW1hcmdpbi1ib3R0b206IC41ZW07XHJcbiAgICAtLWgzLWZvbnQ6IHZhcigtLWZvbnQtZmFtaWx5LXNlY29uZGFyeSk7XHJcbiAgICAtLWgzLWZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICAtLWgzLXRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgLS1oNC1mb250LXNpemU6IDIuMXJlbTtcclxuICAgIC0taDQtZm9udC1zaXplLW1vYmlsZTogMThweDtcclxuICAgIC0taDQtbGluZS1oZWlnaHQ6IDEuMztcclxuICAgIC0taDQtbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XHJcbiAgICAtLWg0LW1hcmdpbi1ib3R0b206IC41ZW07XHJcbiAgICAtLWg0LWZvbnQ6IHZhcigtLWZvbnQtZmFtaWx5LXNlY29uZGFyeSk7XHJcbiAgICAtLWg0LWZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAtLWg0LXRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgLS1wcmV0aXRsZS1jb2xvcjogY3VycmVudENvbG9yO1xyXG4gICAgLS1wcmV0aXRsZS1jb2xvci1hbHQ6IGN1cnJlbnRDb2xvcjtcclxuICAgIC0tcHJldGl0bGUtZm9udC1zaXplOiAyLjJyZW07XHJcbiAgICAtLXByZXRpdGxlLWZvbnQtc2l6ZS1tb2JpbGU6IDIwcHg7XHJcbiAgICAtLXByZXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAtLXByZXRpdGxlLWxldHRlci1zcGFjaW5nOiAwO1xyXG4gICAgLS1wcmV0aXRsZS1tYXJnaW4tYm90dG9tOiAuNWVtO1xyXG4gICAgLS1wcmV0aXRsZS1mb250OiB2YXIoLS1mb250LWZhbWlseS1wcmltYXJ5KTtcclxuICAgIC0tcHJldGl0bGUtZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIC0tcHJldGl0bGUtdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAtLXN1YnRpdGxlLWNvbG9yOiBjdXJyZW50Q29sb3I7XHJcbiAgICAtLXN1YnRpdGxlLWNvbG9yLWFsdDogY3VycmVudENvbG9yO1xyXG4gICAgLS1zdWJ0aXRsZS1mb250LXNpemU6IDIuNHJlbTtcclxuICAgIC0tc3VidGl0bGUtZm9udC1zaXplLW1vYmlsZTogMTZweDtcclxuICAgIC0tc3VidGl0bGUtbGluZS1oZWlnaHQ6IDEuNjtcclxuICAgIC0tc3VidGl0bGUtbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICAtLXN1YnRpdGxlLW1hcmdpbi1ib3R0b206IDFlbTtcclxuICAgIC0tc3VidGl0bGUtZm9udDogdmFyKC0tZm9udC1mYW1pbHktcHJpbWFyeSk7XHJcbiAgICAtLXN1YnRpdGxlLWZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAtLXN1YnRpdGxlLXRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XHJcbiAgICAgICAgLS1oMi1tYXJnaW4tYm90dG9tOiAxLjJlbTtcclxuICAgIH1cclxufSIsIkBmdW5jdGlvbiBjcmVhdGVGb250TWFwKCRmaWxlLCAkd2VpZ2h0Om5vcm1hbCwgJHN0eWxlOm5vcm1hbCkge1xyXG5cdCRkZWY6IChcclxuXHRcdFx0ZmlsZTogJGZpbGUsXHJcblx0XHRcdHdlaWdodDogJHdlaWdodCxcclxuXHRcdFx0c3R5bGU6ICRzdHlsZVxyXG5cdCk7XHJcblx0QHJldHVybiAkZGVmO1xyXG59XHJcblxyXG5AbWl4aW4gYWRkRm9udEZhY2UoJGZvbnRGYW1pbHksICRiYXNlUGF0aCwgJGZvcm1hdHMsICRkZWZMaXN0KSB7XHJcblx0QGVhY2ggJGRlZiBpbiAkZGVmTGlzdCB7XHJcblx0XHQkc3JjOiAoKTtcclxuXHRcdEBlYWNoICRmb3JtYXQgaW4gJGZvcm1hdHMge1xyXG5cdFx0XHQkZXh0OiAkZm9ybWF0O1xyXG5cclxuXHRcdFx0QGlmICgkZm9ybWF0ID09ICd0cnVldHlwZScpIHtcclxuXHRcdFx0XHQkZXh0OiAndHRmJztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0JHVybDogdXJsKCcjeyRiYXNlUGF0aH0vI3ttYXBfZ2V0KCRkZWYsICdmaWxlJyl9LiN7JGV4dH0nKSBmb3JtYXQocXVvdGUoJGZvcm1hdCkpO1xyXG5cdFx0XHQkc3JjOiBhcHBlbmQoJHNyYywgJHVybCwgY29tbWEpO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBmb250LWZhY2Uge1xyXG5cdFx0XHRmb250LWZhbWlseTogcXVvdGUoJGZvbnRGYW1pbHkpO1xyXG5cdFx0XHRmb250LXdlaWdodDogbWFwX2dldCgkZGVmLCAnd2VpZ2h0Jyk7XHJcblx0XHRcdGZvbnQtc3R5bGU6IG1hcF9nZXQoJGRlZiwgJ3N0eWxlJyk7XHJcblx0XHRcdGZvbnQtZGlzcGxheTogc3dhcDtcclxuXHRcdFx0c3JjOiAkc3JjO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLyogTWl4aW4gb3JpZ2luOiBodHRwczovL21hcmMtZWQtcmFmZmFsbGkuZ2l0aHViLmlvLzIwMTcvMTAvMTQvc2Fzcy1mb250LWZhY2UuaHRtbCAqLyIsIi8qIEJ1dHRvbnMqL1xyXG5cclxuOnJvb3Qge1xyXG4gICAgLS1idG4tZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LXByaW1hcnkpO1xyXG4gICAgLS1idG4tZm9udC1zaXplOiBjbGFtcCgxNHB4LCAwLjk1dncsIDEuOHJlbSk7XHJcbiAgICAtLWJ0bi1mb250LXdlaWdodDogNjAwO1xyXG4gICAgLS1idG4tdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAtLWJ0bi1wYWRkaW5nLXRvcC1ib3R0b206IDEzcHg7XHJcbiAgICAtLWJ0bi1wYWRkaW5nLWxlZnQtcmlnaHQ6IDMwcHg7XHJcbiAgICAtLWJ0bi1ib3JkZXItcmFkaXVzOiAzNXB4O1xyXG4gICAgLS1idG4tcHJpbWFyeS1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMyk7XHJcbiAgICAtLWJ0bi1wcmltYXJ5LWNvbG9yLWhvdmVyOiB2YXIoLS1zZWNvbmRhcnktY29sb3IzKTtcclxuICAgIC0tYnRuLXByaW1hcnktYmc6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgIC0tYnRuLXByaW1hcnktYmctaG92ZXI6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgIC0tYnRuLXByaW1hcnktYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgICAtLWJ0bi1wcmltYXJ5LWJvcmRlci1jb2xvci1ob3ZlcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMyk7XHJcbiAgICAtLWJ0bi1wcmltYXJ5LWJvcmRlcjogMDtcclxuICAgIC0tYnRuLXByaW1hcnktc2hhZG93OiBub25lO1xyXG4gICAgLS1idG4tc2Vjb25kYXJ5LWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IzKTtcclxuICAgIC0tYnRuLXNlY29uZGFyeS1jb2xvci1ob3ZlcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgLS1wcmltYXJ5LWNvbG9yMzogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMSk7XHJcbiAgICAtLWJ0bi1zZWNvbmRhcnktYmc6ICNmZmY7XHJcbiAgICAtLWJ0bi1zZWNvbmRhcnktYmctaG92ZXI6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgIC0tYnRuLXNlY29uZGFyeS1ib3JkZXItY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjIpO1xyXG4gICAgLS1idG4tc2Vjb25kYXJ5LWJvcmRlci1jb2xvci1ob3ZlcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMik7XHJcbiAgICAtLWJ0bi1zZWNvbmRhcnktYm9yZGVyOiAycHg7XHJcbiAgICAtLWJ0bi1zZWNvbmRhcnktc2hhZG93OiBub25lO1xyXG4gICAgLS1idG4tbGluay1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgLS1idG4tbGluay1jb2xvci1ob3ZlcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yNSk7XHJcbiAgICAtLWxpbmstaWNvbi1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xyXG4gICAgLS1idXR0b24tZmxleC1kaXJlY3Rpb246IHJvdztcclxufSIsIi8qIEZvcm1zICovXHJcblxyXG46cm9vdCB7XHJcbiAgICAtLWxhYmVsLWZvbnQtc2l6ZTogY2xhbXAoMS4zcmVtLCAwLjg0dncsIDEuNnJlbSk7XHJcbiAgICAtLWxhYmVsLWZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAtLWxhYmVsLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgICAtLWlucHV0LWJvcmRlci13aWR0aDogMXB4O1xyXG4gICAgLS1pbnB1dC1ib3JkZXItcmFkaXVzOiAxMjBweDtcclxuICAgIC0taW5wdXQtcGFkZGluZy10b3AtYm90dG9tOiAxMHB4O1xyXG4gICAgLS1pbnB1dC1wYWRkaW5nLWxlZnQtcmlnaHQ6IDI1cHg7XHJcbiAgICAtLWlucHV0LWZvbnQtc2l6ZTogY2xhbXAoMS4zcmVtLCAwLjg0dncsIDEuNnJlbSk7XHJcbiAgICAtLWlucHV0LWZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAtLWlucHV0LWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgICAtLWlucHV0LWJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAtLWlucHV0LWJvcmRlci1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMik7XHJcbiAgICAtLWZvcm0tcm93LW1hcmdpbi10b3AtYm90dG9tOiAxNXB4O1xyXG4gICAgLS1mb3JtLXJvdy1tYXJnaW4tbGVmdC1yaWdodDogMHB4O1xyXG4gICAgLS1tZXNzYWdlLWZvbnQtc2l6ZTogY2xhbXAoMS4zcmVtLCAwLjg0dncsIDEuNnJlbSk7XHJcbiAgICAtLW1lc3NhZ2UtbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgIC0tbWVzc2FnZS1mb250LXdlaWdodDogNDAwO1xyXG4gICAgLS12YWxpZGF0aW9uLWVycm9yLWNvbG9yOiAjZGE3NDdiO1xyXG4gICAgLS12YWxpZGF0aW9uLXN1Y2Nlc3MtY29sb3I6ICM1MGIyYTA7XHJcbiAgICAtLXZhbGlkYXRpb24tbm90aWNlLWNvbG9yOiAjZmZiNzAwO1xyXG59IiwiLyogSGVhZGVyICovXHJcblxyXG46cm9vdCB7XHJcbiAgICAtLWhlYWRlci1oaWdodDogMTQ1cHg7IC8vIGhlYWRlciBoZWlnaHRcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgLS1oZWFkZXItaGlnaHQ6IDIwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zaXRlLWhlYWRlciB7XHJcbiAgICAtLWhlYWRlci1zdGlja3ktdHlwZTogZml4ZWQ7XHJcbiAgICAtLWhlYWRlci1zdGlja3ktYmc6ICNmZmY7XHJcbiAgICAtLWhlYWRlci10b3AtYmc6IHRyYW5zcGFyZW50O1xyXG4gICAgLS1oZWFkZXItdG9wLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IzKTtcclxuICAgIC0taGVhZGVyLXRvcC1jb2xvci1ob3ZlcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yNCk7XHJcbiAgICAtLWhlYWRlci10b3Atc2l6ZTogY2xhbXAoMTJweCwgMC44NXZ3LCAxNnB4KTtcclxuICAgIC0taGVhZGVyLXRvcC12ZXJ0aWNhbC1wYWRkaW5nOiBjbGFtcCg1cHgsIDAuNjd2dywgMTNweCk7XHJcbiAgICAtLWhlYWRlci10b3AtZ2FwLWJldHdlZW4taXRlbXM6IDEycHg7XHJcbiAgICAtLWhlYWRlci1tYWluLWJnOiAjZmZmO1xyXG4gICAgLS1oZWFkZXItbWFpbi1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMyk7XHJcbiAgICAtLWhlYWRlci1tYWluLWNvbG9yLWhvdmVyOiB2YXIoLS1zZWNvbmRhcnktY29sb3I0KTtcclxuICAgIC0taGVhZGVyLW1haW4tZm9udC1zaXplOiBjbGFtcCgxMnB4LCAwLjg1dncsIDE2cHgpO1xyXG4gICAgLS1oZWFkZXItbWFpbi1mb250LXdlaWdodDogNjAwO1xyXG4gICAgLS1oZWFkZXItbWFpbi10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgLS1oZWFkZXItbWFpbi1nYXAtYmV0d2Vlbi1pdGVtczogMjBweDtcclxuICAgIC0taGVhZGVyLW1haW4tdmVydGljYWwtcGFkZGluZzogMDtcclxuICAgIC0taGVhZGVyLW1haW4tbmF2LWhlaWdodDogY2xhbXAoNDBweCwgMy4xMnZ3LCA2MHB4KTtcclxuICAgIC0taGVhZGVyLWxvZ28td2lkdGg6IDEwMCU7XHJcbiAgICAtLWhlYWRlci1sb2dvLWhlaWdodDogNjRweDtcclxuICAgIC0tZHJvcGRvd24tYmc6ICNmZmY7XHJcbiAgICAtLWRyb3Bkb3duLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgICAtLWRyb3Bkb3duLWNvbG9yLWFjdGl2ZTogdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xyXG4gICAgLS1kcm9wZG93bi1mb250LXNpemU6IGNsYW1wKDE0cHgsIDAuODR2dywgMTZweCk7XHJcbiAgICAtLWRyb3Bkb3duLWZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAtLWRyb3Bkb3duLXBhZGRpbmc6IDQwcHggMjVweCAyMHB4O1xyXG4gICAgLS1kcm9wZG93bi13aWR0aDogMjc2cHg7XHJcbiAgICAtLWJ1cmdlci13aWR0aDogMThweDtcclxuICAgIC0tYnVyZ2VyLXNlZ21lbnQtaGlnaHQ6IDNweDtcclxuICAgIC0tYnVyZ2VyLXNlZ21lbnQtZ2FwOiA3cHg7XHJcbiAgICAtLWJ1cmdlci1zZWdtZW50LXJhZGl1czogNXB4O1xyXG4gICAgLS1idXJnZXItY29sb3I6ICNmZmY7XHJcbiAgICAtLWJ1cmdlci1iZzogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9ZGVza3RvcCcpIHtcclxuICAgICAgICAtLWhlYWRlci1oaWdodDogNTVweDtcclxuICAgICAgICAtLWhlYWRlci1tb2JpbGUtYmc6ICNmZmY7XHJcbiAgICAgICAgLS1oZWFkZXItbWFpbi1jb2xvci1ob3ZlcjogdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xyXG4gICAgICAgIC0tbGluay1zaXplLWwxOiAxNHB4O1xyXG4gICAgICAgIC0tbGluay1zaXplLWwyOiAxNHB4O1xyXG4gICAgICAgIC0tbGluay1jb2xvcjogI2ZmZjtcclxuICAgICAgICAtLWxpbmstZ2FwOiAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2l0ZS1zZWFyY2gge1xyXG4gICAgLS1zZWFyY2gtc2l6ZTogY2xhbXAoMjRweCwgMS41N3Z3LCAyOHB4KTtcclxuICAgIC0tc2VhcmNoLWJ0bi1iZzogdHJhbnNwYXJlbnQ7XHJcbiAgICAtLXNlYXJjaC1idG4tcmFkaXVzOiA0cHg7XHJcbiAgICAtLXNlYXJjaC1oZWlnaHQ6IDMwcHg7XHJcbiAgICAtLXNlYXJjaC13aWR0aDogMjUwcHg7XHJcbiAgICAtLXNlYXJjaC1yYWRpdXM6IDE1cHg7XHJcbiAgICAtLXNlYXJjaC1vdXRlci1iZzogI2ZmZjtcclxuICAgIC0tc2VhcmNoLW91dGVyLWdhcDogNXB4O1xyXG4gICAgLS1zZWFyY2gtb3V0ZXItYm9yZGVyOiB2YXIoLS1zZWNvbmRhcnktY29sb3IyKTtcclxufSIsIi8qIEZvb3RlciAqL1xyXG5cclxuLnNpdGUtZm9vdGVyIHtcclxuICAgIC0tZm9vdGVyLWJnLWNvbG9yOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDI0NSwgMjUwLCAyNTQsIDApIDAlLCAjRjVGQUZFIDEwMCUpO1xyXG4gICAgLS1mb290ZXItY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjMpO1xyXG4gICAgLS1mb290ZXItdG9wLXBhZGRpbmc6IGNsYW1wKDUwcHgsIDZ2dywgMTE1cHgpIDA7XHJcbiAgICAtLWZvb3Rlci10b3AtZm9udC1zaXplOiAxLjZyZW07XHJcbiAgICAtLWZvb3Rlci10b3AtbmF2LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgLS1mb290ZXItYm90dG9tLWJnLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IzKTtcclxuICAgIC0tZm9vdGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjMpO1xyXG4gICAgLS1mb290ZXItYm90dG9tLXBhZGRpbmc6IDEuMmVtO1xyXG4gICAgLS1mb290ZXItYm90dG9tLWZvbnQtc2l6ZTogMTRweDtcclxuICAgIC0tZm9vdGVyLXRvcC1ib3JkZXI6IHRyYW5zcGFyZW50O1xyXG4gICAgLS1mb290ZXItdG9wLWJvcmRlci1zaXplOiAwO1xyXG4gICAgLS1mb290ZXItbGluay1nYXBfdjogLjVlbTtcclxuICAgIC0tZm9vdGVyLWxpbmstZ2FwX2g6IDA7XHJcbiAgICAtLWZvb3Rlci1sb2dvLWhlaWdodDogNjBweDtcclxuICAgIC0tZm9vdGVyLWxvZ28td2lkdGg6IDMwNXB4O1xyXG4gICAgLS1mb290ZXItdGl0bGUtc2l6ZTogMi4ycmVtO1xyXG4gICAgLS1mb290ZXItdGl0bGUtd2VpZ2h0OiA3MDA7XHJcbiAgICAtLWZvb3Rlci10aXRsZS10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgLS1mb290ZXItdG9wLXBhZGRpbmc6IDMwcHggMDtcclxuICAgICAgICAtLWZvb3Rlci1ib3R0b20tZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIC0tZm9vdGVyLWJvdHRvbS1wYWRkaW5nOiAwLjVlbTtcclxuICAgIH1cclxufSIsIjpyb290IHtcclxuICAgIC0tbC1ibG9jay1nYXAtdmVydGljYWw6IDE1cHg7XHJcbiAgICAtLWwtYmxvY2stZ2FwLWhvcml6b250YWw6IDE2cHg7XHJcbiAgICAtLWMtYmxvY2stdGl0bGUtc2l6ZTogY2xhbXAodmFyKC0taDQtZm9udC1zaXplLW1vYmlsZSksIDEuMXZ3LCB2YXIoLS1oNC1mb250LXNpemUpKTtcclxuICAgIC0tYy1ibG9jay10aXRsZS13ZWlnaHQ6IHZhcigtLWg0LWZvbnQtd2VpZ2h0KTtcclxuICAgIC0tYy1ibG9jay10aXRsZS10cmFuc2Zvcm06IHZhcigtLWg0LXRleHQtdHJhbnNmb3JtKTtcclxuICAgIC0tYy1ibG9jay10aXRsZS1jb2xvcjogdmFyKC0tdGl0bGVzLWNvbG9yKTtcclxuICAgIC0tYy1ibG9jay10ZXh0LXNpemU6IHZhcigtLWJhc2UtdGV4dC1zaXplKTtcclxuICAgIC0tYy1ibG9jay1wYWRkaW5nOiAxNXB4O1xyXG4gICAgLS1jLWJsb2NrLWFsaWduOiBsZWZ0O1xyXG4gICAgLS1jLWJsb2NrLWJnOiAjZmZmO1xyXG4gICAgLS1jLWJsb2NrLWNvbG9yOiBpbmhlcml0O1xyXG4gICAgLS1jLWJsb2NrLXNoYWRvdzogbm9uZTtcclxuICAgIC0tYy1ibG9jay1yYWRpdXM6IGNsYW1wKDEwcHgsIDEuMDV2dywgMjBweCk7XHJcbiAgICAtLWMtYmxvY2stYm9yZGVyOiB2YXIoLS1ib3JkZXItY29sb3IpO1xyXG4gICAgLS1vdmVybGF5LW9wYWNpdHk6IC45O1xyXG4gICAgLS1vdmVybGF5LWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgICAtLWJsb2NrcXVvdGUtc3R5bGU6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzU1JyBoZWlnaHQ9JzQ2JyB2aWV3Qm94PScwIDAgNTUgNDYnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00zMS4yNDYzIDYuNDE4NjFMMzEuMjQ2MyAyNy42QzMxLjI0NjMgMzEuNzM2NCAzMi4wMjE0IDM1LjE1OTcgMzMuNTcxNyAzNy44Njk4QzM2LjUzMTMgNDMuMjg5OSA0MS43NDU3IDQ2IDQ5LjIxNTEgNDZMNTEuMTE3NyA0Nkw1My40NDMgNDUuNTcyMUw1My40NDMgMzguMDgzN0w1My4wMjAyIDM4LjA4MzdDNDguMzY5NSAzOC4wODM3IDQ2LjA0NDEgMzUuNjU4OSA0Ni4wNDQxIDMwLjgwOTNMNDYuMDQ0MSAyNS4wMzI2TDQ4Ljc5MjMgMjUuMDMyNkM1Mi41OTc0IDI1LjAzMjYgNTQuNSAyMy4wMzU3IDU0LjUgMTkuMDQxOUw1NC41IDYuNDE4NjFDNTQuNSAyLjEzOTU0IDUyLjU5NzQgLTcuODM1MTdlLTA3IDQ4Ljc5MjMgLTQuNTA4NmUtMDdMMzYuOTU0IDUuODQwNzFlLTA3QzMzLjE0ODkgOS4xNjcyOGUtMDcgMzEuMjQ2MyAyLjEzOTU0IDMxLjI0NjMgNi40MTg2MVpNMTguODE0MyA0NkMxOS42NTk5IDQ2IDIwLjcxNjkgNDUuODU3NCAyMS45ODUzIDQ1LjU3MjFMMjEuOTg1MyAzOC4wODM3TDIxLjU2MjUgMzguMDgzN0MxNy4wNTI3IDM4LjA4MzcgMTQuNzk3OCAzNS42NTg5IDE0Ljc5NzggMzAuODA5M0wxNC43OTc4IDI1LjAzMjZMMTcuMzM0NiAyNS4wMzI2QzIxLjI4MDYgMjUuMDMyNiAyMy4yNTM3IDIzLjAzNTcgMjMuMjUzNyAxOS4wNDE5TDIzLjI1MzcgNi40MTg2MkMyMy4yNTM3IDIuMTM5NTQgMjEuMjgwNiAxLjk1NDI4ZS0wNiAxNy4zMzQ2IDIuMjk5MjZlLTA2TDUuNDk2MzIgMy4zMzQxOWUtMDZDMS44MzIxIDMuNjU0NTNlLTA2IC0zLjgzNDRlLTA2IDIuMTM5NTUgLTMuNDYwMzFlLTA2IDYuNDE4NjJMLTEuNjA4NThlLTA2IDI3LjZDLTUuMzYxOTNlLTA3IDM5Ljg2NjcgNi4yNzE0NSA0NiAxOC44MTQzIDQ2WicgZmlsbD0nJTIzMzM5N0VGJy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO1xyXG59XHJcblxyXG5cclxuLyogV1lTSVdZRyAqL1xyXG5cclxuLmlzLXd5c2l3eWcge1xyXG4gICAgLS13eXNpd3lnLW1hcmdpbjogMS41ZW07XHJcbiAgICAtLXd5c2l3eWctbGktcGFkZGluZzogMCAwIDAgMzBweDtcclxuICAgIC0td3lzaXd5Zy1saS1iZ3A6IDAgLjRlbTtcclxuICAgIC0td3lzaXd5Zy1saS1tYXJnaW46IDFlbTtcclxuICAgIC0tbGlzdC1pdGVtLXN0eWxlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScyMicgaGVpZ2h0PScxNicgdmlld0JveD0nMCAwIDIyIDE2JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcmVjdCB4PSc1LjE0ODQnIHk9JzExLjI3NTknIHdpZHRoPScxNicgaGVpZ2h0PSc0JyByeD0nMicgdHJhbnNmb3JtPSdyb3RhdGUoLTQyLjYzOCA1LjE0ODQgMTEuMjc1OSknIGZpbGw9JyUyMzMzOTdFRicvJTNFJTNDcmVjdCB4PSc3LjQzMzYnIHk9JzE0LjUyODgnIHdpZHRoPScxMCcgaGVpZ2h0PSc0JyByeD0nMicgdHJhbnNmb3JtPSdyb3RhdGUoLTEzMi42MzggNy40MzM2IDE0LjUyODgpJyBmaWxsPSclMjM3MEI2RjQnLyUzRSUzQy9zdmclM0VcIik7XHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgLS13eXNpd3lnLWxpLXBhZGRpbmc6IDAgMCAwIDI1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBTb2NpYWwgSWNvbnMgKi9cclxuXHJcbi5zb2NpYWwtbGlzdCB7XHJcbiAgICAtLXNvY2lhbC1pY29uLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgICAtLXNvY2lhbC1pY29uLWNvbG9yLWhvdmVyOiB2YXIoLS1wcmltYXJ5LWNvbG9yMyk7XHJcbiAgICAtLXNvY2lhbC1pY29uLWJnOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICAtLXNvY2lhbC1pY29uLWJnLWhvdmVyOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgICAtLXNvY2lhbC1pY29uLXJhZGl1czogNTAlO1xyXG4gICAgLS1zb2NpYWwtaWNvbi1zaXplOiBjbGFtcCgzNXB4LCA1LjJ2dywgNTBweCk7XHJcbn1cclxuXHJcbi5ibG9nLWZpbHRlciB7XHJcbiAgICAtLWZpbHRlci1iZzogI2ZmZjtcclxuICAgIC0tZmlsdGVyLWxpbmstY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgIC0tZmlsdGVyLWxpbmstY29sb3ItYWN0aXZlOiAjZmZmO1xyXG4gICAgLS1maWx0ZXItbGluay1zaXplOiBjbGFtcCgxNHB4LCAwLjg0dncsIDE4cHgpO1xyXG4gICAgLS1maWx0ZXItbGluay13ZWlnaHQ6IDYwMDtcclxuICAgIC0tZmlsdGVyLXZzcGFjZTogMDtcclxufSIsIi5tLXNsaWRlciB7XHJcbiAgICAtLXN3aXBlci1vdXRlci1nYXA6IDgwcHg7XHJcbiAgICAtLXN3aXBlci1hcnJvd3MtYmc6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgIC0tc3dpcGVyLWFycm93cy1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgLS1zd2lwZXItYXJyb3dzLXNoYWRvdzogMCAxMnB4IDE0cHggcmdiYSgzMywgMzMsIDMzLCAwLjEpLCAwIDRweCA0cHggcmdiYSgzMywgMzMsIDMzLCAwLjEpO1xyXG4gICAgLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaG9yaXpvbnRhbC1nYXA6IDEwcHg7XHJcbiAgICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1zaXplOiAyNHB4O1xyXG4gICAgLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYm9yZGVyOiAjY2NjO1xyXG4gICAgLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaW5hY3RpdmUtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYm9yZGVyLWFjdGl2ZTogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaW5hY3RpdmUtb3BhY2l0eTogLjg7XHJcbiAgICAtLXN3aXBlci1wYWdpbmF0aW9uLXJhZGl1czogMjBweDtcclxuICAgIC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZTogNTJweDtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplOiA0NXB4O1xyXG4gICAgICAgIC0tc3dpcGVyLW91dGVyLWdhcDogNDBweDtcclxuICAgICAgICAtLXRodW1iLXNpemU6IDMwcHg7XHJcbiAgICB9XHJcbn0iLCIvLyBCYXNlIHN0eWxlcyBmb3IgdGhlIGZpcnN0IHZpZXdwb3J0XHJcbi8vIEhlbHBlcnMgYW5kIHV0aWxpdGllc1xyXG5AaW1wb3J0ICdfX2hlbHBlcnMvcmVib290JztcclxuLy8gQ29yZSBzZXR0aW5nc1xyXG5AaW1wb3J0ICdfX2NvcmUvY29yZS1taXhpbnMnO1xyXG5AaW1wb3J0ICdfX2NvcmUvY29yZS1zZXR0aW5ncyc7XHJcblxyXG4vKioqKiBTaXRlIEhlYWRlciAqL1xyXG5cclxuQGltcG9ydCAnX2xheW91dC9fYmFzZSc7XHJcbkBpbXBvcnQgJ19sYXlvdXQvX2hlYWRlcic7XHJcbi8vIFNlYXJjaCBjb21wb25lbnQgXHRcdFx0XHRcdFx0XHQocmVtb3ZlIGlmIG5vIHNlYXJjaCBpbiBoZWFkZXIpXHJcbkBpbXBvcnQgXCJfbGF5b3V0L2hlYWRlci9ibG9ja3Mvc2l0ZV9zZWFyY2hcIjtcclxuLy8gV29vY29tbWVyY2UgXHRcdFx0XHRcdFx0XHRcdFx0KHJlbW92ZSBpZiBubyBXb29Db21tZXJjZSlcclxuQGltcG9ydCBcIl9sYXlvdXQvaGVhZGVyL2Jsb2Nrcy9hY2NvdW50XCI7XHJcbkBpbXBvcnQgXCJfbGF5b3V0L2hlYWRlci9ibG9ja3MvY2FydFwiO1xyXG5cclxuLyoqKiogRW5kIEhlYWRlciAqL1xyXG5cclxuXHJcbi8qIEFib3ZlIHRoZSBmb2xkIG1vZHVsZXMgKi9cclxuXHJcbkBpbXBvcnQgXCJfbW9kdWxlcy9iYW5uZXJzXCI7XHJcbkBpbXBvcnQgXCJfbW9kdWxlcy9oZWFkaW5nc1wiO1xyXG5AaW1wb3J0IFwiX2NvbXBvbmVudHMvYnV0dG9uc1wiO1xyXG5AaW1wb3J0IFwiX2NvbXBvbmVudHMvYy1ibG9ja1wiOyIsIi8qIEJhc2UgVHlwb2dyYXBoeSAqL1xyXG5cclxuXHJcbi8qIDFyZW0gPSAxMHB4ICovXHJcblxyXG5odG1sIHtcclxuICAgIGZvbnQtc2l6ZTogNTAlO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcC1tXCIpIHtcclxuICAgICAgICBmb250LXNpemU6IDU4JTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3AtbFwiKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiA2Mi41JTtcclxuICAgIH1cclxufVxyXG5cclxuYm9keSB7XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktcHJpbWFyeSk7XHJcbiAgICBmb250LXNpemU6IHZhcigtLWJhc2UtdGV4dC1zaXplKTtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1iYXNlLXRleHQtZm9udC13ZWlnaHQsIDQwMCk7XHJcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tYmFzZS10ZXh0LWxpbmUtaGVpZ2h0LCAxKTtcclxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgICAgICB3aWR0aDogMTVweDtcclxuICAgIH1cclxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAyMHB4IDIwcHggMCB2YXIoLS1zZWNvbmRhcnktY29sb3IyKTtcclxuICAgIH1cclxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3I1KTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zZWNvbmRhcnktY29sb3I1KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1zZWNvbmRhcnktY29sb3I1KTtcclxuICAgIH1cclxuICAgICYubGFzdF9zZWN0aW9uX2JsdWUge1xyXG4gICAgICAgIC5jdGEtYmFubmVyX193cmFwLi1ibHVlLFxyXG4gICAgICAgIC5wcm9kdWN0LXRhYnMsXHJcbiAgICAgICAgLmNhcmRzLXByb2dyYW1zX193cmFwLmNvbG9ycy1pbnZlcnRlZCB7XHJcbiAgICAgICAgICAgICYuLWxhc3Qge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zaXRlLWZvb3RlciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC02MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIEJhc2UgQ29sb3JzICovXHJcblxyXG5ib2R5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJvZHktYmcsICNmZmZmZmYpO1xyXG4gICAgY29sb3I6IHZhcigtLWJvZHktdGV4dC1jb2xvciwgIzMzMzMzMyk7XHJcbiAgICBbY29sb3ItbW9kZT1cImRhcmtcIl0gJiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjIyMjtcclxuICAgICAgICBjb2xvcjogdmFyKC0tYm9keS1iZywgI2ZmZmZmZik7XHJcbiAgICB9XHJcbn1cclxuXHJcbmEge1xyXG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktbGluay1jb2xvcik7XHJcbiAgICBbY29sb3ItbW9kZT1cImRhcmtcIl0gJiB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktbGluay1jb2xvci1hbHQpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY29sb3JzLWludmVydGVkLFxyXG4uYmctYWx0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJvZHktYmctYWx0KTtcclxuICAgIGNvbG9yOiB2YXIoLS1ib2R5LXRleHQtY29sb3ItYWx0KTtcclxuICAgIC0tc2VjdGlvbi10aXRsZS1jb2xvcjogdmFyKC0tc2VjdGlvbi10aXRsZS1jb2xvci1hbHQpO1xyXG59XHJcblxyXG5cclxuLyogQmFzZSBsYXlvdXQgKi9cclxuXHJcbmJvZHksXHJcbmh0bWwge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLndyYXBwZXIge1xyXG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IDU2cHg7XHJcbiAgICAgICAgLndvb2NvbW1lcmNlLWFjY291bnQgJiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNpdGUtY29udGVudCB7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBtaW4taGVpZ2h0OiA0MDBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1dm1pbjtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7XHJcbiAgICB9XHJcbiAgICAuYmxvZyAmIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgICY+c2VjdGlvbjpmaXJzdC1jaGlsZDpub3QoLm0tYmFubmVyKTpub3QoLmJsb2ctd3JhcHBlcikge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWhlYWRlci1oaWdodCkgKyBjbGFtcCgxMDBweCwgNy44dncsIDE1MHB4KSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zaXRlLWhlYWRlcixcclxuLnNpdGUtY29udGVudCxcclxuLnNpdGUtZm9vdGVyIHtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4uY29udGFpbmVyLWZsdWlkLFxyXG4uY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbmltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZ2UtZ3V0dGVyKTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZ2UtZ3V0dGVyKTtcclxuICAgIHRyYW5zaXRpb246IG1heC13aWR0aCB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9ZGVza3RvcC1sJykge1xyXG4gICAgICAgIC0tY29udGVudC13aWR0aDogdmFyKC0tZGVza3RvcC13aWR0aC1tKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcclxuICAgICAgICAtLXBhZ2UtZ3V0dGVyOiAyMHB4O1xyXG4gICAgICAgIC0tY29udGVudC13aWR0aDogdmFyKC0tdGFibGV0LXdpZHRoKTtcclxuICAgIH1cclxufVxyXG5cclxuLmNvbnRhaW5lci1mbHVpZCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdyaWQtb3V0ZXItbWFyZ2luLCAyZW0pO1xyXG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3JpZC1vdXRlci1tYXJnaW4sIDJlbSk7XHJcbn1cclxuXHJcbi5jb250YWluZXIge1xyXG4gICAgbWF4LXdpZHRoOiBjbGFtcCgxMDI0cHgsIDgzLjV2dywgY2FsYyh2YXIoLS1jb250ZW50LXdpZHRoKSArIHZhcigtLXBhZ2UtZ3V0dGVyLCAyMHB4KSAqIDIpKTtcclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEoJzw9ZGVza3RvcCcpIHtcclxuICAgIC5nYXAtdG9wLFxyXG4gICAgLmdhcC10b3AtcyxcclxuICAgIC5nYXAtdG9wLWwge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS12ZXJ0aWNhbC1nYXApO1xyXG4gICAgfVxyXG4gICAgLmdhcC1ib3QsXHJcbiAgICAuZ2FwLWJvdC1zLFxyXG4gICAgLmdhcC1ib3QtbCB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXZlcnRpY2FsLWdhcCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcpIHtcclxuICAgIC5nYXAtdG9wIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tdmVydGljYWwtZ2FwKTtcclxuICAgIH1cclxuICAgIC5nYXAtYm90IHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tdmVydGljYWwtZ2FwKTtcclxuICAgIH1cclxuICAgIC5nYXAtdG9wLXMge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXZlcnRpY2FsLWdhcCkgLyAyKTtcclxuICAgIH1cclxuICAgIC5nYXAtYm90LXMge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXZlcnRpY2FsLWdhcCkgLyAyKTtcclxuICAgIH1cclxuICAgIC5nYXAtdG9wLWwge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXZlcnRpY2FsLWdhcCkgKiAxLjUpO1xyXG4gICAgfVxyXG4gICAgLmdhcC1ib3QtbCB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tdmVydGljYWwtZ2FwKSAqIDEuNSk7XHJcbiAgICB9XHJcbn0iLCIuc2l0ZS1oZWFkZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWJhc2UtdHJhbnNpdGlvbiksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tYmFzZS10cmFuc2l0aW9uKSwgYm94LXNoYWRvdyB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgei1pbmRleDogMTAyO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9ZGVza3RvcCcpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IHZhcigtLWhlYWRlci1oaWdodCk7XHJcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTZweCByZ2JhKDkyLCA5NSwgMTA3LCAwLjI1KTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcpIHtcclxuICAgICAgICBwb3NpdGlvbjogdmFyKC0taGVhZGVyLXN0aWNreS10eXBlLCBzdGlja3kpO1xyXG4gICAgICAgIC5hZG1pbi1iYXIgJiB7XHJcbiAgICAgICAgICAgIHRvcDogMjhweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubmF2LWFjdGl2ZSAmIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1oZWFkZXItbW9iaWxlLWJnKTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xyXG4gICAgfVxyXG4gICAgJl9fbG9nbyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYmFzZS10cmFuc2l0aW9uKTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcsXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBjbGFtcCgxNTBweCwgMTUuNnZ3LCAzMDBweCk7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDYwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1oZWFkZXItbG9nby13aWR0aCk7XHJcbiAgICAgICAgICAgIGhlaWdodDogdmFyKC0taGVhZGVyLWxvZ28taGVpZ2h0KTtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYmFzZS10cmFuc2l0aW9uKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAubmF2LWFjdGl2ZSAmIHtcclxuICAgICAgICAgICAgICAgIHBhdGhbZmlsbD0nIzE2Mjc1QyddIHtcclxuICAgICAgICAgICAgICAgICAgICBmaWxsOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19pbm5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbiAgICB9XHJcbiAgICAmX19yb3cge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgfVxyXG4gICAgJl9fY29sIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIGdhcDogY2FsYyh2YXIoLS1oZWFkZXItaG9yaXpvbnRhbC1nYXAsIDF2dykgKiAyKTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgJi4tbGVmdCB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi4tY2VudGVyIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuLXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc29jaWFsLWxpc3Qge1xyXG4gICAgICAgIGdhcDogdmFyKC0taGVhZGVyLWhvcml6b250YWwtZ2FwKTtcclxuICAgIH1cclxuICAgIGE6bm90KC5jLWJ0bikge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1oZWFkZXItbGluay1jb2xvcik7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1oZWFkZXItbGluay1jb2xvci1ob3ZlciwgdmFyKC0tcHJpbWFyeS1jb2xvcjIpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKiBIZWFkZXIgTWFpbiBSb3cgKi9cclxuXHJcbi5zaXRlLWhlYWRlcl9fbWFpbiB7XHJcbiAgICAtLWhlYWRlci1saW5rLWNvbG9yOiB2YXIoLS1oZWFkZXItbWFpbi1jb2xvcik7XHJcbiAgICAtLWhlYWRlci1saW5rLWNvbG9yLWhvdmVyOiB2YXIoLS1oZWFkZXItbWFpbi1jb2xvci1ob3Zlcik7XHJcbiAgICAtLWhlYWRlci1ob3Jpem9udGFsLWdhcDogdmFyKC0taGVhZGVyLW1haW4tZ2FwLWJldHdlZW4taXRlbXMpO1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWhlYWRlci1tYWluLWZvbnQtd2VpZ2h0KTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1oZWFkZXItbWFpbi10ZXh0LXRyYW5zZm9ybSwgdXBwZXJjYXNlKTtcclxuICAgIGZvbnQtc2l6ZTogdmFyKC0taGVhZGVyLW1haW4tZm9udC1zaXplLCAxNnB4KTtcclxuICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgLnNpdGUtaGVhZGVyX19yb3cge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1oZWFkZXItbWFpbi12ZXJ0aWNhbC1wYWRkaW5nKTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0taGVhZGVyLW1haW4tdmVydGljYWwtcGFkZGluZyk7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogSGVhZGVyIFRvcCBSb3cgKi9cclxuXHJcbi5zaXRlLWhlYWRlcl9fdG9wIHtcclxuICAgIC0taGVhZGVyLWxpbmstY29sb3I6IHZhcigtLWhlYWRlci10b3AtY29sb3IpO1xyXG4gICAgLS1oZWFkZXItbGluay1jb2xvci1ob3ZlcjogdmFyKC0taGVhZGVyLXRvcC1jb2xvci1ob3Zlcik7XHJcbiAgICAtLWhlYWRlci1ob3Jpem9udGFsLWdhcDogdmFyKC0taGVhZGVyLXRvcC1nYXAtYmV0d2Vlbi1pdGVtcyk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1oZWFkZXItdG9wLWJnKTtcclxuICAgIGZvbnQtc2l6ZTogdmFyKC0taGVhZGVyLXRvcC1zaXplKTtcclxuICAgIGNvbG9yOiB2YXIoLS1oZWFkZXItdG9wLWNvbG9yKTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcclxuICAgICAgICBoZWlnaHQ6IDU1cHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5jb250YWluZXIge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0taGVhZGVyLXRvcC12ZXJ0aWNhbC1wYWRkaW5nKTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0taGVhZGVyLXRvcC12ZXJ0aWNhbC1wYWRkaW5nKTtcclxuICAgIH1cclxufSIsIi5pcy1zdGlja3kge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIC5zaXRlLWhlYWRlcl9fbWFpbiB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAuc2l0ZS1oZWFkZXJfX3JvdzphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5zaXRlLWhlYWRlcl9fdG9wIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgLS1oZWFkZXItbWFpbi12ZXJ0aWNhbC1wYWRkaW5nOiAxcHg7XHJcbiAgICAgICAgLS1oZWFkZXItdG9wLXZlcnRpY2FsLXBhZGRpbmc6IDFweDtcclxuICAgICAgICAtLWhlYWRlci1tYWluLWJnOiB2YXIoLS1oZWFkZXItc3RpY2t5LWJnLCB2YXIoLS1wcmltYXJ5LWNvbG9yMSkpO1xyXG4gICAgICAgIC0taGVhZGVyLW1haW4tbmF2LWhlaWdodDogNTBweDtcclxuICAgICAgICAuc2l0ZS1oZWFkZXJfX3RvcCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEzcHg7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxMXB4IDQwcHggcmdiYSgxNDUsIDEzNywgMTMwLCAwLjIpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhlYWRlci1tYWluLWJnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2l0ZS1oZWFkZXJfX2xvZ28ge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICBpbWcsXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zaXRlLWhlYWRlcl9fbWFpbiB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSk7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubmF2LW1haW5fX2J0bi4tZGVza3RvcCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIkBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcclxuICAgIC5zaXRlLWhlYWRlcl9fbWFpbiB7XHJcbiAgICAgICAgLm5hdi1hY3RpdmUgJiB7XHJcbiAgICAgICAgICAgIC0taGVhZGVyLW1haW4tYmc6IHZhcigtLWhlYWRlci1tb2JpbGUtYmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zaXRlLWhlYWRlcl9fY29sLi1sZWZ0IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDE2NXB4O1xyXG4gICAgfVxyXG4gICAgLm5hdi1zZWNvbmRhcnkge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgLmRlc2t0b3AtaGVhZGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5hdi1tYWluIHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWxpbmstY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pbm5lciB7XHJcbiAgICAgICAgICAgIC0tbmF2LXBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYmFzZS10cmFuc2l0aW9uKTtcclxuICAgICAgICAgICAgdG9wOiB2YXIoLS1oZWFkZXItaGlnaHQpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1oZWFkZXItbW9iaWxlLWJnKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tbG9nby1saWdodCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xODAlIDEyMCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDUwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwM1wiIGhlaWdodD1cIjI5MFwiIHZpZXdCb3g9XCIwIDAgMjAzIDI5MFwiIGZpbGw9XCJub25lXCI+PGcgb3BhY2l0eT1cIjAuMVwiPjxwYXRoIGQ9XCJNMjQ0LjAyNiAxMC42MTcxQzI1OC4xNSAtMy41MzkwNSAyODEuMjgyIC0zLjUzOTA2IDI5NS40MDYgMTAuNjE3MkMzMDkuNTMxIDI0Ljc3MzUgMzA5LjUzMSA0Ny45NTY5IDI5NS40MDYgNjIuMTEzMUwyMjYuNDIzIDEzMS4yNTNDMjEyLjI5OCAxNDUuNDA5IDE4OS4xNjcgMTQ1LjQwOSAxNzUuMDQyIDEzMS4yNTNDMTYwLjkxNyAxMTcuMDk3IDE2MC45MTcgOTMuOTEzNSAxNzUuMDQyIDc5Ljc1NzNMMjQ0LjAyNiAxMC42MTcxWlwiIGZpbGw9XCIlMjMyMTNCOENcIiBmaWxsLW9wYWNpdHk9XCIwLjI1XCIvPjxwYXRoIGQ9XCJNMjU1LjAwMSAyMDMuMzlMMjk1LjQwNyAyNDMuODg3QzMwOS41MzEgMjU4LjA0MyAzMDkuNTMxIDI4MS4yMjYgMjk1LjQwNyAyOTUuMzgyQzI4MS4yODIgMzA5LjUzOSAyNTguMTUgMzA5LjUzOSAyNDQuMDI2IDI5NS4zODJMMjAzLjQ5NCAyNTQuNzZMMjAzLjYyIDI1NC42OTdMMTc1LjIyOSAyMjYuMjQyQzE2MS4xMDQgMjEyLjA4NiAxNjEuMTA0IDE4OS4xMDggMTc1LjIyOSAxNzQuNzQ2QzE4OS4zNTMgMTYwLjU5IDIxMi40ODUgMTYwLjU5IDIyNi42MDkgMTc0Ljc0NkwyNTUuMDYzIDIwMy4yNjRMMjU1LjAwMSAyMDMuMzlaXCIgZmlsbD1cIiUyMzIxM0I4Q1wiIGZpbGwtb3BhY2l0eT1cIjAuMjVcIi8+PHBhdGggZD1cIk02MS45NzQyIDEwLjYxNzVDNDcuODQ5NiAtMy41Mzg2OCAyNC43MTggLTMuNTM4NyAxMC41OTM0IDEwLjYxNzVDLTMuNTMxMTYgMjQuNzczOCAtMy41MzExMyA0Ny45NTcxIDEwLjU5MzUgNjIuMTEzNEw3OS41NzcyIDEzMS4yNTRDOTMuNzAxOCAxNDUuNDEgMTE2LjgzMyAxNDUuNDEgMTMwLjk1OCAxMzEuMjU0QzE0NS4wODMgMTE3LjA5NyAxNDUuMDgzIDkzLjkxNDEgMTMwLjk1OCA3OS43NTc4TDYxLjk3NDIgMTAuNjE3NVpcIiBmaWxsPVwiJTIzMjEzQjhDXCIgZmlsbC1vcGFjaXR5PVwiMC4yNVwiLz48cGF0aCBkPVwiTTUwLjk5OTMgMjAzLjM5MUwxMC41OTM3IDI0My44ODdDLTMuNTMwOSAyNTguMDQzIC0zLjUzMDg4IDI4MS4yMjcgMTAuNTkzNyAyOTUuMzgzQzI0LjcxODMgMzA5LjUzOSA0Ny44NDk5IDMwOS41MzkgNjEuOTc0NSAyOTUuMzgzTDEwMi41MDYgMjU0Ljc2MUwxMDIuMzggMjU0LjY5OEwxMzAuNzcxIDIyNi4yNDNDMTQ0Ljg5NiAyMTIuMDg3IDE0NC44OTYgMTg5LjEwOCAxMzAuNzcxIDE3NC43NDdDMTE2LjY0NyAxNjAuNTkxIDkzLjUxNTIgMTYwLjU5MSA3OS4zOTA2IDE3NC43NDdMNTAuOTM2OCAyMDMuMjY0TDUwLjk5OTMgMjAzLjM5MVpcIiBmaWxsPVwiJTIzMjEzQjhDXCIgZmlsbC1vcGFjaXR5PVwiMC4yNVwiLz48L2c+PC9zdmc+Jyk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTkwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSByaWdodDtcclxuICAgICAgICAgICAgJi4tLWJnLWJsdWUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RkFGRTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubmF2LWFjdGl2ZSAmIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDU1cHgpO1xyXG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubmF2LWFjdGl2ZS5hZG1pbi1iYXIgJiB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA1NXB4IC0gNDZweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnNpdGUtaGVhZGVyX193aWRnZXQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX193cmFwIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogU3R5bGUgdGhlIG1lbnUgaXRzZWxmICovXHJcbiAgICAgICAgJl9fbGlua3Mge1xyXG4gICAgICAgICAgICAvKiBIaWRlIGV2ZXJ5IHN1Yi1tZW51IGJ5IGRlZmF1bHQgKi9cclxuICAgICAgICAgICAgLnN1Yi1tZW51IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAmLi0tYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvKiBTdHlsZSBldmVyeSBsaXN0IGl0ZW0gYW5kIGxpbmssIHJlZ2FyZGxlc3MgdGhlIGxldmVsICovXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDMzLCA1OSwgMTQwLCAwLjIpO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMzMzZW07XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjMzZW0gdmFyKC0tbmF2LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5tZW51LWl0ZW1fX3RpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiAuNWVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvKiBTdHlsZSBldmVyeSBtZW51IGl0ZW0gdGhhdCBoYXMgY2hpbGRyZW4gKi9cclxuICAgICAgICAgICAgICAgICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI5XCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDkgMTRcIiBmaWxsPVwibm9uZVwiPjxwYXRoIGQ9XCJNNS44MTk3MyA3LjAwMDMxTDEuMjg3MDYgMTEuNjYwOEMwLjc4OTcyOSAxMi4xNzY0IDAuNzg5NzI5IDEzLjAxMDUgMS4yODcwNiAxMy41MjZDMS43ODk3MyAxNC4wNDA5IDIuNjAxNzMgMTQuMDQwOSAzLjEwNDQgMTMuNTI2TDguNTQxMDYgNy45MzI1NUM5LjAzODQgNy40MTcwMiA5LjAzODQgNi41ODIyMiA4LjU0MTA2IDYuMDY3MzdMMy4xMDQ0IDAuNDczOTAxQzIuNjAxNzMgLTAuMDQxNjMzIDEuNzg5NzMgLTAuMDQwMjUwOSAxLjI4NzA2IDAuNDczOTAxQzAuNzg5NzI5IDAuOTg4NzQzIDAuNzg5NzI5IDEuODIyODYgMS4yODcwNiAyLjMzODM5TDUuODE5NzMgNy4wMDAzMVpcIiBmaWxsPVwiJTIzMTYyNzVDXCIvPjwvc3ZnPicpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDhweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8qIFN0eWxlIGV2ZXJ5IGFjdGl2ZSBlbGVtZW50ICovXHJcbiAgICAgICAgICAgICAgICAmLi0tYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tYmFzZS10cmFuc2l0aW9uKSBhbGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjlcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgOSAxNFwiIGZpbGw9XCJub25lXCI+PHBhdGggZD1cIk00LjAwODQgNi45OTk2OUw4LjU0MTA2IDIuMzM5MTVDOS4wMzg0IDEuODIzNjIgOS4wMzg0IDAuOTg5NTA3IDguNTQxMDYgMC40NzM5NzNDOC4wMzg0IC0wLjA0MDg2OTggNy4yMjY0IC0wLjA0MDg2OTkgNi43MjM3MyAwLjQ3Mzk3M0wxLjI4NzA2IDYuMDY3NDRDMC43ODk3MyA2LjU4Mjk4IDAuNzg5NzMgNy40MTc3OCAxLjI4NzA2IDcuOTMyNjNMNi43MjM3MyAxMy41MjYxQzcuMjI2NCAxNC4wNDE2IDguMDM4NCAxNC4wNDAzIDguNTQxMDYgMTMuNTI2MUM5LjAzODQgMTMuMDExMyA5LjAzODQgMTIuMTc3MSA4LjU0MTA2IDExLjY2MTZMNC4wMDg0IDYuOTk5NjlaXCIgZmlsbD1cIiUyM0Y1REQ1N1wiLz48L3N2Zz4nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8qIFN0eWxlIGV2ZXJ5IGhpZGRlbiBlbGVtZW50ICovXHJcbiAgICAgICAgICAgICAgICAmLi0taGlkZGVuIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICA+IGEsXHJcbiAgICAgICAgICAgICAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1zaW1wbGUtdGV4dCxcclxuLnNpbmdsZS1wb3N0LFxyXG4ucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1zdHlsZWd1aWRlLFxyXG4uZXJyb3I0MDQge1xyXG4gICAgLnNpdGUtaGVhZGVyX19tYWluIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1oZWFkZXItc3RpY2t5LWJnLCB2YXIoLS1wcmltYXJ5LWNvbG9yMSkpO1xyXG4gICAgfVxyXG4gICAgLnNpdGUtY29udGVudCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1oZWFkZXItaGlnaHQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCB7XHJcbiAgICAuc2l0ZS1jb250ZW50IHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLWhlYWRlci1oaWdodCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2VhcmNoIHtcclxuICAgIC5wdC1wYW5lbCB7XHJcbiAgICAgICAgPmRpdj5hIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wdC1wYW5lbF9fcHJvZHVjdHMge1xyXG4gICAgICAgIC0tbC1ibG9jay1jb2w6IDQ7XHJcbiAgICB9XHJcbn0iLCIuc2l0ZS1oZWFkZXJfX3RvcCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgLm5hdi1zZWNvbmRhcnlfX2xpbmtzIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zaXRlLWhlYWRlcl9fbWFpbiB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcclxuICAgICAgICAubmF2LXNlY29uZGFyeV9fbGlua3Mge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAubmF2LW1haW5fX2J0bi4tZGVza3RvcCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAubmF2LW1haW5fX2J0bi4tbW9iaWxlIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59IiwiLyogTmF2YmFyIE1haW4gKi9cclxuXHJcbi5uYXYtbWFpbiB7XHJcbiAgICAtLW5hdmJhci1ib3JkZXItcmFkaXVzOiAyNXB4O1xyXG4gICAgLS1uYXZiYXItYm9yZGVyLWFjdGl2ZS13aWR0aDogNHB4O1xyXG4gICAgLS1oZWFkZXItbGluay1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgLS1oZWFkZXItbGluay1jb2xvci1ob3ZlcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgJl9fd3JhcCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19saW5rcyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbmF2YmFyLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogMmVtO1xyXG4gICAgICAgICAgICA+Lm1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogYXV0bztcclxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLW5hdmJhci1ib3JkZXItYWN0aXZlLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1uYXZiYXItYm9yZGVyLWFjdGl2ZS13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS1iYXNlLXRyYW5zaXRpb24pIGFsbDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOm5vdCgubWVudS1pdGVtLWhhcy1jaGlsZHJlbikge1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0taGVhZGVyLW1haW4tZ2FwLWJldHdlZW4taXRlbXMsIDF2dykpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhLFxyXG4gICAgICAgICAgICAgICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0taGVhZGVyLW1haW4tZ2FwLWJldHdlZW4taXRlbXMsIDF2dykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEsXHJcbiAgICAgICAgICAgICAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICAmID4gYSxcclxuICAgICAgICAgICAgICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICYgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHZhcigtLWhlYWRlci1tYWluLWdhcC1iZXR3ZWVuLWl0ZW1zLCAxdncpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAxM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLWhlYWRlci1tYWluLWdhcC1iZXR3ZWVuLWl0ZW1zLCAxdncpICogMik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPmEsXHJcbiAgICAgICAgICAgICAgICAucGxhaW4tbWVudS1pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAuNWVtO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCB2YXIoLS1oZWFkZXItbWFpbi1nYXAtYmV0d2Vlbi1pdGVtcywgMXZ3KTtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0taGVhZGVyLW1haW4tbmF2LWhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1iYXNlLXRyYW5zaXRpb24pLCBmb250LXNpemUgdmFyKC0tYmFzZS10cmFuc2l0aW9uKSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5zdWItbWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjKDEwMCUgLSAxMnB4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubWVudS1pdGVtIHtcclxuICAgICAgICAgICAgICAgICZfX3RpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgIGdhcDogLjVlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICZfX2ljbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJl9faWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtLjVlbSk7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tYmFzZS10cmFuc2l0aW9uKSBhbGw7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAgICAgJi4tLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgJiA+IGEsXHJcbiAgICAgICAgICAgICAgICAgICAgJiA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY3VycmVudC1tZW51LWl0ZW0ge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID5hIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWhlYWRlci1saW5rLWNvbG9yLWhvdmVyLCB2YXIoLS1wcmltYXJ5LWNvbG9yMikpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIE5hdmJhciBTZWNvbmRhcnkgKi9cclxuXHJcbi5zaXRlLWhlYWRlciB7XHJcbiAgICAubmF2LW1haW4ge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICAmX19saW5rcyB7XHJcbiAgICAgICAgICAgICAgICBsaS5tZW51LWl0ZW1fX21lZ2FtZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAmID4gLnN1Yi1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjKDEwMCUgLSAxMnB4KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdi1zZWNvbmRhcnkge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICAmX19saW5rcyB7XHJcbiAgICAgICAgICAgICAgICAuc3ViLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgIC5tZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhcDogLjVlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJl9faWNvIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmX19pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMTRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtLjVlbSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tYmFzZS10cmFuc2l0aW9uKSBhbGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLi0tYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjEpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgPiBhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIC8vd2lkdGg6IDUwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICZfX2xpbmtzIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDMzLCA1OSwgMTQwLCAuMik7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgJi4tLWhpZGRlbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5zdWItbWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzMnIHZpZXdCb3g9JzAgMCAxMiAzJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDbGluZSB4MT0nMTAuNScgeTE9JzEuNScgeDI9JzEuNScgeTI9JzEuNScgc3Ryb2tlPSclMjM2RTg4REInIHN0cm9rZS13aWR0aD0nMycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tZW51LWl0ZW1fX2ljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5jdXJyZW50LW1lbnUtaXRlbSxcclxuICAgICAgICAgICAgICAgIC5jdXJyZW50X3BhZ2VfcGFyZW50IHtcclxuICAgICAgICAgICAgICAgICAgICA+YSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMikgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbGlua3Mge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxLjc1ZW07XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jdXJyZW50X3BhZ2VfcGFyZW50LFxyXG4gICAgICAgIC5jdXJyZW50X3BhZ2VfaXRlbSB7XHJcbiAgICAgICAgICAgID5hIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGdhcDogLjVlbTtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWhlYWRlci1saW5rLWNvbG9yKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICAgICAgLm5hdi1hY3RpdmUgJiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1oZWFkZXItbGluay1jb2xvci1ob3ZlciwgdmFyKC0tcHJpbWFyeS1jb2xvcjIpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogY2xhbXAoMjRweCwgMS41N3Z3LCAyOHB4KTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogY2xhbXAoMjRweCwgMS41N3Z3LCAyOHB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYy1idG4ge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbSAycmVtO1xyXG4gICAgICAgICAgICAgICAgLm5hdi1hY3RpdmUgJiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ocy13ZWItaW50ZXJhY3RpdmVzLXRvcC1iYW5uZXItb3BlbiAmIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj50YWJsZXRcIikge1xyXG4gICAgICAgICAgICB0b3A6IDkwcHggIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIuc2l0ZS1oZWFkZXIge1xyXG4gICAgLnN1Yi1tZW51IHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIC0tc3VibWVudS1wb3N0aW9uLWxlZnQ6IDUwJTtcclxuICAgICAgICAtLXN1Ym1lbnUtcG9zdGlvbi1yaWdodDogYXV0bztcclxuICAgICAgICAtLXN1Ym1lbnUtcG9zdGlvbi10b3A6IGNhbGMoIDEwMCUgKyB2YXIoLS1uYXZiYXItYm9yZGVyLWFjdGl2ZS13aWR0aCkgKTtcclxuICAgICAgICAtLXN1Ym1lbnUtYm90dG9tOiBhdXRvO1xyXG4gICAgICAgIC0tc3VibWVudS10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTBweCk7XHJcbiAgICAgICAgLS1zdWJtZW51LWxpbmstcGFkZGluZzogMS40cmVtIDEuNHJlbTtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICAgICAgdG9wOiB2YXIoLS1zdWJtZW51LXBvc3Rpb24tdG9wKTtcclxuICAgICAgICAgICAgYm90dG9tOiB2YXIoLS1zdWJtZW51LWJvdHRvbSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdmFyKC0tc3VibWVudS10cmFuc2Zvcm0pO1xyXG4gICAgICAgICAgICBsZWZ0OiB2YXIoLS1zdWJtZW51LXBvc3Rpb24tbGVmdCk7XHJcbiAgICAgICAgICAgIHJpZ2h0OiB2YXIoLS1zdWJtZW51LXBvc3Rpb24tcmlnaHQpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMjVweCAwO1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IHZhcigtLWRyb3Bkb3duLXdpZHRoKTtcclxuICAgICAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tYmFzZS10cmFuc2l0aW9uKSwgdHJhbnNmb3JtIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRyb3Bkb3duLWJnKTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMzRweCByZ2JhKDAsIDcsIDYzLCAwLjEpO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tbmF2YmFyLWJvcmRlci1yYWRpdXMpIHZhcigtLW5hdmJhci1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgJiA+IGxpIHtcclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJiA+IGEsXHJcbiAgICAgICAgICAgICAgICAgICAgJiA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tbmF2YmFyLWJvcmRlci1yYWRpdXMpIHZhcigtLW5hdmJhci1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZHJvcGRvd24tY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGdhcDogLjZlbTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1kcm9wZG93bi1mb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWRyb3Bkb3duLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmN1cnJlbnQtbWVudS1pdGVtIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWRyb3Bkb3duLWNvbG9yLWFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm1lbnUtaXRlbS1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm1lbnUtaXRlbS10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubWVudS1pdGVtLWNhcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm1lbnUtaXRlbS1pbWctd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xyXG4gICAgICAgICAgICAgICAgaW1nLFxyXG4gICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5tZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tc3VibWVudS1saW5rLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGdhcDogLjVlbTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICA+LnN1Yi1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAtLXN1Ym1lbnUtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IC5zdWItbWVudSB7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYgPiBhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYgPiBhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIC0tc3VibWVudS10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAtLXN1Ym1lbnUtcG9zdGlvbi1sZWZ0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIC0tc3VibWVudS1wb3N0aW9uLXRvcDogLTUwJTtcclxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiA5O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLW5hdmJhci1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcclxuICAgICAgICAvKiBUYXJnZXQgZmlyc3QgbGV2ZWwgbGlua3MsIGFuZCBhZGQgY2FycmV0ICovXHJcbiAgICAgICAgLm5hdi1tYWluX19saW5rcyxcclxuICAgICAgICAubmF2LXNlY29uZGFyeV9fbGlua3Mge1xyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJiA+IGEsXHJcbiAgICAgICAgICAgICAgICAgICAgJiA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgY3VycmVudENvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgY3VycmVudENvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZS1pbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICY6YWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmID4gYSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJiA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMCUpIHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8qIFRhcmdldCBsYXN0IGZldyBsaSBlbGVtZW50cyAqL1xyXG4gICAgICAgICAgICAgICAgJjpudGgtbGFzdC1jaGlsZCgtbiArIDMpIHtcclxuICAgICAgICAgICAgICAgICAgICAmID4gLnN1Yi1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLS1zdWJtZW51LXBvc3Rpb24tbGVmdDogMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdWItbWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLXN1Ym1lbnUtcG9zdGlvbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1zdWJtZW51LXBvc3Rpb24tcmlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm5hdi1tYWluX19saW5rcyB7XHJcbiAgICAgICAgICAgIC8qIFRhcmdldCBmaXJzdCBsZXZlbCBsaW5rcywgYW5kIHJlbW92ZSBib3JkZXIgcmFkaXVzICovXHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgJiA+IHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAmID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IGEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubmF2LXNlY29uZGFyeV9fbGlua3Mge1xyXG4gICAgICAgICAgICAtLW5hdmJhci1ib3JkZXItcmFkaXVzOiAyNXB4O1xyXG4gICAgICAgICAgICAuc3ViLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgLS1zdWJtZW51LWxpbmstcGFkZGluZzogMS4xZW0gMS41ZW07XHJcblxyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IxKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAmID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAmID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWhlYWRlci10b3AtY29sb3IsICMyMTNCOEMpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmID4gdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIC0tc3VibWVudS1wb3N0aW9uLXRvcDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tbmF2YmFyLWJvcmRlci1yYWRpdXMpIHZhcigtLW5hdmJhci1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgICAgICAmID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmID4gYSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tbmF2YmFyLWJvcmRlci1yYWRpdXMpIHZhcigtLW5hdmJhci1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5uYXYtbWFpbl9fYnRuIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICB3aWR0aDogNTVweDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTEwcHggMCAwIDExMHB4O1xyXG4gICAgY29sb3I6IHZhcigtLWJ1cmdlci1jb2xvcik7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXJnZXItYmcpO1xyXG4gICAgcGFkZGluZzogMThweCA1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgei1pbmRleDogMTA7XHJcbiAgICAubmF2LWFjdGl2ZSAmIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5idXJnZXItaWNvbiB7XHJcbiAgICB3aWR0aDogdmFyKC0tYnVyZ2VyLXdpZHRoKTtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgLjRzIGVhc2U7XHJcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgPmRpdiB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGZsZXg6IG5vbmU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1idXJnZXItc2VnbWVudC1oaWdodCk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1cmdlci1zZWdtZW50LXJhZGl1cyk7XHJcbiAgICAgICAgJjpiZWZvcmUsXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMjAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHZhcigtLWJ1cmdlci1zZWdtZW50LWhpZ2h0KTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnVyZ2VyLXNlZ21lbnQtcmFkaXVzKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHRvcDogY2FsYyh2YXIoLS1idXJnZXItc2VnbWVudC1nYXApICogLTEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgdG9wOiB2YXIoLS1idXJnZXItc2VnbWVudC1nYXApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pcy1hY3RpdmUgJiB7XHJcbiAgICAgICAgPmRpdiB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XHJcbiAgICAgICAgICAgICY6YmVmb3JlLFxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIkBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgLnNpdGUtaGVhZGVyIHtcclxuICAgICAgICAtLW1lZ2EtbWVudS13aWR0aDogODg1cHg7XHJcbiAgICAgICAgLS1tZWdhLW1lbnUtbGVmdDogMDtcclxuICAgICAgICAtLW1lZ2EtbWVudS1yaWdodDogYXV0bztcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wLWxcIikge1xyXG4gICAgICAgICAgICAtLW1lZ2EtbWVudS13aWR0aDogNjUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uYXYtbWFpbiB7XHJcbiAgICAgICAgICAgIC8qIFRoaXMgaXMgYSByb290IGxldmVsIHVsICovXHJcbiAgICAgICAgICAgICZfX2xpbmtzIHtcclxuICAgICAgICAgICAgICAgIC5tZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8qIFRoaXMgaXMgYSBsaSBpdGVtLCB0aGF0IGhhcyBhIG1lZ2FtZW51IGNsYXNzICovXHJcbiAgICAgICAgICAgICAgICAgICAgJl9fbWVnYW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmID4gLnN1Yi1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogdmFyKC0tbWVnYS1tZW51LXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHZhcigtLW1lZ2EtbWVudS1sZWZ0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiB2YXIoLS1tZWdhLW1lbnUtcmlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRyb3Bkb3duLWJnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSArIHZhcigtLW5hdmJhci1ib3JkZXItYWN0aXZlLXdpZHRoLCA0cHgpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1uYXZiYXItYm9yZGVyLXJhZGl1cykgdmFyKC0tbmF2YmFyLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAxMXB4IDQwcHggMHB4IHJnYmEoMTQ0LCAxMzcsIDEzMCwgMC40MCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIERvbid0IHNob3cgc3ViLW1lbnVzLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnN1Yi1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1lbnUtaXRlbS1tZWdhbWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJl9fbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAyMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJl9fY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLm1lbnUtaXRlbS1tZWdhbWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmX19jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnM6IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtY29sdW1uczogMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1jb2x1bW5zOiAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjRyZW0gM3JlbSAxLjRyZW0gM3JlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiAuNWVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYXA6IC41ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLjVlbSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0gIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmID4gYSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmX19sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuNHJlbSAwIDEuNHJlbSAxLjVlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhcDogMC41ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhcDogLjVlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtLjVlbSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tYmFzZS10cmFuc2l0aW9uKSBhbGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLi0tYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgPiBhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCB2YXIoLS1uYXZiYXItYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmID4gYSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCB2YXIoLS1uYXZiYXItYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBjaGFuZ2Ugc3ViLW1lZ2FtZW51IHBvc2l0aW9uIHRvIG9wcG9zaXRlIHN0YXJ0aW5nIGZyb20gdGhlIDR0aCBpdGVtLlxyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKG4gKyA0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYgPiAuc3ViLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1tZWdhLW1lbnUtbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tbWVnYS1tZW51LXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8qIFN0eWxlIG1vYmlsZSBtZWdhbWVudSBpdGVtcyAqL1xyXG5AaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAubWVudS1pdGVtX19tZWdhbWVudSB7XHJcbiAgICAgICAgJiA+IHVsIHtcclxuICAgICAgICAgICAgJiA+IGxpIHtcclxuICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC42NjdlbSAxLjMzZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm5vdCgubWVudS1pdGVtLWhhcy1jaGlsZHJlbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI4XCIgaGVpZ2h0PVwiOFwiIHZpZXdCb3g9XCIwIDAgOCA4XCIgZmlsbD1cIm5vbmVcIj48cGF0aCBkPVwiTTAuNTQwMzgxIDYuNDE5MDRDMC4yODY1NCA2LjY3Mjg4IDAuMjg2NTQgNy4wODQ0NCAwLjU0MDM4MSA3LjMzODI4QzAuNzk0MjIxIDcuNTkyMTIgMS4yMDU3OCA3LjU5MjEyIDEuNDU5NjIgNy4zMzgyOEwwLjU0MDM4MSA2LjQxOTA0Wk03LjY1IDAuODc4NjYyQzcuNjUgMC41MTk2NzcgNy4zNTg5OSAwLjIyODY2MiA3IDAuMjI4NjYyTDEuMTUgMC4yMjg2NjJDMC43OTEwMTYgMC4yMjg2NjIgMC41MDAwMDEgMC41MTk2NzcgMC41MDAwMDEgMC44Nzg2NjJDMC41IDEuMjM3NjUgMC43OTEwMTYgMS41Mjg2NiAxLjE1IDEuNTI4NjZINi4zNVY2LjcyODY2QzYuMzUgNy4wODc2NSA2LjY0MTAyIDcuMzc4NjYgNyA3LjM3ODY2QzcuMzU4OTkgNy4zNzg2NiA3LjY1IDcuMDg3NjUgNy42NSA2LjcyODY2TDcuNjUgMC44Nzg2NjJaTTEuNDU5NjIgNy4zMzgyOEw3LjQ1OTYyIDEuMzM4MjhMNi41NDAzOCAwLjQxOTA0MkwwLjU0MDM4MSA2LjQxOTA0TDEuNDU5NjIgNy4zMzgyOFpcIiBmaWxsPVwiJTIzRjVERDU3XCIvPjwvc3ZnPicpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qKlxyXG4gKiBIZWFkZXIgQmxvY2s6IFdobyBXZSBTZXJ2ZSBEcm9wZG93blxyXG4gKlxyXG4gKiBBdWRpZW5jZS1zZWdtZW50YXRpb24gZHJvcGRvd24gc2l0dGluZyBpbiB0aGUgaGVhZGVyIHRvcCByb3cgbmV4dCB0byB0aGUgbG9nby5cclxuICogSW5oZXJpdHMgaGVhZGVyIENTUyB2YXJpYWJsZXMgZm9yIGNvbnNpc3RlbnQgY29sb3VyIGFuZCB0eXBvZ3JhcGh5LlxyXG4gKi9cclxuXHJcbi53d3MtZHJvcGRvd24ge1xyXG4gICAgZGlzcGxheTogbm9uZTsgLy8gaGlkZGVuIG9uIG1vYmlsZSDigJQgbW9iaWxlIG5hdiBoYW5kbGVzIGF1ZGllbmNlIGxpbmtzIHNlcGFyYXRlbHlcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAmX190b2dnbGUge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWhlYWRlci1saW5rLWNvbG9yKTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmb250LXNpemU6IHZhcigtLWhlYWRlci10b3Atc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWhlYWRlci1tYWluLWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICBnYXA6IDAuNGVtO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHZhcigtLWhlYWRlci1tYWluLXRleHQtdHJhbnNmb3JtLCB1cHBlcmNhc2UpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0taGVhZGVyLWxpbmstY29sb3ItaG92ZXIsIHZhcigtLXByaW1hcnktY29sb3IyKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBEb3duIGNhcmV0IOKAlCBtaXJyb3JzIHRoZSBwYXR0ZXJuIGluIF9uYXZiYXJfZHJvcGRvd24uc2Nzc1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgY3VycmVudENvbG9yO1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgY3VycmVudENvbG9yO1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDdweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpIHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tYmFzZS10cmFuc2l0aW9uKTtcclxuICAgICAgICAgICAgd2lkdGg6IDdweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpIHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19wYW5lbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZHJvcGRvd24tYmcpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1uYXZiYXItYm9yZGVyLXJhZGl1cykgdmFyKC0tbmF2YmFyLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDM0cHggcmdiYSgwLCA3LCA2MywgMC4xKTtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICBtaW4td2lkdGg6IDIyMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDEwcHgpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgICB6LWluZGV4OiAxMDtcclxuXHJcbiAgICAgICAgJi5pcy1vcGVuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2xpbmtzIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M0YzRjNDtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4yO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZHJvcGRvd24tY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWRyb3Bkb3duLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZHJvcGRvd24tZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMS40cmVtIDEuNnJlbTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1kcm9wZG93bi1jb2xvci1hY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5zaXRlLXNlYXJjaCB7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgIGhlaWdodDogdmFyKC0tc2VhcmNoLXNpemUpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IHZhcigtLXNlYXJjaC1zaXplKTtcclxuICAgICZfX3RvZ2dsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VhcmNoLWJ0bi1iZyk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zZWFyY2gtYnRuLXJhZGl1cyk7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBoZWlnaHQ6IHZhcigtLXNlYXJjaC1zaXplKTtcclxuICAgICAgICBvdXRsaW5lLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tYmFzZS10cmFuc2l0aW9uKTtcclxuICAgICAgICB3aWR0aDogdmFyKC0tc2VhcmNoLXNpemUpO1xyXG4gICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAtLWhlYWRlci1saW5rLWNvbG9yOiB2YXIoLS1oZWFkZXItbGluay1jb2xvci1ob3Zlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faWNvbiB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjMpO1xyXG4gICAgICAgIC5zaXRlLWhlYWRlciAmIHtcclxuICAgICAgICAgICAgc3Ryb2tlOiAjZmZmZmZmO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2lubmVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbiAgICAgICAgJi5pcy1zaG93biB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlYXJjaC1vdXRlci1iZyk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNlYXJjaC1vdXRlci1ib3JkZXIpO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zZWFyY2gtcmFkaXVzKSAwIHZhcigtLXNlYXJjaC1yYWRpdXMpIHZhcigtLXNlYXJjaC1yYWRpdXMpO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGModmFyKC0tc2VhcmNoLXdpZHRoKSArIDIwcHgpO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tc2VhcmNoLW91dGVyLWdhcCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcclxuICAgICAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDMwcHgpO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDVweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMzBweCk7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc2VhcmNoLWZpZWxkIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0tc2VhcmNoLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDQxcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gNDFweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0xMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICsuc2l0ZS1zZWFyY2hfX3RvZ2dsZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICByaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpIHNjYWxlKDAuNik7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KSBzY2FsZSgwLjgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIC5zaXRlLXNlYXJjaF9faWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5uYXYtYWN0aXZlICYge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWhlYWRlci1saW5rLWNvbG9yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc2l0ZS1zZWFyY2hfX2Nsb3NlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1oZWFkZXItbGluay1jb2xvci1ob3Zlcik7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2xhbXAoMThweCwgMC43dncsIDIycHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogY2xhbXAoMThweCwgMC43dncsIDIycHgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgICAgIC5zaXRlLXNlYXJjaF9faWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgLm5hdi1hY3RpdmUgJiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1oZWFkZXItbGluay1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAubmF2LWFjdGl2ZSAmIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWhlYWRlci1saW5rLWNvbG9yKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19pY29uIHtcclxuICAgICAgICBmaWxsOiB2YXIoLS1oZWFkZXItbGluay1jb2xvcik7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIFt0eXBlPSdzdWJtaXQnXSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgICBoZWlnaHQ6IHZhcigtLXNlYXJjaC1oZWlnaHQpO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogNXB4O1xyXG4gICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xyXG4gICAgICAgICAgICB0b3A6IDVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pcy1zaG93biAmIHt9XHJcbiAgICB9XHJcbiAgICAmX19jbG9zZSB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zZWFyY2gtb3V0ZXItYmcpO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNlYXJjaC1vdXRlci1ib3JkZXIpO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweCAyMHB4IDAgMDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDogMTRweDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwcHgpO1xyXG4gICAgICAgIHdpZHRoOiAzOHB4O1xyXG4gICAgICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZWFyY2gtZmllbGQge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNlYXJjaC1yYWRpdXMpO1xyXG4gICAgZm9udC1zaXplOiBjbGFtcCgxNHB4LCAwLjg0dncsIDE2cHgpO1xyXG4gICAgaGVpZ2h0OiB2YXIoLS1zZWFyY2gtaGVpZ2h0KTtcclxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XHJcbiAgICB3aWR0aDogdmFyKC0tc2VhcmNoLXdpZHRoKTtcclxuICAgIC5zaXRlLWhlYWRlciAmIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwMCUpO1xyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLmdlbmVyYWwtYmctbG9nbyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBtYXgtaGVpZ2h0OiA3MzBweDtcclxuICAgIG1heC13aWR0aDogNzMwcHg7XHJcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICBvcGFjaXR5OiAwLjI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogLTgwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHotaW5kZXg6IC0xO1xyXG59XHJcblxyXG4uc2VhcmNoLW5vLXJlc3VsdHMsXHJcbi5zZWFyY2gtcmVzdWx0cyB7XHJcbiAgICAubS1iYW5uZXIge1xyXG4gICAgICAgICYuaGVhZGVyLWxhcCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICAgICAgLm0tYmFubmVyX19pbm5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEyNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmwtYmFubmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjbGFtcCg0MHB4LCAzLjZ2dywgODBweCk7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYy1oZWFkaW5nIHtcclxuICAgICAgICAgICAgICAgICZfX3RpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zZWFyY2gtZm9ybSB7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmX19sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zZWFyY2gtZmllbGQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2VhcmNoLXJhZGl1cykgMCAwIHZhcigtLXNlYXJjaC1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAyNXB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnNlYXJjaC1zdWJtaXQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMjUnIGhlaWdodD0nMjUnIHZpZXdCb3g9JzAgMCAyNSAyNScgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTE3Ljk2NDEgMTUuNzg4NWgtMS4xMTkzbC0uMzg3Mi0uMzkwNGMxLjM3OTgtMS42MTA5IDIuMjEwNS0zLjcwNDQgMi4yMTA1LTUuOTk2NiAwLTUuMDk1NS00LjA5NzEtOS4yMjU3LTkuMTUxNC05LjIyNTdDNC40NjIyLjE3NTguMzY1MSA0LjMwNi4zNjUxIDkuNDAxNGMwIDUuMDk1NSA0LjA5NyA5LjIyNTcgOS4xNTE1IDkuMjI1NyAyLjI3MzcgMCA0LjM1MDQtLjgzNzQgNS45NDg0LTIuMjIxMmwuMzg3MS4zOTAzdjEuMTIxM2w3LjAzOTYgNy4wODI0IDIuMDk3OC0yLjExNDgtNy4wMjU1LTcuMDk2NlptLTguNDQ3NCAwYy0zLjQ5ODcgMC02LjMzNTctMi44Ni02LjMzNTctNi4zODcgMC0zLjUyNyAyLjgzNy02LjM4NyA2LjMzNTctNi4zODcgMy40OTg2IDAgNi4zMzU1IDIuODYgNi4zMzU1IDYuMzg3IDAgMy41MjctMi44MzY5IDYuMzg3LTYuMzM1NSA2LjM4N1onIGZpbGw9JyUyMzExMjIzOScvJTNFJTNDL3N2ZyUzRVwiKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIHZhcigtLXNlYXJjaC1yYWRpdXMpIHZhcigtLXNlYXJjaC1yYWRpdXMpIDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDA7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDYwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2FyZHMtcHJvZ3JhbXNfX3dyYXAge1xyXG4gICAgICAgIC5jLWhlYWRpbmcge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDNyZW07XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYSgnPD1kZXNrdG9wJykge1xyXG4gICAgLnNpdGUtaGVhZGVyX19zZWFyY2gge1xyXG4gICAgICAgIC8qXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAgIHJpZ2h0OiA2MHB4OyovXHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgb3ZlcmxheS1hcHBlYXIge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59IiwiLnNpdGUtaGVhZGVyIHtcclxuICAgICZfX2FjY291bnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGdhcDogdmFyKC0taGVhZGVyLWhvcml6b250YWwtZ2FwLCAxdncpO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM2MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgei1pbmRleDogOTk5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLXRleHQge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tYmFzZS10ZXh0LWZvbnQpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDE0cHgsIDAuODR2dywgMTZweCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1iYXNlLXRleHQtZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tYmFzZS10ZXh0LWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICAgICAgLy9jb2xvcjogJGdyZXkwMTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhLmRlc2t0b3AtaGVhZGVyLFxyXG4gICAgICAgICYtY2FydCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAuaG92ZXItY2FydCB7XHJcbiAgICAgICAgICAgICAgICAmPmEge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjbGFtcCgyNHB4LCAxLjU3dncsIDI4cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNsYW1wKDI0cHgsIDEuNTd2dywgMjhweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPGRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucG9wdXAtc2hvdyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHRvcDogODFweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IC0xNzVweDtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMzBweCA2MHB4IHJnYmEoMCwgMCwgMCwgMC4xMSk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgLy9ib3JkZXI6IDNweCBzb2xpZCAkZ3JlZW4wMTtcclxuICAgICAgICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGJnLWJvZHk7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA5OTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzODBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDEwcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTIzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9ib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICRncmVlbjAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmNhcnQtdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAyNXB4IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNlLXRleHQtZm9udCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tYmFzZS10ZXh0LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0taDItZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tYmFzZS10ZXh0LWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9jb2xvcjogJGJsdWUwMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMzJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL2NvbG9yOiAkYmx1ZTAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLXRleHQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tYmFzZS10ZXh0LWZvbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWJhc2UtdGV4dC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWgyLWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWJhc2UtdGV4dC1saW5lLWhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vY29sb3I6ICRncmV5MDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmNhcnQtcHJvZHVjdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAvL2JvcmRlci10b3A6IDJweCBzb2xpZCAkd2hpdGUwMTtcclxuICAgICAgICAgICAgICAgICAgICAvL2JhY2tncm91bmQ6ICRiZy1ib2R5O1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDExMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjVweDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmOGY5ZmI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jYXJ0LXByb2R1Y3QtZWRpdC1kZWxldGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL2JvcmRlci1ib3R0b206IDJweCBzb2xpZCAkd2hpdGUwMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDY4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL2NvbG9yOiAkZ3JleTAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDc1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2UtdGV4dC1mb250KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1iYXNlLXRleHQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1iYXNlLXRleHQtZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tYmFzZS10ZXh0LWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tYmFzZS10ZXh0LWZvbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1iYXNlLXRleHQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tYmFzZS10ZXh0LWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1iYXNlLXRleHQtbGluZS1oZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9jb2xvcjogJGdyZXkwMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIG1lZGlhKFwiPGRlc2t0b3AtbFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgQGluY2x1ZGUgdXNlRm9udChPcGVuU2FucywgMS42LCA0MDAsIDEuNik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJi1hdHIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2UtdGV4dC1mb250KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tYmFzZS10ZXh0LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWJhc2UtdGV4dC1mb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tYmFzZS10ZXh0LWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLWVkaXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDc1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYtbW9uZXkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2UtdGV4dC1mb250KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tYmFzZS10ZXh0LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWJhc2UtdGV4dC1mb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tYmFzZS10ZXh0LWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vY29sb3I6ICRncmVlbjAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYtZGVsZXRlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tYmFzZS10ZXh0LWZvbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWJhc2UtdGV4dC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWJhc2UtdGV4dC1mb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1iYXNlLXRleHQtbGluZS1oZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2NvbG9yOiAkYmx1ZTAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vY29sb3I6ICRibHVlMDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZGI3NTdjO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLXN1YnRvdGFsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDI1cHggMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9ib3JkZXItdG9wOiAycHggc29saWQgJHdoaXRlMDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tYmFzZS10ZXh0LWZvbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1iYXNlLXRleHQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tYmFzZS10ZXh0LWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1iYXNlLXRleHQtbGluZS1oZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9jb2xvcjogJGdyZXkwMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJi1zdW1tIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNlLXRleHQtZm9udCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWJhc2UtdGV4dC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1iYXNlLXRleHQtZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWJhc2UtdGV4dC1saW5lLWhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2NvbG9yOiAkZ3JlZW4wMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi1vcmRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNlLXRleHQtZm9udCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tYmFzZS10ZXh0LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tYmFzZS10ZXh0LWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWJhc2UtdGV4dC1saW5lLWhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9jb2xvcjogJGJnLWJvZHk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vYmFja2dyb3VuZDogJHZpb2xldDAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA3cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA3cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vY29sb3I6ICRiZy1ib2R5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE3cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNhcnQtdmFsdWUge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtNnB4O1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IC05cHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1idG4tcHJpbWFyeS1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idG4tcHJpbWFyeS1iZyk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LXNlY29uZGFyeS0yKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAxMmVtO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhLmRlc2t0b3AtaGVhZGVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5vcGVuLWNhcnQsXHJcbiAgICAgICAgLmRlc2t0b3AtaGVhZGVyIHtcclxuICAgICAgICAgICAgPi5pY29uIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDEwcHggYXV0byAwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiICAgIC5zaXRlLWhlYWRlcl9fYWNjb3VudC1jYXJ0IHtcclxuICAgICAgICAtLXdjLXF1YW50aXR5LWlucHV0LXNpemU6IDU5cHg7XHJcbiAgICAgICAgLmlzLXN0aWNreSAuY2FydC1wb3B1cCB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDg1dmg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jYXJ0LXBvcHVwIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMik7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCA0MHB4IHJnYmEoODksIDExOSwgMjE1LCAwLjIpO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYm9keS10ZXh0LWNvbG9yLCAjMzMzMzMzKTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDc1dmg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzMwcHg7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMzMwcHg7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IC0yNXB4O1xyXG4gICAgICAgICAgICB0b3A6IDQwcHg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgei1pbmRleDogMTAwMTtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY2FydC1wcm9kdWN0cy1saXN0IHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDgwJTtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wb3B1cC1oZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIxM2I4YztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc21hbGxlci10ZXh0LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgZWFzZS1pbi1vdXQgMjUwbXM7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMicgaGVpZ2h0PScxMycgdmlld0JveD0nMCAwIDEyIDEzJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNOS43ODgwNyAxMS45MDk5TDYgOC4xMjE4M0wyLjIxMTkzIDExLjkwOTlDMS43OTUyNCAxMi4zMjY2IDEuMTEzMzkgMTIuMzI2NiAwLjY5NjY5OSAxMS45MDk5QzAuMjgwMDExIDExLjQ5MzIgMC4yODAwMTIgMTAuODExNCAwLjY5NjcgMTAuMzk0N0w0LjQ4NDc3IDYuNjA2NkwwLjY5NjY5OSAyLjgxODUzQzAuMjgwMDExIDIuNDAxODQgMC4yODAwMTEgMS43MTk5OSAwLjY5NjY5OSAxLjMwMzNDMS4xMTMzOSAwLjg4NjYxMyAxLjc5NTI0IDAuODg2NjEzIDIuMjExOTMgMS4zMDMzTDYgNS4wOTEzN0w5Ljc4ODA3IDEuMzAzM0MxMC4yMDQ4IDAuODg2NjEzIDEwLjg4NjYgMC44ODY2MTMgMTEuMzAzMyAxLjMwMzNDMTEuNzIgMS43MTk5OSAxMS43MiAyLjQwMTg0IDExLjMwMzMgMi44MTg1M0w3LjUxNTIzIDYuNjA2NkwxMS4zMDMzIDEwLjM5NDdDMTEuNzIgMTAuODExNCAxMS43MiAxMS40OTMyIDExLjMwMzMgMTEuOTA5OUMxMC44ODY2IDEyLjMyNjYgMTAuMjA0OCAxMi4zMjY2IDkuNzg4MDcgMTEuOTA5OVonIGZpbGw9JyUyMzIxM0I4QycvJTNFJTNDL3N2ZyUzRSUwQVwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNzU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jYXJ0LXByb2R1Y3Qge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAyMHB4IDE1cHggMjBweDtcclxuICAgICAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLWltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNlY29uZGFyeS1jb2xvcjIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4IDAgMDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNlY29uZGFyeS1jb2xvcjIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3MCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLW9yZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi1pbmZvIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgPio6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1zbWFsbGVyLXRleHQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogaW5pdGlhbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi1hdHRyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWJvZHktdGV4dC1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmVtcHR5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLXRvdGFsIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCA4MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc21hbGxlci10ZXh0LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaXB0aW9uLXN3aXRjaC1kaXJlY3Rpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi1lZGl0IHtcclxuICAgICAgICAgICAgICAgICAgICAmLXF1YW50aXR5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmRzLXF0eS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLmRzLWJ0bi1zdWIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kcy1idG4taW5jIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAucXVhbnRpdHkgLml0ZW1fcXR5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogdmFyKC0td2MtcXVhbnRpdHktaW5wdXQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZW1vdmUgaW5wdXQgYXJyb3dzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLWRlbGV0ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLW9yZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYnRuLXByaW1hcnktY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yZW1vdmUtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMik7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTInIGhlaWdodD0nMTMnIHZpZXdCb3g9JzAgMCAxMiAxMycgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTkuNzg4MDcgMTEuOTA5OUw2IDguMTIxODNMMi4yMTE5MyAxMS45MDk5QzEuNzk1MjQgMTIuMzI2NiAxLjExMzM5IDEyLjMyNjYgMC42OTY2OTkgMTEuOTA5OUMwLjI4MDAxMSAxMS40OTMyIDAuMjgwMDEyIDEwLjgxMTQgMC42OTY3IDEwLjM5NDdMNC40ODQ3NyA2LjYwNjZMMC42OTY2OTkgMi44MTg1M0MwLjI4MDAxMSAyLjQwMTg0IDAuMjgwMDExIDEuNzE5OTkgMC42OTY2OTkgMS4zMDMzQzEuMTEzMzkgMC44ODY2MTMgMS43OTUyNCAwLjg4NjYxMyAyLjIxMTkzIDEuMzAzM0w2IDUuMDkxMzdMOS43ODgwNyAxLjMwMzNDMTAuMjA0OCAwLjg4NjYxMyAxMC44ODY2IDAuODg2NjEzIDExLjMwMzMgMS4zMDMzQzExLjcyIDEuNzE5OTkgMTEuNzIgMi40MDE4NCAxMS4zMDMzIDIuODE4NTNMNy41MTUyMyA2LjYwNjZMMTEuMzAzMyAxMC4zOTQ3QzExLjcyIDEwLjgxMTQgMTEuNzIgMTEuNDkzMiAxMS4zMDMzIDExLjkwOTlDMTAuODg2NiAxMi4zMjY2IDEwLjIwNDggMTIuMzI2NiA5Ljc4ODA3IDExLjkwOTlaJyBmaWxsPSclMjMyMTNCOEMnLyUzRSUzQy9zdmclM0UlMEFcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm5vLXByb2R1Y3RzIHtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjMpO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDJyZW0gMDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDBkNGRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IzKTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogM3JlbSA0cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5jLWJ0biB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjMpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY2FydC1wcm9kdWN0cy1zdWJ0b3RhbCB7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXNlY29uZGFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc21hbGxlci10ZXh0LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE4cHggMjBweCAxOHB4O1xyXG4gICAgICAgICAgICAgICAgJi10ZXh0IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzJhM2QyNDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYtc3VtbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY2FydC1jaGVja291dCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHggMjBweDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC5jLWJsb2NrX19idG4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDtcclxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5jLWJ0biB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgLy8gICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgLy8gICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xyXG4gICAgICAgICAgICAvLyAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgLy8gICAgICY6YmVmb3JlLFxyXG4gICAgICAgICAgICAvLyAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaG92ZXItY2FydCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgJjpiZWZvcmUsXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiA5cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IyKTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDhweDtcclxuICAgICAgICAgICAgICAgIHRvcDogMjNweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tYmFzZS10cmFuc2l0aW9uKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgLy8gYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMyMTNiOGM7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiA5cHg7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSxcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuY2FydC1wb3B1cCB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xyXG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzIxM2I4YztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5jYXJ0LXBvcHVwIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XHJcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgICAgICAucG9wdXAtaGVhZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY2FydC1ub3RpZnkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzO1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1zbWFsbGVyLXRleHQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogNXB4O1xyXG4gICAgICAgICAgICB0b3A6IDM3cHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44LCAwLjgpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgei1pbmRleDogMTAwMDtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCByZ2JhKDUxLCA1MSwgNTEsIDApO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzMzMzMzMztcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMTBweDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMTAwJTtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XHJcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSIsIi8qKlxyXG4gIyMjIyMjIyMjIyMjIyMjIyMjIyNcclxuICMgICBNb2R1bGU6IEJBTk5FUlNcclxuICMjIyMjIyMjIyMjIyMjIyMjIyMjXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcImJhbm5lcnMvX2Jhbm5lcnMtY29yZVwiO1xyXG5AaW1wb3J0IFwiYmFubmVycy9fYmFubmVycy1sYXlvdXRcIjtcclxuQGltcG9ydCBcImJhbm5lcnMvX2Jhbm5lcnMtc2V0dGluZ3NcIjtcclxuQGltcG9ydCBcImJhbm5lcnMvbGF5b3V0cy9jdGEtYmFubmVyXCI7XHJcbkBpbXBvcnQgXCJiYW5uZXJzL2xheW91dHMvZmlsdGVyLXNlYXJjaFwiO1xyXG5AaW1wb3J0IFwiYmFubmVycy9sYXlvdXRzL2dhdGV3YXktaGVyb1wiOyIsIi8qKlxyXG4gIyMjIyMjIyMjIyMjIyMjI1xyXG4gIyAgIE1vZHVsZSBCQU5ORVJTOiBDb3JlXHJcbiAjIyMjIyMjIyMjIyMjIyMjXHJcbiAqL1xyXG5cclxuLm0tYmFubmVyIHtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIC0tc2VhcmNoLWhlaWdodDogNjBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC0tc2VhcmNoLXJhZGl1czogNDVweDtcclxuICAgIC0tc2VhcmNoLXdpZHRoOiAyMDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgJl9fY29udGFpbmVyIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWluLWhlaWdodDogdmFyKC0tYmFubmVySGVpZ2h0LCBhdXRvKTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLmhlYWRlci1sYXAgJiB7XHJcbiAgICAgICAgICAgIC8vcGFkZGluZy10b3A6IHZhcigtLWhlYWRlci1oaWdodCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwdmg7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faW5uZXIge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIC8vQGluY2x1ZGUgbWVkaWEoJzw9ZGVza3RvcCcsICc+cGhvbmUnKXtcclxuICAgICAgICAvLyAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgLy99XHJcbiAgICB9XHJcbiAgICAuc2VhcmNoLWZpZWxkIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIG1heC13aWR0aDogMjAwcHg7XHJcbiAgICAgICAgLnNlYXJjaC1zdWJtaXQge31cclxuICAgIH1cclxuICAgICZfX21lZGlhIHtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIGltZyxcclxuICAgICAgICBwaWN0dXJlLFxyXG4gICAgICAgIHZpZGVvLFxyXG4gICAgICAgIGlmcmFtZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5oYXMtb3ZlcmxheSAmIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgaGFzLW92ZXJsYXkodmFyKC0tb3ZlcmxheS1jb2xvciksIHZhcigtLW92ZXJsYXktb3BhY2l0eSkpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZpeGVkLWhlYWRlci5zaW5nbGUtcHJvZHVjdCAmIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgICAmLmhlYWRlci1sYXAge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICAubS1iYW5uZXJfX2lubmVyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1oZWFkZXItaGlnaHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi4tYWR2YW5jZWQsXHJcbiAgICAmLi1oZXJvLXdjIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIC8vIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmZmZmZmYgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42MzcxNTMpIDM2LjI4JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjRkZGRkZGIDAlLCAjRkZGRkZGIDI3LjQzJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk0KSA0Ny43NCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSkgNzIuNTElLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTkpIDg1LjU5JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogNzAlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI0ZGRkZGRiAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYzNzE1MykgMzYuMjglLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygyNSUgKyB2YXIoLS1oZWFkZXItaGlnaHQpKTtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcclxuICAgICAgICAgICAgLy8gICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMjQ1LCAyNTAsIDI1NCwgMCkgMCUsICNmNWZhZmUgMTAwJSk7XHJcbiAgICAgICAgICAgIC8vICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgyNDUsIDI1MCwgMjU0LCAwKSAwJSwgI2Y1ZmFmZSAxMDAlKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI0NSwgMjUwLCAyNTQsIDApIDAlLCAjRjVGQUZFIDEwMCUpO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAyMS44OSUsICNGRkZGRkYgOTcuOTglKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsICNGRkZGRkYgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNDkuODElKTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA3MCU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gLm0tYmFubmVyX19pbm5lciB7XHJcbiAgICAgICAgLy8gICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAvLyAmLmhlYWRlci1sYXAge1xyXG4gICAgICAgIC8vICAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcclxuICAgICAgICAvLyAgICAgICAgIC5tLWJhbm5lcl9faW5uZXIge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1oZWFkZXItaGlnaHQpO1xyXG4gICAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgICYubm8tZ3JhZGllbnQge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSxcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKioqKioqKioqKioqKioqXHJcbiAgICAgKiogIFZhcmlhdGlvbnNcclxuICAgICAqKioqKioqKioqKioqKipcclxuICAgICAqICAubS1iYW5uZXItLXNtYWxsLCAtLW1lZGl1bSwgLS1mdWxsXHJcbiAgICAgKi9cclxuICAgICYuLWhlcm8td2Mge1xyXG4gICAgICAgIC0tYmFubmVySGVpZ2h0OiAzMDBweDtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcclxuICAgICAgICAgICAgJjphZnRlcixcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogLTIwcHg7XHJcbiAgICAgICAgICAgICAgICByaWdodDogLTIwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj50YWJsZXRcIikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI0NSwgMjUwLCAyNTQsIDApIDAlLCAjZjVmYWZlIDEwMCUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2luZ2xlICYge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAubC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IGNsYW1wKDUwcHgsIDN2dywgMTUwcHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XHJcbiAgICAgICAgICAgICAgICAmLmhlYWRlci1sYXAge1xyXG4gICAgICAgICAgICAgICAgICAgIC5tLWJhbm5lcl9faW5uZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNzBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmwtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1iYW5uZXItdG9wLXBhZGRpbmcsIDApO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubC1iYW5uZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDc1MHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA2MDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYXJjaGl2ZSAmIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tLWJhbm5lciB7XHJcbiAgICAgICAgICAgICZfX2NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMjBweDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyAmX19tZWRpYSB7XHJcbiAgICAgICAgICAgIC8vICAgICAuc2luZ2xlLXByb2R1Y3QgJiB7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNDUsIDI1MCwgMjU0LCAwKSAwJSwgI2ZlZmVmZiAxMDAlKTtcclxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNSU7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICBsZWZ0OiAtMjBweDtcclxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIHJpZ2h0OiAtMjBweDtcclxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm5vLWdyYWRpZW50IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIC8vICY6YWZ0ZXIsXHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIC5tLWJhbm5lciB7XHJcbiAgICAgICAgICAgIC8vICAgICAmX19tZWRpYSB7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgLnNpbmdsZS1wcm9kdWN0ICYge1xyXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICYuaGFzLW92ZXJsYXkge1xyXG4gICAgICAgICAgICAgICAgLm0tYmFubmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAmX19tZWRpYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zaW5nbGUtcHJvZHVjdCAmIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW92ZXJsYXktY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi4tc2ltcGxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMTc3JyBoZWlnaHQ9JzQ5Nicgdmlld0JveD0nMCAwIDExNzcgNDk2JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDbWFzayBpZD0nYScgc3R5bGU9J21hc2stdHlwZTphbHBoYScgbWFza1VuaXRzPSd1c2VyU3BhY2VPblVzZScgeD0nMCcgeT0nMCcgd2lkdGg9JzExNzcnIGhlaWdodD0nNDk2JyUzRSUzQ3BhdGggZD0nTTAgMGgxMTc3djQ5NkgwVjBaJyBmaWxsPSclMjNDNEM0QzQnLyUzRSUzQy9tYXNrJTNFJTNDZyBvcGFjaXR5PScuMScgbWFzaz0ndXJsKCUyM2EpJyUzRSUzQ3JlY3QgeD0nMjI0JyB5PSczMy41NjE5JyB3aWR0aD0nMTYwLjYwMScgaGVpZ2h0PSczNjYuMDInIHJ4PSc4MC4zMDA0JyB0cmFuc2Zvcm09J3JvdGF0ZSgtNDUgMjI0IDMzLjU2MTkpJyBmaWxsPSclMjMyNDU1QzknLyUzRSUzQ3JlY3QgeD0nOTUyJyB5PSc1MzIuNzA5JyB3aWR0aD0nMTYwLjYwMScgaGVpZ2h0PSczNjYuMDInIHJ4PSc4MC4zMDA0JyB0cmFuc2Zvcm09J3JvdGF0ZSgxMzUgOTUyIDUzMi43MDkpJyBmaWxsPSclMjNFQjhCMzQnLyUzRSUzQ3JlY3Qgd2lkdGg9JzE2MC42MDEnIGhlaWdodD0nMzY2LjAyJyByeD0nODAuMzAwNCcgdHJhbnNmb3JtPSdzY2FsZSgtMSAxKSByb3RhdGUoLTQ1IC00MzUuNDg3IDExNjUuOTQ2MiknIGZpbGw9JyUyMzgxQjI1QycvJTNFJTNDcmVjdCB3aWR0aD0nMTYwLjYwMScgaGVpZ2h0PSczNjYuMDInIHJ4PSc4MC4zMDA0JyB0cmFuc2Zvcm09J3NjYWxlKDEgLTEpIHJvdGF0ZSgtNDUgLTUzMS4wMzY1IC01MzYuNzQ2MyknIGZpbGw9JyUyMzVFMzI4QicvJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMTc3JyBoZWlnaHQ9JzQ5Nicgdmlld0JveD0nMCAwIDExNzcgNDk2JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDbWFzayBpZD0nYScgc3R5bGU9J21hc2stdHlwZTphbHBoYScgbWFza1VuaXRzPSd1c2VyU3BhY2VPblVzZScgeD0nMCcgeT0nMCcgd2lkdGg9JzExNzcnIGhlaWdodD0nNDk2JyUzRSUzQ3BhdGggZD0nTTAgMGgxMTc3djQ5NkgwVjBaJyBmaWxsPSclMjNDNEM0QzQnLyUzRSUzQy9tYXNrJTNFJTNDZyBvcGFjaXR5PScuNScgbWFzaz0ndXJsKCUyM2EpJyUzRSUzQ3JlY3QgeD0nMjI0JyB5PSczMy41NjE5JyB3aWR0aD0nMTYwLjYwMScgaGVpZ2h0PSczNjYuMDInIHJ4PSc4MC4zMDA0JyB0cmFuc2Zvcm09J3JvdGF0ZSgtNDUgMjI0IDMzLjU2MTkpJyBmaWxsPSclMjMyNDU1QzknLyUzRSUzQ3JlY3QgeD0nOTUyJyB5PSc1MzIuNzA5JyB3aWR0aD0nMTYwLjYwMScgaGVpZ2h0PSczNjYuMDInIHJ4PSc4MC4zMDA0JyB0cmFuc2Zvcm09J3JvdGF0ZSgxMzUgOTUyIDUzMi43MDkpJyBmaWxsPSclMjNFQjhCMzQnLyUzRSUzQ3JlY3Qgd2lkdGg9JzE2MC42MDEnIGhlaWdodD0nMzY2LjAyJyByeD0nODAuMzAwNCcgdHJhbnNmb3JtPSdzY2FsZSgtMSAxKSByb3RhdGUoLTQ1IC00MzUuNDg3IDExNjUuOTQ2MiknIGZpbGw9JyUyMzgxQjI1QycvJTNFJTNDcmVjdCB3aWR0aD0nMTYwLjYwMScgaGVpZ2h0PSczNjYuMDInIHJ4PSc4MC4zMDA0JyB0cmFuc2Zvcm09J3NjYWxlKDEgLTEpIHJvdGF0ZSgtNDUgLTUzMS4wMzY1IC01MzYuNzQ2MyknIGZpbGw9JyUyMzVFMzI4QicvJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1MCUgMTUwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjQ1LCAyNTAsIDI1NCwgMCkgMCUsICNmNWZhZmUgMTAwJSk7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIGhlaWdodDogNTAlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi4tbGVmdCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIC5sLWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi4tY2VudGVyIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAubC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmMtaGVhZGluZyB7XHJcbiAgICAgICAgICAgICYuLWgxIHtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi0taGVybyB7XHJcbiAgICAgICAgLmhvbWUgJiB7XHJcbiAgICAgICAgICAgIC0taDEtZm9udC1zaXplOiA3LjVyZW07XHJcbiAgICAgICAgICAgIC0taDEtbWFyZ2luLWJvdHRvbTogMWVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYmxvZyAmIHtcclxuICAgICAgICAgICAgLS1oMS1tYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubC1iYW5uZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IGNsYW1wKDcwcHgsIDcuOHZ3LCA3MHB4KTtcclxuICAgICAgICAgICAgICAgIC5ob21lICYsXHJcbiAgICAgICAgICAgICAgICAuYXJjaGl2ZSAmLFxyXG4gICAgICAgICAgICAgICAgLmJsb2cgJixcclxuICAgICAgICAgICAgICAgIC5wYWdlLWNvbnRhY3QgJixcclxuICAgICAgICAgICAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdGVtcGxhdGUtaW5kaXZpZHVhbCAmIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDYzJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubS1iYW5uZXJfX21lZGlhIHtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IHRvcCBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmMtaGVhZGluZ19fc3ViIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYy1oZWFkaW5nX19idG4ge1xyXG4gICAgICAgICAgICAuYy1idG4ge1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi4tYWR2YW5jZWQge1xyXG4gICAgICAgICAgICAtLWJhbm5lckhlaWdodDogdmFyKC0tYmFubmVyLWhlaWdodC0tZnVsbCwgMTAwdmgpO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA3MHZoO1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJykge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogODBweDtcclxuICAgICAgICAgICAgICAgICYuaGVhZGVyLWxhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLm0tYmFubmVyX19pbm5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogNjB2aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgncG9ydHJhaXQnKSB7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBtYXgtY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubS1iYW5uZXJfX2NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNTUwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgLmhvbWUgJiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubS1iYW5uZXJfX21lZGlhIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA0NSU7XHJcbiAgICAgICAgICAgICAgICAgICAgLmhvbWUgJiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMzAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDMwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI0NSwgMjUwLCAyNTQsIDApIDAlLCAjZjhmY2ZmIDEwMCUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1JTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgyNDUsIDI1MCwgMjU0LCAwKSAwJSwgI2Y4ZmNmZiAxMDAlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1JTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC0xcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubC10YnBhbmVsIHtcclxuICAgICAgICAgICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PWRlc2t0b3AnLFxyXG4gICAgICAgICAgICAgICAgICAgICc+dGFibGV0Jykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBjbGFtcCgxMHB4LCAxLjU3dncsIDMwcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICZfX2xhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1kZXNrdG9wJyxcclxuICAgICAgICAgICAgICAgICAgICAnPnRhYmxldCcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmwtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuLXNpbXBsZSB7XHJcbiAgICAgICAgICAgIC0tYmFubmVySGVpZ2h0OiA0OTZweDtcclxuICAgICAgICAgICAgJi4tY2VudGVyIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC5sLWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICYtLWJsb2cge1xyXG4gICAgICAgICAgICAtLWJhbm5lckhlaWdodDogdmFyKC0tYmFubmVyLWhlaWdodC0tYmxvZywgNDIwcHgpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtLXNtYWxsIHtcclxuICAgICAgICAgICAgLS1iYW5uZXJIZWlnaHQ6IHZhcigtLWJhbm5lci1oZWlnaHQtLXNtYWxsLCAzMDBweCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtLW1lZGl1bSB7XHJcbiAgICAgICAgICAgIC0tYmFubmVySGVpZ2h0OiB2YXIoLS1iYW5uZXItaGVpZ2h0LS1tZWRpdW0sIDQ1MHB4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi0tZnVsbCB7XHJcbiAgICAgICAgICAgIC0tYmFubmVySGVpZ2h0OiB2YXIoLS1iYW5uZXItaGVpZ2h0LS1mdWxsLCAxMDB2aCk7XHJcbiAgICAgICAgICAgIC5tLWJhbm5lcl9fY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDgwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJisucHJvZHVjdC10YWJzIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmhlcm8tcHJvZHVjdC1jYXJkcyB7XHJcblxyXG4gICAgICAgIC5sLWJhbm5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA5NDVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5jdGEtYmxvY2sge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICAgICAgaDQge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmMtYnRuIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5nZW5lcmFsLWJnLWxvZ28rLm0tYmFubmVyLi1oZXJvLXdjIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59IiwiLy8gY2xlYXJmaXhcclxuQG1peGluIGNsZWFyZml4KCkge1xyXG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LWRhdGEoJHNpemU6IGZhbHNlLCAkbGg6IGZhbHNlLCAkd2VpZ2h0OiBmYWxzZSwgJGZvbnQ6IGZhbHNlKSB7XHJcbiAgICBAaWYgJHNpemUgeyBmb250LXNpemU6ICRzaXplOyB9XHJcbiAgICBAaWYgJGxoIHsgbGluZS1oZWlnaHQ6ICRsaDsgfVxyXG4gICAgQGlmICR3ZWlnaHQgeyBmb250LXdlaWdodDogJHdlaWdodDsgfVxyXG4gICAgQGlmICRmb250IHsgZm9udC1mYW1pbHk6ICRmb250OyB9XHJcbn1cclxuXHJcbkBtaXhpbiBoYXMtb3ZlcmxheSgkYmc6IGZhbHNlLCAkb3BhY2l0eTogZmFsc2UpIHtcclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcclxuICAgICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGNvdmVyLWJhY2tncm91bmQge1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbn1cclxuXHJcbi8vIHJvdGF0ZVxyXG5AbWl4aW4gcm90YXRlKCRkZWcpIHtcclxuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoI3skZGVnfWRlZykpO1xyXG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyBzY2FsZVxyXG5AbWl4aW4gc2NhbGUoJHgsJHkpIHtcclxuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgkeCwgJHkpKTtcclxufVxyXG5cclxuLy8gdHJhbnNsYXRlXHJcbkBtaXhpbiB0cmFuc2xhdGUoJHgsICR5KSB7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKCR4LCAkeSkpO1xyXG59XHJcblxyXG4vLyBza2V3XHJcbkBtaXhpbiBza2V3KCR4LCAkeSkge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNrZXcoI3skeH1kZWcsICN7JHl9ZGVnKSk7XHJcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgQGNvbnRlbnRcclxuICAgIH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgQGNvbnRlbnRcclxuICAgIH1cclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgICAgIEBjb250ZW50XHJcbiAgICB9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgQGNvbnRlbnRcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGdyYWRpZW50LWhvcml6b250YWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG59XHJcblxyXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXHJcbi8vXHJcbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXHJcbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXHJcbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG59XHJcblxyXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkZGVnOiA0NWRlZykge1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcclxufVxyXG5cclxuQG1peGluIGdyYWRpZW50LWhvcml6b250YWwtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5cclxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5cclxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICM1NTUsICRvdXRlci1jb2xvcjogIzMzMykge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5cclxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4xNSksICRhbmdsZTogNDVkZWcpIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcclxufVxyXG4iLCIvKipcclxuICMjIyMjIyMjIyMjIyMjIyNcclxuICMgICBNb2R1bGUgQkFOTkVSUzogQmFzZSBMYXlvdXRcclxuICMjIyMjIyMjIyMjIyMjIyNcclxuICovXHJcblxyXG4ubC1iYW5uZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRwYWRkaW5nLXRvcDogdmFyKC0tYmFubmVyLXRvcC1wYWRkaW5nLCAwKTtcclxuXHRwYWRkaW5nLWJvdHRvbTogIHZhcigtLWJhbm5lci1ib3QtcGFkZGluZywgMCk7XHJcblx0ei1pbmRleDogMjtcclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoJzw9ZGVza3RvcCcpIHtcclxuXHRcdHBhZGRpbmctbGVmdDogMjBweDtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdCZfX21lZGlhIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcclxuXHRcdFx0ZmxleDogMSAxIGF1dG87XHJcblx0XHR9XHJcblx0XHQuYy1pbWFnZSB7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ubS1iYW5uZXIge1xyXG5cclxufVxyXG5cclxuXHJcbiIsIi8qIEJhbm5lcnMgKi9cclxuXHJcbi5tLWJhbm5lciB7XHJcbiAgICAtLWJhbm5lci1oZWlnaHQtLXNtYWxsOiAzMDBweDtcclxuICAgIC0tYmFubmVyLWhlaWdodC0tbWVkaXVtOiA2NTBweDtcclxuICAgIC0tYmFubmVyLWhlaWdodC0tYmxvZzogNDAwcHg7XHJcbiAgICAtLWJhbm5lci1oZWlnaHQtLWZ1bGw6IDcwdmg7XHJcbiAgICAtLWJhbm5lci10b3AtcGFkZGluZzogNXZtaW47XHJcbiAgICAtLWJhbm5lci1ib3QtcGFkZGluZzogNXZtaW47XHJcbn0iLCIuY3RhLWJhbm5lciB7XHJcbiAgICAtLWgyLWZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAmX193cmFwIHtcclxuICAgICAgICAmLi1ibHVlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1sb2dvLWRhcmspO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1REQ1NztcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgNTAlO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAzNSU7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgLy9iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkpLCAjRjVERDU3O1xyXG4gICAgYm9yZGVyLXJhZGl1czogY2xhbXAoMTBweCwgMS4wNXZ3LCAyMHB4KTtcclxuICAgIG1heC13aWR0aDogOTUwcHg7XHJcbiAgICBwYWRkaW5nOiBjbGFtcCgyNXB4LCAyLjZ2dywgNTBweCk7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC5jLWhlYWRpbmdfX3RpdGxlIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMyk7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jLWJ0bi4tc2Vjb25kYXJ5OmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idG4tc2Vjb25kYXJ5LWJnKTtcclxuICAgIH1cclxufSIsIi5jLWhlYWRpbmdfX2J0bisuZmlsdGVyLXNlYXJjaCB7XHJcbiAgICBtYXJnaW4tdG9wOiAyZW07XHJcbn1cclxuXHJcbi5maWx0ZXItc2VhcmNoIHtcclxuICAgIC0tYy1ibG9jay1iZzogdHJhbnNwYXJlbnQ7XHJcbiAgICB3aWR0aDogNzUlO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLm0tdGFicyB7XHJcbiAgICAgICAgLS10YnBhbmVsLXBhZGRpbmc6IDM1cHg7XHJcbiAgICB9XHJcbiAgICAubC10Ym5hdiB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcclxuICAgICAgICAmLnByb2R1Y3QtdGFicyAuYy10Ym5hdl9fbGFiZWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDFlbTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sLXRicGFuZWwge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgY2xhbXAoMTBweCwgMS4wNXZ3LCAyMHB4KSBjbGFtcCgxMHB4LCAxLjA1dncsIDIwcHgpIGNsYW1wKDEwcHgsIDEuMDV2dywgMjBweCk7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIGNsYW1wKDEwcHgsIDEuMDV2dywgMjBweCkgY2xhbXAoMTBweCwgMS4wNXZ3LCAyMHB4KSBjbGFtcCgxMHB4LCAxLjA1dncsIDIwcHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAubC10YnBhbmVsX19pdGVtIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubC10YnBhbmVsX19sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmMtYmxvY2sge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgIH1cclxuICAgIC5wdC1wYW5lbCB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgIC5maWx0ZXItc2VhcmNoLWJveCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDM1cHg7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI0Y3RjdGNztcclxuICAgICAgICB9XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAmX19zZWxlY3Qge1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj50YWJsZXRcIikge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPnRhYmxldFwiKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNjAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0NCU7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmctcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjREJFMEVEO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICNkYXRhLXRhYi1maWx0ZXItMSAmIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA4NSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc2VsZWN0LFxyXG4gICAgICAgIC5zZWxlY3QyIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmRyb3Bkb3duLWxpc3Qge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2J0biB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDYwcHg7XHJcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYy1idG4ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgJl9fdHh0IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICZfX2ljbyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAuYy1idG5fX2ljbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBpbnB1dCxcclxuICAgIHNlbGVjdCxcclxuICAgIGJ1dHRvbixcclxuICAgIC5zZWxlY3QyIHtcclxuICAgICAgICBoZWlnaHQ6IGNsYW1wKDQ1cHgsIDMuMTJ2dywgNjBweCk7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2VsZWN0Mi1jb250YWluZXIge1xyXG4gICAgICAgICYuc2VsZWN0MiB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y3RjdGNztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS4zcmVtLCAwLjk1dncsIDEuOHJlbSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IzKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmctcmlnaHQ6IDEycHg7XHJcbiAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgb3V0bGluZTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjZyZW0sIDEuMXZ3LCAyLjFyZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMCBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBjbGFtcCgxMHB4LCAxLjA1dncsIDIwcHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYnRuOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA4cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMnB4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiA0NiU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDEzNWRlZyk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlLWluO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbiB7XHJcbiAgICAgICAgICAgICYuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4O1xyXG4gICAgICAgICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICAmX19yZW5kZXJlZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBjbGFtcCg0NXB4LCAzLjEydncsIDYwcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLyoqXHJcbiAqIEJhbm5lciBMYXlvdXQ6IEdhdGV3YXkgSGVyb1xyXG4gKlxyXG4gKiBFeHRlbmRzIHRoZSBiYXNlIC5tLWJhbm5lciBzdHlsZXMgd2l0aCB0aGUgdHdvLWJ1dHRvbiBcIldobyB3ZSBzZXJ2ZVwiXHJcbiAqIGF1ZGllbmNlIHNlZ21lbnRhdGlvbiBsYXlvdXQuXHJcbiAqL1xyXG5cclxuLm0tYmFubmVyLS1nYXRld2F5IHtcclxuICAgIC5nYXRld2F5LWhlcm9fX2N0YXMge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IDEycHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjhweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZ2F0ZXdheS1oZXJvX19sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjMpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIH1cclxuXHJcbiAgICAuZ2F0ZXdheS1oZXJvX19idG4ge1xyXG4gICAgICAgIG1pbi13aWR0aDogMjIwcHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogSGVhZGluZyBDb21wb25lbnQgKi9cclxuXHJcbkBpbXBvcnQgXCJoZWFkaW5ncy9faGVhZGluZ3MtY29yZVwiO1xyXG5AaW1wb3J0IFwiaGVhZGluZ3MvX2hlYWRpbmdzLWxheW91dHNcIjsiLCIvKipcclxuICogSEVBRElORyBNb2R1bGVcclxuICpcclxuICogU3RhbmRhbG9uZSBoZWFkaW5nIHNlbGVjdG9ycywgdGl0bGUsIHByZS9zdWItdGl0bGVcclxuICpcclxuICovXHJcblxyXG4uLWgxIHtcclxuXHRsaW5lLWhlaWdodDogdmFyKC0taDEtbGluZS1oZWlnaHQsIDEpO1xyXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1oMS1mb250LXdlaWdodCwgNjAwKTtcclxuXHRmb250LWZhbWlseTogdmFyKC0taDEtZm9udCk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0taDEtbWFyZ2luLWJvdHRvbSwgLjVlbSk7XHJcblx0dGV4dC10cmFuc2Zvcm06IHZhcigtLWgxLXRleHQtdHJhbnNmb3JtKTtcclxuXHRsZXR0ZXItc3BhY2luZzogdmFyKC0taDEtbGV0dGVyLXNwYWNpbmcsIDApO1xyXG5cdGZvbnQtc2l6ZTogY2xhbXAodmFyKC0taDEtZm9udC1zaXplLW1vYmlsZSksIDQuNXZ3LCB2YXIoLS1oMS1mb250LXNpemUpKTtcclxuXHRjb2xvcjogdmFyKC0tdGl0bGVzLWNvbG9yKTtcclxuXHQuY29sb3JzLWludmVydGVkICYge1xyXG5cdFx0Y29sb3I6IHZhcigtLXRpdGxlcy1jb2xvci1hbHQpO1xyXG5cdH1cclxuXHQuYy1oZWFkaW5nX19zdWIge1xyXG5cdFx0Zm9udC1zaXplOiBjbGFtcCh2YXIoLS1oMS1zdWJ0aXRsZS1mb250LXNpemUtbW9iaWxlLCAxOHB4KSwgMS4zNTR2dywgdmFyKC0taDEtc3VidGl0bGUtZm9udC1zaXplLCAyLjZyZW0pKTtcclxuXHR9XHJcbn1cclxuLi1oMiwgLmlzLXd5c2l3eWcgaDIge1xyXG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1oMi1saW5lLWhlaWdodCwgMSk7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWgyLWZvbnQtd2VpZ2h0LCA2MDApO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1oMi1mb250KTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdmFyKC0taDItdGV4dC10cmFuc2Zvcm0pO1xyXG5cdGxldHRlci1zcGFjaW5nOiB2YXIoLS1oMi1sZXR0ZXItc3BhY2luZywgMCk7XHJcblx0Zm9udC1zaXplOiBjbGFtcCh2YXIoLS1oMi1mb250LXNpemUtbW9iaWxlKSwgMi44MnZ3LCB2YXIoLS1oMi1mb250LXNpemUpKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1oMi1tYXJnaW4tYm90dG9tLCAuNWVtKTtcclxuXHQuYy1oZWFkaW5nX19zdWIge1xyXG5cdFx0Zm9udC1zaXplOiBjbGFtcCh2YXIoLS1oMi1zdWJ0aXRsZS1mb250LXNpemUtbW9iaWxlLCAxNnB4KSwgMS4xNDZ2dywgdmFyKC0taDItc3VidGl0bGUtZm9udC1zaXplLCAyLjJyZW0pKTtcclxuXHR9XHJcbn1cclxuLi1oMywgLmlzLXd5c2l3eWcgaDMge1xyXG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1oMy1saW5lLWhlaWdodCwgMSk7XHJcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWgzLWZvbnQtd2VpZ2h0LCA2MDApO1xyXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1oMy1mb250KTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdmFyKC0taDMtdGV4dC10cmFuc2Zvcm0pO1xyXG5cdGxldHRlci1zcGFjaW5nOiB2YXIoLS1oMy1sZXR0ZXItc3BhY2luZywgMCk7XHJcblx0Zm9udC1zaXplOiBjbGFtcCh2YXIoLS1oMy1mb250LXNpemUtbW9iaWxlKSwgMS41N3Z3LCB2YXIoLS1oMy1mb250LXNpemUpKTtcclxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1oMy1tYXJnaW4tYm90dG9tLCAuNWVtKTtcclxufVxyXG4uLWg0LCAuaXMtd3lzaXd5ZyBoNCB7XHJcblx0bGluZS1oZWlnaHQ6IHZhcigtLWg0LWxpbmUtaGVpZ2h0LCAxKTtcclxuXHRmb250LXdlaWdodDogdmFyKC0taDQtZm9udC13ZWlnaHQsIDYwMCk7XHJcblx0Zm9udC1mYW1pbHk6IHZhcigtLWg0LWZvbnQpO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB2YXIoLS1oNC10ZXh0LXRyYW5zZm9ybSk7XHJcblx0bGV0dGVyLXNwYWNpbmc6IHZhcigtLWg0LWxldHRlci1zcGFjaW5nLCAwKTtcclxuXHRmb250LXNpemU6IGNsYW1wKHZhcigtLWg0LWZvbnQtc2l6ZS1tb2JpbGUpLCAxLjF2dywgdmFyKC0taDQtZm9udC1zaXplKSk7XHJcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0taDQtbWFyZ2luLWJvdHRvbSwgLjVlbSk7XHJcbn1cclxuXHJcbi5jLWhlYWRpbmcge1xyXG5cdCZfX3RpdGxlIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuXHRcdGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XHJcblx0XHRsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHotaW5kZXg6IDE7XHJcblx0XHRjb2xvcjogdmFyKC0tdGl0bGVzLWNvbG9yKTtcclxuXHJcblx0XHQuY29sb3JzLWludmVydGVkICYge1xyXG5cdFx0XHRjb2xvcjogdmFyKC0tdGl0bGVzLWNvbG9yLWFsdCk7XHJcblx0XHR9XHJcblxyXG5cdFx0c3BhbiB7XHJcblx0XHRcdGNvbG9yOiB2YXIoLS10aXRsZXMtY29sb3ItYWNjZW50KTtcclxuXHRcdH1cclxuXHJcblx0XHQudGV4dC1jZW50ZXIgJiB7XHJcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jl9fcHJlIHtcclxuXHRcdGNvbG9yOiB2YXIoLS1wcmV0aXRsZS1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvcjIpKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiB2YXIoLS1wcmV0aXRsZS1saW5lLWhlaWdodCwgMS40KTtcclxuXHRcdGxldHRlci1zcGFjaW5nOiB2YXIoLS1wcmV0aXRsZS1sZXR0ZXItc3BhY2luZywgMCk7XHJcblx0XHRtYXJnaW46IHZhcigtLXByZXRpdGxlLW1hcmdpbi1ib3R0b20sIC41ZW0pIDA7XHJcblx0XHRmb250LWZhbWlseTogdmFyKC0tcHJldGl0bGUtZm9udCk7XHJcblx0XHRmb250LXdlaWdodDogdmFyKC0tcHJldGl0bGUtZm9udC13ZWlnaHQsIDUwMCk7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdmFyKC0tcHJldGl0bGUtdGV4dC10cmFuc2Zvcm0pO1xyXG5cdFx0Zm9udC1zaXplOiBjbGFtcCh2YXIoLS1wcmV0aXRsZS1mb250LXNpemUtbW9iaWxlLCAxOHB4KSwgMi4yNXZ3LCB2YXIoLS1wcmV0aXRsZS1mb250LXNpemUsIDIuNHJlbSkpO1xyXG5cdFx0LmNvbG9ycy1pbnZlcnRlZCAmLFxyXG5cdFx0LnN0eWxlLWRhcmsgJiB7XHJcblx0XHRcdGNvbG9yOiB2YXIoLS1wcmV0aXRsZS1jb2xvci1hbHQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jl9fc3ViIHtcclxuXHRcdGNvbG9yOiB2YXIoLS1zdWJ0aXRsZS1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvcjIpKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiB2YXIoLS1zdWJ0aXRsZS1saW5lLWhlaWdodCwgMS40KTtcclxuXHRcdGxldHRlci1zcGFjaW5nOiB2YXIoLS1zdWJ0aXRsZS1sZXR0ZXItc3BhY2luZywgMCk7XHJcblx0XHRtYXJnaW46IHZhcigtLXN1YnRpdGxlLW1hcmdpbi1ib3R0b20sIC41ZW0pIDA7XHJcblx0XHRmb250LWZhbWlseTogdmFyKC0tc3VidGl0bGUtZm9udCk7XHJcblx0XHRmb250LXdlaWdodDogdmFyKC0tc3VidGl0bGUtZm9udC13ZWlnaHQsIDUwMCk7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdmFyKC0tc3VidGl0bGUtdGV4dC10cmFuc2Zvcm0pO1xyXG5cdFx0Zm9udC1zaXplOiBjbGFtcCh2YXIoLS1zdWJ0aXRsZS1mb250LXNpemUtbW9iaWxlLCAxNnB4KSwgMS4xNDZ2dywgdmFyKC0tc3VidGl0bGUtZm9udC1zaXplLCAyLjRyZW0pKTtcclxuXHJcblx0XHQuY29sb3JzLWludmVydGVkICYsXHJcblx0XHQuc3R5bGUtZGFyayAmIHtcclxuXHRcdFx0Y29sb3I6IHZhcigtLXN1YnRpdGxlLWNvbG9yLWFsdCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmX190ZXh0IHtcclxuXHRcdGZvbnQtc2l6ZTogdmFyKC0tYmFzZS10ZXh0LXNpemUpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogIy4jIE1vZGlmaWVyc1xyXG5cdCAqL1xyXG5cclxuXHQudGV4dC1jZW50ZXIgJiB7XHJcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdCYuLXNtYWxsIHtcclxuXHJcblx0XHQmLi1oMiB7XHJcblx0XHRcdC0taDItZm9udC1zaXplOiAzcmVtO1xyXG5cdFx0XHQtLWgyLW1hcmdpbi1ib3R0b206IDMycHg7XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHJcbn1cclxuIiwiLyogSGVhZGluZyBMYXlvdXQgKi9cclxuXHJcbi5sLWhlYWRpbmctdjEge1xyXG5cclxufVxyXG5cclxuLmwtaGVhZGluZy12MiB7XHJcblxyXG5cdC0taDItbGV0dGVyLXNwYWNpbmc6IC4xZW07XHJcblx0LS1oMi1mb250OiB2YXIoLS1mb250LWZhbWlseS1wcmltYXJ5KTtcclxuXHQtLWgyLWZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0LS1oMi10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuXHQtLXByZXRpdGxlLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IyKTtcclxuXHQtLXByZXRpdGxlLWZvbnQtc2l6ZTogMnJlbTtcclxuXHQtLXByZXRpdGxlLWxldHRlci1zcGFjaW5nOiAwO1xyXG5cclxuXHQtLXN1YnRpdGxlLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XHJcblx0LS1zdWJ0aXRsZS1mb250LXNpemU6IDEuOHJlbTtcclxuXHQtLXN1YnRpdGxlLWxldHRlci1zcGFjaW5nOiAwO1xyXG5cclxuXHQtLWgyLWZvbnQtc2l6ZTogMi44cmVtO1xyXG5cclxuXHQuYy1oZWFkaW5nX190aXRsZSB7XHJcblx0XHRmb250LXNpemU6IDIuOHJlbTtcclxuXHR9XHJcbn1cclxuIiwiLyoqXHJcbiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXHJcbiAjICAgQnV0dG9ucyBDb21wb25lbnRcclxuICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcclxuICovXHJcblxyXG5cclxuLyoqXHJcbiAqKioqKioqKioqKioqXHJcbiAqKiAgQ29yZVxyXG4gKioqKioqKioqKioqKlxyXG4gKiAgQ29tbW9uIHByb3BlcnRpZXMgb2YgYnV0dG9uc1xyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJidXR0b25zL2J1dHRvbnMtY29yZVwiOyIsIi8qKiBCdXR0b25zIENvcmUgQ29tcG9uZW50ICovXHJcblxyXG4uYnRuIHtcclxuICAgIC0tYnRuLWljby1jb2xvcjogY3VycmVudENvbG9yO1xyXG4gICAgLS1pY29uLXNoaWZ0OiAxMHB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG59XHJcblxyXG4uYy1idG4ge1xyXG4gICAgQGV4dGVuZCAuYnRuO1xyXG4gICAgZm9udC1zaXplOiB2YXIoLS1idG4tZm9udC1zaXplLCAxLjhyZW0pO1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWJ0bi1mb250LWZhbWlseSk7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tYnRuLXRleHQtdHJhbnNmb3JtLCBub25lKTtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1idG4tZm9udC13ZWlnaHQsIDQwMCk7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgIGJveC1zaGFkb3c6IHZhcigtLWJ0bi1ib3gtc2hhZG93LCBub25lKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJ0bi1ib3JkZXItcmFkaXVzLCAwKTtcclxuICAgIG1hcmdpbjogMnB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IHZhcigtLWJ0bi1wYWRkaW5nLXRvcC1ib3R0b20sIDEwcHgpIHZhcigtLWJ0bi1wYWRkaW5nLWxlZnQtcmlnaHQsIDIwcHgpO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgfVxyXG4gICAgPnNwYW4ge1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICB9XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBvdXRsaW5lOiAwO1xyXG4gICAgfVxyXG4gICAgJi4tbW9yZSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzExJyBoZWlnaHQ9JzYnIHZpZXdCb3g9JzAgMCAxMSA2JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNNS40OTk3MiAzLjY3OTI1TDEuNzkxMzYgMC4yNzk3NUMxLjM4MTE1IC0wLjA5MzI1MDQgMC43MTc0NTEgLTAuMDkzMjUwNCAwLjMwNzI0NCAwLjI3OTc0OUMtMC4xMDI0MTQgMC42NTY3NDkgLTAuMTAyNDE0IDEuMjY1NzUgMC4zMDcyNDQgMS42NDI3NUw0Ljc1Nzk0IDUuNzIwMjVDNS4xNjgxNSA2LjA5MzI1IDUuODMyNCA2LjA5MzI1IDYuMjQyMDYgNS43MjAyNUwxMC42OTI4IDEuNjQyNzVDMTEuMTAzIDEuMjY1NzUgMTEuMTAxOSAwLjY1Njc1IDEwLjY5MjggMC4yNzk3NUMxMC4yODMxIC0wLjA5MzI1IDkuNjE5NCAtMC4wOTMyNTAxIDkuMjA5MTkgMC4yNzk3NUw1LjQ5OTcyIDMuNjc5MjVaJyBmaWxsPSclMjMzMzk3RUYnLyUzRSUzQy9zdmclM0UlMEFcIik7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTFweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgdG9wOiAxcHg7XHJcbiAgICAgICAgICAgIC5pcy1hY3RpdmUgJiB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLyogQnV0dG9uIFZpc3VhbCBWYXJpYW50cyAqL1xyXG4gICAgJi4tcHJpbWFyeSxcclxuICAgICYuLXNlY29uZGFyeSB7XHJcbiAgICAgICAgLmMtYnRuX19pY28ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWJ0bi1wYWRkaW5nLWxlZnQtcmlnaHQsIDIwcHgpIC8gMik7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuLXByaW1hcnkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ0bi1wcmltYXJ5LWJnKTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tYnRuLXByaW1hcnktY29sb3IpO1xyXG4gICAgICAgIGJvcmRlcjogdmFyKC0tYnRuLXByaW1hcnktYm9yZGVyKSBzb2xpZCB2YXIoLS1idG4tcHJpbWFyeS1ib3JkZXItY29sb3IpO1xyXG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnRuLXByaW1hcnktYmctaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWJ0bi1wcmltYXJ5LWNvbG9yLWhvdmVyKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLXByaW1hcnktYm9yZGVyLWNvbG9yLWhvdmVyKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuLXdoaXRlIHtcclxuICAgICAgICAgICAgLS1idG4tcHJpbWFyeS1iZzogI2ZmZmZmZjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLi1zZWNvbmRhcnkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ0bi1zZWNvbmRhcnktYmcpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1idG4tc2Vjb25kYXJ5LWNvbG9yKTtcclxuICAgICAgICBib3JkZXI6IHZhcigtLWJ0bi1zZWNvbmRhcnktYm9yZGVyKSBzb2xpZCB2YXIoLS1idG4tc2Vjb25kYXJ5LWJvcmRlci1jb2xvcik7XHJcbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idG4tc2Vjb25kYXJ5LWJnLWhvdmVyKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1idG4tc2Vjb25kYXJ5LWNvbG9yLWhvdmVyKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLXNlY29uZGFyeS1ib3JkZXItY29sb3ItaG92ZXIpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ0bi1zZWNvbmRhcnktYmctaG92ZXIpO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYnRuLXNlY29uZGFyeS1jb2xvci1ob3Zlcik7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLXNlY29uZGFyeS1ib3JkZXItY29sb3ItaG92ZXIpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi4tbGluayB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWJ0bi1saW5rLWNvbG9yKTtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAuYy1idG5fX2ljbyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzVweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tbGluay1pY29uLWNvbG9yLCBjdXJyZW50Q29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHN2ZyxcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDFlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1idG4tbGluay1jb2xvci1ob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLyogICAgICAgICYuaWNvbi1sZWZ0IHtcclxuICAgICAgICAgICAgLmMtYnRuX19pY28ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9Ki9cclxuICAgIH1cclxuICAgIC8qIEJ1dHRvbiBTaXplIFZhcmlhbnRzICovXHJcbiAgICAmLi1zbWFsbCB7XHJcbiAgICAgICAgLS1idG4tcGFkZGluZy1sZWZ0LXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIC0tYnRuLXBhZGRpbmctdG9wLWJvdHRvbTogMTBweDtcclxuICAgICAgICBmb250LXNpemU6IC44ZW07XHJcbiAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDYwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLi1sYXJnZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcclxuICAgIH1cclxuICAgIC8qIEJ1dHRvbiBJY29uICovXHJcbiAgICAmX19pY28ge1xyXG4gICAgICAgIG1pbi13aWR0aDogNDBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1iYXNlLXRyYW5zaXRpb24pLCBmaWx0ZXIgdmFyKC0tYmFzZS10cmFuc2l0aW9uKSwgb3BhY2l0eSB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMzBweDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBzdmcsXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxLjVlbTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcztcclxuICAgICAgICB9XHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgZmlsbDogdmFyKC0tYnRuLWljby1jb2xvcik7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1idG4taWNvLWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWJhc2UtdHJhbnNpdGlvbiksIGZpbHRlciB2YXIoLS1iYXNlLXRyYW5zaXRpb24pLCBvcGFjaXR5IHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmljb24tcmlnaHQge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgLmMtYnRuX19pY28ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tYnRuLXBhZGRpbmctbGVmdC1yaWdodCwgMjBweCkgLyAyKTtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC5jLWJ0bl9faWNvIC5pY29uIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDVweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaWNvbi1yZXZlcnNlZCB7XHJcbiAgICAgICAgLy90cmFuc2Zvcm06IHNjYWxlWCgtMSk7XHJcbiAgICB9XHJcbiAgICAuYy1idG4tYmFyICYge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAuYy1idG5fX2ljbyB7XHJcbiAgICAgICAgICAgICAgICAuaWNvbjpub3QoLmljb24tc2hvcHBpbmctY2FydCk6bm90KC5pY29uLXNlYXJjaCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmljb24tcmV2ZXJzZWQge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KSBzY2FsZVgoLTEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5sb2FkaW5nIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLy8gLmMtYnRuX19pY28ge1xyXG4gICAgICAgICAgICAvLyAgICAgdHJhbnNmb3JtLW9yaWdpbjogODIlO1xyXG4gICAgICAgICAgICAvLyAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDkyJTtcclxuICAgICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAuYy1idG5fX2ljbyB7XHJcbiAgICAgICAgICAgICAgICAvLyBhbmltYXRpb246IHJvdGF0aW9uIDFzIGluZmluaXRlIGxpbmVhcjtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDY5JTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA3NSU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmMtYnRuX19pY28ge1xyXG4gICAgICAgICAgICBhbmltYXRpb246IHJvdGF0aW9uIDFzIGluZmluaXRlIGxpbmVhcjtcclxuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNjklO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA3NSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRpb24ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIENGNyBTdWJtaXQgQnV0dG9uICovXHJcblxyXG4ud3BjZjctc3VibWl0LFxyXG4uZ2Zvcm1fYnV0dG9uLFxyXG4ubS1iYW5uZXIgLnNlYXJjaC1zdWJtaXQge1xyXG4gICAgQGV4dGVuZCAuYy1idG4sXHJcbiAgICAuLXByaW1hcnk7XHJcbiAgICBmb250LXNpemU6IHZhcigtLWJ0bi1mb250LXNpemUsIDEuOHJlbSk7XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0tYnRuLWZvbnQtZmFtaWx5KTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1idG4tdGV4dC10cmFuc2Zvcm0sIG5vbmUpO1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWJ0bi1mb250LXdlaWdodCwgNDAwKTtcclxuICAgIGJveC1zaGFkb3c6IHZhcigtLWJ0bi1ib3gtc2hhZG93LCBub25lKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJ0bi1ib3JkZXItcmFkaXVzLCAwKTtcclxuICAgIHBhZGRpbmc6IHZhcigtLWJ0bi1wYWRkaW5nLXRvcC1ib3R0b20pIHZhcigtLWJ0bi1wYWRkaW5nLWxlZnQtcmlnaHQpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XHJcbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCAycHggcmdiYSgwLCA3LCA2MywgMC4yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zc28tbG9naW4ge1xyXG4gICAgLnNob3J0Y29kZS13cmFwIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgLmMtYnRuIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKipcclxuICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcclxuICMgICBDb250ZW50IEJsb2NrIENvbXBvbmVudFxyXG4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJjLWJsb2NrL2MtYmxvY2stY29yZVwiOyIsIi5jLWJsb2NrIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtYmxvY2stYmcpO1xyXG4gICAgYm94LXNoYWRvdzogdmFyKC0tYy1ibG9jay1zaGFkb3cpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYy1ibG9jay1yYWRpdXMpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1ibG9jay1ib3JkZXIpO1xyXG4gICAgaXNvbGF0aW9uOiBpc29sYXRlO1xyXG4gICAgJl9fYm9keSB7XHJcbiAgICAgICAgcGFkZGluZzogdmFyKC0tYy1ibG9jay1wYWRkaW5nLCAxNXB4KTtcclxuICAgICAgICB0ZXh0LWFsaWduOiB2YXIoLS1jLWJsb2NrLWFsaWduLCBsZWZ0KTtcclxuICAgICAgICBmb250LXNpemU6IHZhcigtLWMtYmxvY2stdGV4dC1zaXplKTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tYy1ibG9jay1jb2xvcik7XHJcbiAgICB9XHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tYy1ibG9jay10aXRsZS1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tYy1ibG9jay10aXRsZS13ZWlnaHQpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1jLWJsb2NrLXRpdGxlLXRyYW5zZm9ybSk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWMtYmxvY2stdGl0bGUtY29sb3IpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWg0LW1hcmdpbi1ib3R0b20sIC41ZW0pO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWJ0bi1saW5rLWNvbG9yLWhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3ByZXRpdGxlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xyXG4gICAgfVxyXG4gICAgJl9fdGV4dCB7XHJcbiAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgLy9jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX21lZGlhIHtcclxuICAgICAgICBhc3BlY3QtcmF0aW86IHZhcigtLWMtYmxvY2staW1nLXJhdGlvLCA0IC8gMyk7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19idG4ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcclxuICAgIH1cclxuICAgIC5jLWltYWdlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG59XHJcblxyXG4uY2hlY2stbGlzdCB7XHJcbiAgICBsaSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcbiAgICAuaWNvbiB7XHJcbiAgICAgICAgd2lkdGg6IDIycHg7XHJcbiAgICAgICAgbWluLXdpZHRoOiAyMnB4O1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS13Yy1wcm9kdWN0LWJ1bGxldC1pY29uLXAsICM1RTMyOEIpO1xyXG4gICAgICAgIGZpbGw6IHZhcigtLXdjLXByb2R1Y3QtYnVsbGV0LWljb24tcywgIzhFNkZBRSk7XHJcbiAgICAgICAgaGVpZ2h0OiBjbGFtcCgxM3B4LCAwLjkzdncsIDE4cHgpO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IGNsYW1wKDNweCwgMC4yNnZ3LCA1cHgpO1xyXG4gICAgICAgIC8qLmJ1bGxldC1zdHlsZTEgJiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNUUzMjhCO1xyXG4gICAgICAgICAgICBmaWxsOiAjOEU2RkFFO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ1bGxldC1zdHlsZTIgJiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjODFCMjVDO1xyXG4gICAgICAgICAgICBmaWxsOiAjQjFEMjk5O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ1bGxldC1zdHlsZTMgJiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNTczNTg2O1xyXG4gICAgICAgICAgICBmaWxsOiAjRUI4QjM0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ1bGxldC1zdHlsZTQgJiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjODFCMjVDO1xyXG4gICAgICAgICAgICBmaWxsOiAjQjFEMjk5O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ1bGxldC1zdHlsZTUgJiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNUUzMjhCO1xyXG4gICAgICAgICAgICBmaWxsOiAjNUVCRkNGO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ1bGxldC1zdHlsZTYgJiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjODFCMjVDO1xyXG4gICAgICAgICAgICBmaWxsOiAjMjQ1NUM5O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ1bGxldC1zdHlsZTcgJiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMjQ1NUM5O1xyXG4gICAgICAgICAgICBmaWxsOiAjRUM4QjM0O1xyXG4gICAgICAgIH0qL1xyXG4gICAgfVxyXG59Il19 */
