<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";
/*
 * 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: 1em;
}

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 &gt; 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;
}

:is(a, button, input, textarea, summary) {
  --outline-size: max(2px, 0.08em);
  --outline-style: solid;
  --outline-color: currentColor;
}

/*:is(a, button, input, textarea, summary):focus {
	outline: var(--outline-size) var(--outline-style) var(--outline-color);
	outline-offset: var(--outline-offset, var(--outline-size));
}*/
:is(a, button, input, textarea, summary):focus-visible {
  outline: var(--outline-size) var(--outline-style) var(--outline-color);
  outline-offset: var(--outline-offset, var(--outline-size));
}

:is(input):focus-visible {
  outline: none;
}

/* Focus customizations */
input {
  --outline-style: dashed;
}

summary {
  --outline-color: blue;
  --outline-offset: 0.5em;
  --outline-style: dotted;
}

.skip-link {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
.skip-link:focus {
  background-color: #eee;
  clip: auto !important;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

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

 */
:root {
  /* Layout Settings */
  --phone-width: 576px;
  --tablet-width: 768px;
  --desktop-width: 1112px;
  --desktop-width-sm: 1024px;
  --desktop-width-m: 1245px;
  --desktop-width-l: 1440px;
  --desktop-width-xl: 1640px;
  --desktop-width-1920: 1920px;
  --content-width: var(--desktop-width-m);
  --blog-width: 800px;
  --page-gutter: 20px;
  --grid-gutter: 24px;
  --vertical-gap: 5vmin;
  --base-transition: .3s;
  /* Colors */
  --primary-color1: #368A20;
  --primary-color2: #67E447;
  --primary-color3: #324332;
  --secondary-color1: #ffffff;
  --secondary-color2: #368A20;
  --secondary-color3: #67E447;
  --body-bg: #fff;
  --body-bg-alt: #333;
  --body-text-color: #3B403B;
  --body-text-color-alt: var(--secondary-color2);
  --titles-color: var(--primary-color3);
  --titles-color-alt: var(--secondary-color1);
  --titles-color-accent: var(--primary-color1);
  --primary-link-color: var(--primary-color1);
  --primary-link-color-alt: var(--secondary-color2);
  --border-color: #333;
  --kelp: #213721;
  --laurel: #146100;
  --forest: #368B20;
  --alto: #D0D0D0;
  --heavy-metal: #343734;
  --scorpion: #585858;
  --boulder: #797979;
  --mercury:#E5E5E5;
}
@media (max-width: 1112px) {
  :root {
    --vertical-gap: 20px;
    --page-gutter: 20px;
    --content-width: var(--tablet-width);
  }
}
@media (min-width: 1113px) and (max-width: 1440px) {
  :root {
    --content-width: var(--desktop-width-sm);
  }
}

/* Typography */
/* Mixin origin: https://marc-ed-raffalli.github.io/2017/10/14/sass-font-face.html */
@font-face {
  font-family: "SwitzerVariable";
  src: url("./../../fonts/switzer/Switzer-Variable.woff2") format("woff2");
}
:root {
  --font-family-primary: "SwitzerVariable", sans-serif;
  --font-family-secondary: "SwitzerVariable", sans-serif;
  --base-text-size: 2rem;
  --base-text-font: var(--font-family-primary);
  --base-text-line-height: 1.6;
  --base-text-font-weight: 400;
  --larger-text-size: 2.4rem;
  --larger-text-font-weight: 500;
  --smaller-text-size: 1.6rem;
  --smaller-text-font-weight: 400;
  --blog-text-size: 1.8rem;
  --blog-text-font-weight: 400;
  --h-clamp-formula: 3vw + 1.5rem;
  --h1-font-size: 7.2rem;
  --h1-font-size-mobile: 28px;
  --h1-line-height: 1.1;
  --h1-letter-spacing: 1px;
  --h1-margin-bottom: .5em;
  --h1-font: var(--font-family-primary);
  --h1-font-weight: 600;
  --h1-text-transform: none;
  --h2-font-size: 5rem;
  --h2-font-size-mobile: 20px;
  --h2-line-height: 1.1;
  --h2-letter-spacing: 1px;
  --h2-margin-bottom: .5em;
  --h2-font: var(--font-family-primary);
  --h2-font-weight: 700;
  --h2-text-transform: none;
  --h3-font-size: 2.4rem;
  --h3-font-size-mobile: 18px;
  --h3-line-height: 1.2;
  --h3-letter-spacing: 0;
  --h3-margin-bottom: .5em;
  --h3-font: var(--font-family-primary);
  --h3-font-weight: 600;
  --h3-text-transform: none;
  --h4-font-size: 2.1rem;
  --h4-font-size-mobile: 16px;
  --h4-line-height: 1.5;
  --h4-letter-spacing: 1;
  --h4-margin-bottom: .5em;
  --h4-font: var(--font-family-secondary);
  --h4-font-weight: 600;
  --h4-text-transform: none;
  --pretitle-color: var(--primary-color1);
  --pretitle-color-alt: var(--secondary-color1);
  --pretitle-font-size: 1.6rem;
  --pretitle-font-size-mobile: 20px;
  --pretitle-line-height: 1.2;
  --pretitle-letter-spacing: 0;
  --pretitle-margin-bottom: .3em;
  --pretitle-font: var(--font-family-primary);
  --pretitle-font-weight: 600;
  --pretitle-text-transform: uppercase;
  --subtitle-color: var(--body-text-color);
  --subtitle-color-alt: var(--secondary-color1);
  --subtitle-font-size: 2rem;
  --subtitle-font-size-mobile: 20px;
  --subtitle-line-height: 1.6;
  --subtitle-letter-spacing: 1;
  --subtitle-margin-bottom: .3em;
  --subtitle-font: var(--font-family-primary);
  --subtitle-font-weight: 400;
  --subtitle-text-transform: none;
}

/* Buttons*/
:root {
  --btn-font-family: var(--font-family-primary);
  --btn-font-size: 1.8rem;
  --btn-font-weight: 600;
  --btn-text-transform: none;
  --btn-padding-top-bottom: 14px;
  --btn-padding-left-right: 25px;
  --btn-border-radius: 20px;
  --btn-primary-color: var(--secondary-color1);
  --btn-primary-color-hover: var(--secondary-color1);
  --btn-primary-bg: var(--primary-color2);
  --btn-primary-bg-hover: var(--secondary-color2);
  --btn-primary-border-color: var(--primary-color1);
  --btn-primary-border-color-hover: var(--secondary-color3);
  --btn-primary-border: 2px;
  --btn-primary-shadow: none;
  --btn-secondary-color: var(--primary-color3);
  --btn-secondary-color-hover: var(--secondary-color1);
  --btn-secondary-bg: var(--secondary-color1);
  --btn-secondary-bg-hover: var(--secondary-color2);
  --btn-secondary-border-color: var(--primary-color3);
  --btn-secondary-border-color-hover: var(--secondary-color2);
  --btn-secondary-border: 1px;
  --btn-secondary-shadow: none;
  --btn-link-color: var(--primary-color1);
  --btn-link-color-hover: var(--primary-color2);
  --link-icon-color: var(--primary-color2);
  --button-flex-direction: row;
}

/* Forms */
:root {
  --label-font-size: 1.6rem;
  --label-font-weight: 300;
  --label-color: var(--primary-color3);
  --input-border-width: 1px;
  --input-border-radius: px;
  --input-padding-top-bottom: 10px;
  --input-padding-left-right: 15px;
  --input-font-size: 1.8rem;
  --input-font-weight: 400;
  --input-color: var(--primary-color1);
  --input-background-color: var(--secondary-color1);
  --input-border-color: var(--primary-color2);
  --form-row-margin-top-bottom: 15px;
  --form-row-margin-left-right: 0px;
  --message-font-size: 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: 100px;
}

.site-header {
  --header-sticky-type: fixed;
  --header-sticky-bg: rgba(255, 255, 255, 0.9);
  --header-top-bg: var(--primary-color3);
  --header-top-color: var(--secondary-color2);
  --header-top-color-hover: var(--secondary-color3);
  --header-top-size: 14px;
  --header-top-vertical-padding: 10px;
  --header-top-gap-between-items: 10px;
  --header-main-bg: transparent;
  --header-main-color: var(--primary-color3);
  --header-main-color-hover: var(--primary-color2);
  --header-main-font-size: 18px;
  --header-main-font-weight: 400;
  --header-main-text-transform: uppercase;
  --header-main-gap-between-items: 15px;
  --header-main-vertical-padding: 13px;
  --header-main-nav-height: 40px;
  --header-logo-width: 100%;
  --header-logo-height: 40px;
  --dropdown-bg: #fff;
  --dropdown-color: var(--primary-color1);
  --dropdown-color-active: var(--primary-color2);
  --dropdown-font-size: 16px;
  --dropdown-font-weight: 600;
  --dropdown-padding: 6rem 2.5rem 2rem;
  --content-width: var(--desktop-width-xl);
  --dropdown-width: var(--desktop-width-xl);
}
@media (max-width: 1112px) {
  .site-header {
    --header-hight: 50px;
    --header-main-vertical-padding: 4px;
    --burger-width: 24px;
    --burger-segment-hight: 3px;
    --burger-segment-gap: 7px;
    --burger-segment-radius: 5px;
    --burger-color: #fff;
    --burger-bg: var(--primary-color1);
    --header-mobile-bg: var(--secondary-color1);
    --link-size-l1: 16px;
    --link-size-l2: 14px;
    --link-color: #fff;
    --link-gap: 10px;
  }
}

.site-search {
  --search-size: 30px;
  --search-btn-bg: transparent;
  --search-btn-radius: 4px;
  --search-height: 30px;
  --search-width: 250px;
  --search-radius: 4px;
  --search-outer-bg: var(--primary-color3);
  --search-outer-gap: 5px;
  --search-outer-border: #333;
}

/* Footer */
.site-footer {
  --footer-bg-color: var(--primary-color1);
  --footer-color: var(--secondary-color1);
  --footer-top-padding: 5vh;
  --footer-top-font-size: 1.8rem;
  --footer-top-nav-direction: row;
  --footer-bottom-bg-color: var(--primary-color3);
  --footer-bottom-color: var(--secondary-color2);
  --footer-bottom-padding: 1.2em;
  --footer-bottom-font-size: 14px;
  --footer-top-border: var(--secondary-color1);
  --footer-top-border-size: 5px;
  --footer-link-gap_v: .8em;
  --footer-link-gap_h: 10px;
  --footer-logo-height: 80px;
  --footer-logo-width: 80px;
  --footer-title-size: 1.8rem;
  --footer-title-weight: 700;
  --footer-title-transform: uppercase;
}

:root {
  --l-block-gap-vertical: 15px;
  --l-block-gap-horizontal: 20px;
  --c-block-title-size: clamp(var(--h4-font-size-mobile), var(--h-clamp-formula), 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);
  --с-block-padding: 15px;
  --c-block-align: left;
  --c-block-bg: #fff;
  --c-block-color: inherit;
  --c-block-shadow: 0 0 4px 2px rgba(0, 0, 0, .05);
  --c-block-radius: 0;
  --blockquote-style: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iMzUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgb3BhY2l0eT0iLjIiIGZpbGw9IiM1QTZDN0QiPjxwYXRoIGQ9Ik0uOSAxNC43IDUuNy40aDUuMmwtNCAxMy40aDR2MTAuOEguOXYtOS45Wm0xNS4yIDBMMjAuOS40aDUuMmwtNCAxMy40aDR2MTAuOGgtMTB2LTkuOVpNMzguMiAyMS4yaC00VjEwLjRoMTB2OS45bC00LjggMTQuM2gtNS4ybDQtMTMuNFptMTUuMiAwaC00VjEwLjRoMTB2OS45bC00LjggMTQuM2gtNS4ybDQtMTMuNFoiLz48L2c+PC9zdmc+);
}

/* WYSIWYG */
.is-wysiwyg {
  --wysiwyg-margin: 1.5em;
  --wysiwyg-li-padding: 0 0 0 10px;
  --wysiwyg-li-bgp: 0 .4em;
  --wysiwyg-li-margin: 1rem;
  --list-item-style: none;
}

/* Social Icons */
.social-list {
  --social-icon-color: #132313;
  --social-icon-color-hover: var(--primary-color3);
  --social-icon-bg: #63B64E;
  --social-icon-bg-hover: var(--primary-color1);
  --social-icon-radius: 50%;
  --social-icon-size: 35px;
}

/* Blog post card */
.l-posts {
  --l-block-col: 3;
  --с-block-padding: 15px 0;
  --c-block-bg: transparent;
  --c-block-radius: 15px;
  --c-block-shadow: none;
  --l-post-img-radius: 20px 20px 0 0;
  --l-post-img-ratio: 4 / 3;
  --l-post-date-size: 14px;
  --l-post-tag-size: 14px;
  --l-post-tag-color: #666;
  --l-post-tag-transform: uppercase;
  --l-post-tag-weight: 600;
}

.m-slider {
  --swiper-outer-gap: 80px;
  --swiper-arrows-bg: var(--kelp);
  --swiper-arrows-color: var(--body-bg);
  --swiper-arrows-shadow: 0 2px 4px rgba(33, 33, 33, 0.1), 0 4px 4px rgba(33, 33, 33, 0.1);
  --swiper-navigation-size: 80px;
  --swiper-pagination-radius: 20px;
  --swiper-pagination-bullet-horizontal-gap: 10px;
  --swiper-pagination-bullet-size: 24px;
  --swiper-pagination-bullet-border: var(--primary-color2);
  --swiper-pagination-bullet-inactive-color: transparent;
  --swiper-pagination-bullet-border-active: var(--primary-color2);
  --swiper-pagination-color: var(--primary-color1);
  --swiper-pagination-bullet-inactive-opacity: .8;
  --thumb-size: 65px;
  --thumb-radius: 50%;
  --thumb-bd-size: 2px;
  --thumb-bd-color: var(--primary-color3);
  --thumb-bd-color-active: var(--primary-color2);
}
@media (max-width: 1112px) {
  .m-slider {
    --swiper-navigation-size: 35px;
    --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 {
  line-height: var(--base-text-line-height, 1);
  font-weight: var(--base-text-font-weight, 400);
  font-family: var(--font-family-primary);
  font-size: var(--base-text-size);
}

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

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

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

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

.wrapper {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
@media (min-width: 1921px) {
  .wrapper {
    max-width: var(--desktop-width-1920);
    margin-inline: auto;
  }
}

.site-content {
  flex-grow: 1;
}

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

.container-fluid,
.container,
.inner-frame {
  margin-inline: auto;
  width: 100%;
}

.inner-frame,
.container {
  padding-inline: var(--page-gutter);
  transition: max-width var(--base-transition);
}

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

.inner-frame,
.container {
  max-width: calc(var(--content-width) + var(--page-gutter, 20px) * 2);
}

.site-content {
  min-height: 400px;
}

@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 {
  --desktop-width-xl: 1380px;
  width: 100%;
  top: 0;
  left: 0;
  transition: transform var(--base-transition), background-color var(--base-transition), box-shadow var(--base-transition);
  z-index: 99;
}
@media (max-width: 1112px) {
  .site-header {
    max-height: var(--header-hight);
    position: sticky;
  }
}
@media (min-width: 1113px) {
  .site-header {
    position: var(--header-sticky-type, sticky);
  }
  .admin-bar .site-header {
    --header-main-vertical-padding: 9px;
    top: 32px;
  }
}
.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: 250px;
  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: 30px;
  }
}
@media (min-width: 1113px) {
  .site-header__logo img, .site-header__logo svg {
    transition: all var(--base-transition);
  }
}
.site-header__inner {
  display: flex;
  justify-content: space-between;
}
.site-header__row {
  display: flex;
  justify-content: space-between;
  transition: all var(--base-transition);
}
@media (min-width: 1113px) {
  .site-header__row {
    border-radius: 0 0 30px 30px;
  }
}
.site-header__col {
  display: flex;
  align-items: center;
  transition: padding var(--base-transition);
}
.site-header__col.-left {
  justify-content: flex-start;
  padding-block: var(--header-main-vertical-padding);
}
.site-header__col.-right {
  justify-content: flex-end;
}
@media (max-width: 1112px) {
  .site-header__col {
    align-items: center;
  }
}
@media (min-width: 1113px) {
  .site-header__col {
    gap: calc(var(--header-horizontal-gap, 1vw) * 2);
  }
}
.site-header .social-list {
  gap: var(--header-horizontal-gap);
}
.site-header .logo-img {
  height: 56px;
}
@media (max-width: 1112px) {
  .site-header .logo-img {
    height: 45px;
  }
}

/* Header Main Row */
.site-header__main {
  --header-link-color: var(--header-main-color);
  --header-link-color-hover: var(--header-main-color);
  --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);
  background-color: var(--header-main-bg);
}
.site-header__main .site-header__row {
  background-color: var(--body-bg);
  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);
}
.site-header__top .inner-frame {
  justify-content: space-between;
  padding-block: var(--header-top-vertical-padding);
}

@media (min-width: 1113px) {
  .is-sticky {
    --header-main-vertical-padding: 1px;
  }
  .is-sticky .site-header__row {
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  }
  .is-sticky .logo-link {
    display: flex;
    flex-wrap: wrap;
    padding: 6px 0;
  }
  .is-sticky .site-header__top .site-header__row {
    max-height: 0;
    overflow: hidden;
    padding: 0;
  }
  .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);
  }
  .nav-main__wrap {
    --link-color: var(--heavy-metal);
    --header-link-color-hover: var(--primary-color1);
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .nav-main__wrap a {
    color: var(--link-color);
  }
  .nav-main__wrap .nav-main {
    top: var(--header-hight);
    background-color: var(--header-mobile-bg);
    width: 100%;
    height: 100%;
    right: 0;
    position: fixed;
    opacity: 1;
    max-height: 0;
    overflow: hidden;
    pointer-events: none;
    transition: all var(--base-transition);
  }
}
@media (max-width: 1112px) and (min-width: 1113px) {
  .nav-main__wrap .nav-main__links {
    margin: 2rem 0 5rem;
  }
}
@media (max-width: 1112px) {
  .nav-active .nav-main__wrap .nav-main {
    opacity: 1;
    max-height: 100%;
    pointer-events: auto;
    overflow-y: auto;
    padding: 20px 15px;
  }
  .nav-main__wrap .nav-main .site-header__widget {
    padding-bottom: 5px;
  }
  .nav-main__wrap .nav-main__links .main-menu-link {
    display: block;
  }
  .nav-main__wrap .nav-main__links &gt; .menu-item &gt; a {
    padding: 10px 0;
    display: inline-block;
    font-size: var(--link-size-l1);
    color: var(--link-color);
  }
  .nav-main__wrap .nav-main__links .menu-item-has-children &gt; a {
    position: relative;
  }
  .nav-main__wrap .nav-main__links .menu-item-has-children &gt; a:after {
    content: "";
    position: absolute;
    right: -25px;
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='8' viewBox='0 0 14 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m7 0 7 6.4777L12.355 8 7 3.0553 1.645 8 0 6.4777 7 0Z' fill='%23fff'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 50% 50%;
    width: 14px;
    height: 14px;
    top: 50%;
    transform: rotate(180deg) translateY(-50%);
    transform-origin: center top;
    transition: transform 0.3s;
  }
  .nav-main__wrap .nav-main__links .menu-item-has-children.is-toggled &gt; a:after {
    transform: rotate(0) translateY(-50%);
  }
  .nav-main__wrap .sub-menu {
    padding-left: 20px;
  }
  .nav-main__wrap .sub-menu a {
    padding: 5px 0;
    font-size: var(--link-size-l2);
    color: var(--link-color);
  }
  .nav-main__wrap .sub-menu .current-menu-item a {
    color: var(--user-primary-color, var(--header-link-color-hover));
  }
  .nav-active, .nav-active .site-content {
    overflow: hidden;
  }
  .nav-active .site-content {
    pointer-events: none;
    touch-action: none;
  }
}
.page-template-template-simple-text .site-header__main,
.single-post .site-header__main,
.search .site-header__main,
.page-template-template-styleguide .site-header__main,
.page-template-default .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,
  .search .site-content,
  .page-template-template-styleguide .site-content,
  .page-template-default .site-content {
    padding-top: var(--header-hight);
  }
}

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

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

@media (max-width: 1112px) {
  .nav-main__btn.-desktop {
    display: none;
  }
}
@media (min-width: 1113px) {
  .nav-main__btn,
  .navbar-mobile {
    display: none;
  }
}
/* Navbar Main */
.nav-main {
  --header-link-color-hover: var(--primary-color1);
}
@media (min-width: 1113px) {
  .nav-main {
    display: flex;
    flex-wrap: wrap;
  }
  .nav-main__links {
    display: flex;
    justify-content: flex-end;
    margin-right: 3.4rem;
    height: 100%;
  }
  .nav-main__links &gt; .menu-item {
    display: flex;
    align-items: center;
  }
  .nav-main__links &gt; .menu-item &gt; a,
  .nav-main__links &gt; .menu-item .plain-menu-item {
    display: block;
    white-space: nowrap;
    color: var(--header-link-color);
    padding-inline: var(--header-main-gap-between-items, 1vw);
    line-height: var(--header-main-nav-height);
    transition: color var(--base-transition), font-size var(--base-transition);
    text-transform: initial;
    position: relative;
  }
  .nav-main__links &gt; .menu-item &gt; a:hover,
  .nav-main__links &gt; .menu-item .plain-menu-item:hover {
    color: var(--user-primary-color, var(--header-link-color-hover));
  }
}
.nav-main .c-btn, .nav-main .wpcf7-submit,
.nav-main .gform_button,
.nav-main .gform-button {
  padding: 6px 15px 6px 20px;
  font-size: 1.6rem;
  background-image: linear-gradient(45deg, var(--user-primary-color, #146100), var(--user-primary-color, #368B20)) !important;
}
@media (min-width: 1113px) {
  .nav-main__btn {
    display: none !important;
  }
}
.nav-main .current-menu-item &gt; a,
.nav-main .current-menu-parent &gt; a {
  color: var(--user-primary-color, var(--header-link-color-hover));
}

/* Navbar Secondary */
@media (min-width: 1113px) {
  .nav-secondary__links {
    display: flex;
    justify-content: flex-end;
    gap: var(--header-horizontal-gap, 1vw);
  }
}
.nav-secondary a {
  display: block;
  white-space: nowrap;
  color: var(--header-link-color);
}
.nav-secondary a:hover {
  text-decoration: underline;
}

.nav-main__menu {
  text-align: left;
}
@media (min-width: 1113px) {
  .nav-main__menu .sub-menu {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    top: 100%;
    transform: translateY(-10px);
    padding: 6rem 2.5rem 2rem 61rem;
    min-width: var(--dropdown-width);
    z-index: 10;
    transition: opacity var(--base-transition), transform var(--base-transition);
    max-width: 100vw;
    display: flex;
    flex-wrap: wrap;
    right: -4rem;
  }
  .nav-main__menu .sub-menu:not(.archive .nav-main__menu .sub-menu) {
    right: 0;
  }
  .nav-main__menu .sub-menu:not(.archive .nav-main__menu .sub-menu):before {
    right: 30rem;
  }
  .nav-main__menu .sub-menu a {
    color: var(--dropdown-color);
    display: flex;
    width: 100%;
    align-items: center;
    font-weight: var(--dropdown-font-weight);
    font-size: var(--dropdown-font-size);
  }
  .nav-main__menu .sub-menu a:hover {
    color: var(--dropdown-color-active);
  }
  .nav-main__menu .sub-menu .current-menu-item a {
    color: var(--dropdown-color-active);
  }
  .nav-main__menu .sub-menu .menu-item-content {
    min-width: 250px;
  }
  .nav-main__menu .sub-menu .menu-item-title {
    display: block;
    margin-bottom: 5px;
  }
  .nav-main__menu .sub-menu .menu-item-caption {
    font-weight: 400;
    color: var(--primary-color1);
  }
  .nav-main__menu .sub-menu .menu-item-img-wrapper {
    margin-right: 10px;
    min-width: 30px;
    max-width: 150px;
  }
  .nav-main__menu .sub-menu .menu-item-img-wrapper img, .nav-main__menu .sub-menu .menu-item-img-wrapper svg {
    max-width: 100%;
    height: auto;
  }
  .nav-main__menu .sub-menu .menu-item {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    width: 60%;
    display: flex;
    flex-wrap: wrap;
    width: 50%;
    padding: 3rem 1rem 0 5rem;
  }
  .nav-main__menu .sub-menu .menu-item:not(:last-child) {
    margin-bottom: 2px;
  }
  .nav-main__menu .sub-menu .menu-item a, .nav-main__menu .sub-menu .menu-item .plain-menu-item {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    text-transform: initial;
    padding: 2rem 3rem;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--heavy-metal);
    text-align: left;
  }
  .nav-main__menu .sub-menu .menu-item .menu-item-title {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--heavy-metal);
  }
  .nav-main__menu .sub-menu .menu-item .menu-item-caption {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    font-size: 1.8rem;
    line-height: 1.4;
    color: var(--scorpion);
  }
  .nav-main__menu .sub-menu .menu-item.current-menu-item a {
    background-color: var(--currentColor);
    border-color: var(--user-primary-color, var(--btn-primary-border-color-hover));
    background-image: linear-gradient(45deg, var(--user-primary-color, var(--laurel)), var(--bgImage));
    color: white;
  }
  .nav-main__menu .sub-menu .menu-item.current-menu-item a span {
    color: white;
  }
  .nav-main__menu .sub-menu .menu-item a {
    --currentColor: var(--user-primary-color, var(--primary-color1));
    --bgImage: color-mix(in srgb, var(--currentColor) 90%, #fff);
    border: var(--btn-primary-border) solid transparent;
    transition: background-color 400ms ease-out, border-color 400ms ease-out, color 400ms ease-out;
    border-radius: 16px;
    background-color: white;
  }
}
@media (min-width: 1113px) and (hover: hover) {
  .nav-main__menu .sub-menu .menu-item a:hover {
    background-color: var(--currentColor);
    border-color: var(--user-primary-color, var(--btn-primary-border-color-hover));
    background-image: linear-gradient(45deg, var(--user-primary-color, var(--laurel)), var(--bgImage));
    color: white;
  }
  .nav-main__menu .sub-menu .menu-item a:hover span {
    color: white;
  }
}
@media (min-width: 1113px) {
  .nav-main__menu .sub-menu:before {
    background-image: var(--dropdown-img);
    content: "";
    position: absolute;
    display: block;
    width: 59rem;
    height: calc(100% - 7rem);
    left: 2.5rem;
    top: 5.5rem;
    border-radius: 1rem;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }
  .nav-main__menu .sub-menu:after {
    content: "";
    position: absolute;
    background-color: var(--dropdown-bg);
    box-shadow: 0 4px 34px rgba(0, 7, 63, 0.1);
    border-radius: 10px;
    height: calc(100% - 20px);
    width: 100%;
    left: 0;
    top: 33px;
    bottom: 0;
    z-index: -1;
  }
}
@media (max-width: 1112px) {
  .nav-main__menu .sub-menu {
    padding: 1rem 0 2rem 3rem;
    flex-direction: column;
    display: flex !important;
  }
  .nav-main__menu .sub-menu .menu-item {
    margin-bottom: 3rem;
  }
  .nav-main__menu .sub-menu a, .nav-main__menu .sub-menu .plain-menu-item {
    text-transform: initial;
    color: var(--heavy-metal);
  }
  .nav-main__menu .sub-menu .menu-item-title {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--heavy-metal);
  }
  .nav-main__menu .sub-menu .menu-item-caption {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    font-size: 1.8rem;
    line-height: 1.4;
    color: var(--scorpion);
  }
}
@media (min-width: 1113px) {
  .nav-main__menu .nav-main__links .menu-item-has-children &gt; a:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent transparent var(--dropdown-bg) transparent;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    transform: none;
    border-width: 0 25px 25px 25px;
    bottom: -4.5rem;
    opacity: 0;
    transition: opacity 100ms ease-out;
  }
  .my-dashboard .nav-main__menu .nav-main__links .menu-item-has-children &gt; a:after {
    bottom: -3.5rem;
  }
  .nav-main__menu .nav-main__links .menu-item-has-children &gt; a:before {
    --user-primary-color: #343734;
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    right: 0;
    top: 49%;
    transform: rotate(0deg);
    transition: transform 0.1s ease-in;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid var(--user-primary-color, var(--laurel));
  }
  .nav-main__menu .nav-main__links .menu-item-has-children:hover &gt; a:after {
    opacity: 1;
  }
  .nav-main__menu .nav-main__links .menu-item-has-children:hover &gt; a:before {
    transform: rotateZ(-180deg);
  }
  .nav-main__menu .nav-main__links .menu-item-has-children:hover &gt; .sub-menu {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }
  .nav-main__menu .nav-main__links .menu-item-has-children:hover &gt; .sub-menu:not(.archive .nav-main__menu .nav-main__links .menu-item-has-children:hover &gt; .sub-menu) {
    transform: translateY(-13px);
  }
  .nav-main__menu .nav-main__links .menu-item-has-children:hover .menu-item:before {
    transform: rotate(-180deg);
  }
}
@media (max-width: 1112px) {
  .nav-main__links {
    margin: 0;
  }
  .nav-main__links .menu-item a {
    text-transform: initial;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--heavy-metal);
  }
}

.nav-main__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40px;
  border-radius: 3px;
  border: 0 none;
  color: var(--burger-color);
  background-color: var(--user-primary-color, var(--burger-bg));
  padding: 2px 8px;
  cursor: pointer;
  text-align: center;
  transition: all var(--base-transition);
  z-index: 10;
}

.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 &gt; span {
  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 &gt; span:before, .burger-icon &gt; span:after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  width: 100%;
  height: var(--burger-segment-hight);
  border-radius: var(--burger-segment-radius);
  background: inherit;
  transition: all 0.4s ease;
}
.burger-icon &gt; span:before {
  top: calc(var(--burger-segment-gap) * -1);
}
.burger-icon &gt; span:after {
  top: var(--burger-segment-gap);
}
.is-active .burger-icon &gt; span {
  transform: rotate(135deg);
}
.is-active .burger-icon &gt; span:before, .is-active .burger-icon &gt; span:after {
  top: 0;
  transform: rotate(90deg);
  width: 100%;
}
.is-active .burger-icon &gt; span:after {
  opacity: 0;
}

/**** End Header */
/* Above the fold modules */
/**
 ####################
 #   Module: BANNERS
 ####################
 */
/**
 ################
 #   Module BANNERS: Core
 ################
 */
.m-banner {
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  display: flex;
  /**
   ***************
   **  Variations
   ***************
   *  .m-banner--small, --medium, --full
   */
}
.m-banner__container {
  position: relative;
  min-height: var(--bannerHeight, auto);
  display: flex;
  align-items: center;
}
.header-lap .m-banner__container {
  padding-top: var(--header-hight);
}
@media (max-width: 1112px) {
  .m-banner__container {
    min-height: 30vh;
    overflow: hidden;
  }
}
.m-banner__media {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  user-select: none;
}
.m-banner__media img, .m-banner__media picture, .m-banner__media video, .m-banner__media iframe {
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  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 {
  max-height: 200px;
  overflow: hidden;
  margin-bottom: 30px;
}
@media (min-width: 1113px) {
  .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: 960px;
  }
}
.m-banner.-v1 {
  --banner-top-padding: 11vmin;
  --banner-bot-padding: 2vmin;
  color: var(--body-bg);
  position: relative;
  overflow: hidden;
}
@media (min-width: 1113px) {
  .m-banner.-v1 {
    border-style: solid;
    border-width: 20px 20px 0 0;
  }
  .m-banner.-v1:before {
    content: "";
    display: block;
    position: absolute;
    width: 800px;
    height: 800px;
    z-index: 2;
    background-image: url("../images/noise.png");
    background-size: 25%;
    background-color: rgba(12, 15, 11, 0.8);
    border-radius: 50%;
    bottom: -400px;
    left: -400px;
  }
}
.m-banner.-v1 .m-banner__media:after {
  background-color: transparent;
  opacity: 1;
}
@media (min-width: 1113px) {
  .m-banner.-v1 .m-banner__media:after {
    border-radius: 0 30px 30px 0;
    background-image: linear-gradient(90deg, #4D4E4D 30%, rgba(77, 78, 77, 0));
  }
}
@media (max-width: 1112px) {
  .m-banner.-v1 .m-banner__media:after {
    background-image: none;
    background-color: rgba(77, 78, 77, 0.8);
  }
}
@media (max-width: 767px) {
  .m-banner.-v1 .m-banner__media img {
    object-position: right;
  }
}
@media (min-width: 1113px) {
  .m-banner.-v1 .m-banner__media img {
    border-radius: 0 30px 30px 0;
  }
}
@media (min-width: 1113px) {
  .m-banner.-v1 .c-block__col {
    padding-right: 30%;
  }
}
.m-banner.-v1 .c-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.m-banner.-v1 .c-heading__pre {
  font-size: 1.8rem;
  margin-bottom: 3rem;
  letter-spacing: 1px;
  width: 100%;
}
@media (max-width: 1112px) {
  .m-banner.-v1 .c-heading__pre {
    padding-top: 20rem;
  }
}
.m-banner.-v1 .c-heading__title {
  margin-bottom: 2rem;
}
@media (min-width: 1113px) {
  .m-banner.-v1 .c-heading__title {
    letter-spacing: -3px;
  }
}
.m-banner.-v1 .c-heading__title &gt; span {
  display: block;
}
.m-banner.-v1 .c-heading__sub {
  letter-spacing: 1px;
}
@media (min-width: 768px) {
  .m-banner.-v1 .c-heading__sub {
    max-width: 78%;
  }
}
@media (max-width: 1112px) {
  .m-banner.-v1 .c-cta-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}
.m-banner.-v2 {
  overflow: hidden;
}
@media (min-width: 1113px) {
  .m-banner.-v2 {
    border-radius: 30px;
    border: 20px solid white;
  }
  .m-banner.-v2:before {
    content: "";
    display: block;
    position: absolute;
    width: 1400px;
    height: 1400px;
    background-image: url("../images/noise.png"), linear-gradient(145deg, #388D22, #13330A 50%);
    background-size: 30%, cover;
    border-radius: 50%;
    bottom: -638px;
    right: -738px;
    z-index: 10;
  }
}
@media (max-width: 1112px) {
  .m-banner.-v2 .c-resources-list {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: flex-start;
  }
}
.m-banner.-v2 .m-banner__container {
  --columns-ratio: 44%;
  z-index: 20;
}
@media (max-width: 1112px) {
  .m-banner.-v2 .c-block {
    flex-direction: column;
  }
}
@media (min-width: 1113px) {
  .m-banner.-v2 .m-banner__media {
    border-radius: 23px;
  }
}
.m-banner.-v2 .m-banner__media:after {
  background-color: #CFD9CC;
  backdrop-filter: blur(10px);
}
@media (min-width: 1113px) {
  .m-banner.-v2 .m-banner__media:after {
    border-radius: 20px;
  }
}
.m-banner.-v2 .m-banner__media:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background-image: linear-gradient(to bottom, #fff, rgba(217, 217, 217, 0));
}
@media (min-width: 1113px) {
  .m-banner.-v2 .m-banner__media:before {
    border-radius: 20px;
  }
}
@media (min-width: 1113px) {
  .m-banner.-v2 .m-banner__media img {
    border-radius: 25px;
  }
}
.m-banner.-v2 .c-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.m-banner.-v2 .c-heading__pre {
  font-size: 1.6rem;
  margin-bottom: 3rem;
  letter-spacing: 1px;
  padding-top: 7.5rem;
}
.m-banner.-v2 .c-heading__title {
  margin-bottom: 2rem;
}
@media (min-width: 1113px) {
  .m-banner.-v2 .c-heading__title {
    letter-spacing: 1px;
  }
}
.m-banner.-v2 .c-heading__sub {
  letter-spacing: 1px;
}
@media (min-width: 1113px) {
  .m-banner.-v2 .c-cta-list {
    padding: 3rem 0 11rem 0;
  }
}
@media (max-width: 1112px) {
  .m-banner.-v2 .c-cta-list {
    padding: 3rem 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}
.m-banner.-v2 .c-image {
  height: 100%;
}
.m-banner.-v2 .c-image img {
  height: 100%;
  width: 100%;
  object-fit: contain;
}
@media (min-width: 1113px) {
  .m-banner.-v2 .c-image img {
    margin-right: -200px;
    transform: scale(1.25);
  }
}
.m-banner.-v3 {
  --overlay-opacity: 1;
  overflow: hidden;
}
@media (min-width: 1113px) {
  .m-banner.-v3 {
    border-radius: 40px;
    border: 20px solid white;
  }
  .m-banner.-v3:after, .m-banner.-v3:before {
    content: "";
    display: block;
    position: absolute;
    width: 900px;
    height: 900px;
    background-size: 30%, cover;
    border-radius: 50%;
    z-index: 10;
  }
  .m-banner.-v3:before {
    top: -510px;
    left: -450px;
    background-image: url("../images/noise.png"), linear-gradient(-55deg, #67E447, rgba(103, 228, 71, 0) 50%);
  }
  .m-banner.-v3:after {
    bottom: -510px;
    right: -450px;
    background-image: url("../images/noise.png"), linear-gradient(155deg, #67E447, rgba(103, 228, 71, 0) 50%);
  }
}
.m-banner.-v3 .m-banner__media:after {
  background-color: transparent;
  background-image: linear-gradient(to bottom, var(--kelp), #101E10);
}
.m-banner.-v3 .m-banner__container {
  position: relative;
  z-index: 20;
  align-items: flex-start;
  width: 100%;
  max-height: max-content;
}
.m-banner.-v3 .c-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-bottom: 0;
}
@media (min-width: 1113px) {
  .m-banner.-v3 .c-heading {
    padding: 0 16%;
  }
}
.m-banner.-v3 .c-heading__pre {
  font-size: 1.6rem;
  margin-bottom: 3rem;
  letter-spacing: 1px;
  padding-top: 9.5rem;
}
.m-banner.-v3 .c-heading__title {
  margin-bottom: 2rem;
}
@media (min-width: 1113px) {
  .m-banner.-v3 .c-heading__title {
    letter-spacing: 1px;
  }
}
.m-banner.-v3 .c-heading__sub {
  letter-spacing: 1px;
}
.m-banner.-v4 {
  position: relative;
}
@media (min-width: 1113px) {
  .m-banner.-v4:before {
    content: "";
    display: block;
    position: absolute;
    width: 760px;
    height: 760px;
    background-size: 30%, cover;
    border-radius: 50%;
    z-index: 10;
    top: -410px;
    left: -380px;
    background-image: url("../images/noise.png"), linear-gradient(-55deg, #67E447, rgba(103, 228, 71, 0) 50%);
  }
}
.m-banner.-v4 .m-banner__media:after {
  opacity: 1;
}
@media (min-width: 1113px) {
  .m-banner.-v4 .m-banner__media:after {
    background-color: transparent;
    background-image: linear-gradient(90deg, #111F10 30%, rgba(17, 31, 16, 0));
  }
}
@media (max-width: 1112px) {
  .m-banner.-v4 .m-banner__media:after {
    background-color: rgba(17, 31, 16, 0.7);
  }
}
.m-banner.-v4 .m-banner__container {
  z-index: 20;
}
.m-banner.-v4 .l-banner {
  --banner-bot-padding: 3vmin;
}
.m-banner.-v4 .c-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-bottom: 0;
}
@media (min-width: 1113px) {
  .m-banner.-v4 .c-heading {
    max-width: 65%;
  }
}
.m-banner.-v4 .c-heading__pre {
  font-size: 1.8rem;
  margin-bottom: 3rem;
  letter-spacing: 1px;
  padding-top: 7rem;
}
.m-banner.-v4 .c-heading__title {
  line-height: 1;
}
@media (min-width: 1113px) {
  .m-banner.-v4 .c-heading__title {
    font-size: 6rem;
  }
}
.m-banner.-v4 .c-heading__sub {
  letter-spacing: 1px;
}

/**
 ################
 #   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: 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: 500px;
  --banner-height--blog: 400px;
  --banner-height--full: 100vh;
  --banner-top-padding: 5vmin;
  --banner-bot-padding: 5vmin;
  --overlay-opacity: .9;
  --overlay-color: var(--primary-color1);
}

/* Heading Component */
/**
 * HEADING Module
 *
 * Standalone heading selectors, title, pre/sub-title
 *
 */
.-h1, .is-wysiwyg 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), var(--h-clamp-formula), var(--h1-font-size));
  color: var(--titles-color);
}
.-h1 .colors-inverted, .is-wysiwyg h1 .colors-inverted {
  color: var(--primary-color1);
}

.-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), var(--h-clamp-formula), var(--h2-font-size));
  margin-bottom: var(--h2-margin-bottom, 0.5em);
}

.-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), var(--h-clamp-formula), 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), var(--h-clamp-formula), var(--h4-font-size));
  margin-bottom: var(--h4-margin-bottom, 0.5em);
}

.c-heading {
  /**
   * #.# Modifiers
   */
}
@media (max-width: 1112px) {
  .c-heading {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
  }
}
.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);
}
.c-heading__title span {
  color: var(--titles-color-accent);
}
.colors-inverted .c-heading__title {
  color: var(--titles-color-alt);
}
.colors-inverted .c-heading__title span {
  color: var(--secondary-color3);
}
.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), var(--h-clamp-formula), 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, 18px), var(--h-clamp-formula), var(--subtitle-font-size, 2.4rem));
}
@media (max-width: 1112px) {
  .c-heading__sub {
    font-size: 16px;
  }
}
.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;
}

/* 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;
}

@media (min-width: 1113px) {
  .c-trusted {
    padding: 6rem 0 0 0;
  }
}
@media (max-width: 1112px) {
  .c-trusted {
    padding: 2rem 0;
  }
}
.c-trusted__title {
  text-transform: uppercase;
  font-size: 1.8rem;
  letter-spacing: 1px;
}
@media (max-width: 1112px) {
  .c-trusted__title {
    padding: 0 0 2rem 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.c-trusted__list {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  align-items: center;
}
@media (min-width: 1113px) {
  .c-trusted__list {
    gap: 4rem;
  }
}
@media (max-width: 1112px) {
  .c-trusted__list {
    gap: 15px;
    justify-content: center;
  }
}
.c-trusted .c-trusted__list .c-image {
  width: max-content;
}
@media (min-width: 1113px) {
  .c-trusted .c-trusted__list .c-image {
    padding: 20px 10px;
  }
}
.c-trusted .c-trusted__list .c-image img {
  max-height: 50px;
  max-width: 100%;
  object-fit: contain;
  object-position: left;
  width: max-content;
}
@media (max-width: 1112px) {
  .c-trusted .c-trusted__list .c-image img {
    max-height: 40px;
  }
}

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

.c-btn, .wpcf7-submit,
.gform_button,
.gform-button {
  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);
  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);
  transition: transform var(--base-transition), color var(--base-transition);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* Button Visual Variants */
  /* Button Size Variants */
  /* Button Icon */
}
.c-btn &gt; span, .wpcf7-submit &gt; span,
.gform_button &gt; span,
.gform-button &gt; span {
  box-sizing: border-box;
}
.c-btn.-primary .c-btn__ico, .wpcf7-submit .c-btn__ico,
.gform_button .c-btn__ico,
.gform-button .c-btn__ico, .c-btn.-secondary .c-btn__ico {
  padding-left: calc(var(--btn-padding-left-right, 20px) / 2);
}
.c-btn.-primary, .wpcf7-submit,
.gform_button,
.gform-button {
  --currentBorder: var(--user-primary-color, var(--primary-color1));
  background-color: var(--btn-primary-bg);
  color: var(--btn-primary-color);
  border: var(--btn-primary-border) solid color-mix(in srgb, var(--currentBorder) 70%, #fff);
  background-image: linear-gradient(45deg, var(--user-primary-color, #213721), var(--user-primary-color, #146100));
  transition: background-color 400ms ease-out, border-color 400ms ease-out, color 400ms ease-out;
}
.c-btn.-primary .icon, .wpcf7-submit .icon,
.gform_button .icon,
.gform-button .icon {
  --currentColor: var(--user-primary-color, var(--primary-color1));
  background-color: color-mix(in srgb, var(--currentColor) 80%, #fff);
  border-radius: 10px;
  transform: translateX(-10px);
  padding: 8px;
}
.c-btn.-primary .icon-none, .wpcf7-submit .icon-none,
.gform_button .icon-none,
.gform-button .icon-none {
  display: none;
}
.c-btn.-primary .icon-after, .wpcf7-submit .icon-after,
.gform_button .icon-after,
.gform-button .icon-after {
  transform: scale(1.1) translateX(10px);
}
@media (hover: hover) {
  .c-btn.-primary:hover, .wpcf7-submit:hover,
  .gform_button:hover,
  .gform-button:hover {
    background-color: var(--btn-primary-bg-hover);
    color: var(--btn-primary-color-hover);
    border-color: var(--user-primary-color, var(--btn-primary-border-color-hover));
    background-image: linear-gradient(45deg, var(--user-primary-color, #146100), var(--user-primary-color, #146100));
  }
}
.c-btn.-secondary, .-secondary.wpcf7-submit,
.-secondary.gform_button,
.-secondary.gform-button {
  backdrop-filter: blur(10px);
  background-color: rgba(50, 67, 50, 0.08);
  color: var(--btn-secondary-color);
  border: var(--btn-secondary-border) solid var(--btn-secondary-border-color);
  transition: background-color 400ms ease-out, border-color 400ms ease-out, color 400ms ease-out;
}
.c-btn.-secondary .icon-none, .-secondary.wpcf7-submit .icon-none,
.-secondary.gform_button .icon-none,
.-secondary.gform-button .icon-none {
  display: none;
}
.c-btn.-secondary .icon, .-secondary.wpcf7-submit .icon,
.-secondary.gform_button .icon,
.-secondary.gform-button .icon {
  color: var(--btn-secondary-color);
  background-color: white;
  margin-right: 10px;
  border-radius: 10px;
  padding: 8px;
}
.colors-inverted .c-btn.-secondary, .colors-inverted .-secondary.wpcf7-submit,
.colors-inverted .-secondary.gform_button,
.colors-inverted .-secondary.gform-button {
  background-color: rgba(255, 255, 255, 0.08);
  color: var(--body-bg);
  border: var(--btn-secondary-border) solid rgba(255, 255, 255, 0.5);
}
@media (hover: hover) {
  .c-btn.-secondary:hover, .-secondary.wpcf7-submit:hover,
  .-secondary.gform_button:hover,
  .-secondary.gform-button:hover {
    background-color: var(--btn-secondary-bg-hover);
    color: var(--btn-secondary-color-hover);
    border-color: var(--btn-secondary-border-color-hover);
  }
}
.c-btn.-tertiary, .-tertiary.wpcf7-submit,
.-tertiary.gform_button,
.-tertiary.gform-button {
  --currentBorder: var(--user-primary-color, var(--primary-color1));
  --btn-padding-top-bottom: 4px;
  justify-content: center;
  border: var(--btn-primary-border) solid color-mix(in srgb, var(--currentBorder) 50%, #fff);
  color: var(--btn-primary-color);
  background-image: linear-gradient(45deg, var(--user-primary-color, #146100), var(--user-primary-color, #368B20));
  margin-bottom: 0 !important;
  font-size: 1.4rem;
  font-weight: 400;
  border-radius: 10px;
}
.c-btn.-tertiary .icon, .-tertiary.wpcf7-submit .icon,
.-tertiary.gform_button .icon,
.-tertiary.gform-button .icon {
  margin-right: 5px;
}
@media (hover: hover) {
  .c-btn.-tertiary:hover, .-tertiary.wpcf7-submit:hover,
  .-tertiary.gform_button:hover,
  .-tertiary.gform-button:hover {
    border: var(--btn-primary-border) solid color-mix(in srgb, var(--currentBorder) 80%, #fff);
  }
}
.c-btn.-link, .-link.wpcf7-submit,
.-link.gform_button,
.-link.gform-button {
  color: var(--user-primary-color, var(--primary-color1));
  box-shadow: none !important;
  padding: 0;
  white-space: pre-wrap;
  text-align: left;
  align-items: flex-start;
}
.c-btn.-link .icon, .-link.wpcf7-submit .icon,
.-link.gform_button .icon,
.-link.gform-button .icon {
  max-width: 35px;
  margin-left: 5px;
  height: 100%;
}
.c-btn.-link .icon svg, .-link.wpcf7-submit .icon svg,
.-link.gform_button .icon svg,
.-link.gform-button .icon svg {
  color: var(--link-icon-color, currentColor);
}
.c-btn.-link .icon svg, .-link.wpcf7-submit .icon svg,
.-link.gform_button .icon svg,
.-link.gform-button .icon svg, .c-btn.-link .icon img, .-link.wpcf7-submit .icon img,
.-link.gform_button .icon img,
.-link.gform-button .icon img {
  max-height: 1em;
}
@media (hover: hover) {
  .c-btn.-link:hover, .-link.wpcf7-submit:hover,
  .-link.gform_button:hover,
  .-link.gform-button:hover {
    color: var(--btn-primary-bg, var(--btn-link-color-hover));
  }
}
.c-btn.-link.icon-left .c-btn__ico, .-link.icon-left.wpcf7-submit .c-btn__ico,
.-link.icon-left.gform_button .c-btn__ico,
.-link.icon-left.gform-button .c-btn__ico {
  margin-right: 10px;
  margin-left: 0;
}
.c-btn.-wide, .-wide.wpcf7-submit,
.-wide.gform_button,
.-wide.gform-button {
  width: 100%;
}
.c-btn.-small, .-small.wpcf7-submit,
.-small.gform_button,
.-small.gform-button {
  --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,
.-small.gform-button .icon {
  max-width: 60%;
}
.c-btn.-large, .-large.wpcf7-submit,
.-large.gform_button,
.-large.gform-button {
  font-size: 1.4em;
}
.c-btn.-resources, .-resources.wpcf7-submit,
.-resources.gform_button,
.-resources.gform-button {
  --btn-padding-top-bottom: 8px;
  --btn-padding-left-right: 16px;
  background-color: var(--secondary-color1);
  border-radius: 4px;
  border: 1px solid var(--alto);
  font-size: 1.6rem;
  color: var(--heavy-metal);
  line-height: 1;
  font-weight: 400;
}
.c-btn.-resources .icon, .-resources.wpcf7-submit .icon,
.-resources.gform_button .icon,
.-resources.gform-button .icon {
  color: var(--user-primary-color, #146100);
  margin-right: 5px;
  width: 17px;
  height: 17px;
  padding: 0;
}
.c-btn.-products, .-products.wpcf7-submit,
.-products.gform_button,
.-products.gform-button {
  --btn-padding-top-bottom: 8px;
  --btn-padding-left-right: 20px;
  background-color: white;
  border-radius: 4px;
  border: 1px solid var(--alto);
  font-size: 1.6rem;
  color: var(--heavy-metal);
  line-height: 1;
  font-weight: 400;
}
.c-btn.-products .icon, .-products.wpcf7-submit .icon,
.-products.gform_button .icon,
.-products.gform-button .icon {
  color: var(--user-primary-color, #146100);
  margin-right: 5px;
  width: 17px;
  height: 17px;
}
.c-btn.-products:hover, .-products.wpcf7-submit:hover,
.-products.gform_button:hover,
.-products.gform-button:hover {
  border: 1px solid var(--user-primary-color, var(--alto));
  background-color: color-mix(in srgb, var(--user-primary-color) 20%, transparent);
}
.c-btn__ico {
  min-width: 20px;
  max-width: 40px;
  position: relative;
  transition: transform var(--base-transition), filter var(--base-transition), opacity var(--base-transition);
  pointer-events: none;
  display: flex;
}
.c-btn__ico svg, .c-btn__ico img {
  margin: auto;
  max-height: 1.5em;
}
.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-left, .icon-left.wpcf7-submit,
.icon-left.gform_button,
.icon-left.gform-button {
  flex-direction: row-reverse;
}
.c-btn .icon-reversed, .wpcf7-submit .icon-reversed,
.gform_button .icon-reversed,
.gform-button .icon-reversed {
  transform: scaleX(-1);
}
.c-btn-bar .c-btn, .c-btn-bar .wpcf7-submit,
.c-btn-bar .gform_button,
.c-btn-bar .gform-button {
  vertical-align: middle;
}
@media (hover: hover) {
  .c-btn:hover .c-btn__ico, .wpcf7-submit:hover .c-btn__ico,
  .gform_button:hover .c-btn__ico,
  .gform-button:hover .c-btn__ico {
    transform: translateX(5px);
  }
  .c-btn:hover .c-btn__ico.icon-reversed, .wpcf7-submit:hover .c-btn__ico.icon-reversed,
  .gform_button:hover .c-btn__ico.icon-reversed,
  .gform-button:hover .c-btn__ico.icon-reversed {
    transform: translateX(-5px) scaleX(-1);
  }
}

/* CF7 Submit Button */
.wpcf7-submit,
.gform_button,
.gform-button {
  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,
  .gform-button:hover {
    box-shadow: 0 2px 2px rgba(0, 7, 63, 0.2);
  }
}

.c-cta-list .c-btn, .c-cta-list .wpcf7-submit,
.c-cta-list .gform_button,
.c-cta-list .gform-button {
  margin: 0 20px 20px 0;
}

/**
 ############################
 #   Content Block Component
 ############################
 */
.c-block {
  background-color: var(--c-block-bg);
  box-shadow: var(--c-block-shadow);
  border-radius: var(--c-block-radius);
}
.c-block__body {
  padding: var(--с-block-padding, 15px);
  text-align: var(--с-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__text strong {
  color: var(--primary-color2);
}
.c-block__text p:last-child {
  margin-bottom: 0;
}
.c-block__media {
  aspect-ratio: var(--c-block-img-ratio, 4/3);
  position: relative;
}
.c-block__btn {
  margin-top: 1em;
}
.c-block .c-image {
  width: 100%;
}

/**
 ############################
 #   MODULE: Double Content Blocks (dcbl-)
 ############################
 */
/**
 ##########################
 #   Dual content blocks: Layouts
 ##########################
 */
.l-dcbl {
  --columns-ratio: 50%;
  --c-block-padding: 35px;
  --c-block-img-ratio: auto;
  --c-block-shadow: transparent;
  --c-block-bg: transparent;
}
.l-dcbl .c-block {
  display: flex;
}
.l-dcbl .c-block__inner {
  width: 100%;
}
.l-dcbl .c-block__content {
  text-align: left;
}
@media (max-width: 766px) {
  .l-dcbl .c-block {
    flex-direction: column-reverse;
  }
}
@media (min-width: 767px) {
  .l-dcbl.order-reverse .c-block, .l-dcbl.image-right .c-block {
    flex-direction: row-reverse;
  }
}
.l-dcbl .c-block__content {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 1113px) {
  .l-dcbl .c-block__content {
    padding: var(--c-block-padding, 30px);
  }
}
.l-dcbl .c-block__content.align-top {
  align-items: flex-start;
}
.l-dcbl .c-block__content.align-bottom {
  align-items: flex-end;
}
.l-dcbl .c-block__media {
  display: flex;
  align-items: center;
  text-align: center;
}
@media (max-width: 1112px) {
  .l-dcbl .c-block__media {
    width: 100%;
  }
}
@media (min-width: 1113px) {
  .l-dcbl .c-block__media {
    flex: 0 0 var(--columns-ratio);
    max-width: var(--columns-ratio);
  }
}
.l-dcbl .c-block__media .c-image__secondary {
  position: absolute;
  right: 0;
  top: 0;
}
.l-dcbl .c-block__media img {
  max-width: 100%;
  height: auto;
}

@media (min-width: 1113px) {
  .m-content-list {
    padding: 8rem 0 0 0;
  }
}
.m-content-list .c-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  width: 100%;
  flex-direction: column;
  padding: 0 2rem 0 0;
}
.m-content-list .c-heading__pre {
  font-size: 1.6rem;
  margin-bottom: 3rem;
  letter-spacing: 1px;
  padding-top: 4rem;
}
.m-content-list .c-heading__title {
  margin-bottom: 2rem;
}
@media (min-width: 1113px) {
  .m-content-list .c-heading__title {
    letter-spacing: 1px;
  }
}
.m-content-list .c-heading__sub {
  letter-spacing: 1px;
}
.m-content-list__container {
  --columns-ratio: 30%;
}
.m-content-list__inner {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  align-items: flex-start;
}
@media (max-width: 1112px) {
  .m-content-list__inner.c-block {
    flex-direction: column;
  }
}
.m-content-list__inner .c-block__col {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
@media (min-width: 1113px) {
  .m-content-list__inner .c-block__col {
    width: 50%;
  }
}
.m-content-list__item {
  background-color: #F9F8F5;
  border: 2px solid #F1EFE7;
  position: relative;
  margin-bottom: 3rem;
}
@media (min-width: 1113px) {
  .m-content-list__item {
    padding: 30px 30px 30px 130px;
    border-radius: 16px;
  }
}
@media (max-width: 1112px) {
  .m-content-list__item {
    padding: 15px 15px 15px 80px;
    border-radius: 10px;
    width: 100%;
  }
}
.m-content-list__item:after {
  content: "";
  display: block;
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg width='40' height='33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m39.99 10.53-2.77 21.09A1.6 1.6 0 0 1 35.66 33H4.34a1.57 1.57 0 0 1-1.56-1.38L.01 10.53a1.6 1.6 0 0 1 .91-1.66c.2-.09.43-.14.65-.14h36.85a1.56 1.56 0 0 1 1.51 1.13c.07.22.09.45.06.67Z' fill='%23fff'/%3E%3Cpath d='m39.04 6.68-.27 2.05H2.47v-5.6A3.09 3.09 0 0 1 5.57 0h6.06a3.07 3.07 0 0 1 2.2.93l1.28 1.3a3.1 3.1 0 0 0 2.2.91h18.65a3.08 3.08 0 0 1 2.97 2.23c.13.43.17.88.1 1.32Z' fill='%2353BF38'/%3E%3Cpath d='M34.54 8.73H5.39a1.78 1.78 0 0 1 1.79-1.8h25.57c.47 0 .93.19 1.26.53.34.33.53.8.53 1.27Z' fill='%2346BA28'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-color: var(--primary-color3);
  border-radius: 50%;
  background-position: center;
}
@media (min-width: 1113px) {
  .m-content-list__item:after {
    width: 72px;
    height: 72px;
    left: 30px;
    top: 30px;
    background-size: 40px;
  }
}
@media (max-width: 1112px) {
  .m-content-list__item:after {
    width: 40px;
    height: 40px;
    left: 15px;
    top: 15px;
    background-size: 20px;
  }
}
.m-content-list__item-title {
  font-size: 2.4rem;
  color: var(--primary-color3);
  font-weight: 500;
}
.m-content-list__item-title .accent-color {
  color: var(--primary-color1);
  font-weight: 600;
  font-size: 2.8rem;
}
.m-content-list__item-text {
  font-size: 1.8rem;
  font-weight: 400;
  color: var(--primary-color3);
}

@media (min-width: 1113px) {
  .l-dcbl-full {
    width: calc(100vw - 8.1px);
    max-width: none;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
  }
  .l-dcbl-full .c-image__primary img, .l-dcbl-full .c-image__primary .c-image__src {
    width: 100%;
  }
  .l-dcbl-full .c-block__content {
    justify-content: flex-end;
    padding: 0;
  }
  .l-dcbl-full.order-reverse .c-block__content, .l-dcbl-full.image-left .c-block__content {
    justify-content: flex-start;
  }
  .l-dcbl-full .c-block__inner {
    max-width: calc(var(--content-width) / 2);
    padding: var(--c-block-padding, 30px);
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9faGVscGVycy9fcmVib290LnNjc3MiLCJfX2hlbHBlcnMvX2ExMXkuc2NzcyIsIl9fY29yZS9taXhpbnMvX2FzcGVjdC1yYXRpby5zY3NzIiwiX19jb3JlL21peGlucy9fcGFnZS1zaXplcy5zY3NzIiwiX19jb3JlL3NldHRpbmdzL19zZXR0aW5ncy1tYWluLnNjc3MiLCJfX2NvcmUvbWl4aW5zL19pbmNsdWRlLW1lZGlhLnNjc3MiLCJfX2NvcmUvc2V0dGluZ3MvX3NldHRpbmdzLWZvbnQuc2NzcyIsIl9fY29yZS9taXhpbnMvX2ZvbnQtZmFjZS5zY3NzIiwiX19jb3JlL3NldHRpbmdzL19zZXR0aW5ncy1idXR0b25zLnNjc3MiLCJfX2NvcmUvc2V0dGluZ3MvX3NldHRpbmdzLWZvcm1zLnNjc3MiLCJfX2NvcmUvc2V0dGluZ3MvX3NldHRpbmdzLWhlYWRlci5zY3NzIiwiX19jb3JlL3NldHRpbmdzL19zZXR0aW5ncy1mb290ZXIuc2NzcyIsIl9fY29yZS9zZXR0aW5ncy9fc2V0dGluZ3MtbW9kdWxlcy5zY3NzIiwiX19jb3JlL3NldHRpbmdzL19zZXR0aW5ncy1zbGlkZXJzLnNjc3MiLCJjcml0aWNhbC5zY3NzIiwiX2xheW91dC9fX2Jhc2Uuc2NzcyIsIl9sYXlvdXQvaGVhZGVyL19oZWFkZXItY29yZS5zY3NzIiwiX2xheW91dC9oZWFkZXIvbGF5b3V0cy9faGVhZGVyX3Jvd3Muc2NzcyIsIl9sYXlvdXQvaGVhZGVyL2xheW91dHMvX2hlYWRlcl9zdGlja3kuc2NzcyIsIl9sYXlvdXQvaGVhZGVyL2xheW91dHMvX2hlYWRlcl9tb2JpbGUuc2NzcyIsIl9sYXlvdXQvaGVhZGVyL2xheW91dHMvX2hlYWRlcl9zaW1wbGUuc2NzcyIsIl9sYXlvdXQvaGVhZGVyL2xheW91dHMvX2hlYWRlcl9kZXZpY2VzLnNjc3MiLCJfbGF5b3V0L2hlYWRlci9ibG9ja3MvX25hdmJhcl9tZW51LnNjc3MiLCJfbGF5b3V0L2hlYWRlci9ibG9ja3MvX25hdmJhcl9kcm9wZG93bi5zY3NzIiwiX2xheW91dC9oZWFkZXIvYmxvY2tzL19uYXZiYXJfYnVyZ2VyLnNjc3MiLCJfbW9kdWxlcy9fYmFubmVycy5zY3NzIiwiX21vZHVsZXMvYmFubmVycy9fX2Jhbm5lcnMtY29yZS5zY3NzIiwiX19jb3JlL21peGlucy9fbWluaS1taXhpbnMuc2NzcyIsIl9tb2R1bGVzL2Jhbm5lcnMvX19iYW5uZXJzLWxheW91dC5zY3NzIiwiX21vZHVsZXMvYmFubmVycy9fX2Jhbm5lcnMtc2V0dGluZ3Muc2NzcyIsIl9tb2R1bGVzL19oZWFkaW5ncy5zY3NzIiwiX21vZHVsZXMvaGVhZGluZ3MvX19oZWFkaW5ncy1jb3JlLnNjc3MiLCJfbW9kdWxlcy9oZWFkaW5ncy9fX2hlYWRpbmdzLWxheW91dHMuc2NzcyIsIl9jb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJfY29tcG9uZW50cy9idXR0b25zL19idXR0b25zLWNvcmUuc2NzcyIsIl9jb21wb25lbnRzL18lRDElODEtYmxvY2suc2NzcyIsIl9jb21wb25lbnRzL2MtYmxvY2svX2MtYmxvY2stY29yZS5zY3NzIiwiX21vZHVsZXMvX3NpbXBsZS1jb250ZW50Mi5zY3NzIiwiX21vZHVsZXMvc2ltcGxlLWNvbnRlbnQyL19fZGNibC1jb3JlLnNjc3MiLCJfbW9kdWxlcy9zaW1wbGUtY29udGVudDIvbGF5b3V0cy9fZGNibC1mdWxsLXdpZHRoLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7QUFBQTtBQUFBO0VBR0U7OztBQUdGO0VBQ0U7SUFDRTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7SUFDRTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBQUE7RUFHRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtFQUlFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQU9GO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7RUFJRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQU1FO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtFQUlFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtFQUlFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTs7O0FBSUo7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFPRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FDMVpGO0VBQ0M7RUFDQTtFQUNBOzs7QUFHRDtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0M7RUFDQTs7O0FBRUQ7RUFDQzs7O0FBR0Q7QUFFQTtFQUNDOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ3BDRjtBQUFBO0FBQUE7QUFBQTtBQ3BCQTtBQWFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUNiQTtBQUVDO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQVdBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQ2loQkc7RUR2a0JKO0lBb0JFO0lBQ0E7SUFDQTs7O0FDaWpCRTtFRHZrQko7SUF5QkU7Ozs7QUV6QkY7QUNpQ0E7QUR4QkE7RUFDQztFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FFdkZEO0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQ2hDRDtBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FDdkJEO0FBRUE7RUFDQzs7O0FBR0Q7RUFDQztFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FMa2lCRztFS2prQko7SUFtQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7SUFDQTtJQUNBO0lBQ0E7Ozs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDcEVEO0FBRUE7RUFDQztFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7OztBQzFCRDtFQUNDO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7OztBQUdEO0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtBQUVBO0VBQ0M7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUN4REQ7RUFDQztFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FSa2pCRztFUXZrQko7SUF3QkU7SUFDQTtJQUNBOzs7O0FDaEJGO0FDVkE7QUFFQTtBQUVBO0VBRUM7O0FWaWtCRztFVW5rQko7SUFLRTs7O0FWOGpCRTtFVW5rQko7SUFTRTs7OztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0FBRUE7RUFDQztFQUNBOztBQUVBO0VBQ0M7RUFDQTs7O0FBSUY7RUFDQzs7QUFFQTtFQUNDOztBQUdEO0VBQ0M7OztBQUlGO0VBQ0M7RUFDQTs7O0FBR0Q7QUFFQTtFQUNDO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FWdWdCRztFVTNnQko7SUFPRTtJQUNBOzs7O0FBS0Y7RUFDQzs7O0FBR0Q7RUFDQzs7O0FBR0Q7QUFBQTtBQUFBO0VBR0M7RUFDQTs7O0FBR0Q7QUFBQTtFQUVDO0VBQ0E7OztBQUdEO0VBQ0M7OztBQUdEO0FBQUE7RUFFQzs7O0FBR0Q7RUFDQzs7O0FWK2RHO0VVM2RIO0lBQ0M7O0VBRUQ7SUFDQzs7O0FWdWRFO0VVbGRIO0lBQ0M7O0VBRUQ7SUFDQzs7RUFFRDtJQUNDOztFQUVEO0lBQ0M7O0VBRUQ7SUFDQzs7RUFFRDtJQUNDOzs7QUNySUY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FYaWtCRztFV3ZrQko7SUFTRTtJQUNBOzs7QVg2akJFO0VXdmtCSjtJQWFFOztFQUNBO0lBQ0M7SUFDQTs7O0FBSUY7RUFDQztFQUNBOztBWGlqQkU7RVduakJIO0lBSUU7SUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QVhvaUJDO0VXM2lCRjtJQVVFO0lBQ0E7OztBWGdpQkE7RVczaUJGO0lBY0U7OztBQUtIO0VBQ0M7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTs7QVhnaEJFO0VXbmhCSDtJQUtFOzs7QUFJRjtFQUNDO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7O0FBR0Q7RUFDQzs7QVgrZkM7RVcxZ0JIO0lBZUU7OztBWDJmQztFVzFnQkg7SUFrQkU7OztBQUlGO0VBQ0M7O0FBR0Q7RUFDQzs7QVgrZUU7RVdoZkg7SUFHRTs7OztBQzFGSDtBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBOzs7QUFJRjtBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTs7O0Fad2lCRTtFYXZrQko7SUFHRTs7RUFFQTtJQUNDOztFQUdEO0lBQ0M7SUFDQTtJQUNBOztFQUlBO0lBQ0M7SUFDQTtJQUNBOztFQUlGO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7OztBYjJpQkM7RWNua0JGO0lBQ0M7O0VBSUY7SUFDQztJQUNBO0lBRUE7SUFDQTtJQUNBOztFQUVBO0lBQ0M7O0VBR0Q7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QWR1aUJDO0VjcmlCRDtJQUVFOzs7QWRtaUJEO0VjOWhCRDtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Q7SUFDQzs7RUFLRDtJQUNDOztFQUlBO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7O0VBS0Q7SUFDQzs7RUFFQTtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFLRDtJQUNDOztFQU1KO0lBQ0M7O0VBRUE7SUFDQztJQUNBO0lBQ0E7O0VBSUE7SUFDQzs7RUFPSDtJQUNDOztFQUdEO0lBQ0M7SUFDQTs7O0FDbkhGO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDQzs7QWZpa0JFO0VlL2pCSDtBQUFBO0FBQUE7QUFBQTtBQUFBO0lBRUU7Ozs7QWY2akJDO0VnQnZrQko7SUFFRTs7OztBaEJxa0JFO0VnQmprQko7SUFFRTs7OztBaEIrakJFO0VnQnpqQkg7SUFDQzs7O0FoQndqQkU7RWdCbmpCSDtBQUFBO0lBRUM7OztBQ3RCRjtBQUVBO0VBQ0M7O0FqQm9rQkc7RWlCcmtCSjtJQUlFO0lBQ0E7O0VBQ0E7SUFDQztJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNDO0lBQ0E7O0VBRUE7QUFBQTtJQUVDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7QUFBQTtJQUNDOzs7QUFPTDtBQUFBO0FBQUE7RUFDQztFQUNBO0VBQ0E7O0FqQitoQkU7RWlCNWhCSDtJQUVFOzs7QUFNRDtBQUFBO0VBQ0M7OztBQUtIO0FqQjhnQkk7RWlCM2dCSDtJQUVFO0lBQ0E7SUFDQTs7O0FBSUY7RUFDQztFQUNBO0VBQ0E7O0FBRUE7RUFDQzs7O0FDekVGO0VBQ0M7O0FsQnFrQkU7RWtCbmtCRjtJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUNBO0lBQ0M7O0VBRUE7SUFDQzs7RUFJRjtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNDOztFQUlGO0lBQ0M7O0VBR0Q7SUFDQzs7RUFHRDtJQUNDO0lBQ0E7O0VBR0Q7SUFDQztJQUNBOztFQUdEO0lBQ0M7SUFDQTtJQUNBOztFQUVBO0lBQ0M7SUFDQTs7RUFJRjtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDQzs7RUFHRDtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdEO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Q7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBSUE7SUFDQztJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNDOztFQUtIO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFFQTtFQUNDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDQzs7O0FsQm1iTDtFa0I1YUE7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Q7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QWxCa1pEO0VrQm5rQkY7SUFzTEU7SUFDQTtJQUNBOztFQUVBO0lBQ0M7O0VBR0Q7SUFDQztJQUNBOztFQUdEO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Q7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBbEJnWEQ7RWtCdldFO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNDOztFQUlGO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQU1BO0lBQ0M7O0VBR0Q7SUFDQzs7RUFJRjtJQUNDO0lBQ0E7SUFDQTs7RUFFQTtJQUNDOztFQUlGO0lBQ0M7OztBbEI0U0g7RWtCcFNIO0lBRUU7O0VBRUM7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7O0FDNVNMO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0VBQ0M7O0FBR0Q7RUFDQzs7QUFLRDtFQUNDOztBQUVBO0VBRUM7RUFDQTtFQUNBOztBQUdEO0VBQ0M7OztBVnhESjtBQUVBO0FXakJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBaURBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUEvQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOztBckJtakJDO0VxQjFqQkg7SUFXRTtJQUNBOzs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FDekJDO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQkRxQmdCO0VDcEJoQixTRG9Cc0M7RUNuQnRDOztBRHdCUDtFQUNDO0VBQ0E7RUFDQTs7QXJCOGdCRTtFcUJsZ0JGO0lBQ0M7SUFDQTs7RUFHRDtJQUNDOztFQUdEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFFQTtJQUNDOzs7QUFLSDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FyQnVlRTtFcUI1ZUg7SUFPRTtJQUNBOztFQUNBO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFLRDtFQUNDO0VBQ0E7O0FyQmdkQTtFcUJsZEQ7SUFJRTtJQUNBOzs7QXJCNmNEO0VxQmxkRDtJQVFFO0lBQ0E7OztBckJ5Y0Q7RXFCcmNEO0lBRUU7OztBckJtY0Q7RXFCcmNEO0lBTUU7OztBckIrYkQ7RXFCMWJGO0lBRUU7OztBQUlGO0VBQ0M7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FyQjJhQTtFcUIvYUQ7SUFNRTs7O0FBSUY7RUFDQzs7QXJCb2FBO0VxQnJhRDtJQUdFOzs7QUFHRDtFQUNDOztBQUlGO0VBQ0M7O0FyQnlaQTtFcUIxWkQ7SUFJRTs7O0FyQnNaRDtFcUJqWkY7SUFFRTtJQUNBO0lBQ0E7OztBQUtIO0VBQ0M7O0FyQnVZRTtFcUJ4WUg7SUFHRTtJQUNBOztFQUVBO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FyQnNYQTtFcUJsWEY7SUFFRTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUY7RUFDQztFQUNBOztBckJ1V0M7RXFCcFdGO0lBRUU7OztBckJrV0E7RXFCOVZGO0lBRUU7OztBQUdEO0VBQ0M7RUFDQTs7QXJCdVZBO0VxQnpWRDtJQUlFOzs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QXJCd1VBO0VxQmpWRDtJQVdFOzs7QXJCc1VEO0VxQmxVRDtJQUVFOzs7QUFLSDtFQUNDO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0VBQ0M7O0FyQjhTQTtFcUIvU0Q7SUFHRTs7O0FBSUY7RUFDQzs7QXJCdVNBO0VxQm5TRjtJQUVFOzs7QXJCaVNBO0VxQm5TRjtJQUtFO0lBQ0E7SUFDQTtJQUNBOzs7QUFJRjtFQUNDOztBQUVBO0VBQ0M7RUFDQTtFQUNBOztBckJpUkE7RXFCcFJEO0lBTUU7SUFDQTs7O0FBTUo7RUFDQztFQUNBOztBckJxUUU7RXFCdlFIO0lBSUU7SUFDQTs7RUFDQTtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Q7SUFDQztJQUNBO0lBQ0E7O0VBSUQ7SUFDQztJQUNBO0lBQ0E7OztBQU9EO0VBQ0M7RUFDQTs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FyQmlOQztFcUJ2TkY7SUFRRTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QUFHRDtFQUNDOztBckJvTUE7RXFCck1EO0lBR0U7OztBQUlGO0VBQ0M7O0FBS0g7RUFDQzs7QXJCdUxFO0VxQnJMRDtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQU1EO0VBQ0M7O0FyQm1LQTtFcUJwS0Q7SUFHRTtJQUNBOzs7QXJCZ0tEO0VxQnBLRDtJQU9FOzs7QUFLSDtFQUNDOztBQUdEO0VBQ0M7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QXJCNElDO0VxQmhKRjtJQU1FOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0VBQ0M7O0FyQitIQTtFcUJoSUQ7SUFHRTs7O0FBSUY7RUFDQzs7O0FFL2NKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0F2QjRqQkc7RXVCamtCSjtJQVFFOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTs7QXZCbWpCRTtFdUJ0akJIO0lBS0U7OztBQUVEO0VBQ0M7RUFDQTs7O0FDMUJIO0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOzs7QUNYRDtBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOzs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtBQTBFQztBQUFBO0FBQUE7O0ExQnljRztFMEJuaEJKO0lBRUU7SUFDQTtJQUNBO0lBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOztBQUdEO0VBQ0M7O0FBRUE7RUFDQzs7QUFJRjtFQUNDOztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUVDOztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QTFCd2RFO0UwQmhlSDtJQVVFOzs7QUFHRDtFQUVDOztBQUlGO0VBQ0M7O0FBT0Q7RUFDQztFQUNBO0VBQ0E7OztBQ3JJRjtBQU1BO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTs7QUFFQTtFQUNDOzs7QTNCK2lCRTtFMkIxaUJKO0lBRUU7OztBM0J3aUJFO0UyQjFpQko7SUFLRTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7O0EzQitoQkU7RTJCbGlCSDtJQUtFO0lBQ0E7SUFDQTtJQUNBOzs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBM0JraEJFO0UyQnRoQkg7SUFNRTs7O0EzQmdoQkM7RTJCdGhCSDtJQVNFO0lBQ0E7OztBQUtEO0VBQ0M7O0EzQnNnQkM7RTJCdmdCRjtJQUdFOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0EzQjRmQTtFMkJqZ0JEO0lBT0U7Ozs7QUM3RUw7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ05BO0FBRUE7QUFBQTtBQUFBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtBQUFBO0FBQUE7RUFHQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBTUE7QUE0SUE7QUE2REE7O0FBN01BO0FBQUE7QUFBQTtFQUNDOztBQU9BO0FBQUE7QUFBQTtFQUNDOztBQUlGO0FBQUE7QUFBQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0FBQUE7QUFBQTtFQUNDOztBQUdEO0FBQUE7QUFBQTtFQUNDOztBQUdEO0VBQ0M7QUFBQTtBQUFBO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7OztBQUtIO0FBQUE7QUFBQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0VBQ0M7O0FBR0Q7QUFBQTtBQUFBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRDtBQUFBO0FBQUE7RUFDQztFQUNBO0VBQ0E7O0FBR0Q7RUFDQztBQUFBO0FBQUE7SUFDQztJQUNBO0lBQ0E7OztBQUtIO0FBQUE7QUFBQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUNDOztBQUdEO0VBQ0M7QUFBQTtBQUFBO0lBQ0M7OztBQUtIO0FBQUE7QUFBQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7RUFDQztFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0VBQ0M7O0FBR0Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNDOztBQUlGO0VBQ0M7QUFBQTtBQUFBO0lBQ0M7OztBQUtEO0FBQUE7QUFBQTtFQUNDO0VBQ0E7O0FBS0g7QUFBQTtBQUFBO0VBQ0M7O0FBS0Q7QUFBQTtBQUFBO0VBQ0M7RUFDQTtFQUVBOztBQUVBO0FBQUE7QUFBQTtFQUNDOztBQUlGO0FBQUE7QUFBQTtFQUNDOztBQUdEO0FBQUE7QUFBQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlGO0FBQUE7QUFBQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QUFHRDtBQUFBO0FBQUE7RUFDQztFQUNBOztBQU1GO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7O0FBR0Q7RUFDQztFQUNBOztBQUlGO0FBQUE7QUFBQTtFQUNDOztBQUdEO0FBQUE7QUFBQTtFQUNDOztBQUdEO0FBQUE7QUFBQTtFQUNDOztBQUdEO0VBR0U7QUFBQTtBQUFBO0lBQ0M7O0VBRUE7QUFBQTtBQUFBO0lBQ0M7Ozs7QUFRTDtBQUVBO0FBQUE7QUFBQTtFQUlDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztBQUFBO0FBQUE7SUFDQzs7OztBRHpTRjtBQUFBO0FBQUE7RUFDQzs7O0FFakJGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTs7QUFDQTtFQUNJOztBQUtaO0VBQ0k7O0FBSUE7RUFDSTs7QUFHRjtFQUNJOztBQUtWO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7OztBQ3JEUjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOztBQUVBO0VBQ0M7O0FBR0Q7RUFDQzs7QWpDa2pCQztFaUMxakJIO0lBWUU7OztBakM4aUJDO0VpQ3RpQkQ7SUFDQzs7O0FBT0g7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QWpDMGhCRTtFaUM5aEJIO0lBT0U7OztBQUdEO0VBQ0M7O0FBR0Q7RUFDQzs7QUFJRjtFQUNDO0VBQ0E7RUFDQTs7QWpDd2dCRTtFaUMzZ0JIO0lBTUU7OztBakNxZ0JDO0VpQzNnQkg7SUFVRTtJQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7OztBakNxZkM7RWlDL2VKO0lBRUU7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQzs7QWpDMGRDO0VpQzNkRjtJQUdFOzs7QUFJRjtFQUNDOztBQUlGO0VBQ0M7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QWpDdWNFO0VpQ3JjRjtJQUVFOzs7QUFJRjtFQUNDO0VBQ0E7RUFDQTs7QWpDNGJDO0VpQy9iRjtJQUtFOzs7QUFLSDtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBakNpYkU7RWlDcmJIO0lBTUU7SUFDQTs7O0FqQzhhQztFaUNyYkg7SUFVRTtJQUNBO0lBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QWpDOFpDO0VpQ3RhRjtJQVVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBakN3WkE7RWlDdGFGO0lBaUJFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUtIO0VBQ0M7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBOztBQUlGO0VBQ0M7RUFDQTtFQUNBOzs7QWpDNlhFO0VrQ3ZrQko7SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHQztJQUNDOztFQUlGO0lBQ0M7SUFDQTs7RUFLQTtJQUNDOztFQUlGO0lBQ0M7SUFDQSIsImZpbGUiOiJjcml0aWNhbC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogTW9kaWZpZWQgQm9vdHN0cmFwIFJlYm9vdCB2NS4xLjEgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS8pIChyZW1vdmVkIGNvbG9ycyBhbmQgbGlua3MgdW5kZXJsaW5pbmcpXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDIwIFRoZSBCb290c3RyYXAgQXV0aG9yc1xuICogQ29weXJpZ2h0IDIwMTEtMjAyMCBUd2l0dGVyLCBJbmMuXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21haW4vTElDRU5TRSlcbiAqIEZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MsIGxpY2Vuc2VkIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9ibG9iL21hc3Rlci9MSUNFTlNFLm1kKVxuICovXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgOnJvb3Qge1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICB9XG59XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cbmhyIHtcbiAgbWFyZ2luOiAxcmVtIDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIGJvcmRlcjogMDtcbiAgb3BhY2l0eTogMC4yNTtcbn1cblxuaHI6bm90KFtzaXplXSkge1xuICBoZWlnaHQ6IDFweDtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuaDEge1xuICBmb250LXNpemU6IGNhbGMoMS4zNzVyZW0gKyAxLjV2dyk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICB9XG59XG5cbmgyIHtcbiAgZm9udC1zaXplOiBjYWxjKDEuMzI1cmVtICsgMC45dncpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbn1cblxuaDMge1xuICBmb250LXNpemU6IGNhbGMoMS4zcmVtICsgMC42dncpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gIH1cbn1cblxuaDQge1xuICBmb250LXNpemU6IGNhbGMoMS4yNzVyZW0gKyAwLjN2dyk7XG59XG5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIGN1cnNvcjogaGVscDtcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcbn1cblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbm9sLFxudWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbm9sIG9sLFxudWwgdWwsXG5vbCB1bCxcbnVsIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbn1cblxubWFyayB7XG4gIHBhZGRpbmc6IDAuMmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzO1xufVxuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0uMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtLjVlbTtcbn1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYTpob3ZlciB7XG5cbn1cblxuYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSksIGE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pOmhvdmVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGRpcmVjdGlvbjogbHRyIC8qIHJ0bDppZ25vcmUgKi87XG4gIHVuaWNvZGUtYmlkaTogYmlkaS1vdmVycmlkZTtcbn1cblxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG92ZXJmbG93OiBhdXRvO1xuICBmb250LXNpemU6IDAuODc1ZW07XG59XG5wcmUgY29kZSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbn1cblxuY29kZSB7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgY29sb3I6ICNkNjMzODQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cbmEgPiBjb2RlIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbmtiZCB7XG4gIHBhZGRpbmc6IDAuMnJlbSAwLjRyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTI1Mjk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbn1cblxua2JkIGtiZCB7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5maWd1cmUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5pbWcsXG5zdmcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG50YWJsZSB7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgY29sb3I6ICM2Yzc1N2Q7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbnRoIHtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgdGV4dC1hbGlnbjogLXdlYmtpdC1tYXRjaC1wYXJlbnQ7XG59XG5cbnRoZWFkLFxudGJvZHksXG50Zm9vdCxcbnRyLFxudGQsXG50aCB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZDtcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnNlbGVjdCB7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG5bbGlzdF06Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbmJ1dHRvbjpub3QoOmRpc2FibGVkKSxcblt0eXBlPVwiYnV0dG9uXCJdOm5vdCg6ZGlzYWJsZWQpLFxuW3R5cGU9XCJyZXNldFwiXTpub3QoOmRpc2FibGVkKSxcblt0eXBlPVwic3VibWl0XCJdOm5vdCg6ZGlzYWJsZWQpIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG46Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuZmllbGRzZXQge1xuICBtaW4td2lkdGg6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG5sZWdlbmQge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC1zaXplOiBjYWxjKDEuMjc1cmVtICsgMC4zdncpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICBsZWdlbmQge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICB9XG59XG5cbmxlZ2VuZCArICoge1xuICBjbGVhcjogbGVmdDtcbn1cblxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZmllbGRzLXdyYXBwZXIsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC10ZXh0LFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG59XG5cbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuOjotd2Via2l0LWNvbG9yLXN3YXRjaC13cmFwcGVyIHtcbiAgcGFkZGluZzogMDtcbn1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbmlmcmFtZSB7XG4gIGJvcmRlcjogMDtcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCI6aXMoYSwgYnV0dG9uLCBpbnB1dCwgdGV4dGFyZWEsIHN1bW1hcnkpIHtcblx0LS1vdXRsaW5lLXNpemU6IG1heCgycHgsIDAuMDhlbSk7XG5cdC0tb3V0bGluZS1zdHlsZTogc29saWQ7XG5cdC0tb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4vKjppcyhhLCBidXR0b24sIGlucHV0LCB0ZXh0YXJlYSwgc3VtbWFyeSk6Zm9jdXMge1xuXHRvdXRsaW5lOiB2YXIoLS1vdXRsaW5lLXNpemUpIHZhcigtLW91dGxpbmUtc3R5bGUpIHZhcigtLW91dGxpbmUtY29sb3IpO1xuXHRvdXRsaW5lLW9mZnNldDogdmFyKC0tb3V0bGluZS1vZmZzZXQsIHZhcigtLW91dGxpbmUtc2l6ZSkpO1xufSovXG5cbjppcyhhLCBidXR0b24sIGlucHV0LCB0ZXh0YXJlYSwgc3VtbWFyeSk6Zm9jdXMtdmlzaWJsZSB7XG5cdG91dGxpbmU6IHZhcigtLW91dGxpbmUtc2l6ZSkgdmFyKC0tb3V0bGluZS1zdHlsZSkgdmFyKC0tb3V0bGluZS1jb2xvcik7XG5cdG91dGxpbmUtb2Zmc2V0OiB2YXIoLS1vdXRsaW5lLW9mZnNldCwgdmFyKC0tb3V0bGluZS1zaXplKSk7XG59XG46aXMoaW5wdXQpOmZvY3VzLXZpc2libGUge1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4vKiBGb2N1cyBjdXN0b21pemF0aW9ucyAqL1xuXG5pbnB1dCB7XG5cdC0tb3V0bGluZS1zdHlsZTogZGFzaGVkO1xufVxuXG5zdW1tYXJ5IHtcblx0LS1vdXRsaW5lLWNvbG9yOiBibHVlO1xuXHQtLW91dGxpbmUtb2Zmc2V0OiAwLjVlbTtcblx0LS1vdXRsaW5lLXN0eWxlOiBkb3R0ZWQ7XG59XG5cbi5za2lwLWxpbmsge1xuXHRib3JkZXI6IDA7XG5cdGNsaXA6IHJlY3QoMXB4LDFweCwxcHgsMXB4KTtcblx0Y2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuXHRoZWlnaHQ6IDFweDtcblx0bWFyZ2luOiAtMXB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nOiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcblx0d2lkdGg6IDFweDtcblx0d29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDtcblx0Jjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2VlZTtcblx0XHRjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0Y2xpcC1wYXRoOiBub25lO1xuXHRcdGNvbG9yOiAjNDQ0O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZvbnQtc2l6ZTogMWVtO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRsZWZ0OiA1cHg7XG5cdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0XHRwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0dG9wOiA1cHg7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0ei1pbmRleDogMTAwMDAwO1xuXHR9XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHdpZHRoLCAkaGVpZ2h0KSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0JjpiZWZvcmV7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y29udGVudDogXCIgXCI7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0cGFkZGluZy10b3A6IG1hdGguZGl2KCRoZWlnaHQsICR3aWR0aCkgKiAxMDAlO1xuXHR9XG5cblx0PiAuY29udGVudCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0fVxufVxuXG4vKlxuLnNpeHRlZW4tbmluZSB7XG5cdEBpbmNsdWRlIGFzcGVjdC1yYXRpbygxNiw5KTtcbn0qL1xuIiwiLyogTWVkaWEgUXVlcmllcyBCcmVha3BvaW50cyAqL1xuXG4kYnJlYWtwb2ludHM6IChcbiAgICAgICAgJ3Bob25lJzogMzIwcHgsXG4gICAgICAgICdwaG9uZS1sJzogNTc1cHgsXG4gICAgICAgICd0YWJsZXQnOiA3NjdweCxcbiAgICAgICAgJ2Rlc2t0b3AnOiAxMTEycHgsXG4gICAgICAgICdkZXNrdG9wLW0nOiAxMjgwcHgsXG4gICAgICAgICdkZXNrdG9wLWwnOiAxNDQwcHgsXG4gICAgICAgICdkZXNrdG9wLXhsJzogMTY2MHB4LFxuICAgICAgICAnZGVza3RvcC0xOTIwJzogMTkyMHB4XG4pO1xuXG4vKipcbiogKioqKioqKioqKioqKioqKioqKlxuKiAgVXNhZ2UgZXhhbXBsZXNcbiogKioqKioqKioqKioqKioqKioqKlxuKlxuLy9cbi8vICB1c2UgPD1cbiogICBBTFdBWVMgdXNlIDw9ICggJzwnIHdpdGggJz0nIGNoYXJhY3RlcikgZm9yIGFsbCBicmVha3BvaW50c1xuKiAgIHdoZW4gc2V0dGluZyBtYXgtd2lkdGgsIGV4OiBtYXgtd2lkdGg6IDc2N3B4LFxuKlxuKiAgIHNvIG1heC13aWR0aDogMTQ0MHB4ICA9PSBtZWRpYSgnPD1kZXNrdG9wLWwnKVxuKlxuKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuKlxuLy8gIHVzZSA+XG4qICAgQUxXQVlTIHVzZSBvbmx5ID4gYXMgc2luZ2xlIGNoYXJhY3RlciBmb3IgYWxsIGJyZWFrcG9pbnRzXG4qICAgd2hlbiBzZXR0aW5nIG1pbi13aWR0aCwgZXg6IG1pbi13aWR0aDogNzY4cHgsXG4qXG4qICAgc28gbWluLXdpZHRoOiAxMDI1cHggID09IG1lZGlhKCc+ZGVza3RvcCcpXG4qXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qXG4qIyMgRVhBTVBMRTpcbipcbiogICAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweClcbiogICA9XG4qICAgbWVkaWEgKCc+dGFibGV0JyksICgnPD1kZXNrdG9wJylcbipcbi8vXG5cbiAqL1xuIiwiOnJvb3Qge1xuXHRcblx0LyogTGF5b3V0IFNldHRpbmdzICovXG5cdFxuXHQtLXBob25lLXdpZHRoOiA1NzZweDtcblx0LS10YWJsZXQtd2lkdGg6IDc2OHB4O1xuXHQtLWRlc2t0b3Atd2lkdGg6IDExMTJweDtcblx0LS1kZXNrdG9wLXdpZHRoLXNtOiAxMDI0cHg7XG5cdC0tZGVza3RvcC13aWR0aC1tOiAxMjQ1cHg7XG5cdC0tZGVza3RvcC13aWR0aC1sOiAxNDQwcHg7XG5cdC0tZGVza3RvcC13aWR0aC14bDogMTY0MHB4O1xuXHQtLWRlc2t0b3Atd2lkdGgtMTkyMDogMTkyMHB4O1xuXHQtLWNvbnRlbnQtd2lkdGg6IHZhcigtLWRlc2t0b3Atd2lkdGgtbSk7IC8vIERlZmF1bHQgY29udGVudCB3aWR0aCAoMTI4MClcblx0LS1ibG9nLXdpZHRoOiA4MDBweDtcblx0LS1wYWdlLWd1dHRlcjogMjBweDtcblx0LS1ncmlkLWd1dHRlcjogMjRweDtcblx0LS12ZXJ0aWNhbC1nYXA6IDV2bWluOyAvLyB2ZXJ0aWNhbCBzcGFjZSBiZXR3ZWVuIHBhZ2Ugc2VjdGlvbnMgKC5nYXAtdG9wLCAuZ2FwLXRvcC1zLCAuZ2FwLXRvcC1sLCAuZ2FwLWJvdCwgLmdhcC1ib3QtcywgLmdhcC1ib3QtbClcblx0LS1iYXNlLXRyYW5zaXRpb246IC4zczsgLy8gZGVmYXVsdCB0cmFuc2l0aW9uIGZvciBob3ZlcnNcblx0XG5cdEBpbmNsdWRlIG1lZGlhKCc8PWRlc2t0b3AnKSB7XG5cdFx0LS12ZXJ0aWNhbC1nYXA6IDIwcHg7XG5cdFx0LS1wYWdlLWd1dHRlcjogMjBweDtcblx0XHQtLWNvbnRlbnQtd2lkdGg6IHZhcigtLXRhYmxldC13aWR0aCk7XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9ZGVza3RvcC1sJykge1xuXHRcdC0tY29udGVudC13aWR0aDogdmFyKC0tZGVza3RvcC13aWR0aC1zbSk7XG5cdH1cblx0XG5cdC8qIENvbG9ycyAqL1xuXHRcblx0LS1wcmltYXJ5LWNvbG9yMTogIzM2OEEyMDtcblx0LS1wcmltYXJ5LWNvbG9yMjogIzY3RTQ0Nztcblx0LS1wcmltYXJ5LWNvbG9yMzogIzMyNDMzMjtcblx0LS1zZWNvbmRhcnktY29sb3IxOiAjZmZmZmZmO1xuXHQtLXNlY29uZGFyeS1jb2xvcjI6ICMzNjhBMjA7XG5cdC0tc2Vjb25kYXJ5LWNvbG9yMzogIzY3RTQ0Nztcblx0XG5cdC0tYm9keS1iZzogI2ZmZjtcblx0LS1ib2R5LWJnLWFsdDogIzMzMztcblx0LS1ib2R5LXRleHQtY29sb3I6ICMzQjQwM0I7XG5cdC0tYm9keS10ZXh0LWNvbG9yLWFsdDogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMik7IC8vIGludmVydGVkIGNvbG9yXG5cdC0tdGl0bGVzLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMyk7XG5cdC0tdGl0bGVzLWNvbG9yLWFsdDogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMSk7IC8vIGludmVydGVkIGNvbG9yXG5cdC0tdGl0bGVzLWNvbG9yLWFjY2VudDogdmFyKC0tcHJpbWFyeS1jb2xvcjEpOyAvLyBpbnZlcnRlZCBjb2xvclxuXHQtLXByaW1hcnktbGluay1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xuXHQtLXByaW1hcnktbGluay1jb2xvci1hbHQ6IHZhcigtLXNlY29uZGFyeS1jb2xvcjIpOyAvLyBpbnZlcnRlZCBjb2xvclxuXHQtLWJvcmRlci1jb2xvcjogIzMzMztcblx0LS1rZWxwOiAjMjEzNzIxO1xuXHQtLWxhdXJlbDogIzE0NjEwMDtcblx0LS1mb3Jlc3Q6ICMzNjhCMjA7XG5cdC0tYWx0bzogI0QwRDBEMDtcblx0LS1oZWF2eS1tZXRhbDogIzM0MzczNDtcblx0LS1zY29ycGlvbjogIzU4NTg1ODtcblx0LS1ib3VsZGVyOiAjNzk3OTc5O1xuXHQtLW1lcmN1cnk6I0U1RTVFNTtcbn1cblxuXG4iLCIvLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjIuMC4wXG4vL1xuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBLaXR0eSBHaXJhdWRlbCAoQGtpdHR5Z2lyYXVkZWwpXG4vL1xuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxuQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5AdXNlICdzYXNzOm1hdGgnO1xuQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2FzczpsaXN0JztcbkB1c2UgJ3Nhc3M6c3RyaW5nJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdkZXNrdG9wJzogMTAyNHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxuICAncHJpbnQnOiAncHJpbnQnLFxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXG4gICdyZXRpbmEyeCc6XG4gICAgJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzpcbiAgICAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknLFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2Bcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cbi8vL1xuJHVuaXQtaW50ZXJ2YWxzOiAoXG4gICdweCc6IDEsXG4gICdlbSc6IDAuMDEsXG4gICdyZW0nOiAwLjEsXG4gICcnOiAwLFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBtZXRhLmZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgfVxufVxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7XG59XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLmdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge1xuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLmhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpXG4gICAgICB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgbGlzdC5pbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyaW5nLnNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyaW5nLmxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XG4gIEByZXR1cm4gaWYobGlzdC5pbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cbi8vL1xuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICR2YWx1ZTogc3RyaW5nLnNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHJpbmcubGVuZ3RoKCRvcGVyYXRvcikpO1xuXG4gIEBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgICR2YWx1ZTogbWFwLmdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XG4gIH0gQGVsc2Uge1xuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XG4gIH1cblxuICAkaW50ZXJ2YWw6IG1hcC5nZXQoJHVuaXQtaW50ZXJ2YWxzLCBtYXRoLnVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3ttYXRoLnVuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC5oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC5nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsaXN0Lmxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxpc3QubGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XG4gICAgQHJldHVybiAoKTtcbiAgfVxuXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcbiAgICAkcmVzdWx0OiBsaXN0LmFwcGVuZCgkcmVzdWx0LCBsaXN0Lm50aCgkbGlzdCwgJGkpLCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKFxuICAgICcwJzogMCxcbiAgICAnMSc6IDEsXG4gICAgJzInOiAyLFxuICAgICczJzogMyxcbiAgICAnNCc6IDQsXG4gICAgJzUnOiA1LFxuICAgICc2JzogNixcbiAgICAnNyc6IDcsXG4gICAgJzgnOiA4LFxuICAgICc5JzogOSxcbiAgKTtcblxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xuICAgICR2YWx1ZTogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0cmluZy5sZW5ndGgoJHZhbHVlKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgIEBpZiBub3QobGlzdC5pbmRleChtYXAua2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGkpKTtcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAuZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXRoLmRpdihtYXAuZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSwgJGRpZ2l0cyk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAkdW5pdHM6IChcbiAgICAncHgnOiAxcHgsXG4gICAgJ2NtJzogMWNtLFxuICAgICdtbSc6IDFtbSxcbiAgICAnJSc6IDElLFxuICAgICdjaCc6IDFjaCxcbiAgICAncGMnOiAxcGMsXG4gICAgJ2luJzogMWluLFxuICAgICdlbSc6IDFlbSxcbiAgICAncmVtJzogMXJlbSxcbiAgICAncHQnOiAxcHQsXG4gICAgJ2V4JzogMWV4LFxuICAgICd2dyc6IDF2dyxcbiAgICAndmgnOiAxdmgsXG4gICAgJ3ZtaW4nOiAxdm1pbixcbiAgICAndm1heCc6IDF2bWF4LFxuICApO1xuXG4gIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAuZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLm1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC5tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGlzdC5sZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpXG4gIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxpc3QubGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3tzdHJpbmcudW5xdW90ZShwYXJzZS1leHByZXNzaW9uKGxpc3QubnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogVHlwb2dyYXBoeSAqL1xuXG5AaW1wb3J0ICcuLi9taXhpbnMvZm9udC1mYWNlJztcblxuLy8gRm9yIGdvb2dsZSBmb250cyBwbGVhc2UgdXNlIGh0dHBzOi8vZ29vZ2xlLXdlYmZvbnRzLWhlbHBlci5oZXJva3VhcHAuY29tL2ZvbnRzIGlmIHBvc3NpYmxlXG5cbi8vIEV4YW1wbGVzIChyZXBsYWNlIG9yIHJlbW92ZSBpZiB5b3UgZG9uJ3QgbmVlZCB0aGVzZSBmb250cyk6XG5cblxuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiAnU3dpdHplclZhcmlhYmxlJztcblx0c3JjOiB1cmwoJy4vLi4vLi4vZm9udHMvc3dpdHplci9Td2l0emVyLVZhcmlhYmxlLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG46cm9vdCB7XG5cdC0tZm9udC1mYW1pbHktcHJpbWFyeTogXCJTd2l0emVyVmFyaWFibGVcIiwgc2Fucy1zZXJpZjtcblx0LS1mb250LWZhbWlseS1zZWNvbmRhcnk6IFwiU3dpdHplclZhcmlhYmxlXCIsIHNhbnMtc2VyaWY7XG5cblx0LS1iYXNlLXRleHQtc2l6ZTogMnJlbTtcblx0LS1iYXNlLXRleHQtZm9udDogdmFyKC0tZm9udC1mYW1pbHktcHJpbWFyeSk7XG5cdC0tYmFzZS10ZXh0LWxpbmUtaGVpZ2h0OiAxLjY7XG5cdC0tYmFzZS10ZXh0LWZvbnQtd2VpZ2h0OiA0MDA7XG5cdC0tbGFyZ2VyLXRleHQtc2l6ZTogMi40cmVtO1xuXHQtLWxhcmdlci10ZXh0LWZvbnQtd2VpZ2h0OiA1MDA7XG5cdC0tc21hbGxlci10ZXh0LXNpemU6IDEuNnJlbTtcblx0LS1zbWFsbGVyLXRleHQtZm9udC13ZWlnaHQ6IDQwMDtcblx0LS1ibG9nLXRleHQtc2l6ZTogMS44cmVtO1xuXHQtLWJsb2ctdGV4dC1mb250LXdlaWdodDogNDAwO1xuXG5cdC0taC1jbGFtcC1mb3JtdWxhOiAzdncgKyAxLjVyZW07IC8vIGhlYWRpbmdzIHNpemUgdHJhbnNmb3JtYXRpb25cblxuXHQtLWgxLWZvbnQtc2l6ZTogNy4ycmVtO1xuXHQtLWgxLWZvbnQtc2l6ZS1tb2JpbGU6IDI4cHg7XG5cdC0taDEtbGluZS1oZWlnaHQ6IDEuMTtcblx0LS1oMS1sZXR0ZXItc3BhY2luZzogMXB4O1xuXHQtLWgxLW1hcmdpbi1ib3R0b206IC41ZW07XG5cdC0taDEtZm9udDogdmFyKC0tZm9udC1mYW1pbHktcHJpbWFyeSk7XG5cdC0taDEtZm9udC13ZWlnaHQ6IDYwMDtcblx0LS1oMS10ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuXHQtLWgyLWZvbnQtc2l6ZTogNXJlbTtcblx0LS1oMi1mb250LXNpemUtbW9iaWxlOiAyMHB4O1xuXHQtLWgyLWxpbmUtaGVpZ2h0OiAxLjE7XG5cdC0taDItbGV0dGVyLXNwYWNpbmc6IDFweDtcblx0LS1oMi1tYXJnaW4tYm90dG9tOiAuNWVtO1xuXHQtLWgyLWZvbnQ6IHZhcigtLWZvbnQtZmFtaWx5LXByaW1hcnkpO1xuXHQtLWgyLWZvbnQtd2VpZ2h0OiA3MDA7XG5cdC0taDItdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cblx0LS1oMy1mb250LXNpemU6IDIuNHJlbTtcblx0LS1oMy1mb250LXNpemUtbW9iaWxlOiAxOHB4O1xuXHQtLWgzLWxpbmUtaGVpZ2h0OiAxLjI7XG5cdC0taDMtbGV0dGVyLXNwYWNpbmc6IDA7XG5cdC0taDMtbWFyZ2luLWJvdHRvbTogLjVlbTtcblx0LS1oMy1mb250OiB2YXIoLS1mb250LWZhbWlseS1wcmltYXJ5KTtcblx0LS1oMy1mb250LXdlaWdodDogNjAwO1xuXHQtLWgzLXRleHQtdHJhbnNmb3JtOiBub25lO1xuXG5cdC0taDQtZm9udC1zaXplOiAyLjFyZW07XG5cdC0taDQtZm9udC1zaXplLW1vYmlsZTogMTZweDtcblx0LS1oNC1saW5lLWhlaWdodDogMS41O1xuXHQtLWg0LWxldHRlci1zcGFjaW5nOiAxO1xuXHQtLWg0LW1hcmdpbi1ib3R0b206IC41ZW07XG5cdC0taDQtZm9udDogdmFyKC0tZm9udC1mYW1pbHktc2Vjb25kYXJ5KTtcblx0LS1oNC1mb250LXdlaWdodDogNjAwO1xuXHQtLWg0LXRleHQtdHJhbnNmb3JtOiBub25lO1xuXG5cdC0tcHJldGl0bGUtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcblx0LS1wcmV0aXRsZS1jb2xvci1hbHQ6IHZhcigtLXNlY29uZGFyeS1jb2xvcjEpO1xuXHQtLXByZXRpdGxlLWZvbnQtc2l6ZTogMS42cmVtO1xuXHQtLXByZXRpdGxlLWZvbnQtc2l6ZS1tb2JpbGU6IDIwcHg7XG5cdC0tcHJldGl0bGUtbGluZS1oZWlnaHQ6IDEuMjtcblx0LS1wcmV0aXRsZS1sZXR0ZXItc3BhY2luZzogMDtcblx0LS1wcmV0aXRsZS1tYXJnaW4tYm90dG9tOiAuM2VtO1xuXHQtLXByZXRpdGxlLWZvbnQ6IHZhcigtLWZvbnQtZmFtaWx5LXByaW1hcnkpO1xuXHQtLXByZXRpdGxlLWZvbnQtd2VpZ2h0OiA2MDA7XG5cdC0tcHJldGl0bGUtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHQtLXN1YnRpdGxlLWNvbG9yOiB2YXIoLS1ib2R5LXRleHQtY29sb3IpO1xuXHQtLXN1YnRpdGxlLWNvbG9yLWFsdDogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMSk7XG5cdC0tc3VidGl0bGUtZm9udC1zaXplOiAycmVtO1xuXHQtLXN1YnRpdGxlLWZvbnQtc2l6ZS1tb2JpbGU6IDIwcHg7XG5cdC0tc3VidGl0bGUtbGluZS1oZWlnaHQ6IDEuNjtcblx0LS1zdWJ0aXRsZS1sZXR0ZXItc3BhY2luZzogMTtcblx0LS1zdWJ0aXRsZS1tYXJnaW4tYm90dG9tOiAuM2VtO1xuXHQtLXN1YnRpdGxlLWZvbnQ6IHZhcigtLWZvbnQtZmFtaWx5LXByaW1hcnkpO1xuXHQtLXN1YnRpdGxlLWZvbnQtd2VpZ2h0OiA0MDA7XG5cdC0tc3VidGl0bGUtdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4iLCJAZnVuY3Rpb24gY3JlYXRlRm9udE1hcCgkZmlsZSwgJHdlaWdodDpub3JtYWwsICRzdHlsZTpub3JtYWwpIHtcblx0JGRlZjogKFxuXHRcdFx0ZmlsZTogJGZpbGUsXG5cdFx0XHR3ZWlnaHQ6ICR3ZWlnaHQsXG5cdFx0XHRzdHlsZTogJHN0eWxlXG5cdCk7XG5cdEByZXR1cm4gJGRlZjtcbn1cblxuQG1peGluIGFkZEZvbnRGYWNlKCRmb250RmFtaWx5LCAkYmFzZVBhdGgsICRmb3JtYXRzLCAkZGVmTGlzdCkge1xuXHRAZWFjaCAkZGVmIGluICRkZWZMaXN0IHtcblx0XHQkc3JjOiAoKTtcblx0XHRAZWFjaCAkZm9ybWF0IGluICRmb3JtYXRzIHtcblx0XHRcdCRleHQ6ICRmb3JtYXQ7XG5cblx0XHRcdEBpZiAoJGZvcm1hdCA9PSAndHJ1ZXR5cGUnKSB7XG5cdFx0XHRcdCRleHQ6ICd0dGYnO1xuXHRcdFx0fVxuXG5cdFx0XHQkdXJsOiB1cmwoJyN7JGJhc2VQYXRofS8je21hcF9nZXQoJGRlZiwgJ2ZpbGUnKX0uI3skZXh0fScpIGZvcm1hdChxdW90ZSgkZm9ybWF0KSk7XG5cdFx0XHQkc3JjOiBhcHBlbmQoJHNyYywgJHVybCwgY29tbWEpO1xuXHRcdH1cblxuXHRcdEBmb250LWZhY2Uge1xuXHRcdFx0Zm9udC1mYW1pbHk6IHF1b3RlKCRmb250RmFtaWx5KTtcblx0XHRcdGZvbnQtd2VpZ2h0OiBtYXBfZ2V0KCRkZWYsICd3ZWlnaHQnKTtcblx0XHRcdGZvbnQtc3R5bGU6IG1hcF9nZXQoJGRlZiwgJ3N0eWxlJyk7XG5cdFx0XHRmb250LWRpc3BsYXk6IHN3YXA7XG5cdFx0XHRzcmM6ICRzcmM7XG5cdFx0fVxuXHR9XG59XG5cbi8qIE1peGluIG9yaWdpbjogaHR0cHM6Ly9tYXJjLWVkLXJhZmZhbGxpLmdpdGh1Yi5pby8yMDE3LzEwLzE0L3Nhc3MtZm9udC1mYWNlLmh0bWwgKi8iLCIvKiBCdXR0b25zKi9cblxuOnJvb3Qge1xuXHQtLWJ0bi1mb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktcHJpbWFyeSk7XG5cdC0tYnRuLWZvbnQtc2l6ZTogMS44cmVtO1xuXHQtLWJ0bi1mb250LXdlaWdodDogNjAwO1xuXHQtLWJ0bi10ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0LS1idG4tcGFkZGluZy10b3AtYm90dG9tOiAxNHB4O1xuXHQtLWJ0bi1wYWRkaW5nLWxlZnQtcmlnaHQ6IDI1cHg7XG5cdC0tYnRuLWJvcmRlci1yYWRpdXM6IDIwcHg7XG5cblx0LS1idG4tcHJpbWFyeS1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMSk7XG5cdC0tYnRuLXByaW1hcnktY29sb3ItaG92ZXI6IHZhcigtLXNlY29uZGFyeS1jb2xvcjEpO1xuXHQtLWJ0bi1wcmltYXJ5LWJnOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XG5cdC0tYnRuLXByaW1hcnktYmctaG92ZXI6IHZhcigtLXNlY29uZGFyeS1jb2xvcjIpO1xuXHQtLWJ0bi1wcmltYXJ5LWJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xuXHQtLWJ0bi1wcmltYXJ5LWJvcmRlci1jb2xvci1ob3ZlcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMyk7XG5cdC0tYnRuLXByaW1hcnktYm9yZGVyOiAycHg7XG5cdC0tYnRuLXByaW1hcnktc2hhZG93OiBub25lO1xuXG5cdC0tYnRuLXNlY29uZGFyeS1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjMpO1xuXHQtLWJ0bi1zZWNvbmRhcnktY29sb3ItaG92ZXI6IHZhcigtLXNlY29uZGFyeS1jb2xvcjEpO1xuXHQtLWJ0bi1zZWNvbmRhcnktYmc6IHZhcigtLXNlY29uZGFyeS1jb2xvcjEpO1xuXHQtLWJ0bi1zZWNvbmRhcnktYmctaG92ZXI6IHZhcigtLXNlY29uZGFyeS1jb2xvcjIpO1xuXHQtLWJ0bi1zZWNvbmRhcnktYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMyk7XG5cdC0tYnRuLXNlY29uZGFyeS1ib3JkZXItY29sb3ItaG92ZXI6IHZhcigtLXNlY29uZGFyeS1jb2xvcjIpO1xuXHQtLWJ0bi1zZWNvbmRhcnktYm9yZGVyOiAxcHg7XG5cdC0tYnRuLXNlY29uZGFyeS1zaGFkb3c6IG5vbmU7XG5cblx0LS1idG4tbGluay1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xuXHQtLWJ0bi1saW5rLWNvbG9yLWhvdmVyOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XG5cdC0tbGluay1pY29uLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XG5cdC0tYnV0dG9uLWZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG4iLCIvKiBGb3JtcyAqL1xuXG46cm9vdCB7XG5cdC0tbGFiZWwtZm9udC1zaXplOiAxLjZyZW07XG5cdC0tbGFiZWwtZm9udC13ZWlnaHQ6IDMwMDtcblx0LS1sYWJlbC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjMpO1xuXHQtLWlucHV0LWJvcmRlci13aWR0aDogMXB4O1xuXHQtLWlucHV0LWJvcmRlci1yYWRpdXM6IHB4O1xuXHQtLWlucHV0LXBhZGRpbmctdG9wLWJvdHRvbTogMTBweDtcblx0LS1pbnB1dC1wYWRkaW5nLWxlZnQtcmlnaHQ6IDE1cHg7XG5cdC0taW5wdXQtZm9udC1zaXplOiAxLjhyZW07XG5cdC0taW5wdXQtZm9udC13ZWlnaHQ6IDQwMDtcblx0LS1pbnB1dC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xuXHQtLWlucHV0LWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjEpO1xuXHQtLWlucHV0LWJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xuXHQtLWZvcm0tcm93LW1hcmdpbi10b3AtYm90dG9tOiAxNXB4O1xuXHQtLWZvcm0tcm93LW1hcmdpbi1sZWZ0LXJpZ2h0OiAwcHg7XG5cdC0tbWVzc2FnZS1mb250LXNpemU6IDEuNnJlbTtcblx0LS1tZXNzYWdlLWxpbmUtaGVpZ2h0OiAxLjU7XG5cdC0tbWVzc2FnZS1mb250LXdlaWdodDogNDAwO1xuXG5cdC0tdmFsaWRhdGlvbi1lcnJvci1jb2xvcjogI2RhNzQ3Yjtcblx0LS12YWxpZGF0aW9uLXN1Y2Nlc3MtY29sb3I6ICM1MGIyYTA7XG5cdC0tdmFsaWRhdGlvbi1ub3RpY2UtY29sb3I6ICNmZmI3MDA7XG5cbn1cbiIsIi8qIEhlYWRlciAqL1xuXG46cm9vdCB7XG5cdC0taGVhZGVyLWhpZ2h0OiAxMDBweDsgLy8gaGVhZGVyIGhlaWdodFxufVxuXG4uc2l0ZS1oZWFkZXIge1xuXHQtLWhlYWRlci1zdGlja3ktdHlwZTogZml4ZWQ7XG5cdC0taGVhZGVyLXN0aWNreS1iZzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuXHRcblx0LS1oZWFkZXItdG9wLWJnOiB2YXIoLS1wcmltYXJ5LWNvbG9yMyk7XG5cdC0taGVhZGVyLXRvcC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMik7XG5cdC0taGVhZGVyLXRvcC1jb2xvci1ob3ZlcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMyk7XG5cdC0taGVhZGVyLXRvcC1zaXplOiAxNHB4O1xuXHQtLWhlYWRlci10b3AtdmVydGljYWwtcGFkZGluZzogMTBweDtcblx0LS1oZWFkZXItdG9wLWdhcC1iZXR3ZWVuLWl0ZW1zOiAxMHB4O1xuXHRcblx0LS1oZWFkZXItbWFpbi1iZzogdHJhbnNwYXJlbnQ7XG5cdC0taGVhZGVyLW1haW4tY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IzKTtcblx0LS1oZWFkZXItbWFpbi1jb2xvci1ob3ZlcjogdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xuXHQtLWhlYWRlci1tYWluLWZvbnQtc2l6ZTogMThweDtcblx0LS1oZWFkZXItbWFpbi1mb250LXdlaWdodDogNDAwO1xuXHQtLWhlYWRlci1tYWluLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdC0taGVhZGVyLW1haW4tZ2FwLWJldHdlZW4taXRlbXM6IDE1cHg7XG5cdC0taGVhZGVyLW1haW4tdmVydGljYWwtcGFkZGluZzogMTNweDtcblx0LS1oZWFkZXItbWFpbi1uYXYtaGVpZ2h0OiA0MHB4O1xuXHRcblx0LS1oZWFkZXItbG9nby13aWR0aDogMTAwJTtcblx0LS1oZWFkZXItbG9nby1oZWlnaHQ6IDQwcHg7XG5cdFxuXHQtLWRyb3Bkb3duLWJnOiAjZmZmO1xuXHQtLWRyb3Bkb3duLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XG5cdC0tZHJvcGRvd24tY29sb3ItYWN0aXZlOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XG5cdC0tZHJvcGRvd24tZm9udC1zaXplOiAxNnB4O1xuXHQtLWRyb3Bkb3duLWZvbnQtd2VpZ2h0OiA2MDA7XG5cdC0tZHJvcGRvd24tcGFkZGluZzogNnJlbSAyLjVyZW0gMnJlbTtcblx0LS1jb250ZW50LXdpZHRoOiB2YXIoLS1kZXNrdG9wLXdpZHRoLXhsKTtcblx0LS1kcm9wZG93bi13aWR0aDogdmFyKC0tZGVza3RvcC13aWR0aC14bCk7XG5cdFxuXHRcblx0QGluY2x1ZGUgbWVkaWEoJzw9ZGVza3RvcCcpIHtcblx0XHQtLWhlYWRlci1oaWdodDogNTBweDtcblx0XHQtLWhlYWRlci1tYWluLXZlcnRpY2FsLXBhZGRpbmc6IDRweDtcblx0XHQtLWJ1cmdlci13aWR0aDogMjRweDtcblx0XHQtLWJ1cmdlci1zZWdtZW50LWhpZ2h0OiAzcHg7XG5cdFx0LS1idXJnZXItc2VnbWVudC1nYXA6IDdweDtcblx0XHQtLWJ1cmdlci1zZWdtZW50LXJhZGl1czogNXB4O1xuXHRcdC0tYnVyZ2VyLWNvbG9yOiAjZmZmO1xuXHRcdC0tYnVyZ2VyLWJnOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XG5cdFx0XG5cdFx0LS1oZWFkZXItbW9iaWxlLWJnOiB2YXIoLS1zZWNvbmRhcnktY29sb3IxKTtcblx0XHRcblx0XHQtLWxpbmstc2l6ZS1sMTogMTZweDtcblx0XHQtLWxpbmstc2l6ZS1sMjogMTRweDtcblx0XHQtLWxpbmstY29sb3I6ICNmZmY7XG5cdFx0LS1saW5rLWdhcDogMTBweDtcblx0fVxufVxuXG4uc2l0ZS1zZWFyY2gge1xuXHQtLXNlYXJjaC1zaXplOiAzMHB4O1xuXHQtLXNlYXJjaC1idG4tYmc6IHRyYW5zcGFyZW50O1xuXHQtLXNlYXJjaC1idG4tcmFkaXVzOiA0cHg7XG5cdC0tc2VhcmNoLWhlaWdodDogMzBweDtcblx0LS1zZWFyY2gtd2lkdGg6IDI1MHB4O1xuXHQtLXNlYXJjaC1yYWRpdXM6IDRweDtcblx0LS1zZWFyY2gtb3V0ZXItYmc6IHZhcigtLXByaW1hcnktY29sb3IzKTtcblx0LS1zZWFyY2gtb3V0ZXItZ2FwOiA1cHg7XG5cdC0tc2VhcmNoLW91dGVyLWJvcmRlcjogIzMzMztcbn1cbiIsIi8qIEZvb3RlciAqL1xuXG4uc2l0ZS1mb290ZXIge1xuXHQtLWZvb3Rlci1iZy1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xuXHQtLWZvb3Rlci1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMSk7XG5cblx0LS1mb290ZXItdG9wLXBhZGRpbmc6IDV2aDtcblx0LS1mb290ZXItdG9wLWZvbnQtc2l6ZTogMS44cmVtO1xuXHQtLWZvb3Rlci10b3AtbmF2LWRpcmVjdGlvbjogcm93O1xuXG5cdC0tZm9vdGVyLWJvdHRvbS1iZy1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjMpO1xuXHQtLWZvb3Rlci1ib3R0b20tY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjIpO1xuXHQtLWZvb3Rlci1ib3R0b20tcGFkZGluZzogMS4yZW07XG5cdC0tZm9vdGVyLWJvdHRvbS1mb250LXNpemU6IDE0cHg7XG5cblx0LS1mb290ZXItdG9wLWJvcmRlcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yMSk7XG5cdC0tZm9vdGVyLXRvcC1ib3JkZXItc2l6ZTogNXB4O1xuXG5cdC0tZm9vdGVyLWxpbmstZ2FwX3Y6IC44ZW07XG5cdC0tZm9vdGVyLWxpbmstZ2FwX2g6IDEwcHg7XG5cblx0LS1mb290ZXItbG9nby1oZWlnaHQ6IDgwcHg7XG5cdC0tZm9vdGVyLWxvZ28td2lkdGg6IDgwcHg7XG5cblx0LS1mb290ZXItdGl0bGUtc2l6ZTogMS44cmVtO1xuXHQtLWZvb3Rlci10aXRsZS13ZWlnaHQ6IDcwMDtcblx0LS1mb290ZXItdGl0bGUtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4iLCI6cm9vdCB7XG5cdC0tbC1ibG9jay1nYXAtdmVydGljYWw6IDE1cHg7XG5cdC0tbC1ibG9jay1nYXAtaG9yaXpvbnRhbDogMjBweDtcblx0XG5cdC0tYy1ibG9jay10aXRsZS1zaXplOiAje1wiY2xhbXAodmFyKC0taDQtZm9udC1zaXplLW1vYmlsZSksIHZhcigtLWgtY2xhbXAtZm9ybXVsYSksIHZhcigtLWg0LWZvbnQtc2l6ZSkpXCJ9O1xuXHQtLWMtYmxvY2stdGl0bGUtd2VpZ2h0OiB2YXIoLS1oNC1mb250LXdlaWdodCk7XG5cdC0tYy1ibG9jay10aXRsZS10cmFuc2Zvcm06IHZhcigtLWg0LXRleHQtdHJhbnNmb3JtKTtcblx0LS1jLWJsb2NrLXRpdGxlLWNvbG9yOiB2YXIoLS10aXRsZXMtY29sb3IpO1xuXHQtLWMtYmxvY2stdGV4dC1zaXplOiB2YXIoLS1iYXNlLXRleHQtc2l6ZSk7XG5cdC0t0YEtYmxvY2stcGFkZGluZzogMTVweDtcblx0LS1jLWJsb2NrLWFsaWduOiBsZWZ0O1xuXHQtLWMtYmxvY2stYmc6ICNmZmY7XG5cdC0tYy1ibG9jay1jb2xvcjogaW5oZXJpdDtcblx0LS1jLWJsb2NrLXNoYWRvdzogMCAwIDRweCAycHggcmdiYSgwLCAwLCAwLCAuMDUpO1xuXHQtLWMtYmxvY2stcmFkaXVzOiAwO1xuXHRcblx0LS1ibG9ja3F1b3RlLXN0eWxlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTmpBaUlHaGxhV2RvZEQwaU16VWlJR1pwYkd3OUltNXZibVVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUkrUEdjZ2IzQmhZMmwwZVQwaUxqSWlJR1pwYkd3OUlpTTFRVFpETjBRaVBqeHdZWFJvSUdROUlrMHVPU0F4TkM0M0lEVXVOeTQwYURVdU1td3ROQ0F4TXk0MGFEUjJNVEF1T0VndU9YWXRPUzQ1V20weE5TNHlJREJNTWpBdU9TNDBhRFV1TW13dE5DQXhNeTQwYURSMk1UQXVPR2d0TVRCMkxUa3VPVnBOTXpndU1pQXlNUzR5YUMwMFZqRXdMalJvTVRCMk9TNDViQzAwTGpnZ01UUXVNMmd0TlM0eWJEUXRNVE11TkZwdE1UVXVNaUF3YUMwMFZqRXdMalJvTVRCMk9TNDViQzAwTGpnZ01UUXVNMmd0TlM0eWJEUXRNVE11TkZvaUx6NDhMMmMrUEM5emRtYyspO1xufVxuXG4vKiBXWVNJV1lHICovXG5cbi5pcy13eXNpd3lnIHtcblx0LS13eXNpd3lnLW1hcmdpbjogMS41ZW07XG5cdC0td3lzaXd5Zy1saS1wYWRkaW5nOiAwIDAgMCAxMHB4O1xuXHQtLXd5c2l3eWctbGktYmdwOiAwIC40ZW07XG5cdC0td3lzaXd5Zy1saS1tYXJnaW46IDFyZW07XG5cdC0tbGlzdC1pdGVtLXN0eWxlOiBub25lO1xufVxuXG4vKiBTb2NpYWwgSWNvbnMgKi9cblxuLnNvY2lhbC1saXN0IHtcblx0LS1zb2NpYWwtaWNvbi1jb2xvcjogIzEzMjMxMztcblx0LS1zb2NpYWwtaWNvbi1jb2xvci1ob3ZlcjogdmFyKC0tcHJpbWFyeS1jb2xvcjMpO1xuXHQtLXNvY2lhbC1pY29uLWJnOiAjNjNCNjRFO1xuXHQtLXNvY2lhbC1pY29uLWJnLWhvdmVyOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XG5cdC0tc29jaWFsLWljb24tcmFkaXVzOiA1MCU7XG5cdC0tc29jaWFsLWljb24tc2l6ZTogMzVweDtcbn1cblxuLyogQmxvZyBwb3N0IGNhcmQgKi9cblxuLmwtcG9zdHMge1xuXHQtLWwtYmxvY2stY29sOiAzO1xuXHRcblx0LS3RgS1ibG9jay1wYWRkaW5nOiAxNXB4IDA7XG5cdC0tYy1ibG9jay1iZzogdHJhbnNwYXJlbnQ7XG5cdC0tYy1ibG9jay1yYWRpdXM6IDE1cHg7XG5cdC0tYy1ibG9jay1zaGFkb3c6IG5vbmU7XG5cdFxuXHQtLWwtcG9zdC1pbWctcmFkaXVzOiAyMHB4IDIwcHggMCAwO1xuXHQtLWwtcG9zdC1pbWctcmF0aW86IDQgLyAzO1xuXHQtLWwtcG9zdC1kYXRlLXNpemU6IDE0cHg7XG5cdC0tbC1wb3N0LXRhZy1zaXplOiAxNHB4O1xuXHQtLWwtcG9zdC10YWctY29sb3I6ICM2NjY7XG5cdC0tbC1wb3N0LXRhZy10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0LS1sLXBvc3QtdGFnLXdlaWdodDogNjAwO1xufVxuIiwiLm0tc2xpZGVyIHtcblx0LS1zd2lwZXItb3V0ZXItZ2FwOiA4MHB4O1xuXG5cdC0tc3dpcGVyLWFycm93cy1iZzogdmFyKC0ta2VscCk7XG5cdC0tc3dpcGVyLWFycm93cy1jb2xvcjogdmFyKC0tYm9keS1iZyk7XG5cdC0tc3dpcGVyLWFycm93cy1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDMzLCAzMywgMzMsIDAuMSksIDAgNHB4IDRweCByZ2JhKDMzLCAzMywgMzMsIDAuMSk7XG5cdC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZTogODBweDtcblxuXHQtLXN3aXBlci1wYWdpbmF0aW9uLXJhZGl1czogMjBweDtcblx0LS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaG9yaXpvbnRhbC1nYXA6IDEwcHg7XG5cdC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXNpemU6IDI0cHg7XG5cdC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWJvcmRlcjogdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xuXHQtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1pbmFjdGl2ZS1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWJvcmRlci1hY3RpdmU6IHZhcigtLXByaW1hcnktY29sb3IyKTtcblx0LS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xuXHQtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1pbmFjdGl2ZS1vcGFjaXR5OiAuODtcblxuXHQtLXRodW1iLXNpemU6IDY1cHg7XG5cdC0tdGh1bWItcmFkaXVzOiA1MCU7XG5cdC0tdGh1bWItYmQtc2l6ZTogMnB4O1xuXHQtLXRodW1iLWJkLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMyk7XG5cdC0tdGh1bWItYmQtY29sb3ItYWN0aXZlOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XG5cblx0QGluY2x1ZGUgbWVkaWEoJzw9ZGVza3RvcCcpIHtcblx0XHQtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemU6IDM1cHg7XG5cdFx0LS1zd2lwZXItb3V0ZXItZ2FwOiA0MHB4O1xuXHRcdC0tdGh1bWItc2l6ZTogMzBweDtcblx0fVxufVxuIiwiLy8gQmFzZSBzdHlsZXMgZm9yIHRoZSBmaXJzdCB2aWV3cG9ydFxuXG4vLyBIZWxwZXJzIGFuZCB1dGlsaXRpZXNcbkBpbXBvcnQgJ19faGVscGVycy9yZWJvb3QnO1xuQGltcG9ydCAnX19oZWxwZXJzL2ExMXknO1xuLy8gQ29yZSBzZXR0aW5nc1xuXG5AaW1wb3J0ICdfX2NvcmUvY29yZS1taXhpbnMnO1xuQGltcG9ydCAnX19jb3JlL2NvcmUtc2V0dGluZ3MnO1xuXG4vKioqKiBTaXRlIEhlYWRlciAqL1xuXG5AaW1wb3J0ICdfbGF5b3V0L19iYXNlJztcbkBpbXBvcnQgJ19sYXlvdXQvX2hlYWRlcic7XG5cbi8qKioqIEVuZCBIZWFkZXIgKi9cblxuLyogQWJvdmUgdGhlIGZvbGQgbW9kdWxlcyAqL1xuXG5AaW1wb3J0IFwiX21vZHVsZXMvYmFubmVyc1wiO1xuQGltcG9ydCBcIl9tb2R1bGVzL2hlYWRpbmdzXCI7XG5cbkBpbXBvcnQgXCJfY29tcG9uZW50cy9idXR0b25zXCI7XG5AaW1wb3J0IFwiX2NvbXBvbmVudHMv0YEtYmxvY2tcIjtcbkBpbXBvcnQgXCJfbW9kdWxlcy9zaW1wbGUtY29udGVudDJcIjtcbiIsIi8qIEJhc2UgVHlwb2dyYXBoeSAqL1xuXG4vKiAxcmVtID0gMTBweCAqL1xuXG5odG1sIHtcblx0XG5cdGZvbnQtc2l6ZTogNTAlO1xuXHRcblx0QGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcC1tXCIpIHtcblx0XHRmb250LXNpemU6IDU4JTtcblx0fVxuXHRcblx0QGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcC1sXCIpIHtcblx0XHRmb250LXNpemU6IDYyLjUlO1xuXHR9XG59XG5cbmJvZHkge1xuXHRsaW5lLWhlaWdodDogdmFyKC0tYmFzZS10ZXh0LWxpbmUtaGVpZ2h0LCAxKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWJhc2UtdGV4dC1mb250LXdlaWdodCwgNDAwKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LXByaW1hcnkpO1xuXHRmb250LXNpemU6IHZhcigtLWJhc2UtdGV4dC1zaXplKTtcbn1cblxuLyogQmFzZSBDb2xvcnMgKi9cblxuYm9keSB7XG5cdGNvbG9yOiB2YXIoLS1ib2R5LXRleHQtY29sb3IsICMzMzMpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ib2R5LWJnLCAjZmZmKTtcblx0XG5cdFtjb2xvci1tb2RlPVwiZGFya1wiXSAmIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xuXHRcdGNvbG9yOiB2YXIoLS1ib2R5LWJnLCAjZmZmKTtcblx0fVxufVxuXG5hIHtcblx0Y29sb3I6IHZhcigtLXByaW1hcnktbGluay1jb2xvcik7XG5cdFxuXHRbY29sb3ItbW9kZT1cImRhcmtcIl0gJiB7XG5cdFx0Y29sb3I6IHZhcigtLXByaW1hcnktbGluay1jb2xvci1hbHQpO1xuXHR9XG5cdFxuXHQuYXJjaGl2ZSAmIHtcblx0XHRjb2xvcjogdmFyKC0tdXNlci1wcmltYXJ5LWNvbG9yLCB2YXIoLS1wcmltYXJ5LWxpbmstY29sb3IpKTtcblx0fVxufVxuXG4uY29sb3JzLWludmVydGVkIHtcblx0Y29sb3I6IHZhcigtLWJvZHktdGV4dC1jb2xvci1hbHQpO1xuXHQtLXNlY3Rpb24tdGl0bGUtY29sb3I6IHZhcigtLXNlY3Rpb24tdGl0bGUtY29sb3ItYWx0KTtcbn1cblxuLyogQmFzZSBsYXlvdXQgKi9cblxuYm9keSwgaHRtbCB7XG5cdGhlaWdodDogMTAwJTtcblx0bWluLWhlaWdodDogMTAwJTtcbn1cblxuLndyYXBwZXIge1xuXHRtaW4taGVpZ2h0OiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0XG5cdEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcC0xOTIwJykge1xuXHRcdG1heC13aWR0aDogdmFyKC0tZGVza3RvcC13aWR0aC0xOTIwKTtcblx0XHRtYXJnaW4taW5saW5lOiBhdXRvO1xuXHR9XG5cdFxufVxuXG4uc2l0ZS1jb250ZW50IHtcblx0ZmxleC1ncm93OiAxO1xufVxuXG4uc2l0ZS1oZWFkZXIsIC5zaXRlLWNvbnRlbnQsIC5zaXRlLWZvb3RlciB7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uY29udGFpbmVyLWZsdWlkLFxuLmNvbnRhaW5lcixcbi5pbm5lci1mcmFtZSB7XG5cdG1hcmdpbi1pbmxpbmU6IGF1dG87XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uaW5uZXItZnJhbWUsXG4uY29udGFpbmVyIHtcblx0cGFkZGluZy1pbmxpbmU6IHZhcigtLXBhZ2UtZ3V0dGVyKTtcblx0dHJhbnNpdGlvbjogbWF4LXdpZHRoIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XG59XG5cbi5jb250YWluZXItZmx1aWQge1xuXHRwYWRkaW5nLWlubGluZTogdmFyKC0tZ3JpZC1vdXRlci1tYXJnaW4sIDJlbSk7XG59XG5cbi5pbm5lci1mcmFtZSxcbi5jb250YWluZXIge1xuXHRtYXgtd2lkdGg6IGNhbGModmFyKC0tY29udGVudC13aWR0aCkgKyB2YXIoLS1wYWdlLWd1dHRlciwgMjBweCkgKiAyKTtcbn1cblxuLnNpdGUtY29udGVudCB7XG5cdG1pbi1oZWlnaHQ6IDQwMHB4O1xufVxuXG5AaW5jbHVkZSBtZWRpYSgnPD1kZXNrdG9wJykge1xuXHQuZ2FwLXRvcCwgLmdhcC10b3AtcywgLmdhcC10b3AtbCB7XG5cdFx0cGFkZGluZy10b3A6IHZhcigtLXZlcnRpY2FsLWdhcCk7XG5cdH1cblx0LmdhcC1ib3QsIC5nYXAtYm90LXMsIC5nYXAtYm90LWwge1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS12ZXJ0aWNhbC1nYXApO1xuXHR9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcpIHtcblx0LmdhcC10b3Age1xuXHRcdHBhZGRpbmctdG9wOiB2YXIoLS12ZXJ0aWNhbC1nYXApO1xuXHR9XG5cdC5nYXAtYm90IHtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tdmVydGljYWwtZ2FwKTtcblx0fVxuXHQuZ2FwLXRvcC1zIHtcblx0XHRwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS12ZXJ0aWNhbC1nYXApIC8gMik7XG5cdH1cblx0LmdhcC1ib3QtcyB7XG5cdFx0cGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tdmVydGljYWwtZ2FwKSAvIDIpO1xuXHR9XG5cdC5nYXAtdG9wLWwge1xuXHRcdHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXZlcnRpY2FsLWdhcCkgKiAxLjUpO1xuXHR9XG5cdC5nYXAtYm90LWwge1xuXHRcdHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXZlcnRpY2FsLWdhcCkgKiAxLjUpO1xuXHR9XG59XG5cbiIsIi5zaXRlLWhlYWRlciB7XG5cdC0tZGVza3RvcC13aWR0aC14bDogMTM4MHB4O1xuXHR3aWR0aDogMTAwJTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tYmFzZS10cmFuc2l0aW9uKSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS1iYXNlLXRyYW5zaXRpb24pLCBib3gtc2hhZG93IHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XG5cdHotaW5kZXg6IDk5O1xuXHRcblx0QGluY2x1ZGUgbWVkaWEoJzw9ZGVza3RvcCcpIHtcblx0XHRtYXgtaGVpZ2h0OiB2YXIoLS1oZWFkZXItaGlnaHQpO1xuXHRcdHBvc2l0aW9uOiBzdGlja3k7XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJykge1xuXHRcdHBvc2l0aW9uOiB2YXIoLS1oZWFkZXItc3RpY2t5LXR5cGUsIHN0aWNreSk7XG5cdFx0LmFkbWluLWJhciAmIHtcblx0XHRcdC0taGVhZGVyLW1haW4tdmVydGljYWwtcGFkZGluZzogOXB4O1xuXHRcdFx0dG9wOiAzMnB4O1xuXHRcdH1cblx0fVxuXHRcblx0Jl9fbG9nbyB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0fVxuXHRcdFxuXHRcdGltZywgc3ZnIHtcblx0XHRcdG1heC13aWR0aDogMjUwcHg7XG5cdFx0XHRtYXgtaGVpZ2h0OiAxMDBweDtcblx0XHRcdG1pbi13aWR0aDogNjBweDtcblx0XHRcdHdpZHRoOiB2YXIoLS1oZWFkZXItbG9nby13aWR0aCk7XG5cdFx0XHRoZWlnaHQ6IHZhcigtLWhlYWRlci1sb2dvLWhlaWdodCk7XG5cdFx0XHRvYmplY3QtZml0OiBjb250YWluO1xuXHRcdFx0b2JqZWN0LXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcblx0XHRcdFxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xuXHRcdFx0XHRtYXgtd2lkdGg6IDE1MHB4O1xuXHRcdFx0XHRtYXgtaGVpZ2h0OiAzMHB4O1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0Jl9faW5uZXIge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHR9XG5cdFxuXHQmX19yb3cge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdHRyYW5zaXRpb246IGFsbCB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xuXHRcdEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcpIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDAgMCAzMHB4IDMwcHg7XG5cdFx0fVxuXHR9XG5cdFxuXHQmX19jb2wge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHR0cmFuc2l0aW9uOiBwYWRkaW5nIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XG5cdFx0XG5cdFx0Ji4tbGVmdCB7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRwYWRkaW5nLWJsb2NrOiB2YXIoLS1oZWFkZXItbWFpbi12ZXJ0aWNhbC1wYWRkaW5nKTtcblx0XHR9XG5cdFx0XG5cdFx0Ji4tcmlnaHQge1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHR9XG5cdFx0XG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XG5cdFx0XHRnYXA6IGNhbGModmFyKC0taGVhZGVyLWhvcml6b250YWwtZ2FwLCAxdncpICogMik7XG5cdFx0fVxuXHR9XG5cdFxuXHQuc29jaWFsLWxpc3Qge1xuXHRcdGdhcDogdmFyKC0taGVhZGVyLWhvcml6b250YWwtZ2FwKTtcblx0fVxuXHRcblx0LmxvZ28taW1nIHtcblx0XHRoZWlnaHQ6IDU2cHg7XG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xuXHRcdFx0aGVpZ2h0OiA0NXB4O1xuXHRcdH1cblx0fVxufVxuIiwiLyogSGVhZGVyIE1haW4gUm93ICovXG5cbi5zaXRlLWhlYWRlcl9fbWFpbiB7XG5cdC0taGVhZGVyLWxpbmstY29sb3I6IHZhcigtLWhlYWRlci1tYWluLWNvbG9yKTtcblx0LS1oZWFkZXItbGluay1jb2xvci1ob3ZlcjogdmFyKC0taGVhZGVyLW1haW4tY29sb3IpO1xuXHQtLWhlYWRlci1ob3Jpem9udGFsLWdhcDogdmFyKC0taGVhZGVyLW1haW4tZ2FwLWJldHdlZW4taXRlbXMpO1xuXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1oZWFkZXItbWFpbi1mb250LXdlaWdodCk7XG5cdHRleHQtdHJhbnNmb3JtOiB2YXIoLS1oZWFkZXItbWFpbi10ZXh0LXRyYW5zZm9ybSwgdXBwZXJjYXNlKTtcblx0Zm9udC1zaXplOiB2YXIoLS1oZWFkZXItbWFpbi1mb250LXNpemUsIDE2cHgpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1oZWFkZXItbWFpbi1iZyk7XG5cblx0LnNpdGUtaGVhZGVyX19yb3cge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJvZHktYmcpO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxufVxuXG4vKiBIZWFkZXIgVG9wIFJvdyAqL1xuXG4uc2l0ZS1oZWFkZXJfX3RvcCB7XG5cdC0taGVhZGVyLWxpbmstY29sb3I6IHZhcigtLWhlYWRlci10b3AtY29sb3IpO1xuXHQtLWhlYWRlci1saW5rLWNvbG9yLWhvdmVyOiB2YXIoLS1oZWFkZXItdG9wLWNvbG9yLWhvdmVyKTtcblx0LS1oZWFkZXItaG9yaXpvbnRhbC1nYXA6IHZhcigtLWhlYWRlci10b3AtZ2FwLWJldHdlZW4taXRlbXMpO1xuXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhlYWRlci10b3AtYmcpO1xuXHRmb250LXNpemU6IHZhcigtLWhlYWRlci10b3Atc2l6ZSk7XG5cdGNvbG9yOiB2YXIoLS1oZWFkZXItdG9wLWNvbG9yKTtcblxuXHQuaW5uZXItZnJhbWUge1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRwYWRkaW5nLWJsb2NrOiB2YXIoLS1oZWFkZXItdG9wLXZlcnRpY2FsLXBhZGRpbmcpO1xuXHR9XG59XG4iLCIuaXMtc3RpY2t5IHtcblx0XG5cdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuXHRcdC0taGVhZGVyLW1haW4tdmVydGljYWwtcGFkZGluZzogMXB4O1xuXHRcdFxuXHRcdC5zaXRlLWhlYWRlcl9fcm93IHtcblx0XHRcdGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAuMSk7XG5cdFx0fVxuXHRcdFxuXHRcdC5sb2dvLWxpbmsge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdHBhZGRpbmc6IDZweCAwO1xuXHRcdH1cblx0XHRcblx0XHQuc2l0ZS1oZWFkZXJfX3RvcCB7XG5cdFx0XHQuc2l0ZS1oZWFkZXJfX3JvdyB7XG5cdFx0XHRcdG1heC1oZWlnaHQ6IDA7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5uYXYtbWFpbl9fYnRuLi1kZXNrdG9wIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0cmlnaHQ6IDEwcHg7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHR9XG5cdFx0XG5cdH1cbn1cbiIsIkBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcblx0XG5cdFxuXHQuc2l0ZS1oZWFkZXJfX21haW4ge1xuXHRcdC5uYXYtYWN0aXZlICYge1xuXHRcdFx0LS1oZWFkZXItbWFpbi1iZzogdmFyKC0taGVhZGVyLW1vYmlsZS1iZyk7XG5cdFx0fVxuXHR9XG5cdFxuXHQubmF2LW1haW5fX3dyYXAge1xuXHRcdC0tbGluay1jb2xvcjogdmFyKC0taGVhdnktbWV0YWwpO1xuXHRcdC0taGVhZGVyLWxpbmstY29sb3ItaG92ZXI6IHZhcigtLXByaW1hcnktY29sb3IxKTtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogdmFyKC0tbGluay1jb2xvcik7XG5cdFx0fVxuXHRcdFxuXHRcdC5uYXYtbWFpbiB7XG5cdFx0XHR0b3A6IHZhcigtLWhlYWRlci1oaWdodCk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1oZWFkZXItbW9iaWxlLWJnKTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0bWF4LWhlaWdodDogMDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRcdHRyYW5zaXRpb246IGFsbCB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xuXHRcdFx0XG5cdFx0XHQmX19saW5rcyB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuXHRcdFx0XHRcdG1hcmdpbjogMnJlbSAwIDVyZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0XG5cdFx0XHQubmF2LWFjdGl2ZSAmIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0bWF4LWhlaWdodDogMTAwJTtcblx0XHRcdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdFx0XHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdFx0XHRcdHBhZGRpbmc6IDIwcHggMTVweDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0LnNpdGUtaGVhZGVyX193aWRnZXQge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogNXB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQubmF2LW1haW5fX2xpbmtzIHtcblx0XHRcdC5tYWluLW1lbnUtbGluayB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQ+IC5tZW51LWl0ZW0ge1xuXHRcdFx0XHQ+IGEge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDEwcHggMDtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiB2YXIoLS1saW5rLXNpemUtbDEpO1xuXHRcdFx0XHRcdGNvbG9yOiB2YXIoLS1saW5rLWNvbG9yKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG5cdFx0XHRcdD4gYSB7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRyaWdodDogLTI1cHg7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgMTQgOCcgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nbTcgMCA3IDYuNDc3N0wxMi4zNTUgOCA3IDMuMDU1MyAxLjY0NSA4IDAgNi40Nzc3IDcgMFonIGZpbGw9JyUyM2ZmZicvJTNFJTNDL3N2ZyUzRVwiKTtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDE0cHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDE0cHg7XG5cdFx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdFx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0Ji5pcy10b2dnbGVkIHtcblx0XHRcdFx0XHQ+IGE6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMCkgdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LnN1Yi1tZW51IHtcblx0XHRcdHBhZGRpbmctbGVmdDogMjBweDtcblx0XHRcdFxuXHRcdFx0YSB7XG5cdFx0XHRcdHBhZGRpbmc6IDVweCAwO1xuXHRcdFx0XHRmb250LXNpemU6IHZhcigtLWxpbmstc2l6ZS1sMik7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1saW5rLWNvbG9yKTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0LmN1cnJlbnQtbWVudS1pdGVtIHtcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Y29sb3I6IHZhcigtLXVzZXItcHJpbWFyeS1jb2xvciwgdmFyKC0taGVhZGVyLWxpbmstY29sb3ItaG92ZXIpKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0Lm5hdi1hY3RpdmUge1xuXHRcdCYsIC5zaXRlLWNvbnRlbnQge1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR9XG5cdFx0XG5cdFx0LnNpdGUtY29udGVudCB7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRcdHRvdWNoLWFjdGlvbjogbm9uZTtcblx0XHR9XG5cdH1cblx0XG59XG4iLCIucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1zaW1wbGUtdGV4dCxcbi5zaW5nbGUtcG9zdCxcbi5zZWFyY2gsXG4ucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1zdHlsZWd1aWRlLFxuLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCB7XG5cdC5zaXRlLWhlYWRlcl9fbWFpbiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taGVhZGVyLXN0aWNreS1iZywgdmFyKC0tcHJpbWFyeS1jb2xvcjEpKTtcblx0fVxuXHQuc2l0ZS1jb250ZW50IHtcblx0XHRAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcblx0XHRcdHBhZGRpbmctdG9wOiB2YXIoLS1oZWFkZXItaGlnaHQpO1xuXHRcdH1cblx0fVxufVxuIiwiLnNpdGUtaGVhZGVyX190b3Age1xuXHRAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4uc2l0ZS1oZWFkZXJfX2JvdHRvbSB7XG5cdEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cblxuQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xuXHQubmF2LW1haW5fX2J0bi4tZGVza3RvcCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG5AaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcblx0Lm5hdi1tYWluX19idG4sXG5cdC5uYXZiYXItbW9iaWxlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG4iLCIvKiBOYXZiYXIgTWFpbiAqL1xuXG4ubmF2LW1haW4ge1xuXHQtLWhlYWRlci1saW5rLWNvbG9yLWhvdmVyOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XG5cblx0QGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0Jl9fbGlua3Mge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDMuNHJlbTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFxuXHRcdFx0PiAubWVudS1pdGVtIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdFx0XHQ+IGEsXG5cdFx0XHRcdC5wbGFpbi1tZW51LWl0ZW0ge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRcdFx0Y29sb3I6IHZhcigtLWhlYWRlci1saW5rLWNvbG9yKTtcblx0XHRcdFx0XHRwYWRkaW5nLWlubGluZTogdmFyKC0taGVhZGVyLW1haW4tZ2FwLWJldHdlZW4taXRlbXMsIDF2dyk7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IHZhcigtLWhlYWRlci1tYWluLW5hdi1oZWlnaHQpO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWJhc2UtdHJhbnNpdGlvbiksIGZvbnQtc2l6ZSB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGNvbG9yOiB2YXIoLS11c2VyLXByaW1hcnktY29sb3IsIHZhcigtLWhlYWRlci1saW5rLWNvbG9yLWhvdmVyKSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQuYy1idG4ge1xuXHRcdHBhZGRpbmc6IDZweCAxNXB4IDZweCAyMHB4O1xuXHRcdGZvbnQtc2l6ZTogMS42cmVtO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdmFyKC0tdXNlci1wcmltYXJ5LWNvbG9yLCAjMTQ2MTAwKSwgdmFyKC0tdXNlci1wcmltYXJ5LWNvbG9yLCAjMzY4QjIwKSkgIWltcG9ydGFudDtcblx0fVxuXHRcblx0Jl9fYnRuIHtcblx0XHRAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcblx0XHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblx0XG5cdC5jdXJyZW50LW1lbnUtaXRlbSxcblx0LmN1cnJlbnQtbWVudS1wYXJlbnQge1xuXHRcdD4gYSB7XG5cdFx0XHRjb2xvcjogdmFyKC0tdXNlci1wcmltYXJ5LWNvbG9yLCB2YXIoLS1oZWFkZXItbGluay1jb2xvci1ob3ZlcikpO1xuXHRcdH1cblx0fVxufVxuXG4vKiBOYXZiYXIgU2Vjb25kYXJ5ICovXG5cbi5uYXYtc2Vjb25kYXJ5IHtcblx0Jl9fbGlua3Mge1xuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0XHRnYXA6IHZhcigtLWhlYWRlci1ob3Jpem9udGFsLWdhcCwgMXZ3KTtcblx0XHR9XG5cdH1cblx0XG5cdGEge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0Y29sb3I6IHZhcigtLWhlYWRlci1saW5rLWNvbG9yKTtcblx0XHRcblx0XHQmOmhvdmVyIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0fVxufVxuIiwiLm5hdi1tYWluIHtcblx0Jl9fbWVudSB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcblx0XHQuc3ViLW1lbnUge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHRcdHRvcDogMTAwJTtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcblx0XHRcdFx0cGFkZGluZzogNnJlbSAyLjVyZW0gMnJlbSA2MXJlbTtcblx0XHRcdFx0bWluLXdpZHRoOiB2YXIoLS1kcm9wZG93bi13aWR0aCk7XG5cdFx0XHRcdHotaW5kZXg6IDEwO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWJhc2UtdHJhbnNpdGlvbiksIHRyYW5zZm9ybSB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMHZ3O1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRcdHJpZ2h0OiAtNHJlbTtcblx0XHRcdFx0Jjpub3QoLmFyY2hpdmUgJikge1xuXHRcdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdHJpZ2h0OiAzMHJlbTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGNvbG9yOiB2YXIoLS1kcm9wZG93bi1jb2xvcik7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiB2YXIoLS1kcm9wZG93bi1mb250LXdlaWdodCk7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiB2YXIoLS1kcm9wZG93bi1mb250LXNpemUpO1xuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0Y29sb3I6IHZhcigtLWRyb3Bkb3duLWNvbG9yLWFjdGl2ZSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdC5jdXJyZW50LW1lbnUtaXRlbSBhIHtcblx0XHRcdFx0XHRjb2xvcjogdmFyKC0tZHJvcGRvd24tY29sb3ItYWN0aXZlKVxuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQubWVudS1pdGVtLWNvbnRlbnQge1xuXHRcdFx0XHRcdG1pbi13aWR0aDogMjUwcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdC5tZW51LWl0ZW0tdGl0bGUge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDVweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0Lm1lbnUtaXRlbS1jYXB0aW9uIHtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRcdGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdC5tZW51LWl0ZW0taW1nLXdyYXBwZXIge1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcblx0XHRcdFx0XHRtaW4td2lkdGg6IDMwcHg7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAxNTBweDtcblx0XHRcdFx0XHRcblx0XHRcdFx0XHRpbWcsIHN2ZyB7XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQubWVudS1pdGVtIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdFx0XHR3aWR0aDogNjAlO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHRcdFx0cGFkZGluZzogM3JlbSAxcmVtIDAgNXJlbTtcblx0XHRcdFx0XHRcblx0XHRcdFx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMnB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcblx0XHRcdFx0XHRhLCAucGxhaW4tbWVudS1pdGVtIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDJyZW0gM3JlbTtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMnJlbTtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHRcdFx0XHRcdFx0Y29sb3I6IHZhcigtLWhlYXZ5LW1ldGFsKTtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdC5tZW51LWl0ZW0tdGl0bGUge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAycmVtO1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdFx0XHRcdFx0XHRjb2xvcjogdmFyKC0taGVhdnktbWV0YWwpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcblx0XHRcdFx0XHQubWVudS1pdGVtLWNhcHRpb24ge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjhyZW07XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS40O1xuXHRcdFx0XHRcdFx0Y29sb3I6IHZhcigtLXNjb3JwaW9uKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0Ji5jdXJyZW50LW1lbnUtaXRlbSB7XG5cdFx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3VycmVudENvbG9yKTtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS11c2VyLXByaW1hcnktY29sb3IsIHZhcigtLWJ0bi1wcmltYXJ5LWJvcmRlci1jb2xvci1ob3ZlcikpO1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHZhcigtLXVzZXItcHJpbWFyeS1jb2xvciwgdmFyKC0tbGF1cmVsKSksIHZhcigtLWJnSW1hZ2UpKTtcblx0XHRcdFx0XHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0LS1jdXJyZW50Q29sb3I6IHZhcigtLXVzZXItcHJpbWFyeS1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvcjEpKTtcblx0XHRcdFx0XHRcdC0tYmdJbWFnZTogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWN1cnJlbnRDb2xvcikgOTAlLCAjZmZmKTtcblx0XHRcdFx0XHRcdGJvcmRlcjogdmFyKC0tYnRuLXByaW1hcnktYm9yZGVyKSBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNDAwbXMgZWFzZS1vdXQsIGJvcmRlci1jb2xvciA0MDBtcyBlYXNlLW91dCwgY29sb3IgNDAwbXMgZWFzZS1vdXQ7XG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAxNnB4O1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG5cdFx0XHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN1cnJlbnRDb2xvcik7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS11c2VyLXByaW1hcnktY29sb3IsIHZhcigtLWJ0bi1wcmltYXJ5LWJvcmRlci1jb2xvci1ob3ZlcikpO1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdmFyKC0tdXNlci1wcmltYXJ5LWNvbG9yLCB2YXIoLS1sYXVyZWwpKSwgdmFyKC0tYmdJbWFnZSkpO1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1kcm9wZG93bi1pbWcpO1xuXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHR3aWR0aDogNTlyZW07XG5cdFx0XHRcdFx0aGVpZ2h0OiBjYWxjKDEwMCUgLSA3cmVtKTtcblx0XHRcdFx0XHRsZWZ0OiAyLjVyZW07XG5cdFx0XHRcdFx0dG9wOiA1LjVyZW07XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMXJlbTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZHJvcGRvd24tYmcpO1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgNHB4IDM0cHggcmdiYSgwLCA3LCA2MywgMC4xKTtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRcdFx0XHRcdGhlaWdodDogY2FsYygxMDAlIC0gMjBweCk7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHR0b3A6IDMzcHg7XG5cdFx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRcdHotaW5kZXg6IC0xO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcblx0XHRcdFx0cGFkZGluZzogMXJlbSAwIDJyZW0gM3JlbTtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0ZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuXHRcdFx0XHRcblx0XHRcdFx0Lm1lbnUtaXRlbSB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogM3JlbTtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0YSwgLnBsYWluLW1lbnUtaXRlbSB7XG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG5cdFx0XHRcdFx0Y29sb3I6IHZhcigtLWhlYXZ5LW1ldGFsKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0Lm1lbnUtaXRlbS10aXRsZSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAycmVtO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMztcblx0XHRcdFx0XHRjb2xvcjogdmFyKC0taGVhdnktbWV0YWwpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQubWVudS1pdGVtLWNhcHRpb24ge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMS44cmVtO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdFx0XHRcdFx0Y29sb3I6IHZhcigtLXNjb3JwaW9uKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHRAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcblx0XHRcdC5uYXYtbWFpbl9fbGlua3Mge1xuXHRcdFx0XHQubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG5cdFx0XHRcdFx0JiA+IGEge1xuXHRcdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMDtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHZhcigtLWRyb3Bkb3duLWJnKSB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogbm9uZTtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAwIDI1cHggMjVweCAyNXB4O1xuXHRcdFx0XHRcdFx0XHRib3R0b206IC00LjVyZW07XG5cdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMTAwbXMgZWFzZS1vdXQ7XG5cdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHQubXktZGFzaGJvYXJkICYge1xuXHRcdFx0XHRcdFx0XHRcdGJvdHRvbTogLTMuNXJlbTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdC0tdXNlci1wcmltYXJ5LWNvbG9yOiAjMzQzNzM0O1xuXHRcdFx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMDtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHRcdFx0dG9wOiA0OSU7XG5cdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuXHRcdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlLWluO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXRvcDogNXB4IHNvbGlkIHZhcigtLXVzZXItcHJpbWFyeS1jb2xvciwgdmFyKC0tbGF1cmVsKSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0JiA+IGEge1xuXHRcdFx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGVaKC0xODBkZWcpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdD4gLnN1Yi1tZW51IHtcblx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHRcdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdCY6bm90KC5hcmNoaXZlICYpIHtcblx0XHRcdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEzcHgpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdC5tZW51LWl0ZW06YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQmX19saW5rcyB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0Lm1lbnUtaXRlbSB7XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMnJlbTtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdFx0XHRcdFx0Y29sb3I6IHZhcigtLWhlYXZ5LW1ldGFsKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLm5hdi1tYWluX19idG4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0aGVpZ2h0OiA0MHB4O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGJvcmRlcjogMCBub25lO1xuXHRjb2xvcjogdmFyKC0tYnVyZ2VyLWNvbG9yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdXNlci1wcmltYXJ5LWNvbG9yLCB2YXIoLS1idXJnZXItYmcpKTtcblx0cGFkZGluZzogMnB4IDhweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xuXHR6LWluZGV4OiAxMDtcbn1cblxuLmJ1cmdlci1pY29uIHtcblx0d2lkdGg6IHZhcigtLWJ1cmdlci13aWR0aCk7XG5cdGhlaWdodDogMjBweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBib3gtc2hhZG93IC40cyBlYXNlO1xuXHRiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcblx0PiBzcGFuIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZmxleDogbm9uZTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IHZhcigtLWJ1cmdlci1zZWdtZW50LWhpZ2h0KTtcblx0XHRiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYnVyZ2VyLXNlZ21lbnQtcmFkaXVzKTtcblx0XHRcblx0XHQmOmJlZm9yZSwgJjphZnRlciB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IHZhcigtLWJ1cmdlci1zZWdtZW50LWhpZ2h0KTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1cmdlci1zZWdtZW50LXJhZGl1cyk7XG5cdFx0XHRiYWNrZ3JvdW5kOiBpbmhlcml0O1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIC40cyBlYXNlO1xuXHRcdH1cblx0XHRcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHR0b3A6IGNhbGModmFyKC0tYnVyZ2VyLXNlZ21lbnQtZ2FwKSAqIC0xKTtcblx0XHR9XG5cdFx0XG5cdFx0JjphZnRlciB7XG5cdFx0XHR0b3A6IHZhcigtLWJ1cmdlci1zZWdtZW50LWdhcCk7XG5cdFx0fVxuXHR9XG5cdFxuXHQuaXMtYWN0aXZlICYge1xuXHRcdD4gc3BhbiB7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuXHRcdFx0XG5cdFx0XHQmOmJlZm9yZSxcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gIyMjIyMjIyMjIyMjIyMjIyMjIyNcbiAjICAgTW9kdWxlOiBCQU5ORVJTXG4gIyMjIyMjIyMjIyMjIyMjIyMjIyNcbiAqL1xuXG5AaW1wb3J0IFwiYmFubmVycy9fYmFubmVycy1jb3JlXCI7XG5cbkBpbXBvcnQgXCJiYW5uZXJzL19iYW5uZXJzLWxheW91dFwiO1xuXG5AaW1wb3J0IFwiYmFubmVycy9fYmFubmVycy1zZXR0aW5nc1wiO1xuIiwiLyoqXG4gIyMjIyMjIyMjIyMjIyMjI1xuICMgICBNb2R1bGUgQkFOTkVSUzogQ29yZVxuICMjIyMjIyMjIyMjIyMjIyNcbiAqL1xuXG4ubS1iYW5uZXIge1xuXHR3aWR0aDogMTAwJTtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRcblx0Jl9fY29udGFpbmVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWluLWhlaWdodDogdmFyKC0tYmFubmVySGVpZ2h0LCBhdXRvKTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XG5cdFx0LmhlYWRlci1sYXAgJiB7XG5cdFx0XHRwYWRkaW5nLXRvcDogdmFyKC0taGVhZGVyLWhpZ2h0KTtcblx0XHR9XG5cdFx0XG5cdFx0QGluY2x1ZGUgbWVkaWEoJzw9ZGVza3RvcCcpIHtcblx0XHRcdG1pbi1oZWlnaHQ6IDMwdmg7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdH1cblx0fVxuXHRcblx0Jl9fbWVkaWEge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0XG5cdFx0aW1nLCBwaWN0dXJlLCB2aWRlbywgaWZyYW1lIHtcblx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHRcdFxuXHRcdC5oYXMtb3ZlcmxheSAmIHtcblx0XHRcdEBpbmNsdWRlIGhhcy1vdmVybGF5KHZhcigtLW92ZXJsYXktY29sb3IpLCB2YXIoLS1vdmVybGF5LW9wYWNpdHkpKTtcblx0XHR9XG5cdFx0XG5cdH1cblx0XG5cdC5maXhlZC1oZWFkZXIuc2luZ2xlLXByb2R1Y3QgJiB7XG5cdFx0bWF4LWhlaWdodDogMjAwcHg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHR9XG5cdFxuXHQvKipcblx0ICoqKioqKioqKioqKioqKlxuXHQgKiogIFZhcmlhdGlvbnNcblx0ICoqKioqKioqKioqKioqKlxuXHQgKiAgLm0tYmFubmVyLS1zbWFsbCwgLS1tZWRpdW0sIC0tZnVsbFxuXHQgKi9cblx0XG5cdEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcpIHtcblx0XHRcblx0XHQmLS1ibG9nIHtcblx0XHRcdC0tYmFubmVySGVpZ2h0OiB2YXIoLS1iYW5uZXItaGVpZ2h0LS1ibG9nLCA0MjBweCk7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXHRcdFxuXHRcdCYtLXNtYWxsIHtcblx0XHRcdC0tYmFubmVySGVpZ2h0OiB2YXIoLS1iYW5uZXItaGVpZ2h0LS1zbWFsbCwgMzAwcHgpO1xuXHRcdH1cblx0XHRcblx0XHQmLS1tZWRpdW0ge1xuXHRcdFx0LS1iYW5uZXJIZWlnaHQ6IHZhcigtLWJhbm5lci1oZWlnaHQtLW1lZGl1bSwgNDUwcHgpO1xuXHRcdH1cblx0XHRcblx0XHQmLS1mdWxsIHtcblx0XHRcdC0tYmFubmVySGVpZ2h0OiB2YXIoLS1iYW5uZXItaGVpZ2h0LS1mdWxsLCAxMDB2aCk7XG5cdFx0XHRcblx0XHRcdC5tLWJhbm5lcl9fY29udGFpbmVyIHtcblx0XHRcdFx0bWF4LWhlaWdodDogOTYwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQmLi12MSB7XG5cdFx0LS1iYW5uZXItdG9wLXBhZGRpbmc6IDExdm1pbjtcblx0XHQtLWJhbm5lci1ib3QtcGFkZGluZzogMnZtaW47XG5cdFx0Y29sb3I6IHZhcigtLWJvZHktYmcpO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRcdGJvcmRlci13aWR0aDogMjBweCAyMHB4IDAgMDtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0d2lkdGg6IDgwMHB4O1xuXHRcdFx0XHRoZWlnaHQ6IDgwMHB4O1xuXHRcdFx0XHR6LWluZGV4OiAyO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbm9pc2UucG5nXCIpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDI1JTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMEMwRjBCLCAwLjgpO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRcdGJvdHRvbTogLTQwMHB4O1xuXHRcdFx0XHRsZWZ0OiAtNDAwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5tLWJhbm5lcl9fbWVkaWEge1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAwIDMwcHggMzBweCAwO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzRENEU0RCAzMCUsIHJnYmEoIzRENEU0RCwgMCkpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoIzRENEU0RCwgMC44KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRpbWcge1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG5cdFx0XHRcdFx0b2JqZWN0LXBvc2l0aW9uOiByaWdodDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDAgMzBweCAzMHB4IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LmMtYmxvY2tfX2NvbCB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMzAlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQuYy1oZWFkaW5nIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdFxuXHRcdFx0Jl9fcHJlIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjhyZW07XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDNyZW07XG5cdFx0XHRcdGxldHRlci1zcGFjaW5nOiAxcHg7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDIwcmVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdCZfX3RpdGxlIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XG5cdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IC0zcHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmID4gc3BhbiB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0Jl9fc3ViIHtcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDFweDtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShcIj50YWJsZXRcIikge1xuXHRcdFx0XHRcdG1heC13aWR0aDogNzglO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5jLWN0YS1saXN0IHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQmLi12MiB7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDMwcHg7XG5cdFx0XHRib3JkZXI6IDIwcHggc29saWQgd2hpdGU7XG5cdFx0XHRcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0d2lkdGg6IDE0MDBweDtcblx0XHRcdFx0aGVpZ2h0OiAxNDAwcHg7XG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9ub2lzZS5wbmdcIiksXG5cdFx0XHRcdGxpbmVhci1ncmFkaWVudCgxNDVkZWcsICMzODhEMjIsICMxMzMzMEEgNTAlKTtcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiAzMCUsIGNvdmVyO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRcdGJvdHRvbTogLTYzOHB4O1xuXHRcdFx0XHRyaWdodDogLTczOHB4O1xuXHRcdFx0XHR6LWluZGV4OiAxMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LmMtcmVzb3VyY2VzLWxpc3Qge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5tLWJhbm5lcl9fY29udGFpbmVyIHtcblx0XHRcdC0tY29sdW1ucy1yYXRpbzogNDQlO1xuXHRcdFx0ei1pbmRleDogMjA7XG5cdFx0fVxuXHRcdFxuXHRcdC5jLWJsb2NrIHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0Lm0tYmFubmVyX19tZWRpYSB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMjNweDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNDRkQ5Q0M7XG5cdFx0XHRcdGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMjBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0ei1pbmRleDogMjtcblx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZiwgcmdiYSgjRDlEOUQ5LCAwKSk7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDIwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0aW1nIHtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMjVweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQuYy1oZWFkaW5nIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdFxuXHRcdFx0Jl9fcHJlIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjZyZW07XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDNyZW07XG5cdFx0XHRcdGxldHRlci1zcGFjaW5nOiAxcHg7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiA3LjVyZW07XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdCZfX3RpdGxlIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XG5cdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDFweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQmX19zdWIge1xuXHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQuYy1jdGEtbGlzdCB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcblx0XHRcdFx0cGFkZGluZzogM3JlbSAwIDExcmVtIDA7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XG5cdFx0XHRcdHBhZGRpbmc6IDNyZW0gMDtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5jLWltYWdlIHtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFxuXHRcdFx0aW1nIHtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0b2JqZWN0LWZpdDogY29udGFpbjtcblx0XHRcdFx0XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogLTIwMHB4O1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMS4yNSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdCYuLXYzIHtcblx0XHQtLW92ZXJsYXktb3BhY2l0eTogMTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNDBweDtcblx0XHRcdGJvcmRlcjogMjBweCBzb2xpZCB3aGl0ZTtcblx0XHRcdCY6YWZ0ZXIsICY6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0d2lkdGg6IDkwMHB4O1xuXHRcdFx0XHRoZWlnaHQ6IDkwMHB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDMwJSwgY292ZXI7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0ei1pbmRleDogMTA7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0dG9wOiAtNTEwcHg7XG5cdFx0XHRcdGxlZnQ6IC00NTBweDtcblx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL25vaXNlLnBuZ1wiKSxcblx0XHRcdFx0bGluZWFyLWdyYWRpZW50KC01NWRlZywgIzY3RTQ0NywgcmdiYSgjNjdFNDQ3LCAwKSA1MCUpO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Ym90dG9tOiAtNTEwcHg7XG5cdFx0XHRcdHJpZ2h0OiAtNDUwcHg7XG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9ub2lzZS5wbmdcIiksXG5cdFx0XHRcdGxpbmVhci1ncmFkaWVudCgxNTVkZWcsICM2N0U0NDcsIHJnYmEoIzY3RTQ0NywgMCkgNTAlKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0XG5cdFx0Lm0tYmFubmVyX19tZWRpYSB7XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHZhcigtLWtlbHApLCAjMTAxRTEwKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0Lm0tYmFubmVyX19jb250YWluZXIge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ei1pbmRleDogMjA7XG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWF4LWhlaWdodDogbWF4LWNvbnRlbnQ7XG5cdFx0fVxuXHRcdFxuXHRcdC5jLWhlYWRpbmcge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcblx0XHRcdFx0cGFkZGluZzogMCAxNiU7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdCZfX3ByZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS42cmVtO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzcmVtO1xuXHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogOS41cmVtO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQmX190aXRsZSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuXHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOiAxcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0Jl9fc3ViIHtcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDFweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdCYuLXY0IHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHdpZHRoOiA3NjBweDtcblx0XHRcdFx0aGVpZ2h0OiA3NjBweDtcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiAzMCUsIGNvdmVyO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRcdHotaW5kZXg6IDEwO1xuXHRcdFx0XHR0b3A6IC00MTBweDtcblx0XHRcdFx0bGVmdDogLTM4MHB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbm9pc2UucG5nXCIpLFxuXHRcdFx0XHRsaW5lYXItZ3JhZGllbnQoLTU1ZGVnLCAjNjdFNDQ3LCByZ2JhKCM2N0U0NDcsIDApIDUwJSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5tLWJhbm5lcl9fbWVkaWEge1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzExMUYxMCAzMCUsIHJnYmEoIzExMUYxMCwgMCkpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMxMTFGMTAsIDAuNyk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0Lm0tYmFubmVyX19jb250YWluZXIge1xuXHRcdFx0ei1pbmRleDogMjA7XG5cdFx0fVxuXHRcdFxuXHRcdC5sLWJhbm5lciB7XG5cdFx0XHQtLWJhbm5lci1ib3QtcGFkZGluZzogM3ZtaW47XG5cdFx0fVxuXHRcdFxuXHRcdC5jLWhlYWRpbmcge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuXHRcdFx0XHRtYXgtd2lkdGg6IDY1JTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0Jl9fcHJlIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjhyZW07XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDNyZW07XG5cdFx0XHRcdGxldHRlci1zcGFjaW5nOiAxcHg7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiA3cmVtO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQmX190aXRsZSB7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDZyZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0Jl9fc3ViIHtcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDFweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4iLCIvLyBjbGVhcmZpeFxuQG1peGluIGNsZWFyZml4KCkge1xuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuXG5AbWl4aW4gZm9udC1kYXRhKCRzaXplOiBmYWxzZSwgJGxoOiBmYWxzZSwgJHdlaWdodDogZmFsc2UsICRmb250OiBmYWxzZSkge1xuICAgIEBpZiAkc2l6ZSB7IGZvbnQtc2l6ZTogJHNpemU7IH1cbiAgICBAaWYgJGxoIHsgbGluZS1oZWlnaHQ6ICRsaDsgfVxuICAgIEBpZiAkd2VpZ2h0IHsgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7IH1cbiAgICBAaWYgJGZvbnQgeyBmb250LWZhbWlseTogJGZvbnQ7IH1cbn1cblxuQG1peGluIGhhcy1vdmVybGF5KCRiZzogZmFsc2UsICRvcGFjaXR5OiBmYWxzZSkge1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgICAgICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG5AbWl4aW4gY292ZXItYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbn1cblxuLy8gcm90YXRlXG5AbWl4aW4gcm90YXRlKCRkZWcpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKCN7JGRlZ31kZWcpKTtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vLyBzY2FsZVxuQG1peGluIHNjYWxlKCR4LCR5KSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKCR4LCAkeSkpO1xufVxuXG4vLyB0cmFuc2xhdGVcbkBtaXhpbiB0cmFuc2xhdGUoJHgsICR5KSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgkeCwgJHkpKTtcbn1cblxuLy8gc2tld1xuQG1peGluIHNrZXcoJHgsICR5KSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNrZXcoI3skeH1kZWcsICN7JHl9ZGVnKSk7XG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBAY29udGVudFxuICAgIH1cbiAgICAmOi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICBAY29udGVudFxuICAgIH1cbiAgICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGNvbnRlbnRcbiAgICB9XG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBAY29udGVudFxuICAgIH1cbn1cblxuQG1peGluIGdyYWRpZW50LWhvcml6b250YWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRkZWc6IDQ1ZGVnKSB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG59XG5cbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogIzU1NSwgJG91dGVyLWNvbG9yOiAjMzMzKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiLyoqXG4gIyMjIyMjIyMjIyMjIyMjI1xuICMgICBNb2R1bGUgQkFOTkVSUzogQmFzZSBMYXlvdXRcbiAjIyMjIyMjIyMjIyMjIyMjXG4gKi9cblxuLmwtYmFubmVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy10b3A6IHZhcigtLWJhbm5lci10b3AtcGFkZGluZywgMCk7XG5cdHBhZGRpbmctYm90dG9tOiAgdmFyKC0tYmFubmVyLWJvdC1wYWRkaW5nLCAwKTtcblx0ei1pbmRleDogMjtcblxuXHRAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cblx0Jl9fbWVkaWEge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcblx0XHRcdGZsZXg6IDEgMSBhdXRvO1xuXHRcdH1cblx0XHQuYy1pbWFnZSB7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cblxufVxuIiwiLyogQmFubmVycyAqL1xuXG4ubS1iYW5uZXIge1xuXHQtLWJhbm5lci1oZWlnaHQtLXNtYWxsOiAzMDBweDtcblx0LS1iYW5uZXItaGVpZ2h0LS1tZWRpdW06IDUwMHB4O1xuXHQtLWJhbm5lci1oZWlnaHQtLWJsb2c6IDQwMHB4O1xuXHQtLWJhbm5lci1oZWlnaHQtLWZ1bGw6IDEwMHZoO1xuXHQtLWJhbm5lci10b3AtcGFkZGluZzogNXZtaW47XG5cdC0tYmFubmVyLWJvdC1wYWRkaW5nOiA1dm1pbjtcblxuXHQtLW92ZXJsYXktb3BhY2l0eTogLjk7XG5cdC0tb3ZlcmxheS1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xufVxuXG4iLCIvKiBIZWFkaW5nIENvbXBvbmVudCAqL1xuXG5AaW1wb3J0IFwiaGVhZGluZ3MvX2hlYWRpbmdzLWNvcmVcIjtcblxuQGltcG9ydCBcImhlYWRpbmdzL19oZWFkaW5ncy1sYXlvdXRzXCI7IiwiLyoqXG4gKiBIRUFESU5HIE1vZHVsZVxuICpcbiAqIFN0YW5kYWxvbmUgaGVhZGluZyBzZWxlY3RvcnMsIHRpdGxlLCBwcmUvc3ViLXRpdGxlXG4gKlxuICovXG5cbi4taDEsIC5pcy13eXNpd3lnIGgxIHtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWgxLWxpbmUtaGVpZ2h0LCAxKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWgxLWZvbnQtd2VpZ2h0LCA2MDApO1xuXHRmb250LWZhbWlseTogdmFyKC0taDEtZm9udCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLWgxLW1hcmdpbi1ib3R0b20sIC41ZW0pO1xuXHR0ZXh0LXRyYW5zZm9ybTogdmFyKC0taDEtdGV4dC10cmFuc2Zvcm0pO1xuXHRsZXR0ZXItc3BhY2luZzogdmFyKC0taDEtbGV0dGVyLXNwYWNpbmcsIDApO1xuXHRmb250LXNpemU6ICN7XCJjbGFtcCh2YXIoLS1oMS1mb250LXNpemUtbW9iaWxlKSwgdmFyKC0taC1jbGFtcC1mb3JtdWxhKSwgdmFyKC0taDEtZm9udC1zaXplKSlcIn07XG5cdGNvbG9yOiB2YXIoLS10aXRsZXMtY29sb3IpO1xuXHRcblx0LmNvbG9ycy1pbnZlcnRlZCB7XG5cdFx0Y29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcblx0fVxufVxuXG4uLWgyLCAuaXMtd3lzaXd5ZyBoMiB7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1oMi1saW5lLWhlaWdodCwgMSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1oMi1mb250LXdlaWdodCwgNjAwKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWgyLWZvbnQpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdmFyKC0taDItdGV4dC10cmFuc2Zvcm0pO1xuXHRsZXR0ZXItc3BhY2luZzogdmFyKC0taDItbGV0dGVyLXNwYWNpbmcsIDApO1xuXHRmb250LXNpemU6ICN7XCJjbGFtcCh2YXIoLS1oMi1mb250LXNpemUtbW9iaWxlKSwgdmFyKC0taC1jbGFtcC1mb3JtdWxhKSwgdmFyKC0taDItZm9udC1zaXplKSlcIn07XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLWgyLW1hcmdpbi1ib3R0b20sIC41ZW0pO1xufVxuXG4uLWgzLCAuaXMtd3lzaXd5ZyBoMyB7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1oMy1saW5lLWhlaWdodCwgMSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1oMy1mb250LXdlaWdodCwgNjAwKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWgzLWZvbnQpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdmFyKC0taDMtdGV4dC10cmFuc2Zvcm0pO1xuXHRsZXR0ZXItc3BhY2luZzogdmFyKC0taDMtbGV0dGVyLXNwYWNpbmcsIDApO1xuXHRmb250LXNpemU6ICN7XCJjbGFtcCh2YXIoLS1oMy1mb250LXNpemUtbW9iaWxlKSwgdmFyKC0taC1jbGFtcC1mb3JtdWxhKSwgdmFyKC0taDMtZm9udC1zaXplKSlcIn07XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLWgzLW1hcmdpbi1ib3R0b20sIC41ZW0pO1xufVxuXG4uLWg0LCAuaXMtd3lzaXd5ZyBoNCB7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1oNC1saW5lLWhlaWdodCwgMSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1oNC1mb250LXdlaWdodCwgNjAwKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWg0LWZvbnQpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdmFyKC0taDQtdGV4dC10cmFuc2Zvcm0pO1xuXHRsZXR0ZXItc3BhY2luZzogdmFyKC0taDQtbGV0dGVyLXNwYWNpbmcsIDApO1xuXHRmb250LXNpemU6ICN7XCJjbGFtcCh2YXIoLS1oNC1mb250LXNpemUtbW9iaWxlKSwgdmFyKC0taC1jbGFtcC1mb3JtdWxhKSwgdmFyKC0taDQtZm9udC1zaXplKSlcIn07XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLWg0LW1hcmdpbi1ib3R0b20sIC41ZW0pO1xufVxuXG4uYy1oZWFkaW5nIHtcblx0QGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cblx0XG5cdCZfX3RpdGxlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Zm9udC1zaXplOiBpbmhlcml0O1xuXHRcdGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuXHRcdHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuXHRcdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuXHRcdG1hcmdpbjogMDtcblx0XHR6LWluZGV4OiAxO1xuXHRcdGNvbG9yOiB2YXIoLS10aXRsZXMtY29sb3IpO1xuXHRcdFxuXHRcdHNwYW4ge1xuXHRcdFx0Y29sb3I6IHZhcigtLXRpdGxlcy1jb2xvci1hY2NlbnQpO1xuXHRcdH1cblx0XHRcblx0XHQuY29sb3JzLWludmVydGVkICYge1xuXHRcdFx0Y29sb3I6IHZhcigtLXRpdGxlcy1jb2xvci1hbHQpO1xuXHRcdFx0XG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0Y29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjMpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQudGV4dC1jZW50ZXIgJiB7XG5cdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHR9XG5cdH1cblx0XG5cdCZfX3ByZSB7XG5cdFx0Y29sb3I6IHZhcigtLXByZXRpdGxlLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yMikpO1xuXHRcdGxpbmUtaGVpZ2h0OiB2YXIoLS1wcmV0aXRsZS1saW5lLWhlaWdodCwgMS40KTtcblx0XHRsZXR0ZXItc3BhY2luZzogdmFyKC0tcHJldGl0bGUtbGV0dGVyLXNwYWNpbmcsIDApO1xuXHRcdG1hcmdpbjogdmFyKC0tcHJldGl0bGUtbWFyZ2luLWJvdHRvbSwgLjVlbSkgMDtcblx0XHRmb250LWZhbWlseTogdmFyKC0tcHJldGl0bGUtZm9udCk7XG5cdFx0Zm9udC13ZWlnaHQ6IHZhcigtLXByZXRpdGxlLWZvbnQtd2VpZ2h0LCA1MDApO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB2YXIoLS1wcmV0aXRsZS10ZXh0LXRyYW5zZm9ybSk7XG5cdFx0Zm9udC1zaXplOiAje1wiY2xhbXAodmFyKC0tcHJldGl0bGUtZm9udC1zaXplLW1vYmlsZSwgMThweCksIHZhcigtLWgtY2xhbXAtZm9ybXVsYSksIHZhcigtLXByZXRpdGxlLWZvbnQtc2l6ZSwgMi40cmVtKSlcIn07XG5cdFx0XG5cdFx0LmNvbG9ycy1pbnZlcnRlZCAmLFxuXHRcdC5zdHlsZS1kYXJrICYge1xuXHRcdFx0Y29sb3I6IHZhcigtLXByZXRpdGxlLWNvbG9yLWFsdCk7XG5cdFx0fVxuXHR9XG5cdFxuXHQmX19zdWIge1xuXHRcdGNvbG9yOiB2YXIoLS1zdWJ0aXRsZS1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvcjIpKTtcblx0XHRsaW5lLWhlaWdodDogdmFyKC0tc3VidGl0bGUtbGluZS1oZWlnaHQsIDEuNCk7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IHZhcigtLXN1YnRpdGxlLWxldHRlci1zcGFjaW5nLCAwKTtcblx0XHRtYXJnaW46IHZhcigtLXN1YnRpdGxlLW1hcmdpbi1ib3R0b20sIC41ZW0pIDA7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLXN1YnRpdGxlLWZvbnQpO1xuXHRcdGZvbnQtd2VpZ2h0OiB2YXIoLS1zdWJ0aXRsZS1mb250LXdlaWdodCwgNTAwKTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdmFyKC0tc3VidGl0bGUtdGV4dC10cmFuc2Zvcm0pO1xuXHRcdGZvbnQtc2l6ZTogI3tcImNsYW1wKHZhcigtLXN1YnRpdGxlLWZvbnQtc2l6ZS1tb2JpbGUsIDE4cHgpLCB2YXIoLS1oLWNsYW1wLWZvcm11bGEpLCB2YXIoLS1zdWJ0aXRsZS1mb250LXNpemUsIDIuNHJlbSkpXCJ9O1xuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHR9XG5cdFx0XG5cdFx0LmNvbG9ycy1pbnZlcnRlZCAmLFxuXHRcdC5zdHlsZS1kYXJrICYge1xuXHRcdFx0Y29sb3I6IHZhcigtLXN1YnRpdGxlLWNvbG9yLWFsdCk7XG5cdFx0fVxuXHR9XG5cdFxuXHQmX190ZXh0IHtcblx0XHRmb250LXNpemU6IHZhcigtLWJhc2UtdGV4dC1zaXplKTtcblx0fVxuXHRcblx0LyoqXG5cdCAqICMuIyBNb2RpZmllcnNcblx0ICovXG5cdFxuXHQudGV4dC1jZW50ZXIgJiB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxufVxuIiwiLyogSGVhZGluZyBMYXlvdXQgKi9cblxuLmwtaGVhZGluZy12MSB7XG5cbn1cblxuLmwtaGVhZGluZy12MiB7XG5cdFxuXHQtLWgyLWxldHRlci1zcGFjaW5nOiAuMWVtO1xuXHQtLWgyLWZvbnQ6IHZhcigtLWZvbnQtZmFtaWx5LXByaW1hcnkpO1xuXHQtLWgyLWZvbnQtd2VpZ2h0OiA1MDA7XG5cdC0taDItdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XG5cdC0tcHJldGl0bGUtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjIpO1xuXHQtLXByZXRpdGxlLWZvbnQtc2l6ZTogMnJlbTtcblx0LS1wcmV0aXRsZS1sZXR0ZXItc3BhY2luZzogMDtcblx0XG5cdC0tc3VidGl0bGUtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcblx0LS1zdWJ0aXRsZS1mb250LXNpemU6IDEuOHJlbTtcblx0LS1zdWJ0aXRsZS1sZXR0ZXItc3BhY2luZzogMDtcblx0XG5cdC0taDItZm9udC1zaXplOiAyLjhyZW07XG5cdFxuXHQuYy1oZWFkaW5nX190aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAyLjhyZW07XG5cdH1cbn1cblxuXG4uYy10cnVzdGVkIHtcblx0QGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XG5cdFx0cGFkZGluZzogNnJlbSAwIDAgMDtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKXtcblx0XHRwYWRkaW5nOiAycmVtIDA7XG5cdH1cblx0XG5cdCZfX3RpdGxlIHtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGZvbnQtc2l6ZTogMS44cmVtO1xuXHRcdGxldHRlci1zcGFjaW5nOiAxcHg7XG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIil7XG5cdFx0XHRwYWRkaW5nOiAwIDAgMnJlbSAwO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdH1cblx0fVxuXHRcblx0Jl9fbGlzdCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcblx0XHRcdGdhcDogNHJlbTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xuXHRcdFx0Z2FwOiAxNXB4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0fVxuXHR9XG5cdFxuXHQuYy10cnVzdGVkX19saXN0IHtcblx0XHQuYy1pbWFnZSB7XG5cdFx0XHR3aWR0aDogbWF4LWNvbnRlbnQ7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcblx0XHRcdFx0cGFkZGluZzogMjBweCAxMHB4O1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRpbWcge1xuXHRcdFx0XHRtYXgtaGVpZ2h0OiA1MHB4O1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdG9iamVjdC1maXQ6IGNvbnRhaW47XG5cdFx0XHRcdG9iamVjdC1wb3NpdGlvbjogbGVmdDtcblx0XHRcdFx0d2lkdGg6IG1heC1jb250ZW50O1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XG5cdFx0XHRcdFx0bWF4LWhlaWdodDogNDBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0XG59IiwiLyoqXG4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuICMgICBCdXR0b25zIENvbXBvbmVudFxuICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbiAqL1xuXG4vKipcbiAqKioqKioqKioqKioqXG4gKiogIENvcmVcbiAqKioqKioqKioqKioqXG4gKiAgQ29tbW9uIHByb3BlcnRpZXMgb2YgYnV0dG9uc1xuICovXG5cbkBpbXBvcnQgXCJidXR0b25zL2J1dHRvbnMtY29yZVwiO1xuXG4uYy1jdGEtbGlzdCB7XG5cdC5jLWJ0biB7XG5cdFx0bWFyZ2luOiAwIDIwcHggMjBweCAwO1xuXHR9XG59IiwiLyoqIEJ1dHRvbnMgQ29yZSBDb21wb25lbnQgKi9cblxuLmJ0biB7XG5cdC0tYnRuLWljby1jb2xvcjogY3VycmVudENvbG9yO1xuXHQtLWljb24tc2hpZnQ6IDEwcHg7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Ym9yZGVyOiBub25lO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1iYXNlLXRyYW5zaXRpb24pLCBib3JkZXIgdmFyKC0tYmFzZS10cmFuc2l0aW9uKSwgYmFja2dyb3VuZCB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xufVxuXG4uYy1idG4ge1xuXHRAZXh0ZW5kIC5idG47XG5cdFxuXHRmb250LXNpemU6IHZhcigtLWJ0bi1mb250LXNpemUsIDEuOHJlbSk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1idG4tZm9udC1mYW1pbHkpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdmFyKC0tYnRuLXRleHQtdHJhbnNmb3JtLCBub25lKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWJ0bi1mb250LXdlaWdodCwgNDAwKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tYnRuLWJveC1zaGFkb3csIG5vbmUpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1idG4tYm9yZGVyLXJhZGl1cywgMCk7XG5cdG1hcmdpbjogMnB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDI7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1idG4tcGFkZGluZy10b3AtYm90dG9tLCAxMHB4KSB2YXIoLS1idG4tcGFkZGluZy1sZWZ0LXJpZ2h0LCAyMHB4KTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWJhc2UtdHJhbnNpdGlvbiksIGNvbG9yIHZhcigtLWJhc2UtdHJhbnNpdGlvbik7XG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdFxuXHQ+IHNwYW4ge1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdH1cblx0XG5cdC8qIEJ1dHRvbiBWaXN1YWwgVmFyaWFudHMgKi9cblx0XG5cdCYuLXByaW1hcnksXG5cdCYuLXNlY29uZGFyeSB7XG5cdFx0LmMtYnRuX19pY28ge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWJ0bi1wYWRkaW5nLWxlZnQtcmlnaHQsIDIwcHgpIC8gMik7XG5cdFx0fVxuXHR9XG5cdFxuXHQmLi1wcmltYXJ5IHtcblx0XHQtLWN1cnJlbnRCb3JkZXI6IHZhcigtLXVzZXItcHJpbWFyeS1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvcjEpKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idG4tcHJpbWFyeS1iZyk7XG5cdFx0Y29sb3I6IHZhcigtLWJ0bi1wcmltYXJ5LWNvbG9yKTtcblx0XHRib3JkZXI6IHZhcigtLWJ0bi1wcmltYXJ5LWJvcmRlcikgc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWN1cnJlbnRCb3JkZXIpIDcwJSwgI2ZmZik7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB2YXIoLS11c2VyLXByaW1hcnktY29sb3IsICMyMTM3MjEpLCB2YXIoLS11c2VyLXByaW1hcnktY29sb3IsICMxNDYxMDApKTtcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDQwMG1zIGVhc2Utb3V0LCBib3JkZXItY29sb3IgNDAwbXMgZWFzZS1vdXQsIGNvbG9yIDQwMG1zIGVhc2Utb3V0O1xuXHRcdFxuXHRcdC5pY29uIHtcblx0XHRcdC0tY3VycmVudENvbG9yOiB2YXIoLS11c2VyLXByaW1hcnktY29sb3IsIHZhcigtLXByaW1hcnktY29sb3IxKSk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY3VycmVudENvbG9yKSA4MCUsICNmZmYpO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG5cdFx0XHRwYWRkaW5nOiA4cHg7XG5cdFx0fVxuXHRcdFxuXHRcdC5pY29uLW5vbmUge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdFx0XG5cdFx0Lmljb24tYWZ0ZXIge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjEpIHRyYW5zbGF0ZVgoMTBweCk7XG5cdFx0fVxuXHRcdFxuXHRcdEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnRuLXByaW1hcnktYmctaG92ZXIpO1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tYnRuLXByaW1hcnktY29sb3ItaG92ZXIpO1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHZhcigtLXVzZXItcHJpbWFyeS1jb2xvciwgdmFyKC0tYnRuLXByaW1hcnktYm9yZGVyLWNvbG9yLWhvdmVyKSk7XG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdmFyKC0tdXNlci1wcmltYXJ5LWNvbG9yLCAjMTQ2MTAwKSwgdmFyKC0tdXNlci1wcmltYXJ5LWNvbG9yLCAjMTQ2MTAwKSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQmLi1zZWNvbmRhcnkge1xuXHRcdGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMzMjQzMzIsIDAuMDgpO1xuXHRcdGNvbG9yOiB2YXIoLS1idG4tc2Vjb25kYXJ5LWNvbG9yKTtcblx0XHRib3JkZXI6IHZhcigtLWJ0bi1zZWNvbmRhcnktYm9yZGVyKSBzb2xpZCB2YXIoLS1idG4tc2Vjb25kYXJ5LWJvcmRlci1jb2xvcik7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA0MDBtcyBlYXNlLW91dCwgYm9yZGVyLWNvbG9yIDQwMG1zIGVhc2Utb3V0LCBjb2xvciA0MDBtcyBlYXNlLW91dDtcblx0XHRcblx0XHQuaWNvbi1ub25lIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdFxuXHRcdC5pY29uIHtcblx0XHRcdGNvbG9yOiB2YXIoLS1idG4tc2Vjb25kYXJ5LWNvbG9yKTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0XHRcdHBhZGRpbmc6IDhweDtcblx0XHR9XG5cdFx0XG5cdFx0LmNvbG9ycy1pbnZlcnRlZCAmIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoI2ZmZiwgMC4wOCk7XG5cdFx0XHRjb2xvcjogdmFyKC0tYm9keS1iZyk7XG5cdFx0XHRib3JkZXI6IHZhcigtLWJ0bi1zZWNvbmRhcnktYm9yZGVyKSBzb2xpZCByZ2JhKCNmZmYsIDAuNSk7XG5cdFx0fVxuXHRcdFxuXHRcdEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnRuLXNlY29uZGFyeS1iZy1ob3Zlcik7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1idG4tc2Vjb25kYXJ5LWNvbG9yLWhvdmVyKTtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1idG4tc2Vjb25kYXJ5LWJvcmRlci1jb2xvci1ob3Zlcilcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdCYuLXRlcnRpYXJ5IHtcblx0XHQtLWN1cnJlbnRCb3JkZXI6IHZhcigtLXVzZXItcHJpbWFyeS1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvcjEpKTtcblx0XHQtLWJ0bi1wYWRkaW5nLXRvcC1ib3R0b206IDRweDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRib3JkZXI6IHZhcigtLWJ0bi1wcmltYXJ5LWJvcmRlcikgc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWN1cnJlbnRCb3JkZXIpIDUwJSwgI2ZmZik7XG5cdFx0Y29sb3I6IHZhcigtLWJ0bi1wcmltYXJ5LWNvbG9yKTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHZhcigtLXVzZXItcHJpbWFyeS1jb2xvciwgIzE0NjEwMCksIHZhcigtLXVzZXItcHJpbWFyeS1jb2xvciwgIzM2OEIyMCkpO1xuXHRcdG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblx0XHRmb250LXNpemU6IDEuNHJlbTtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdFx0XG5cdFx0Lmljb24ge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiA1cHg7XG5cdFx0fVxuXHRcdFxuXHRcdEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Ym9yZGVyOiB2YXIoLS1idG4tcHJpbWFyeS1ib3JkZXIpIHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jdXJyZW50Qm9yZGVyKSA4MCUsICNmZmYpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0Ji4tbGluayB7XG5cdFx0Y29sb3I6IHZhcigtLXVzZXItcHJpbWFyeS1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvcjEpKTtcblx0XHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cdFx0cGFkZGluZzogMDtcblx0XHR3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcblx0XHQuaWNvbiB7XG5cdFx0XHRtYXgtd2lkdGg6IDM1cHg7XG5cdFx0XHRtYXJnaW4tbGVmdDogNXB4O1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XG5cdFx0XHRzdmcge1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tbGluay1pY29uLWNvbG9yLCBjdXJyZW50Q29sb3IpO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRzdmcsIGltZyB7XG5cdFx0XHRcdG1heC1oZWlnaHQ6IDFlbTtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0QG1lZGlhIChob3ZlcjogaG92ZXIpIHtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tYnRuLXByaW1hcnktYmcsIHZhcigtLWJ0bi1saW5rLWNvbG9yLWhvdmVyKSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdCYuaWNvbi1sZWZ0IHtcblx0XHRcdC5jLWJ0bl9faWNvIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdCYuLXdpZGUge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cdFxuXHQvKiBCdXR0b24gU2l6ZSBWYXJpYW50cyAqL1xuXHRcblx0Ji4tc21hbGwge1xuXHRcdC0tYnRuLXBhZGRpbmctbGVmdC1yaWdodDogMjBweDtcblx0XHQtLWJ0bi1wYWRkaW5nLXRvcC1ib3R0b206IDEwcHg7XG5cdFx0XG5cdFx0Zm9udC1zaXplOiAuOGVtO1xuXHRcdFxuXHRcdC5pY29uIHtcblx0XHRcdG1heC13aWR0aDogNjAlO1xuXHRcdH1cblx0fVxuXHRcblx0Ji4tbGFyZ2Uge1xuXHRcdGZvbnQtc2l6ZTogMS40ZW07XG5cdH1cblx0XG5cdCYuLXJlc291cmNlcyB7XG5cdFx0LS1idG4tcGFkZGluZy10b3AtYm90dG9tOiA4cHg7XG5cdFx0LS1idG4tcGFkZGluZy1sZWZ0LXJpZ2h0OiAxNnB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcjEpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDRweDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hbHRvKTtcblx0XHRmb250LXNpemU6IDEuNnJlbTtcblx0XHRjb2xvcjogdmFyKC0taGVhdnktbWV0YWwpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XG5cdFx0Lmljb24ge1xuXHRcdFx0Y29sb3I6IHZhcigtLXVzZXItcHJpbWFyeS1jb2xvciwgIzE0NjEwMCk7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDVweDtcblx0XHRcdHdpZHRoOiAxN3B4O1xuXHRcdFx0aGVpZ2h0OiAxN3B4O1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cdH1cblx0XG5cdCYuLXByb2R1Y3RzIHtcblx0XHQtLWJ0bi1wYWRkaW5nLXRvcC1ib3R0b206IDhweDtcblx0XHQtLWJ0bi1wYWRkaW5nLWxlZnQtcmlnaHQ6IDIwcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFsdG8pO1xuXHRcdGZvbnQtc2l6ZTogMS42cmVtO1xuXHRcdGNvbG9yOiB2YXIoLS1oZWF2eS1tZXRhbCk7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcblx0XHQuaWNvbiB7XG5cdFx0XHRjb2xvcjogdmFyKC0tdXNlci1wcmltYXJ5LWNvbG9yLCAjMTQ2MTAwKTtcblx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xuXHRcdFx0d2lkdGg6IDE3cHg7XG5cdFx0XHRoZWlnaHQ6IDE3cHg7XG5cdFx0fVxuXHRcdFxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tdXNlci1wcmltYXJ5LWNvbG9yLCB2YXIoLS1hbHRvKSk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tdXNlci1wcmltYXJ5LWNvbG9yKSAyMCUsIHRyYW5zcGFyZW50KTtcblx0XHR9XG5cdH1cblx0XG5cdC8qIEJ1dHRvbiBJY29uICovXG5cdFxuXHQmX19pY28ge1xuXHRcdG1pbi13aWR0aDogMjBweDtcblx0XHRtYXgtd2lkdGg6IDQwcHg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1iYXNlLXRyYW5zaXRpb24pLCBmaWx0ZXIgdmFyKC0tYmFzZS10cmFuc2l0aW9uKSwgb3BhY2l0eSB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XG5cdFx0c3ZnLCBpbWcge1xuXHRcdFx0bWFyZ2luOiBhdXRvO1xuXHRcdFx0bWF4LWhlaWdodDogMS41ZW07XG5cdFx0fVxuXHRcdFxuXHRcdHN2ZyB7XG5cdFx0XHRmaWxsOiB2YXIoLS1idG4taWNvLWNvbG9yKTtcblx0XHRcdGNvbG9yOiB2YXIoLS1idG4taWNvLWNvbG9yKTtcblx0XHR9XG5cdFx0XG5cdFx0aW1nIHtcblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1iYXNlLXRyYW5zaXRpb24pLCBmaWx0ZXIgdmFyKC0tYmFzZS10cmFuc2l0aW9uKSwgb3BhY2l0eSB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxuXHRcblx0Ji5pY29uLWxlZnQge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblx0fVxuXHRcblx0Lmljb24tcmV2ZXJzZWQge1xuXHRcdHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcblx0fVxuXHRcblx0LmMtYnRuLWJhciAmIHtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHR9XG5cdFxuXHRAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuXHRcdFxuXHRcdCY6aG92ZXIge1xuXHRcdFx0LmMtYnRuX19pY28ge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTtcblx0XHRcdFx0XG5cdFx0XHRcdCYuaWNvbi1yZXZlcnNlZCB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpIHNjYWxlWCgtMSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG59XG5cbi8qIENGNyBTdWJtaXQgQnV0dG9uICovXG5cbi53cGNmNy1zdWJtaXQsXG4uZ2Zvcm1fYnV0dG9uLFxuLmdmb3JtLWJ1dHRvbiB7XG5cdEBleHRlbmQgLmMtYnRuLCAuLXByaW1hcnk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tYnRuLWZvbnQtc2l6ZSwgMS44cmVtKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWJ0bi1mb250LWZhbWlseSk7XG5cdHRleHQtdHJhbnNmb3JtOiB2YXIoLS1idG4tdGV4dC10cmFuc2Zvcm0sIG5vbmUpO1xuXHRmb250LXdlaWdodDogdmFyKC0tYnRuLWZvbnQtd2VpZ2h0LCA0MDApO1xuXHRib3gtc2hhZG93OiB2YXIoLS1idG4tYm94LXNoYWRvdywgbm9uZSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJ0bi1ib3JkZXItcmFkaXVzLCAwKTtcblx0cGFkZGluZzogdmFyKC0tYnRuLXBhZGRpbmctdG9wLWJvdHRvbSkgdmFyKC0tYnRuLXBhZGRpbmctbGVmdC1yaWdodCk7XG5cdHRyYW5zaXRpb246IGFsbCB2YXIoLS1iYXNlLXRyYW5zaXRpb24pO1xuXHRcblx0QG1lZGlhIChob3ZlcjogaG92ZXIpIHtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJveC1zaGFkb3c6IDAgMnB4IDJweCByZ2JhKDAsIDcsIDYzLCAwLjIpO1xuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuICMgICBDb250ZW50IEJsb2NrIENvbXBvbmVudFxuICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbiAqL1xuXG5AaW1wb3J0IFwiYy1ibG9jay9jLWJsb2NrLWNvcmVcIjsiLCIuYy1ibG9jayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1ibG9jay1iZyk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tYy1ibG9jay1zaGFkb3cpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWMtYmxvY2stcmFkaXVzKTtcblxuICAgICZfX2JvZHkge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS3RgS1ibG9jay1wYWRkaW5nLCAxNXB4KTtcbiAgICAgICAgdGV4dC1hbGlnbjogdmFyKC0t0YEtYmxvY2stYWxpZ24sIGxlZnQpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWMtYmxvY2stdGV4dC1zaXplKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtYmxvY2stY29sb3IpO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWMtYmxvY2stdGl0bGUtc2l6ZSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jLWJsb2NrLXRpdGxlLXdlaWdodCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1jLWJsb2NrLXRpdGxlLXRyYW5zZm9ybSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLWJsb2NrLXRpdGxlLWNvbG9yKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDQtbWFyZ2luLWJvdHRvbSwgLjVlbSk7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1idG4tbGluay1jb2xvci1ob3Zlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcmV0aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC41ZW07XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVkaWEge1xuICAgICAgICBhc3BlY3QtcmF0aW86IHZhcigtLWMtYmxvY2staW1nLXJhdGlvLCA0IC8gMyk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmX19idG4ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgfVxuXG4gICAgLmMtaW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG4iLCIvKipcbiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4gIyAgIE1PRFVMRTogRG91YmxlIENvbnRlbnQgQmxvY2tzIChkY2JsLSlcbiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4gKi9cblxuQGltcG9ydCBcInNpbXBsZS1jb250ZW50Mi9fZGNibC1jb3JlXCI7XG5cbkBpbXBvcnQgXCJzaW1wbGUtY29udGVudDIvbGF5b3V0cy9kY2JsLWZ1bGwtd2lkdGhcIjtcblxuIiwiLyoqXG4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbiAjICAgRHVhbCBjb250ZW50IGJsb2NrczogTGF5b3V0c1xuICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4gKi9cblxuLmwtZGNibCB7XG5cdC0tY29sdW1ucy1yYXRpbzogNTAlO1xuXHQtLWMtYmxvY2stcGFkZGluZzogMzVweDtcblx0LS1jLWJsb2NrLWltZy1yYXRpbzogYXV0bztcblx0LS1jLWJsb2NrLXNoYWRvdzogdHJhbnNwYXJlbnQ7XG5cdC0tYy1ibG9jay1iZzogdHJhbnNwYXJlbnQ7XG5cdFxuXHQuYy1ibG9jayB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRcblx0XHQmX19pbm5lciB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdFx0XG5cdFx0Jl9fY29udGVudCB7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdH1cblx0XHRcblx0XHRAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcblx0XHR9XG5cdFx0XG5cdH1cblx0XG5cdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHQmLm9yZGVyLXJldmVyc2UsXG5cdFx0Ji5pbWFnZS1yaWdodCB7XG5cdFx0XHQuYy1ibG9jayB7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC8vIFRleHQgUGFydCBTZXR0aW5nc1xuXHRcblx0LmMtYmxvY2tfX2NvbnRlbnQge1xuXHRcdGZsZXg6IDEgMSBhdXRvO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcblx0XHRAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnKSB7XG5cdFx0XHRwYWRkaW5nOiB2YXIoLS1jLWJsb2NrLXBhZGRpbmcsIDMwcHgpO1xuXHRcdH1cblx0XHRcblx0XHQmLmFsaWduLXRvcCB7XG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHR9XG5cdFx0XG5cdFx0Ji5hbGlnbi1ib3R0b20ge1xuXHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXHRcdH1cblx0fVxuXHRcblx0LmMtYmxvY2tfX21lZGlhIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFxuXHRcdEBpbmNsdWRlIG1lZGlhKCc8PWRlc2t0b3AnKSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdFx0XG5cdFx0QGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJykge1xuXHRcdFx0ZmxleDogMCAwIHZhcigtLWNvbHVtbnMtcmF0aW8pO1xuXHRcdFx0bWF4LXdpZHRoOiB2YXIoLS1jb2x1bW5zLXJhdGlvKTtcblx0XHR9XG5cdFx0XG5cdFx0LmMtaW1hZ2VfX3NlY29uZGFyeSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHRvcDogMDtcblx0XHR9XG5cdFx0XG5cdFx0aW1nIHtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHR9XG5cdH1cblx0XG59XG5cbi5tLWNvbnRlbnQtbGlzdCB7XG5cdEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcpIHtcblx0XHRwYWRkaW5nOiA4cmVtIDAgMCAwO1xuXHR9XG5cdFxuXHQuYy1oZWFkaW5nIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdHBhZGRpbmc6IDAgMnJlbSAwIDA7XG5cdFx0XG5cdFx0Jl9fcHJlIHtcblx0XHRcdGZvbnQtc2l6ZTogMS42cmVtO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogM3JlbTtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAxcHg7XG5cdFx0XHRwYWRkaW5nLXRvcDogNHJlbTtcblx0XHR9XG5cdFx0XG5cdFx0Jl9fdGl0bGUge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuXHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQmX19zdWIge1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDFweDtcblx0XHR9XG5cdH1cblx0XG5cdCZfX2NvbnRhaW5lciB7XG5cdFx0LS1jb2x1bW5zLXJhdGlvOiAzMCU7XG5cdH1cblx0XG5cdCZfX2lubmVyIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcblx0XHQmLmMtYmxvY2sge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQuYy1ibG9ja19fY29sIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuXHRcdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0Jl9faXRlbSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0Y5RjhGNTtcblx0XHRib3JkZXI6IDJweCBzb2xpZCAjRjFFRkU3O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW4tYm90dG9tOiAzcmVtO1xuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuXHRcdFx0cGFkZGluZzogMzBweCAzMHB4IDMwcHggMTMwcHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAxNnB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XG5cdFx0XHRwYWRkaW5nOiAxNXB4IDE1cHggMTVweCA4MHB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0XHRcblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzQwJyBoZWlnaHQ9JzMzJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdtMzkuOTkgMTAuNTMtMi43NyAyMS4wOUExLjYgMS42IDAgMCAxIDM1LjY2IDMzSDQuMzRhMS41NyAxLjU3IDAgMCAxLTEuNTYtMS4zOEwuMDEgMTAuNTNhMS42IDEuNiAwIDAgMSAuOTEtMS42NmMuMi0uMDkuNDMtLjE0LjY1LS4xNGgzNi44NWExLjU2IDEuNTYgMCAwIDEgMS41MSAxLjEzYy4wNy4yMi4wOS40NS4wNi42N1onIGZpbGw9JyUyM2ZmZicvJTNFJTNDcGF0aCBkPSdtMzkuMDQgNi42OC0uMjcgMi4wNUgyLjQ3di01LjZBMy4wOSAzLjA5IDAgMCAxIDUuNTcgMGg2LjA2YTMuMDcgMy4wNyAwIDAgMSAyLjIuOTNsMS4yOCAxLjNhMy4xIDMuMSAwIDAgMCAyLjIuOTFoMTguNjVhMy4wOCAzLjA4IDAgMCAxIDIuOTcgMi4yM2MuMTMuNDMuMTcuODguMSAxLjMyWicgZmlsbD0nJTIzNTNCRjM4Jy8lM0UlM0NwYXRoIGQ9J00zNC41NCA4LjczSDUuMzlhMS43OCAxLjc4IDAgMCAxIDEuNzktMS44aDI1LjU3Yy40NyAwIC45My4xOSAxLjI2LjUzLjM0LjMzLjUzLjguNTMgMS4yN1onIGZpbGw9JyUyMzQ2QkEyOCcvJTNFJTNDL3N2ZyUzRVwiKTtcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMyk7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcblx0XHRcdFx0d2lkdGg6IDcycHg7XG5cdFx0XHRcdGhlaWdodDogNzJweDtcblx0XHRcdFx0bGVmdDogMzBweDtcblx0XHRcdFx0dG9wOiAzMHB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDQwcHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XG5cdFx0XHRcdHdpZHRoOiA0MHB4O1xuXHRcdFx0XHRoZWlnaHQ6IDQwcHg7XG5cdFx0XHRcdGxlZnQ6IDE1cHg7XG5cdFx0XHRcdHRvcDogMTVweDtcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiAyMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0Jl9faXRlbS10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAyLjRyZW07XG5cdFx0Y29sb3I6IHZhcigtLXByaW1hcnktY29sb3IzKTtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFxuXHRcdC5hY2NlbnQtY29sb3Ige1xuXHRcdFx0Y29sb3I6IHZhcigtLXByaW1hcnktY29sb3IxKTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRmb250LXNpemU6IDIuOHJlbTtcblx0XHR9XG5cdH1cblx0XG5cdCZfX2l0ZW0tdGV4dCB7XG5cdFx0Zm9udC1zaXplOiAxLjhyZW07XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjMpO1xuXHR9XG59XG5cbiIsIi5sLWRjYmwtZnVsbCB7XG5cdEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcpIHtcblx0XHR3aWR0aDogY2FsYygxMDB2dyAtIDguMXB4KTtcblx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGxlZnQ6IDUwJTtcblx0XHRyaWdodDogNTAlO1xuXHRcdG1hcmdpbi1sZWZ0OiAtNTB2dztcblx0XHRtYXJnaW4tcmlnaHQ6IC01MHZ3O1xuXG5cdFx0LmMtaW1hZ2VfX3ByaW1hcnkge1xuXHRcdFx0aW1nLCAuYy1pbWFnZV9fc3JjIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmMtYmxvY2tfX2NvbnRlbnQge1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXG5cdFx0Ji5vcmRlci1yZXZlcnNlLFxuXHRcdCYuaW1hZ2UtbGVmdCB7XG5cdFx0XHQuYy1ibG9ja19fY29udGVudCB7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuYy1ibG9ja19faW5uZXIge1xuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKHZhcigtLWNvbnRlbnQtd2lkdGgpIC8gMik7XG5cdFx0XHRwYWRkaW5nOiB2YXIoLS1jLWJsb2NrLXBhZGRpbmcsIDMwcHgpO1xuXHRcdH1cblx0fVxufVxuIl19 */
</pre></body></html>